線形回帰でカテゴリ変数の統計的有意性をテストする方法は?


18

線形回帰でカテゴリ変数がある場合...カテゴリ変数の統計的有意性をどのようにして知ることができますか?

因子は10個のレベルがあり、1つの因子変数傘下で、10の異なる結果のt値があるとしましょう。X 1X1X1

因子変数の各レベルに対して統計的有意性がテストされているように思えますか?番号?

@Macro:あなたの提案に従って、次の例を作成しました。

以下のモデル比較から、x3は有用であり、モデルに含める必要があるようです。

しかし、実際にはそれは間違っています...

n=100    
x1=1:n
x2=(1:n)^2 
x3=rnorm(n)
ee=rnorm(n)
y=3*x1-2*x2+x3+3+ee
lm1=lm(y~x1+x2+x3)
summary(lm1)

lm2=lm(y~x1+x2) 
summary(lm2)

anova(lm1, lm2)

> anova(lm1, lm2)
Analysis of Variance Table

Model 1: y ~ x1 + x2 + x3
Model 2: y ~ x1 + x2
  Res.Df     RSS Df Sum of Sq      F    Pr(>F)    
1     96  82.782                                  
2     97 146.773 -1    -63.99 74.207 1.401e-13 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 

1
@ルナ、なぜそれが間違っているのですか?sのx3生成に使用したように見えるyので、モデルに含める必要があり、値はその結論に一致します。p
マクロ

@Seth-あなたは正しい。モデル比較で一般的にanovaを使用するという簡単な例を挙げました。したがって、それは私の元の質問にリンクされていません。
ルナ

@Macro-あなたは正しい。今、私はポイントを見る。ありがとうございました!
ルナ

R 'car'パッケージ(pdf)の 'Anova'関数を使用すると、カテゴリ変数の全体的な有意性をテストできます。多くの異なるパッケージと回帰のタイプで動作します。
SK4ndal

回答:


28

これらの値は、各レベルの平均が参照レベルの平均と有意に異なるかどうかのみを示すことは正しいです。したがって、レベル間のペアワイズの違いについてのみ説明します。カテゴリ予測子が全体として有意であるかどうかをテストすることは、予測子のレベルの平均に不均一性があるかどうかをテストすることと同等です。モデルに他の予測子がない場合、これは古典的な分散分析の問題です。p

モデルに他の予測変数がある場合。カテゴリー予測子の有意性をテストするための2つのオプションがあります。

(1)尤度比検定:結果、定量的予測子、およびレベルのカテゴリカル予測子とします。カテゴリー予測子のないモデルはYiXi1,...,XipCik

Yi=β0+β1Xi1+...+βpXip+εi

Rあなたとこのモデルに合うことができるlm()コマンドとして対数尤度を抽出logLikコマンド。この対数尤度呼び出します。次に、モデルをカテゴリカル予測子に適合させることができます。L0

Yi=β0+β1Xi1+...+βpXip+j=1k1αjBj+εi

ここダミー変数であり、であればおよびそうでありません。「番目のレベルのみが存在する理由である基準レベルであり和で用語。カテゴリ変数をに渡すと、このダミーコーディングが自動的に行われます。このモデルを同様に近似し、上記のように対数尤度を抽出できます。この対数尤度呼び出します。次に、には効果がないという帰無仮説の下で、 1 D i = j 0 k k 1 L 1 D iBj1Di=j0kk1Rlm()L1Di

λ=2(L1L0)

持っていると分布自由度を。したがって、in を使用して値を計算し、有意性をテストできます。 K - 1 、Pχ2k1p1-pchisq(2*(L1-L0),df=k-1)R

(2)検定:F詳細に入らずに(対数尤度ではなく平方和が使用されることを除いてLRTに似ています)、これを行う方法をで説明しますR。コマンド(これを呼び出す)とカテゴリカル予測子のないモデル(これを呼び出す)をR使用して「フル」モデル(つまり、カテゴリカル予測子を含むすべての予測子を含むモデル)を近似する場合、この仮説をテストしますあなたも。lm()g1g0anova(g1,g0)

注:ここで言及したアプローチの両方は、エラーの正常性を必要とします。また、尤度比検定はネストされた比較に使用される非常に一般的なツールであるため、ここで言及するのは(そして最初にそれが起こる理由です)、検定は線形回帰モデルの比較に精通しています。F


マクロに感謝します。私のデータは非常に普通ではないことがわかりました。QQプロットは次のとおりです。曲線はすべて45度の直線の下にあります。曲線はその直線に接しています。そして、曲線はf(x)=-x ^ 2(形状的に)の曲線のように見えます。どのような問題に直面していますか?そして、これをどのように修正しますか?ありがとうございました!
ルナ

1
@Luna、あなたのデータは非常に非正常ですか、または残差は非常に非正常ですか?また、ポイントのセット全体が45度の線の下にあることは不可能だと思います。
マクロ

ああ、あなたは正しいです... QQプロットをもう一度見てみました。45度の線の下にあるのは、ポイントのセット全体ではありません。これは、f(x)=-x ^ 2の形状の曲線が45度の線に「接線」していることです。「接線」とは、「接線」ポイントの周囲のポイントが実際には45度の線より上にあることを意味するはずでしたが、ほんのわずかです。したがって、視覚的に言えば、データのほとんど(〜98%)は45度の線を下回っています...モデルの比較を行う前にこの問題を解決するには、まず何をすればよいですか?ありがとうございました!
ルナ

2
サンプルサイズが非常に大きい場合でも、エラー分布がロングテールでない限り、値は(中央の限界定理により)妥当なものでなければなりません。カテゴリー変数を単独でテストしたい場合は、ノンパラメトリック分散分析を使用できます:en.wikipedia.org/wiki / ...新しい質問としてより適切に提示するか、関連する質問をサイトで検索して回答します。p
マクロ

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