No.03246 t検定と回帰分析  【波音】 2007/04/22(Sun) 00:09

現在,実験計画法の勉強をしているのですが,「2群の平均値の差の検定はダミー変数を用いた回帰分析で実現できる」といったことに気づきました。そこで2点ほど疑問があるのですが,

1)  同じデータをRのt.test()で行った場合とlm()で行った場合の結果を見比べることを考えます。そのとき,t.test()では有意差が認めら れた(母平均は同じである)という結果が得られたとします。一方でlm()では切片,もしくは偏回帰係数のp値が0.05よりも大きく「偏回帰係数は0で ある」ということになってしまうということはどういうことなのでしょうか。
> m
[,1] [,2]
[1,] 0 10
[2,] 0 8
[3,] 0 -4
[4,] 0 4
[5,] 0 12
[6,] 1 26
[7,] 1 18
[8,] 1 18
[9,] 1 28
[10,] 1 16
[11,] 1 8
> t.test(m[1:5,2], m[6:11,2])

Welch Two Sample t-test

data: m[1:5, 2] and m[6:11, 2]
t = -3.178, df = 8.959, p-value = 0.01129
> res <- lm(m[,2] ~ m[,1])
> summary(res)
Estimate Std. Error t value Pr(>|t|)
(Intercept) 6.000 3.062 1.959 0.0817 .
m[, 1] 13.000 4.146 3.135 0.0120 *

上の出力結果だとt.test()では有意でもlm()のサマリーでは切片が有意ではないですよね?こういう場合はどう解釈すればよいのでしょうか。

2) 1元配置分散分析でもそうですが,データが対応ありの場合(対応のあるt検定や乱塊法)は回帰分析では実現できないのでしょうか。

No.03247 Re: t検定と回帰分析  【DISIR】 2007/04/22(Sun) 13:01

t検定が分散が等しくない場合(Welch),ダミー変数を使った場合が分散が等しい場合だからでしょう。

No.03248 Re: t検定と回帰分析  【波音】 2007/04/22(Sun) 17:10

回答ありがとうございます。

すみません,

> ダミー変数を使った場合が分散が等しい場合だから

ということが良く分からなかったのですが,これはダミー変数を用いた回帰分析では両群の分散が等しいとしている,ということでしょうか。

No.03249 Re: t検定と回帰分析  【青木繁伸】 2007/04/22(Sun) 18:12

> ダミー変数を用いた回帰分析では両群の分散が等しいとしている,ということでしょうか

というか,回帰分析の結果は,両群の分散が等しいと仮定したt検定と同じ結果になるということでしょう

両群の分散が等しいことを仮定しない回帰分析というのはないですよね(たぶん。あったりして)
> t.test(m[1:5,2], m[6:11,2], var.equal=TRUE)

Two Sample t-test

data: m[1:5, 2] and m[6:11, 2]
t = -3.1353, df = 9, p-value = 0.01202

No.03250 Re: t検定と回帰分析  【波音】 2007/04/22(Sun) 22:31

> というか,回帰分析の結果は,両群の分散が等しいと仮定したt検定と同じ結果になるということでしょう

こ ういうことは表面的というか感覚的に納得はできるのですが,どうも頭の中でどうして同じになるのかという理屈を理解することができません。実際,パソコン でやってみれば同じ結果になるということは分かるので特に問題ないのかもしれませんが,この辺りのことを詳しく(数学的に)解説されている本はないでしょ うか。

No.03251 Re: t検定と回帰分析  【takahashi】 2007/04/23(Mon) 09:08

> g<-c(rep(0,5),rep(1,6))
> y<-c(10,8,-4,4,12,26,18,18,28,16,8)
> t.test(y[1:5], y[6:11])

Welch Two Sample t-test

data: y[1:5] and y[6:11]
t = -3.178, df = 8.959, p-value = 0.01129
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
-22.26014 -3.73986
sample estimates:
mean of x mean of y
6 19

> summary(lm(y~g,weights=c(rep(1/var(y[1:5]),5),rep(1/var(y[6:11]),6))))

Call:
lm(formula = y ~ g, weights = c(rep(1/var(y[1:5]), 5), rep(1/var(y[6:11]),
6)))

Residuals:
Min 1Q Median 3Q Max
-1.5811 -0.3653 -0.1381 0.7906 1.2433

Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 6.000 2.828 2.121 0.0629 .
g 13.000 4.091 3.178 0.0112 *
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1 on 9 degrees of freedom
Multiple R-Squared: 0.5288, Adjusted R-squared: 0.4764
F-statistic: 10.1 on 1 and 9 DF, p-value: 0.01122
ということでしょうか。
t統計量は一致しますが,実はp値は微妙にずれる。
これはlmの方が自由度の調整を行わないから,だと思います。

No.03254 Re: t検定と回帰分析  【波音】 2007/04/24(Tue) 00:58

度々で申し訳ないです。

間違って理解していたら困るので確認させていただきたいのですが,lm()のヘルプを見た限りでは"weights"を指定したことによって,通常の最小二乗法ではなく重み付け最小二乗法を適用(指定)したということですよね?

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