ロジスティック回帰におけるカテゴリカル予測子の重要性


19

ロジスティック回帰のカテゴリ変数のz値の解釈に問題があります。以下の例では、3つのクラスを持つカテゴリ変数があり、z値に応じて、CLASS2が関連する場合とそうでない場合があります。

しかし、これはどういう意味ですか?

他のクラスを1つにマージできますか?
変数全体が良い予測子ではないかもしれないということですか?

これは単なる例であり、ここでの実際のz値は実際の問題からのものではなく、それらの解釈に問題があるだけです。

           Estimate    Std. Error  z value Pr(>|z|)    
CLASS0     6.069e-02  1.564e-01   0.388   0.6979    
CLASS1     1.734e-01  2.630e-01   0.659   0.5098    
CLASS2     1.597e+00  6.354e-01   2.514   0.0119 *  

回答:


47

以下の説明は、ロジスティック回帰に限定されず、通常の線形回帰と他のGLMにも等しく適用されます。通常、Rカテゴリの1レベルを除外し、係数はこの参照クラス(またはベースラインクラスと呼ばれることもあります)に対する各クラスの違いを示します(これは、ダミーコーディングまたは治療コントラストと呼ばれます。異なるコントラストオプションの優れた概要については、こちらRご覧ください。)。現在のコントラストを表示するには、と入力します。通常、カテゴリ変数のレベルをアルファベット順に並べ、最初のクラスを参照クラスとします。これは常に最適であるとは限らず、入力することで変更できます(ここでは、新しい変数で参照クラスを「c」に設定します)Roptions("contrasts")Rnew.variable <- relevel(old.variable, ref="c")。カテゴリ変数のすべてのレベルの各係数に対して、参照クラスと他のクラスの係数間のペアワイズ差がゼロと異なるかどうかテストするために、ウォルドテストが実行されます。これは、回帰表のz値とp値です。1つのカテゴリクラスのみが重要である場合、これは変数全体が無意味であることを意味せ、モデルから削除する必要があります。あなたは実行することにより、変数の全体的な効果を確認することができます尤度比検定を:フィット二つのモデル、変数と型なしで1つずつanova(model1, model2, test="LRT")ではR(以下の例を参照します)。以下に例を示します。

mydata <- read.csv("https://stats.idre.ucla.edu/stat/data/binary.csv")

mydata$rank <- factor(mydata$rank)

my.mod <- glm(admit ~ gre + gpa + rank, data = mydata, family = "binomial")

summary(my.mod)

Coefficients:
             Estimate Std. Error z value Pr(>|z|)    
(Intercept) -3.989979   1.139951  -3.500 0.000465 ***
gre          0.002264   0.001094   2.070 0.038465 *  
gpa          0.804038   0.331819   2.423 0.015388 *  
rank2       -0.675443   0.316490  -2.134 0.032829 *  
rank3       -1.340204   0.345306  -3.881 0.000104 ***
rank4       -1.551464   0.417832  -3.713 0.000205 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1

rank1rankrank1rankrank1rank20.675rank1rank23.990.675=4.67rank1rank1- 1モデル式に追加してすべての係数を直接表示することにより、切片なしでモデルを近似することもできます。

my.mod2 <- glm(admit ~ gre + gpa + rank - 1, data = mydata, family = "binomial")

summary(my.mod2) # no intercept model

Coefficients:
       Estimate Std. Error z value Pr(>|z|)    
gre    0.002264   0.001094   2.070 0.038465 *  
gpa    0.804038   0.331819   2.423 0.015388 *  
rank1 -3.989979   1.139951  -3.500 0.000465 ***
rank2 -4.665422   1.109370  -4.205 2.61e-05 ***
rank3 -5.330183   1.149538  -4.637 3.54e-06 ***
rank4 -5.541443   1.138072  -4.869 1.12e-06 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1

ここで切片がなくなっており、係数がrank1最初のモデルの切片になっていることに注意してください。ここで、Wald検定は、係数間のペアワイズ差ではなく、個々の係数がゼロであるという仮説をチェックします。繰り返しますが、すべての係数がrankゼロと異なるという証拠があります。最後に、全体の変数がいるかどうかを確認するためにrankモデルのフィット感を向上させ、我々は(と一つのモデルをフィットmy.mod1)、変数なしの1 rankmy.mod2)と尤度比検定を実施しています。のすべての係数rankがゼロであるという仮説をテストします:

my.mod1 <- glm(admit ~ gre + gpa + rank, data = mydata, family = "binomial") # with rank
my.mod2 <- glm(admit ~ gre + gpa, data = mydata, family = "binomial") # without rank

anova(my.mod1, my.mod2, test="LRT")

Analysis of Deviance Table

Model 1: admit ~ gre + gpa + rank
Model 2: admit ~ gre + gpa
  Resid. Df Resid. Dev Df Deviance  Pr(>Chi)    
1       394     458.52                          
2       397     480.34 -3  -21.826 7.088e-05 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1

尤度比検定は非常に重要であり、変数rankはモデル内に残る必要があると結論付けます。

この投稿も非常に興味深いものです。


非常に有益な答え!1つの簡単な質問:予測因子としてランクのみがある場合はどうなりますか?LRTテストを実行する場合、nullはadmit ~ 1vs admit ~ rank - 1
NULL

1
@NULLはい、null vs. admit~rankまたはのいずれかはadmit~rank - 1、適合に関して同等です。
COOLSerdash

まことにありがとうございます!もう一つの簡単な質問:私は、カテゴリ変数の係数の片側ワルドテストを行うに興味がある(ベースラインと比較せずに-私は何の切片を意味していない)、のような他の予測因子の影響だろうgregpaの欠如によって影響を受けることインターセプトを含める?
NULL

言い換えると、他の共変量を制御しながらカテゴリカル予測子の係数に対して片側検定を実行したい場合、これは進むべき方法ですか?また、これは線形回帰にも適用できますか?
NULL

1
@NULL尤度比検定は、すべての係数rankがゼロであるという共同仮説を検定します。の各係数で個別のWald検定を実行する場合rank、切片なしでモデルを近似し、p値。片側テストについては、こちらの投稿をご覧ください。はい、答えの冒頭で述べたように、上記のすべてが線形回帰にも適用されます。
COOLSerdash

8

z-valueは統計的検定の検定統計量に過ぎないため、解釈に問題がある場合、最初のステップは帰無仮説が何であるかを調べることです。CLASS0の検定の帰無仮説は、その係数が0であるということです。CLASS0の係数は、CLASS0と参照クラス(CLASS3?)のlog(odds)の差がゼロであるか、同等のオッズ比ですCLASS0と参照クラスは1です。つまり、CLASS0と参照クラスの間で成功の確率に差はありません。

それで、非有意係数はカテゴリをマージできるということですか?いいえ。まず、重要ではないということは、差がないという仮説を否定できないことを意味しますが、そのような差が存在しないという意味ではありません。証拠の欠如は、欠如の証拠と同じものではありません。次に、カテゴリ、特に参照カテゴリをマージすると、他のすべての係数の解釈が変更されます。それが理にかなっているかどうかは、それらの異なるクラスが何を意味するかに依存します。

それは、カテゴリー変数全体が「悪い」(有意でない)予測子であることを意味しますか?いいえ、そのためには、すべてのCLASS用語に対して同時テストを実行する必要があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.