モデルがあり、モデルに基づいて、の新しい値を含む新しいデータフレームの予測を取得するためlm(y~x+I(log(x))
に使用したいと思います。予測はモデルのAsIs関数をどのように処理しますか?の引数で追加指定する必要がありますか、それともから構築して使用する必要があることを理解していますか?predict
x
I
I(log(x))
newdata
predict
predict
I(log(x))
x
アップデート
@DWin:変数がモデルに入力される方法は、特に交互作用の係数に影響します。私の例は単純ですが、これを試してみてください
x<-rep(seq(0,100,by=1),10)
y<-15+2*rnorm(1010,10,4)*x+2*rnorm(1010,10,4)*x^(1/2)+rnorm(1010,20,100)
z<-x^2
plot(x,y)
lm1<-lm(y~x*I(x^2))
lm2<-lm(y~x*x^2)
lm3<-lm(y~x*z)
summary(lm1)
summary(lm2)
summary(lm3)
lm1 = lm3であることがわかりますが、lm2は別のものです(1つの係数のみ)。ダミー変数を作成したくないと仮定するとz
(大規模なデータセットでは計算上非効率的)、lm3のような相互作用モデルを構築する唯一の方法はを使用することI
です。繰り返しますが、これは非常に単純な例です(統計的に意味がない場合があります)が、複雑なモデルでは意味があります。
@Ben Bolker:推測を避けて、信頼できる答えを求めたいと思います(モデルは例よりもはるかに複雑なので、モデルでこれを直接確認することはできません)。私の推測では、predict
正しく仮定して構築しますI(log(x))