No.12907 GLMの係数の解釈(説明変数の効果の比較)  【もも】 2010/06/24(Thu) 22:11

GLM解析において,ある説明変数xの水準が4つ(a,b,c,d)あったとします。
このxをダミー変数としてfactor(x)にして解析した場合に,4つの水準の応答変数に対する効果がどれくらい違うのかを評価したいと思います。
Rで解析すると,4つの水準のうちaを基準として,b,c,dの係数が得られます。
例えば結果として,interceptが10,bの係数が5,cの係数が50,dの係数が20が得られたとします。
この場合には,aに対して,bは0.5倍,cは5倍,dは2倍の効果があると解釈してよいのでしょうか。
よろしくお願いいたします。

No.12908 Re: GLMの係数の解釈(説明変数の効果の比較)  【青木繁伸】 2010/06/24(Thu) 23:17

> この場合には,aに対して,bは0.5倍,cは5倍,dは2倍の効果があると解釈してよいのでしょうか。

よくないでしょう。
ダ ミー変数 a, b, c, d (a はベースライン)と連続変数 x が以下のようであるとき,linear predictor の係数が,定数項 = 10, b, c, d の係数が 5, 50, 20,x の係数が 8 のとき,linear predictor は,10+5*b+50*c+20*d+8*x ということですが,以下に挙げた例のどれであっても,予測値は同じになります。つまり,ベースラインとしたものとそれ以外の係数の差はいつも同じで,ベー スライン自体の違いは定数項で調整されている(だからこそ,どれをベースラインとしても同じ予測値(結果)が得られるのだ)。係数の比はどの場合も同じで ない。つまり,係数の比は意味がない。特に,2番目のもののように a=0 のときには比が取れない。
 10 +         5*b + 50*c + 20*d + 8*x    # a がベースライン
10 + 0*a + 5*b + 50*c + 20*d + 8*x # a がベースライン(わざわざ 0*a を加える)
8 + 2*a + 7*b + 52*c + 22*d + 8*x
-20 + 30*a + 35*b + 80*c + 50*d + 8*x
0 + 10*a + 15*b + 60*c + 30*d + 8*x # 切片(定数項)が 0
60 - 50*a - 45*b + 0*c - 30*d + 8*x # c がベースライン
28.75-18.75*a-13.75*b+31.25*c+1.25*d+8*x # 重みの和(平均値)が 0

計算してみる
> z
a b c d x
1 1 0 0 0 0.5
2 0 1 0 0 0.3
3 0 0 1 0 0.1
4 0 0 0 1 0.9
5 1 0 0 0 1.1
6 0 1 0 0 2.3
7 0 0 1 0 2.3
8 0 0 0 1 1.6
> # a=w[1], b=w[2], c=w[3], d=w[4], x=w[5]
> apply(z, 1, function(w) 10+5*w[2]+50*w[3]+20*w[4]+8*w[5])
1 2 3 4 5 6 7 8
14.0 17.4 60.8 37.2 18.8 33.4 78.4 42.8
> apply(z, 1, function(w) 10+0*w[1]+5*w[2]+50*w[3]+20*w[4]+8*w[5])
1 2 3 4 5 6 7 8
14.0 17.4 60.8 37.2 18.8 33.4 78.4 42.8
> apply(z, 1, function(w) 8+2*w[1]+7*w[2]+52*w[3]+22*w[4]+8*w[5])
1 2 3 4 5 6 7 8
14.0 17.4 60.8 37.2 18.8 33.4 78.4 42.8
> apply(z, 1, function(w) -20+30*w[1]+35*w[2]+80*w[3]+50*w[4]+8*w[5])
1 2 3 4 5 6 7 8
14.0 17.4 60.8 37.2 18.8 33.4 78.4 42.8
> apply(z, 1, function(w) 10*w[1]+15*w[2]+60*w[3]+30*w[4]+8*w[5])
1 2 3 4 5 6 7 8
14.0 17.4 60.8 37.2 18.8 33.4 78.4 42.8
> apply(z, 1, function(w) 60-50*w[1]-45*w[2]+0*w[3]-30*w[4]+8*w[5])
1 2 3 4 5 6 7 8
14.0 17.4 60.8 37.2 18.8 33.4 78.4 42.8
> apply(z, 1, function(w) 28.75-18.75*w[1]-13.75*w[2]+31.25*w[3]+1.25*w[4]+8*w[5])
1 2 3 4 5 6 7 8
14.0 17.4 60.8 37.2 18.8 33.4 78.4 42.8

No.12909 Re: GLMの係数の解釈(説明変数の効果の比較)  【もも】 2010/06/25(Fri) 14:05

青木先生,コメントおよび分かり易い例まで示して頂き,有り難うございます。
独立変数の効果の違いを見るに当たって,係数の比ではなく,差を見て判断するということでよろしいでしょうか。
そ の場合,interceptが10,bの係数が5,cの係数が50,dの係数が20として得られたとしますと,aの効果のみを考慮した場合にはyは10と なり,bのみを考慮した場合に15,cのみの効果を考慮した場合に60,dの効果のみを考慮した場合に30となるのですね。
このintercept10には,切片とaの効果が含まれるので,aに対してbが1.5倍ということはあり得ないですよね。
では,aの効果に対して,相対的にbの効果がどの程度かということをどのように考えればよいのでしょうか。

No.12910 Re: GLMの係数の解釈(説明変数の効果の比較)  【青木繁伸】 2010/06/25(Fri) 14:11

> aの効果に対して,相対的にbの効果がどの程度かということをどのように考えればよいのでしょうか。

ですから,そのように考えることはできないということなんです。「どれか一つをベースラインにする」ということは,「差を考える」ということなんです。c-a の差が b-a の差の何倍とはいえるけど,c が b の何倍とはいえないのです。

No.12911 Re: GLMの係数の解釈(説明変数の効果の比較)  【もも】 2010/06/25(Fri) 14:46

有り難うございます。そういうことですか。
では,ベースラインをおかずに解析して効果の差を見るということはできないのでしょうか。何らかの方法で,効果の違いを数値化することはできないのでしょうか。

No.12912 Re: GLMの係数の解釈(説明変数の効果の比較)  【青木繁伸】 2010/06/25(Fri) 15:15

要するに,ベースラインにしたカテゴリーを基準(0)にするのではない方法,例えば,例に挙げたものの最後のよう に,係数の和(平均値)が 0 になるように(平均値を基準に)すれば,よいかも知れませんが,それがあなたが意図するカテゴリーの「効果の違い」を表すのかどうかは,私にはちょっとわ からない。というのも,「平均値を 0 にする」といっても,単に係数の平均値(和)を 0 にするのか,それぞれのカテゴリーに該当するデータ数を考慮した平均値(重み付け平均値)を 0 にする(これは,数量化 I, II 類におけるカテゴリースコアの決定法と同じ)のかで基準が変わるから。
要するに,基準がない(一つに決められない)のだから,ある基準での効果の違いを云々しても意味がないというのが結論では?

No.12945 Re: GLMの係数の解釈(説明変数の効果の比較)  【もも】 2010/06/30(Wed) 21:43

丁寧なコメントを有り難うございます。以下のような場合では,どのような解析方法が考えられるでしょうか。
あ る果物の果実の数が肥料に依存するとして,普段はAという果物を使っているのだけれども,その肥料Aの値段が高騰したので,Aに対して60%の価格の安い 肥料Bを使用することを検討します。Bを使用した場合の果実の数はAよりも少ないのだけれども,Aに対して60%以上の数の果実が得られるのであれば,B を使うことが利益率から言っても有効ですが,60%未満であれば,無理してもAを使った方がよい。という場合に実験結果から,肥料Aに比べて肥料Bを使っ たときの果実の数への効果がどの程度かを知りたいのです。これをGLMで把握することはできないでしょうか。
さらに,その実験を色々な土地で行った場合にり,場所によってその他の要因による果実の数のバラツキがあるので,これ(実験場所)をランダム効果として扱いたい場合に,GLMMで肥料の効果の違いを把握することはできないでしょうか。
よろしくお願いします。。

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