どの分散インフレ率を使用する必要があります:または?


30

vifRパッケージの関数を使用して、分散インフレ率を解釈しようとしていますcar。この関数は、一般化されたと両方を出力し。ヘルプファイルによると、この後者の値VIFGVIF1/2df

信頼楕円体の次元を調整するために、関数はGVIF ^ [1 /(2 * df)]も出力します。ここで、dfは項に関連付けられた自由度です。

ヘルプファイルでこの説明の意味がわからないため、またはを使用すべきかどうかわかりません。私のモデルのためにこれらの2つの値が非常に異なっている(最大〜ある、最大値は〜ある)。GVIFGVIF1/2dfGVIF60GVIF1/2df3

誰かが私にどれを使用すべきか、そして信頼楕円体の次元を調整することの意味を教えてください。

回答:


25

Georges Monetteと私は、論文「Generalized collinearity diagnostics」JASA 87:178-183、1992(リンク)でGVIFを紹介しました。説明したように、GVIFは、係数のサブセットの結合信頼楕円体のハイパーボリュームと、このサブセットの回帰変数が相補サブセットの回帰変数と相関しない場合に得られる「ユートピア」楕円体の二乗比を表します。単一の係数の場合、これは通常のVIFに特化しています。次元間でGVIFを比較可能にするために、GVIF ^(1 /(2 * Df))を使用することを提案しました。ここで、Dfはサブセット内の係数の数です。実際には、これはGVIFを線形尺度に減らし、VIF(Df = 1)の場合、係数の信頼区間の共線性によるインフレーションに比例します。


3
当サイトへようこそ!アカウントを登録して、たまにアクセスしていただければ光栄です。1つの小さなハウスキーピングメモ:投稿に署名する必要はありません。あなたのユーザーページへのリンクを持つidenticonは、あなたが与えるすべての回答に自動的に追加されます。
GUNG -復活モニカ

24

私はまったく同じ質問にぶつかり、自分の道を進めようとしました。以下の詳細な回答を参照してください。

まず、Rで同様のVIF値を生成する4つのオプションを見つけました。

corvifAEDパッケージのコマンド、

vif自動車パッケージからのコマンド、

vifrmsパッケージのコマンド、

vifDAAGパッケージからのコマンド。

因子/カテゴリ変数または多項式項を含まない一連の予測変数でこれらのコマンドを使用することは、簡単です。corvifAEDパッケージのコマンドが結果をGVIFとラベル付けしても、3つのコマンドはすべて同じ数値出力を生成します。

ただし、通常、GVIFは因子と多項式変数に対してのみ有効です。複数の係数を必要とするため、1つの自由度を超える変数は、通常、GVIFを使用して評価されます。1係数の項では、VIFはGVIFと等しくなります。

したがって、3、5、または10のしきい値など、共線性が問題になる可能性があるかどうかについて、標準的な経験則を適用できます。ただし、いくつかの注意を適用する必要があります(参照する必要があります)(http://www.nkd-group.com/ghdash/mba555/PDF/VIF%20article.pdfを参照)。

カテゴリ係数予測子などの多係数項の場合、4つのパッケージは異なる出力を生成します。vifrmsおよびDAAGパッケージのコマンドはVIF値を生成しますが、他の2つのコマンドはGVIF値を生成します。

まず、rmsおよびDAAGパッケージのVIF値を見てみましょう。

TNAP     ICE     RegB    RegC    RegD    RegE

1.994    2.195   3.074   3.435   2.907   2.680

TNAPとICEは連続予測変数であり、RegはダミーのRegBからRegEによって提示されるカテゴリ変数です。この場合、RegAがベースラインです。すべてのVIF値はやや中程度で、通常は心配する必要はありません。この結果の問題は、カテゴリー変数のベースラインの影響を受けることです。VIF値が許容レベルを超えていないことを確認するには、ベースラインとなるカテゴリ変数のすべてのレベルに対してこの分析をやり直す必要があります。この場合は5回です。

corvifAEDパッケージのvifコマンドまたはcarパッケージのコマンドを適用すると、GVIF値が生成されます。

     |  GVIF     | Df | GVIF^(1/2Df) |  

TNAP | 1.993964  | 1  | 1.412078     |
ICE  | 2.195035  | 1  | 1.481565     | 
Reg  | 55.511089 | 5  | 1.494301     |

GVIFは、ダミーの説明変数のセットなど、関連する説明変数のセットに対して計算されます。2つの連続変数TNAPおよびICEの場合、これは以前のVIF値と同じです。カテゴリ変数Regの場合、カテゴリ変数の単一レベルのVIF値はすべて中程度であったにもかかわらず(上記を参照)、非常に高いGVIF値を取得します。

GVF1/2×DfGVF1/2×Dfカテゴリー変数の値は、共線性による係数の推定精度の低下の同様の尺度です(引用の準備ができていなくても、http: //socserv2.socsci.mcmaster.ca/jfox/papers/linear-も参照してください) models-problems.pdf)。

GVF1/2×DfGVF1/2×Df

GVF1/2×DfGVF1/2×DfGVF21/2×Df<2


サイト@JanPhilippSへようこそ。これは、OPの質問に対する答えと同じくらい新しい質問のように思えます。[回答]フィールドのみを使用して回答を提供してください。質問がある場合[ASK QUESTION]は、上部のをクリックして質問してください。適切なサポートを提供できます。ここは初めてなので、新しいユーザー向けの情報が含まれるツアーをご覧ください。
GUNG -復活モニカ

2
まあ、それは本当に新しい質問ではありません。むしろ詳細な答え。
ヤンフィリップS

1
@JanPhilippS、さらに読むためのソースへのリンクをありがとう。あなたの投稿は、質の高い回答のように思えたので、状況をある程度反映することができました。
timothy.s.lau

6

Fox&Monette(GVIFの元の引用、GVIF ^ 1 / 2df)は、GVIFを1 / 2dfの累乗にすると、GVIFの値をさまざまなパラメーターで比較できるようにすることを提案しています。「通常の分散インフレ係数の平方根を取ることに似ています」(An R and S-Plus CompanionからApplied Regression to John Foxまで)。そのため、はい、それを二乗して通常のVIFの「経験則」を適用するのは理にかなっています。

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