多くの変数を持つ y=x1+x2+... という形式の加法的モデルがあるとします。二次効果を示すと見なされるべき変数を特定する R のルーチンはありますか? Box-Cox 変換で y のリンクを識別できることは知っていますが、x はどうでしょうか。変数が数個しかない場合は簡単にテストできますが、たくさんの変数を保持する場合はどうでしょうか?
ドイツからよろしく
多くの変数を持つ y=x1+x2+... という形式の加法的モデルがあるとします。二次効果を示すと見なされるべき変数を特定する R のルーチンはありますか? Box-Cox 変換で y のリンクを識別できることは知っていますが、x はどうでしょうか。変数が数個しかない場合は簡単にテストできますが、たくさんの変数を保持する場合はどうでしょうか?
ドイツからよろしく
おそらく、2次項が必要かどうかは気にしませんが、効果が非線形かどうかは気にしません。二次項はそれらのいくつかを拾うことができますが、線形ではない明らかに非二次効果がいくつかあります。Hmisc
それには多くの方法がありますが、私はおよびDesign
パッケージに実装されている制限された 3 次スプラインを使用するのが好きです。
例えば:
library(Design)
x1 <- runif(200)
x2 <- runif(200)
x3 <- runif(200)
x4 <- runif(200)
y <- x1 + x2 + rnorm(200)
f1 <- ols(y ~ rcs(x1,4) + rcs(x2,4) + rcs(x3,4) + rcs(x4,4))
> anova(f1)
Analysis of Variance Response: y
Factor d.f. Partial SS MS F P
x1 3 19.2033740 6.40112466 7.96 0.0001
Nonlinear 2 5.6426655 2.82133277 3.51 0.0319
x2 3 10.6042751 3.53475836 4.40 0.0051
Nonlinear 2 0.5047319 0.25236593 0.31 0.7309
x3 3 3.0844406 1.02814688 1.28 0.2829
Nonlinear 2 0.1474818 0.07374091 0.09 0.9124
x4 3 4.1770965 1.39236549 1.73 0.1619
Nonlinear 2 4.1770665 2.08853325 2.60 0.0771
TOTAL NONLINEAR 8 9.5322762 1.19153452 1.48 0.1660
REGRESSION 12 37.1220435 3.09350362 3.85 <.0001
ERROR 187 150.3064834 0.80377799
ols
は基本的に と同等ですlm
。出力の ANOVA テーブルに注意してください。これには、グローバル テストを含む効果の非線形性のテストがあります。
双方向の相互作用をすべて作成したい場合は、次のようにすることができます。
lm(y ~ (x1 + x2 + x3)^2, data=dat)
見る:
?formula