No.08341 多重比較法について  【CJ】 2008/11/24(Mon) 22:25

多重比較のRyan法は,新しい比較の組の平均値が過去に有意差の出なかった組の平均値にはさまれているばあい,検定を行わない,というアルゴリズムであると理解しております。
ということは,過去に有意差が出なかった組の分散が大きく,新しい組(平均値が古い組にはさまれる)の分散が小さいような場合,Tukey法では有意差が出るが,Ryan法では有意差が出ない,という現象が生じるように思えますが,この理解は正しいでしょうか?
もし,この理解が正しいなら,Rのサンプルプログラムm.multicompのTukey法は正しく機能しないのではないか,と懸念しております。
ご多忙のところ,申し訳ありませんがご指導よろしくお願いします。

No.08342 Re: 多重比較法について  【青木繁伸】 2008/11/24(Mon) 22:29

> Rのサンプルプログラムm.multicompのTukey法は正しく機能しないのではないか

というのは,「Tukey法では有意差が出るが,Ryan法では有意差が出ない,という現象が生じる」かもしれないからという理由からですか?
それとも,サンプルプログラムが間違えている(バグがある)からですか?
あるいは,同じデータで「Tukey法では有意差が出る」が「Ryan法では有意差が出ない」ということが生じるのが不合理だということですか?
また,そのようなことが生じるデータ例があるということでしょうか?

No.08349 Re: 多重比較法について  【CJ】 2008/11/24(Mon) 23:22

お返事ありがとうございます。説明が不足しておりました。申し訳ありません。
>それとも,サンプルプログラムが間違えている(バグがある)からですか?
こ のプログラムの場合,選択する方法がTukey法であれ,Ryan法であれ,新しい比較の組の平均値が過去に有意差の出なかった組の平均値にはさまれてい るばあい,検定を行っていないと理解しております。これはRyan法ではOKだが,Tukey法ではまずいのではないでしょうか?
なぜこのような質問をしたかといいますと,http://www.gen-info.osaka-u.ac.jp/testdocs/tomocom/と いうサイトでTukey法を行ったら有意差が出たのですが,先生のm.multicompでTukey法を用いたところ有意差が出なかった事例があったた めです(もちろん,先述のサイトが正しいという保障はどこにもありませんが)。先生のプログラムから「#検定しようとしている二群がそれまでに有意でない とされた二群にはさまれているか」という部分を除去したところ,先述のサイトと同様の結果が出ました。
データは
> n サンプル数
[1] 63 45 3 51 69 63 16 66
> m 平均値
[1] 15.94656 13.77027 14.35803 16.05665 12.31203 11.51341 10.54632 13.10269
> stdev 標準偏差
[1] 2.248659 2.057569 1.509117 2.896998 1.826767 1.859069 1.055401 2.091558
というものです。サンプル数の極端に少ない組が悪さをしているため,Ryanのほうが有意差の出る組が少ないのだろうと思います。

ここからは派生する別の質問です

大 抵の場合Ryan法のほうが有意差を出しやすい,といいますが,このようにnが少ないようなものが混じっている場合はTukey法を選択したほうが有意差 を出しやすいのでしょう。nの多寡を理由として論文内でRyanとTukeyを使い分けるのは「あり」なのでしょうか?

長くなってしまいましたが,よろしくお願いします。

No.08352 Re: 多重比較法について  【青木繁伸】 2008/11/24(Mon) 23:38

なるほど,
http://aoki2.si.gunma-u.ac.jp/R/tukey.html
の方を使えばいいのかな?

No.08355 Re: 多重比較法について  【CJ】 2008/11/24(Mon) 23:44

>なるほど,
http://aoki2.si.gunma-u.ac.jp/R/tukey.html
>の方を使えばいいのかな?

プログラムをざっとみている感じでは,そのようですね。

「大 抵の場合Ryan法のほうが有意差を出しやすい,といいますが,このようにnが少ないようなものが混じっている場合はTukey法を選択したほうが有意差 を出しやすいのでしょう。nの多寡を理由として論文内でRyanとTukeyを使い分けるのは「あり」なのでしょうか?」

こちらの質問については,いかがお考えでしょうか?
催促しているようで申し訳ありませんが,アドバイスを頂ければ幸いです。よろしくお願いします。

No.08369 Re: 多重比較法について  【にゃんちゅう】 2008/11/25(Tue) 13:46

多重比較をするのだから,それぞれの対の検出力が同じくらいか,十分である必要があるでしょう。n=3というのは極端すぎませんか。そこから一般化する必要はないように思えます。

No.08371 Re: 多重比較法について  【青木繁伸】 2008/11/25(Tue) 14:31

プログラムを書いたのはこのRによるものが最初ではないので,ずいぶん昔のことなので,再確認しました。
Tomas A. Ryan(1959): Multiple comparisons in pshychological research., Psychological Bulletin, Vol. 56, No 1.
の Appendix に Tukey's method for Multiple comparisons という項があり,
Note that in testing the differences by layers as descrived in the procedure above, a difference cannnot be significant unless the particular pair of means is also surrounded by another pair which have been found to differ significantly. 云々というくだりがありますので,私のm.multicompのTukey法は,Ryanのアルゴリズムに従っており,間違いではないと思います。

No.08375 Re: 多重比較法について  【aaa】 2008/11/25(Tue) 16:43

横から質問失礼いたします。
http://aoki2.si.gunma-u.ac.jp/R/tukey.html
で例として挙げられているデータに
http://aoki2.si.gunma-u.ac.jp/R/m_multi_comp.html
を使用して見たのですが,違う結果がでて困惑しております。

m.multi.comp(c(7,8,6,7,7),c(15.42857,16.62500,18.33333,20.14286,18.14286),sqrt(c(1.619078,1.982143,1.466667,1.142857,1.476190)),method="tukey")
mean[ 1]=15.42857 vs. mean[ 4]=20.14286 : diff.= 4.71429, t=7.07368 : P=0.00021
mean[ 1]=15.42857 vs. mean[ 3]=18.33333 : diff.= 2.90476, t=4.18753 : P=0.02874
mean[ 2]=16.62500 vs. mean[ 4]=20.14286 : diff.= 3.51786, t=5.45157 : P=0.00303
mean[ 1]=15.42857 vs. mean[ 5]=18.14286 : diff.= 2.71429, t=4.07273 : P=0.01935

グループ4と5が一方では有意になっており,もう一方では有意ではないと判断されたのか,上記の様に出力されません。具体的にはどちらを使用すれば宜しいでしょうか。よろしくお願いいたします。

No.08376 Re: 多重比較法について  【青木繁伸】 2008/11/25(Tue) 16:51

> http://aoki2.si.gunma-u.ac.jp/R/tukey.html
> で例として挙げられているデータに
> http://aoki2.si.gunma-u.ac.jp/R/m_multi_comp.html
> を使用して見たのですが,違う結果がでて困惑しております。

上に説明したように,Ryan が定義した Tukey 法の実施手順と,単純に2群の組合せごとに多重比較することによる違いでしょうね。

No.08377 Re: 多重比較法について  【aaa】 2008/11/25(Tue) 17:12

m.multi.comp(c(1000,1000,1000),c(5,6,7),c(0.0001,0.0001,50),method="tukey")
[1] "Not significant at all."

m.multi.comp(c(1000,1000,1000),c(5,6,7),c(0.0001,0.0001,1),method="tukey")
mean[ 1]=5.00000 vs. mean[ 3]=7.00000 : diff.= 2.00000, t=77.45967 : P=0.00000
mean[ 1]=5.00000 vs. mean[ 2]=6.00000 : diff.= 1.00000, t=38.72983 : P=0.00000
mean[ 2]=6.00000 vs. mean[ 3]=7.00000 : diff.= 1.00000, t=38.72983 : P=0.00000

の ようにグループ3の標準偏差によってグループ1と2の対比較の結果が変化するのはどう解釈すればよいのでしょうか。平均が一番小さい群と大きい群を比較し て有意差がなくても,間に挟まれる群の分散が非常に小さく標本数が多ければ,有意差がでることもあるのでは無いかと考えているのですが。

No.08378 Re: 多重比較法について  【青木繁伸】 2008/11/25(Tue) 17:15

> 平均が一番小さい群と大きい群を比較して有意差がなくても,間に挟まれる群の分散が非常に小さく標本数が多ければ,有意差がでることもあるのでは無いかと考えているのですが。

Ryan は,あなたとは異なる考え方をしているということです。
二つの群の平均値に有意差がなければ,その中にある群の平均値については,検定自体を行わない(有意な群があろうと無かろうとしったこっちゃない)ということです。

No.08380 Re: 多重比較法について  【aaa】 2008/11/25(Tue) 18:36

たびたび申し訳ございません。
http://aoki2.si.gunma-u.ac.jp/R/tukey.html
http://aoki2.si.gunma-u.ac.jp/R/m_multi_comp.html
二つの関数が返すp値が違うのが気になっているのですが,
http://aoki2.si.gunma-u.ac.jp/R/m_multi_comp.html
の  P <- ptukey(t0, m, dfw, lower.tail=FALSE) の部分を P <- ptukey(t0*sqrt(2), k, dfw, lower.tail=FALSE) と1,2番目の引数を変更すると同じp値を返す様です。

m.multi.comp(c(7,8,6,7,7),c(15.42857,16.62500,18.33333,20.14286,18.14286),sqrt(c(1.619078,1.982143,1.466667,1.142857,1.476190)),method="tukey")
mean[ 1]=15.42857 vs. mean[ 4]=20.14286 : diff.= 4.71429, t=7.07368 : P=0.00000
mean[ 1]=15.42857 vs. mean[ 3]=18.33333 : diff.= 2.90476, t=4.18753 : P=0.00198
mean[ 2]=16.62500 vs. mean[ 4]=20.14286 : diff.= 3.51786, t=5.45157 : P=0.00006
mean[ 1]=15.42857 vs. mean[ 5]=18.14286 : diff.= 2.71429, t=4.07273 : P=0.00269
mean[ 5]=18.14286 vs. mean[ 4]=20.14286 : diff.= 2.00000, t=3.00095 : P=0.03978

Ryanの考えるTukeyの方法は計算方法も違うのでしょうか。

No.08381 Re: 多重比較法について  【青木繁伸】 2008/11/25(Tue) 20:05

おっしゃるとおり,Tukey法 での t0 は,Ryan 法の t0 の √2倍でした。
ただ,第2引数は m でも k でもありません。
も ともとは,Tukey 法はWSD (Wholly significant difference)を計算し,それよりも平均値の差が大きいとき有意差有りとするものです。WSDを計算するときのステューデント化した範囲の値の決 め方にちょっとした違いがあります。この説明は
岩原信九郎「教育と心理のための推計学」日本文化科学社(P.243−244)
にあります。
このプログラムを最初に書いたときの文書(LaTeXで書いたもの)がありましたので引用しておきます

WSD.pdf

(b) のところ。q = (qm + qk ) / 2
mに対するqでも,kに対するqでもなくその平均を使っている。

ただ,このやり方だとP値を計算することができませんから,近代的ではないですね。
ということで,紛らわしいこともあり,m.multi.comp の tukey オプションは削除した方が良さそうですね。

No.08382 Re: 多重比較法について  【aaa】 2008/11/25(Tue) 20:53

P <- (ptukey(t0*sqrt(2), k, dfw, lower.tail=FALSE) + ptukey(t0*sqrt(2), m, dfw, lower.tail=FALSE))/2
と平均をとるのはだめでしょうか。

No.08383 Re: 多重比較法について  【aaa】 2008/11/25(Tue) 21:03

失礼しました。勘違いでした。
(qtukey(p, k, dfw, lower.tail=FALSE)+qtukey(p, m, dfw, lower.tail=FALSE))/2
がt0*sqrt(2)になるpを求めればよいということでしょうか。

No.08387 Re: 多重比較法について  【aaa】 2008/11/26(Wed) 00:07

P <- uniroot(function(p)((qtukey(p, k, dfw, lower.tail=FALSE)+qtukey(p, m, dfw, lower.tail=FALSE))/2 -t0*sqrt(2)), c(0,1),tol=1e-10)$root

とすれば一応qtukey()がp=0でInfを返すため警告は出ますが,p値は一応でる様です。これでいいような気がしますがいかがでしょうか。

No.08388 Re: 多重比較法について  【CJ】 2008/11/26(Wed) 08:18

いろいろ議論が進んで,よく理解することができました。皆様ありがとうございます。
nが少なすぎる群は除去して比較の対象としない,というのが一つの案になりそうです。

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