No.04728 Re: VIFについて 【青木繁伸】 2007/11/19(Mon) 09:12
> 説明変数の数が多い重回帰式の場合だと共線性が高くなくてもVIFが大きくなってしまうということはあるのでしょうか?
そんなことはありません。
なので,
> 自由度を調整した,adjusted VIFのようなものはあるのでしょうか
そんなものはありません。
> d/ad-bc
表記として間違えていますね
この計算式を中学生に示して a,b,c,d を与えても,あなたが期待する答えは返ってこないでしょう。
d/(ad-bc) でないとね。演算順序というものがあります。
この単純なことを実に多くの人が無視します。
相関係数行列ですから,a=d=1, b=c ですね。b=c=0.5 としたら,対角成分は二つとも,1/(1-0.25)=1.33333 です。
No.04730 Re: VIFについて 【Sai】 2007/11/19(Mon) 12:27
青木先生,回答および指摘ありがとうございます。
現在自分で計算中なのですが,やはりVIFの定 義式から考えるに単に説明変数が増えていくとVIFの値は増加するように思います。しかし,それが非常に微々たるもので影響は少ない,という結果になるの ではないかと予測しております。ですから増えることは増えるのではないか,という仮説を検証してみます。
またVIFの定義式を自分で展開 してみたのですが,それが重相関係数と関係しさらに逆行列の対角成分になる,ということがわからないのでとりあえず自分でVIFと重相関係数を別々に計算 してみて,それを当てはめてみます。メカニズムはわからないまでもとりあえず結果が一緒になればOKかと。
最初からそこの検証もしておくべきでした。
取り急ぎ報告でした。
No.04790 Re: VIFについて 【Sai】 2007/11/23(Fri) 22:35
卒論の中間発表などで遅れましたが検証の結果です。
以下に示すような本当に適当なデータで重回帰を行ってみました。aが従属変数,c,eが説明変数で,eはランダムに発生させました。> hでしたので,ランダムと言えどもほんの少しは相関が出てしまうようです。
a c e
1 1 10 1.5908665
2 2 20 -1.2608981
3 3 30 1.0396876
4 4 40 -0.1383912
5 5 50 -1.5775974
6 6 60 0.6499620
7 7 70 1.1719216
8 8 80 1.8536248
9 9 90 0.1238848
> res=glm(a~c,data=h) #最初はcのみで
> res
Call: glm(formula = a ~ c, data = h)
Coefficients:
(Intercept) c
4.163e-16 1.000e-01
Degrees of Freedom: 8 Total (i.e. Null); 7 Residual
Null Deviance: 60
Residual Deviance: 3.944e-31 AIC: -618.3
> vif(res)
c
1 #当たり前ですが
> res=glm(a~c+e,data=h)
> res
Call: glm(formula = a ~ c + e, data = h) #次はeも入れて解析
Coefficients:
(Intercept) c e
4.163e-16 1.000e-01 3.486e-17
Degrees of Freedom: 8 Total (i.e. Null); 6 Residual
Null Deviance: 60
Residual Deviance: 3.944e-31 AIC: -616.3
> vif(res)
c e
1.0303 1.0303 #cだけよりも少しvifが増加。もっとも,AICは増えましたが。
ちなみに
> cor(h)
a c e
a 1.0000000 1.0000000 0.1714153
c 1.0000000 1.0000000 0.1714153
e 0.1714153 0.1714153 1.0000000
よって,「従属変数に関係ない変数が増えても,ほんの少しvifは増加するが影響は微々たるものである」,という結論をしてもよいのでしょうか?
>VIFの定義式を自分で展開してみたのですが,それが重相関係数と関係しさらに逆行列の対角成分になる,ということがわからない
これは逆関数と行列を少し勉強すればわかりました。
● 「統計学関連なんでもあり」の過去ログ--- 041 の目次へジャンプ
● 「統計学関連なんでもあり」の目次へジャンプ
● 直前のページへ戻る