No.01989 重回帰式の説明変数に数値と比率を投入することの是非  【sekita】 2006/12/22(Fri) 14:54

はじめまして。統計の勉強とRのスクリプトで,こちらのサイトにはいつも大変お世話になっております。

現在直面している問題について,調べたけれどよく分からなかったので教えてください。

お互いに相関は高くないが,一方を変化させると他方も(理屈から言って)必ず変化する2変数を
重回帰式に投入することの是非について悩んでいます。


具体的には以下の通りです。

ケース数11のデータに関して,

変数A1(個数),変数A2(個数),・・・,変数A5(個数),変数B(=Σ変数An),変数C1(=A1/B),…,変数C5(=A5/B)

の11個の説明変数を用意して重回帰式を立てようと考えました。

説明変数が多すぎるので,まず被説明変数に対するピアソンの相関係数が0.2と低い変数C2を削除し,

そこから青木先生のスクリプトでVIFを計算して,最大のものが10前後になるまで順に削除していったところ,
変数A1,A2,A3,C1,C4,C5が残りました。

ここで,A1とC1との間の相関係数は−0.09程度です。



分からないこと

説明変数にA1とC1を入れると,C1の偏回帰係数は,
A1(値)など他の全ての変数を固定してC1(A1の全体に対する比率)だけを変動させるという実現不能な事態を評価してしまう気がしました。

変数間の相関が低いしある変数の値とその比率とでは意味合いが違うので両方とも入れて構わないのか,論理的につじつまが合わなくなるから片方だけにすべきなのか,どちらが正しいのでしょうか? …(1)


目的変数は,比率ではない普通の値です。
そもそも,値と比率を両方とも変数にしてもいいものでしょうか? …(2)


また,作った重回帰式の偏回帰係数の値から,目的変数に対する説明変数の寄与を考察したいのですが,最初の変数選択で落としてしまう説明変数は係数を評価しようがありません。
全ての変数A1〜C5までを評価できるような何か適切な方法をご存じないでしょうか? …(3)


お忙しいところ恐縮ですが,教えてくださいますようよろしくお願いします。


過去ログの
http://aoki2.si.gunma-u.ac.jp/lecture/mb-arc/arc029/03756.html
http://aoki2.si.gunma-u.ac.jp/lecture/mb-arc/arc024/116.html
では結論が出ていないようでした。

No.01990 Re: 重回帰式の説明変数に数値と比率を投入することの是非  【青木繁伸】 2006/12/22(Fri) 15:44

> ケース数11のデータに関して,
> 変数A1(個数),変数A2(個数),・・・,変数A5(個数),変数B(=Σ変数An),変数C1(=A1/B),…,変数C5(=A5/B)
> の11個の説明変数を用意して重回帰式を立てようと考えました。

変数B(=Σ変数An)は,変数A1(個数),変数A2(個数),・・・,変数A5(個数)と共存すると特異行列になって解が求まらないはずですが。おかしいですね。

> VIFを計算して,最大のものが10前後になるまで順に削除

VIF が10というのは,大きすぎます。トレランスで言うと 0.1 ですから。相対的なものではありますが,他の変数のトレランスが0.5程度より大きい中に0.2ぐらいのトレランスを持つ変数があるのは好ましいことではないです。

VIF が10くらいのものを許容しているから,「変数A1,A2,A3,C1,C4,C5が残りました」ということになってしまうのではないでしょうか?

Pin, Pout によるステップワイズ変数選択をやってご覧になれば,多重共線性の実情がはっきりすると思います。以下のページで重回帰を試してみて下さい。
http://aoki2.si.gunma-u.ac.jp/BlackBox/BlackBox.html

いずれにせよ,11ケースしかないデータを多くの変数を使って(5,6個でも)予測を行うのは,問題があるでしょう。

どうしても数値解を得たければ,逆行列を求めるところを一般化逆行列を使えば解は求まるでしょう。しかし,その解はとても信頼できる解ではないと思います。
http://aoki2.si.gunma-u.ac.jp/R/mreg.html

No.02010 Re: 重回帰式の説明変数に数値と比率を投入することの是非  【sekita】 2006/12/23(Sat) 16:50

青木先生
お返事ありがとうございます。

>変数B(=Σ変数An)は,変数A1(個数),変数A2(個数),・・・,変数A5(個数)と共存すると特異行列になって解が求まらないはず
データセットを作る段階で数値の丸めを不適切にしておりました。ご指摘感謝します。


その後,変数BとVIF最大の変数C5とを削除してからPin=Pout=0.05で「Pin, Pout によるステップワイズ変数選択」を行ったところ変数C1,C3,A5が採択され問題は解決しました。自由度調整済み重相関係数の二乗も0.9でした。


と ころで,VIFが10では大きすぎるとのことでしたので,ステップワイズ変数選択の代わりに,VIFが最大で1.5になるところまで手動で変数選択(選択 された変数:A1,A4,C1,C2,C3)してから「Pin, Pout によるステップワイズ変数選択」を行ったところ,A1,C1の2変数が採択され,自由度調整済み重相関係数の二乗は0.7でした。


再度の質問なのですが,

変数選択は,VIFから手動で行うよりも最初からPin,Poutによるステップワイズを行ったほうのが大抵は良い結果になるのでしょうか? …(1)

説明変数に普通の数値と百分率とが混ざることに問題は無いのでしょうか? …(2)

仮 にA1,C1のような,一方がもう一方の比率であるような関係の変数が変数選択で採択されたとしたら,どう解釈すればよいのでしょうか。A1を変化させず にC1だけ変化させることは出来ないのに,重回帰式で両変数を入れると,それぞれの偏回帰係数は,出来ないはずのことを実現させた場合の評価をしまうよう に感じるのですが… …(3)

よろしくお願いします。

No.02011 Re: 重回帰式の説明変数に数値と比率を投入することの是非  【青木繁伸】 2006/12/23(Sat) 19:53

> 変数選択は,VIFから手動で行うよりも最初からPin,Poutによるステップワイズを行ったほうのが大抵は良い結果になるのでしょうか?

良い結果になるかどうかはともかく,最初っからステップワイズやるほうがいいと思いますよ。

> 説明変数に普通の数値と百分率とが混ざることに問題は無いのでしょうか?

あなたが最初に引いていたURLでは,従属変数の方が割合である場合のことでしょう。説明変数に何が含まれようが得には問題ないでしょう(従属変数と直線関係がなければならないという以外,とりたてて言うほどの問題はない)

> 仮にA1,C1のような,一方がもう一方の比率であるような関係の変数が変数選択で採択されたとしたら,どう解釈すればよいのでしょうか

C1 の分母は,ΣAi ですが,これはケースごとに違うので A1 と C1 の関係は,相関がかなり高いことは予想できますが,違うと言えば違うのでしょう。ただ,重回帰の結果をどう解釈すればよいかと悩むのではなく,なんでA1 と C1 を同時に入れようと思うのかということの方をよくよく考えた方がいいでしょう。第三者に説明できますか?納得させることができますか?よく分からないもの を,単に自由度調整済みの重相関係数が大きくなるからという理由だけで入れるのはやめた方がいいと思います。

● 「統計学関連なんでもあり」の過去ログ--- 039 の目次へジャンプ
● 「統計学関連なんでもあり」の目次へジャンプ
● 直前のページへ戻る