多重共線性の存在下でのモデル選択に関する質問に答えて、フランク・ハレル は次のように提案しました。
すべての変数をモデルに入れますが、競合する変数の効果に対して調整された1つの変数の効果をテストしません...共変数が全体の多自由度関連テストの代わりに力を結合するため、競合する変数のチャンクテストは強力です変数を個別にテストするときのように、互いに競合します。
何であるチャンク・テストは?そのアプリケーションの例を教えていただけますr
か?
多重共線性の存在下でのモデル選択に関する質問に答えて、フランク・ハレル は次のように提案しました。
すべての変数をモデルに入れますが、競合する変数の効果に対して調整された1つの変数の効果をテストしません...共変数が全体の多自由度関連テストの代わりに力を結合するため、競合する変数のチャンクテストは強力です変数を個別にテストするときのように、互いに競合します。
何であるチャンク・テストは?そのアプリケーションの例を教えていただけますr
か?
回答:
@ mark999は優れた答えを提供しました。多項式項を共同でテストすることに加えて、任意の変数セットを共同でテスト(「チャンクテスト」)できます。競合する同一直線上の変数、トライセップ周囲、ウエスト、ヒップ周囲、すべてのボディサイズの測定値を持つモデルがあるとします。全体的なボディサイズチャンクテストを取得するには、次のようにします。
require(rms)
f <- ols(y ~ age + tricep + waist + pol(hip,2))
anova(f, tricep, waist, hip) # 4 d.f. test
NA
tricep, waist, hip
マクロのコメントとアンディのコメントは正しいです。以下に例を示します。
> library(rms)
>
> set.seed(1)
> d <- data.frame(x1 = rnorm(50), x2 = rnorm(50))
> d <- within(d, y <- 1 + 2*x1 + 0.3*x2 + 0.2*x2^2 + rnorm(50))
>
> ols1 <- ols(y ~ x1 + pol(x2, 2), data=d) # pol(x2, 2) means include x2 and x2^2 terms
> ols1
Linear Regression Model
ols(formula = y ~ x1 + pol(x2, 2), data = d)
Model Likelihood Discrimination
Ratio Test Indexes
Obs 50 LR chi2 79.86 R2 0.798
sigma 0.9278 d.f. 3 R2 adj 0.784
d.f. 46 Pr(> chi2) 0.0000 g 1.962
Residuals
Min 1Q Median 3Q Max
-1.7463 -0.4789 -0.1221 0.4465 2.2054
Coef S.E. t Pr(>|t|)
Intercept 0.8238 0.1654 4.98 <0.0001
x1 2.0214 0.1633 12.38 <0.0001
x2 0.2915 0.1500 1.94 0.0581
x2^2 0.2242 0.1163 1.93 0.0602
> anova(ols1)
Analysis of Variance Response: y
Factor d.f. Partial SS MS F P
x1 1 131.894215 131.8942148 153.20 <.0001
x2 2 10.900163 5.4500816 6.33 0.0037
Nonlinear 1 3.196552 3.1965524 3.71 0.0602
REGRESSION 3 156.011447 52.0038157 60.41 <.0001
ERROR 46 39.601647 0.8609054
x2
とx2^2
チャンクを別々に考慮する代わりに、「チャンクテスト」は、これらのタームの係数が両方ともゼロであるという帰無仮説をテストする2 dfテストです(一般的な「一般的な線形F検定」と呼ばれるものだと思います) )。その検定のp値は、で与えられる0.0037 anova(ols1)
です。
rms
パッケージでは、それらが一緒にテストされることを知るために、x2
用語を指定する必要があることに注意してください。pol(x2, 2)
anova.rms()
anova.rms()
はrcs(x2, 3)
、などを使用して制限付き3次スプラインとして表される予測変数、およびカテゴリー予測変数に対して同様のテストを行います。また、「チャンク」に相互作用用語が含まれます。
引用にあるように、一般的な「競合する」予測変数のチャンクテストを実行したい場合、2つのモデルを個別に適合させてからを使用して手動で行う必要があると思いますanova(model1, model2)
。[編集:これは誤りです-フランクハレルの答えを参照してください。]