2011-12-15 16 views
3

最近Rに切り替えました。しかし、私が一番欠けていることの1つは、あらかじめ設定されたレベル(平均、90パーセンタイルなど)で特定の変数を保持する予測モデル応答を生成できることです。これは、相互作用用語や変換された変数などの効果を識別しようとすると非常に便利です。予測マージン/予測が変数を一定に保持するR

adjustコマンドを使用して簡単にこれを行うことができます。私はRでそれをする方法を見つけようと試みましたが、Rという名前の言語(統計的Rもあります)を使用し、「調整」のような用語を検索する大きな落とし穴の1つは、調整されたR 2乗でヒットしたように見えるだけです。それはイライラさを超えています。

本当に簡単な質問をする危険性があるので、誰でもこれを行う方法を知っていますか?私は予測マージンを見てきましたが、それは少なくとも関連するタイプのメソッドのように思えますが、その実装には通常説明変数を何らかの方法で標準化する必要があります。

+1

ようこそ。モデル予測のコードは、実行しているモデルの種類によって多少異なる場合がありますので、その情報を知ることは有益でしょう。 –

答えて

1

あなたはRMS/Hmiscパッケージコンボにカプセル化されている記述されているタスクの一種。 Frank Harrellは著者であり、さまざまな出力テーブルを構築するときに彼の他の関数(通常のR回帰と解析演算の拡張バージョン)が使用するdatadistというデータ記述オブジェクトを作成します。私はあなたが "Hmisc-wheel"を再発明しているように思われるので、これについて言及します。もちろん、expand.gridのいくつかの組み合わせとpredictnewdata=引数を組み合わせて独自のバージョンを構築することもできますが、必要でない可能性があります。フランクのR/S世界への他の重要な貢献は、彼の仕事の多くと高品質のデータ分析を実行する他の人の仕事を要約した "回帰モデリング戦略"のテキストをよく考えています。

+0

最後に、私はrmsパッケージを使用して巻き上げました。それは合理的にうまくいく: 'datadist(dataset) - > ddst オプション(datadist = 'ddst') 予測(モデル、var) - > myprediction' – Tom

0

モデルの予測を行うには、predict関数を使用します。たとえば、?predict.lmおよびexample(predict.lm)を参照してください。

上記の.lmビットは、S3クラスシステムの例です。この場合、「predict関数をクラスlmのオブジェクトに呼び出します」という意味です。すなわち、線形回帰の結果です。一般的なモデルのほとんどは独自のバージョンのpredictを使用して動作しますが(該当する場合)、すべてのモデルでサポートされているわけではありません。

2

http://www.stata.com/support/faqs/stat/adjust.htmlは、と述べている:調整実際に

、本当に

を予測するための単なるフロントエンドであり、それは予測のために新しいデータセットを作成することによって動作します。

Rのpredictは予測仮定を変えるために使用されますが、Stataのadjustほど簡単ではないかもしれません。 transformも興味があります。次の例を参照してください。

R関連するトピックを検索するためのよう
# create model 
mtcars.lm <- lm(hp~disp*cyl,mtcars) 

# default fit predictions 

predict(mtcars.lm) 
      Mazda RX4  Mazda RX4 Wag   Datsun 710  Hornet 4 Drive 
      128.60896   128.60896   80.25811   128.88296 
    Hornet Sportabout    Valiant   Duster 360   Merc 240D 
      208.48842   128.79069   208.48842   75.58796 
      Merc 230   Merc 280   Merc 280C   Merc 450SE 
      76.29995   128.63021   128.63021   197.85671 
     Merc 450SL   Merc 450SLC Cadillac Fleetwood Lincoln Continental 
      197.85671   197.85671   222.63037   221.11516 
    Chrysler Imperial   Fiat 128   Honda Civic  Toyota Corolla 
      218.58981   83.79391   84.15593   84.71104 
     Toyota Corona Dodge Challenger   AMC Javelin   Camaro Z28 
      78.79793   203.18519   201.41745   207.22575 
    Pontiac Firebird   Fiat X1-9  Porsche 914-2  Lotus Europa 
      213.53912   83.75770   78.77380   81.81483 
    Ford Pantera L  Ferrari Dino  Maserati Bora   Volvo 142E 
      207.35202   128.56702   201.03865   78.68933 


# predict assuming all cars have 8 cylinders 

predict(mtcars.lm,newdata=transform(mtcars,cyl=8)) 
      Mazda RX4  Mazda RX4 Wag   Datsun 710  Hornet 4 Drive 
      183.2349   183.2349   176.6690   195.6091 
    Hornet Sportabout    Valiant   Duster 360   Merc 240D 
      208.4884   191.4423   208.4884   181.5556 
      Merc 230   Merc 280   Merc 280C   Merc 450SE 
      180.8106   184.1946   184.1946   197.8567 
     Merc 450SL   Merc 450SLC Cadillac Fleetwood Lincoln Continental 
      197.8567   197.8567   222.6304   221.1152 
    Chrysler Imperial   Fiat 128   Honda Civic  Toyota Corolla 
      218.5898   172.9694   172.5906   172.0098 
     Toyota Corona Dodge Challenger   AMC Javelin   Camaro Z28 
      178.1969   203.1852   201.4174   207.2257 
    Pontiac Firebird   Fiat X1-9  Porsche 914-2  Lotus Europa 
      213.5391   173.0073   178.2221   175.0402 
    Ford Pantera L  Ferrari Dino  Maserati Bora   Volvo 142E 
      207.3520   181.3409   201.0386   178.3105 

、あなたは便利な次のリンクを見つけるかもしれない:How to search for "R" materials?