チャンクテストとは何ですか?


13

多重共線性の存在下でのモデル選択に関する質問に答えて、フランク・ハレル 次のように提案しました

すべての変数をモデルに入れますが、競合する変数の効果に対して調整された1つの変数の効果をテストしません...共変数が全体の多自由度関連テストの代わりに力を結合するため、競合する変数のチャンクテストは強力です変数を個別にテストするときのように、互いに競合します。

何であるチャンク・テストは?そのアプリケーションの例を教えていただけますrか?


3
これは変数のブロックを一度にテストすることを意味すると想像します。すべての潜在的な共線性はブロック内で発生し、テストや尤度比テストなどのオムニバステストには影響しませんが、「チャンクテスト」。F
マクロ

2
私が彼らが提案したのを見た(そして自分でやった)状況の1つは、相互に排他的な一連のダミー変数(たとえば、多くの潜在的なカテゴリを持つ名義独立変数)があるときです。単一のダミー変数に関連付けられた個々の係数のテストは、ベースラインとして選択したものと特定のコントラストをテストするため、あまり興味深いものではありません。したがって、より有益なテストは、すべてのダミー変数を省略した制限付きモデルの尤度比テストです。
アンディW

2
ページング@FrankHarrell ...
fmark

うまくいきません、fmark。:)
枢機

1
恥、それは:)
fmark

回答:


13

@ mark999は優れた答えを提供しました。多項式項を共同でテストすることに加えて、任意の変数セットを共同でテスト(「チャンクテスト」)できます。競合する同一直線上の変数、トライセップ周囲、ウエスト、ヒップ周囲、すべてのボディサイズの測定値を持つモデルがあるとします。全体的なボディサイズチャンクテストを取得するには、次のようにします。

require(rms)
f <- ols(y ~ age + tricep + waist + pol(hip,2))
anova(f, tricep, waist, hip)  # 4 d.f. test

NAtricep, waist, hipR2


1
フランクを指摘してくれてありがとう。そんなことができるとは知りませんでした。
mark999

12

マクロのコメントとアンディのコメントは正しいです。以下に例を示します。

> 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              

x2x2^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)。[編集:これは誤りです-フランクハレルの答えを参照してください。]


2
Xcor(X,X2)=0

わかりやすくするために、2つ以上の変数の共同有意性をテストする「部分F検定」としてこれを教えたと思います。または、モデルの変数のサブセットが、より制限されたモデルよりも改善するかどうか(尤度比検定のように)。私は正しいですか?
C.ピーターズ

@ C.Pietersあなたが正しいかどうかはわかりませんが、それは理にかなっています。
mark999
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.