★ エクセルでのt検定について ★

4258. エクセルでのt検定について puyo 2004/09/14 (火) 06:00
└4259. Re: エクセルでのt検定について さら 2004/09/14 (火) 07:43
 └4264. Re^2: エクセルでのt検定について puyo 2004/09/14 (火) 20:16
  └4266. Re^3: エクセルでのt検定について さら 2004/09/14 (火) 23:14
   └4273. Re^4: エクセルでのt検定について puyo 2004/09/15 (水) 05:01
    ├4276. Re^5: エクセルでのt検定について 太郎 2004/09/15 (水) 08:40
    └4274. Re^5: エクセルでのt検定について さら 2004/09/15 (水) 06:02


4258. エクセルでのt検定について puyo  2004/09/14 (火) 06:00
いつも勉強させて頂いています。
今日は,エクセルの統計関数について教えて下さい。
平均値の差の検定をしたいと思っています。
Excelに,TTEST関数とTDIST関数がありますがこの違いは何で,どのように使い分ければいいのでしょうか。
インプットするパラメータが異なるだけで,返される結果は同じなのでしょうか。
実際にデータを入れてみたのですが・・・
例えば,青木先生のHPにあったサンプルデータを使って両者を比較してみると

データ A群(data1) 3.42 ,3.84 ,3.96 ,3.76
B群(data2) 3.17 ,3.63 ,3.47 ,3.44 ,3.39
を,有意水準5% で 両側検定すると

まず,等分散であるとした場合

TTEST(data1,data2,2,2) では, 0.0434631198341572
TDIST(2.46003455301869,7,2) では,0.0434631198341622

となって,ほぼ同じ値が返りますが

等分散でない場合,
TTEST(data1,data2,2,3) では, 0.0617451646360121
TDIST(2.36121784181162,7,2) では,0.0646532308852884
となって,約 0.3 %の差が生じます。

ちなみに,
エクセルの分析ツールを使って算出すると
等分散の場合・等分散でない場合 共に TDIST 関数の値を出力します。

『統計学自習ノート』のHPにあるエクセルファイル t-test.xls を使って算出すると逆に等分散の場合・等分散でない場合 共に TTEST 関数の値を出力します。
どう理解すればよいのでしょうか?よろしくお願いします。

     [このページのトップへ]


4259. Re: エクセルでのt検定について さら  2004/09/14 (火) 07:43
ちなみにわたしはエクセルで統計はしません。
青木先生のHPにも書いてありますが,いろいろとひどいことが多すぎます。

さて,puyoさんの問題ですが,自由度が違うというだけです。

R を使ってみると,
a <- c(3.42, 3.84, 3.96, 3.76)
b <- c(3.17, 3.63, 3.47, 3.44, 3.39)
まず等分散の場合は
> t.test(a, b, var.equal=TRUE, alt="two")
でpuyoさんのと同じ結果が得られます。
等分散でないとすると,
> t.test(a, b, var.equal=FALSE, alt="two")
で,
t = 2.3612, df = 5.302, p-value = 0.06175
が得られます。
自由度は5.302ですね。
これはWelch's formula に基づいています。
あれ?Satterthwaite でしたっけ?

ちなみに自由度7にすると,0.0646532 ではなくて0.05025になりますよ。(エクセルでも)

     [このページのトップへ]


4264. Re^2: エクセルでのt検定について puyo  2004/09/14 (火) 20:16
さら さん
早速,回答ありがとうございます。

> さて,puyoさんの問題ですが,自由度が違うというだけです。
>
> R を使ってみると,
> まず等分散の場合は
> でpuyoさんのと同じ結果が得られます。
> 等分散でないとすると,
> > t.test(a, b, var.equal=F, alt="two")
> で,
> t = 2.3612, df = 5.302, p-value = 0.06175
> が得られます。
> 自由度は5.302ですね。
> ちなみに自由度7にすると,0.0646532 ではなくて0.05025になりますよ。(エクセルでも)

はい,そうですね。申し訳ありません。質問の自由度を間違えました。

等分散でない場合,
TTEST(data1,data2,2,3) では, 0.0617451646360121
TDIST(2.36121784181162,5.302,2) では,0.0646532308852884

でした。自由度が7でなく5.302 としたときに0.3%の差が生じます。
教えていただいたRでの計算結果からすると,エクセルのTTEST関数も自由度は5.302で計算しているのですね。
等分散でない場合は,Rでの結果と一致するTTESTを使って,TDIST関数は使わない方がいいということでしょうか。

間違えたので混乱させて申し訳ありませんが,もう一度教えていただけませんか。よろしくお願いします。

     [このページのトップへ]


4266. Re^3: エクセルでのt検定について さら  2004/09/14 (火) 23:14
えぇと,

> 等分散でない場合,
> TTEST(data1,data2,2,3) では, 0.0617451646360121
> TDIST(2.36121784181162,5.302,2) では,
> 0.0646532308852884
> でした。自由度が7でなく5.302 としたときに0.3%の差が生じます。

おかしいですね。
> (1-pt(2.3612, df=5.302))*2
[1] 0.06174616
ふつうにt分布を使って計算しても同じ値になります。
(ま,当たり前ですが・・・)

TDIST関数がおかしいのではないですか?

> 等分散でない場合は,Rでの結果と一致するTTESTを使って,
> TDIST関数は使わない方がいいということでしょうか。

ま,そのようですが,どちらかというと,エクセルを使わない方がいいのでは?

     [このページのトップへ]


4273. Re^4: エクセルでのt検定について puyo  2004/09/15 (水) 05:01
> TDIST関数がおかしいのではないですか?
> ま,そのようですが,どちらかというと,エクセルを使わない方がいいのでは?

そういうことなんですね。
まさか天下のエクセルが違っているとは思えなかったので,混乱してしまいました。
これから,Rの方を勉強をしてみます。
どうも有難うございました。

     [このページのトップへ]


4276. Re^5: エクセルでのt検定について 太郎  2004/09/15 (水) 08:40
> > TDIST関数がおかしいのではないですか?
TDIST関数が分散が異なる場合にも使えるという説明はEXCELのHELPには記述されておりません。(TTESTは記述されている)
単なる使い方の間違いではないですか。

     [このページのトップへ]


4274. Re^5: エクセルでのt検定について さら  2004/09/15 (水) 06:02
> まさか天下のエクセルが違っているとは思えなかったので,

とんでもありません。間違いだらけですよ。
やや古くて英語ですが,
http://www.stat.uiowa.edu/~jcryer/JSMTalk2001.pdf
は面白く読めます。
そしてもちろん,青木さんのページも必読ですね。
http://aoki2.si.gunma-u.ac.jp/Hanasi/excel/index.html

>これから,Rの方を勉強をしてみます。
がんばって下さいね。

     [このページのトップへ]


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