No.01273 Re: Rでglm,独立変数の係数は? 【青木繁伸】 2006/10/10(Tue) 12:51
ベースラインにされたダミー変数に対する重みが0ということで,他のダミー変数に対する重みも相対値なんかではないですが?> x <- as.factor(c(3,2,1,3,1,2,3))
> y <- c(3,2,1,4,5,6,4)
> ans <- glm(formula=y ~ x, family=gaussian)
> ans
Call: glm(formula = y ~ x, family = gaussian)
Coefficients:
(Intercept) x2 x3
3.0000 1.0000 0.6667
Degrees of Freedom: 6 Total (i.e. Null); 4 Residual
Null Deviance: 17.71
Residual Deviance: 16.67 AIC: 33.94
> ans$fitted.values
1 2 3 4 5 6 7
3.666667 4.000000 3.000000 3.666667 3.000000 4.000000 3.666667
予測値は,
xが1のときは,3(+0)
xが2のときは,3+1.0
xが3のときは,3+0.6667
となっているでしょう?
No.01274 Re: Rでglm,独立変数の係数は? 【もも】 2006/10/10(Tue) 13:40
青木先生ありがとうございました。
ベースラインにされたX1の係数がInterceptに示された3で,x2の係数が4,X3の係数が3.6667ということなのですね。
やっと分かりました。もやもやがとれました。
ありがとうございました。
No.01275 Re: Rでglm,独立変数の係数は? 【青木繁伸】 2006/10/10(Tue) 13:42
> ベースラインにされたX1の係数がInterceptに示された3で,x2の係数が4,X3の係数が3.6667ということなのですね。
違いますよ!!
3は定数項(切片,って書いてあるでしょ)
x2 の係数は1,x3の係数は0.6667
x1 はベースラインにされたので出力には現れていないが,係数は0ということ何に0を掛けても結果は0なので,ベースライン。
No.01276 Re: Rでglm,独立変数の係数は? 【もも】 2006/10/10(Tue) 14:09
ご面倒おかけして申し訳ありません。よく理解できていないようです。
x1の係数が0ということは,x1はこのモデルに影響を及ぼしていないということなのでしょうか。。
No.01277 Re: Rでglm,独立変数の係数は? 【青木繁伸】 2006/10/10(Tue) 14:15
ダミー変数については
http://aoki2.si.gunma-u.ac.jp/lecture/Regression/mreg/dummy-variable/dummy.html
をご覧ください。
> x1の係数が0ということは,x1はこのモデルに影響を及ぼしていないということなのでしょうか
そういう意味では,貴方の言うところの「相対的」ということでしょう。
x1を基準にすると,x2はそれよりも1大きい効果を及ぼし,x3 はx1より0.6667大きい効果を及ぼすということですね。
No.01278 Re: Rでglm,独立変数の係数は? 【もも】 2006/10/10(Tue) 14:29
> x1を基準にすると,x2はそれよりも1大きい効果を及ぼし,x3 はx1より0.6667大きい効果を及ぼすということですね
そういう解釈をしておりましたが,間違っているようですね。ダミー変数についてもう少し勉強し直してみます。ありがとうございました。
No.01289 Re: Rでglm,独立変数の係数は? 【マスオ】 2006/10/11(Wed) 00:02
Rであれば,切片=0 のモデルで回帰すればよいでしょう.
青木先生の例を拝借すれば,
> ans0 <- glm(formula=y ~ x + 0, family=gaussian)
> ans0
Call: glm(formula = y ~ x + 0, family = gaussian)
Coefficients:
x1 x2 x3
3.000 4.000 3.667
Degrees of Freedom: 7 Total (i.e. Null); 4 Residual
Null Deviance: 107
Residual Deviance: 16.67 AIC: 33.94
このときのダミー変数は,
> model.matrix(ans0)
x1 x2 x3
1 0 0 1
2 0 1 0
3 1 0 0
4 0 0 1
5 1 0 0
6 0 1 0
7 0 0 1
attr(,"assign")
[1] 1 1 1
attr(,"contrasts")
attr(,"contrasts")$x
[1] "contr.treatment"
また,lm関数や glm関数では,contrasts引数で様々なダミー変数を使うことができて,それに応じて回帰係数が変わります.
No.01301 Re: Rでglm,独立変数の係数は? 【もも】 2006/10/11(Wed) 20:21
マスオさま
ありがとうございました。
なるほど,切片を0にしてやれば,x1がベースとならずに,3つの係数が出てくるのですね。少し分かってきました。
そもそも,ダミー変数の考え方を少し間違って解釈していたようです。
青木先生のページで理解が深まりました。
● 「統計学関連なんでもあり」の過去ログ--- 039 の目次へジャンプ
● 「統計学関連なんでもあり」の目次へジャンプ
● 直前のページへ戻る