注目の投稿

エクセルでダネット(Dunnett)の検定をやる方法

簡単過ぎる? いえ,ダネット検定はこれでいいんです


「全部の群で相互に多重比較すると有意差が出ないんだったら,ダネットの検定(Dunnett's test)をやってみろ」
と言われた人もいるかと思います.

ダネットの検定というのは,以下のような検定方法です.


つまり,Aを対照群として,他の処理群(B群,C群,D群,E群)とで比較するという多重比較です.
ですから,BとCとか,DとEといった組み合わせの比較はしないことを前提としている統計処理になり,有意差が検出しやすい特徴を持っています.

SPSSといった統計処理ソフトでは標準装備されていますので,そうしたソフトを持っている人にとっては馴染みのある検定方法ですが,ソフトを持っていない人にとっては「どうすればいいんだ」と悩むところでもあります.

しかも,卒論・修論,なんかの調査報告といった,我が人生で1度か2度しかない統計処理の機会に,わざわざSPSSとかRといったものを勉強するのも面倒くさい,という人も多いはずです.

そこで今回は,エクセルだけでダネットの検定をしたい人のために解説します.

一般的な多重比較について,これまでこのブログでは,
Excelで多重比較まとめ
ExcelでTukey法による多重比較

というものを紹介していますが,そこに「ダネットの検定」はありませんでしたので.




エクセルと「ダネットの表」で有意性を算出する


が,その前に白状しておくべきことがあります・・・.
実は,ダネットの検定のための「計算方法」というのはありません.
そして,エクセルの機能だけでは計算できません(嘘つきました,すみません).

エクセルだけではダネットの検定は簡単ではないので,
「ダネットの表」
を使って有意性を判断します.


以下の記事を読んでも不安がある場合や,元の作業ファイルで確認したい場合は,
このリンク先→「統計記事のエクセルのファイル」から,
「ダネットの検定」
および
「ダネットの表」
のエクセルファイルをダウンロードしてご確認ください.



まずは例データです.
以下のようなデータがあったとします.


ダネット検定に必要な下ごしらえをしています.
細かい点は「統計記事のエクセルのファイル」にあるエクセルファイルをご覧いただければと思います.

「各群のN数」
「平均値」
「分散」
を算出しています.

分散の算出方法をご存知ない方のために,念のためお示ししておきます.
以下のように,「VAR」関数を用いることで算出できます.


各群のN数は,単純に数えるだけです.
A群は10個あるので10,B群は8個あるので8です.

平均値は,「AVERAGE」関数で計算できます.


これから先,ちょっとややこしい計算が続きますが,頑張って入力してください.



【手順1】誤差自由度


まず,「誤差自由度」を算出します.
C列21行目のところに,誤差自由度を入力しました.

算出式は以下の通り.

=B12+C12+D12+E12-(COUNTA(B12:E12))

ようするに,
全ての「N数」を合計し,「群数」を引くのです.

=全データN数 − 群数

ということです.

=10 + 8 + 9 + 10 − 4

でも計算できます.


なお,算出される値は「33」です


【手順2】誤差分散


次に,「誤差分散」を算出します.
C列22行目のところに入力しました.

計算式は以下の通り.

=((B12-1)*B14+(C12-1)*C14+(D12-1)*D14+(E12-1)*E14)/C21


各群で,「N数をマイナス1して分散をかける」を繰り返し,それらを合計して「誤差自由度」で割るのです.

これにより,「1.7538・・・」という値が算出されます.


【手順3】統計量


次は,ダネット検定のための「統計量」の算出です.
C列15行目に,「A群とB群の比較」のための統計量を算出しています.



以下のように式を入力しました.

=($B$13-C13)/SQRT($C$22*(1/$B$12+1/C12))

実際のところ「$」マークは不要なのですが,これを使っておけば,以下のようにして「オートフィル機能」を使ってパパっと算出できます.

いらない人は,1個ずつ入力しましょう.

そんなわけで,A群と比較した場合の各群の統計量,

B群は「-1.55」
C群は「-4.27」
D群は「-5.74」

が算出されました.


【手順4】ダネットの表を補正するための相関係数P


ダネット検定の算出方法がネット上で紹介されていない理由は,きっとこの「ダネットの表」を補正しなければいけないからです.
だったら「R」とか「SPSS」の解説をしておけばいい,というところでしょうか.

ダネットの表を補正するための準備を先にしておきましょう.
相関係数Pを算出します.

まず,A群とB群を比較するための相関係数Pです.
計算式は以下の通り.

=C12/(C12+$B$12)

めっちゃ簡単です.

=8÷(8+10)

を計算しています.
答えは「0.444・・・」です.

これもオートフィルを使えるように$マークを入れ,オートフィルすると以下のようになります.



【手順5】ダネットの表を手元に用意


次に,エクセルでは算出が面倒なので「ダネットの表」を用意してください.
今回利用するのは「相関係数P=0.5と,P=0.3」のものです.

エクセルデータは,「統計記事のエクセルのファイル」からダウンロードしてください.

以下に画像も用意しておきました.クリックして使ってください.

ダネットの表【画像】
 


相関係数Pの値が,「0.3」や「0.5」でぴったりなデータであればいいのですが,各群のN数が異なるとそうはいきません.
補正する必要があります.

※逆に言えば,全ての群のN数が一緒であれば,相関係数Pは「0.5」になります.
素直に「0.5」の表を使えばOKです.
全ての群のN数が一緒の場合は,以下の作業は飛ばしてもOKです.


【手順6】表の補正


この補正作業をする上で,大切なことなので先に解説しておきます.
【ダネットの表を確認しながらお願いします】

ダネット検定では,ダネットの表を用いて「群の数」と「誤差自由度」から,5%有意水準の統計量を判断します.
ところが,ダネットの表は相関係数Pに影響されます.
よくある他の検定のように,どれか1枚の表を使って「群の数」と「自由度」から判断することができないのです.

そこで,補正作業が必要になります.

ダネットの表の補正は,予め用意されている相関係数Pが「0.1」「0.3」「0.5」「0.7」「0.9」以外の場合に行なう必要があります.

今回のデータ例では,B群の0.444,C群の0.474がそれに該当します.
(D群は0.500なので,「P=0.5」の表をそのまま使えばOKです)


その補正は,「補正したい相関係数Pを,用意されている相関係数Pで挟む」ようにして行ないます.
今回のデータ例では,いずれも「0.4XX」ですので,「0.5」と「0.3」の表を使うのです.
もし仮に,算出された相関係数Pが「0.253」などであれば,「0.3」と「0.1」の表を使います.


今回のデータ例は,

群の数=4
誤差自由度=33

ですので,それぞれのダネットの表の,「群の数:4」と,「自由度:33」のところを見ます.

相関係数P=0.5の場合は,


「2.462」
であることが分かります.


相関係数P=0.3の場合は,



「2.494」
であることがわかりました.


この数値を使って補正作業を行ないます.
具体的な補正作業は,以下のようにします.


まず,B群の相関係数補正から始めましょう.
C列17行目に表の補正作業その1を入れています.



以下の計算式です.

=ABS(((1/(1-0.5)-1/(1-C16))/(1/(1-0.5)-1/(1-0.3)))*2.462)

最初に入れている関数「ABS」は,数値を絶対値にする関数です.
このあとに,数値を合計する作業をする上で必要なので入れています.
あんまり気にしないでください.


重要なのは,途中の「0.5」とか「0.3」といった値と,最後の,「2.462」というところです.
表の補正1では,「相関係数P=0.5」の値を使っています.

これをC群にも採用します.
(D群は0.5なので不要です)

それぞれ,B群は「0.8617・・・」,C群は「0.4309・・・」と算出されました.


続けて表の補正2(0.3の表)です.

計算式は以下の通りです.

=ABS(((1/(1-0.3)-1/(1-C16))/(1/(1-0.5)-1/(1-0.3)))*2.494)

こちらは,相関係数P=0.3の表の,
群数:4
自由度:33
のところから,「2.494」を参照しています.

これにより,B群は「1.6211・・・」,C群は「2.0576・・・」と算出されました.
以下のようになっています.


最後に,これら「表の補正1・2」を足し合わせます.



このように,「D値」が算出できました.
なお,D群は0.5の表にある「2.462」をそのまま採用しています.




【手順7】有意水準の判別


さて,最後に有意水準の判別です.
ここは簡単.

15行目に算出した「統計量」と,さきほど19行目に算出した「D値」を照らし合わせます.
統計量を絶対値とし,その統計量がD値よりも大きければ,「5%水準で有意」と判断します.

今回のデータ例では,

A群とB群:有意差なし(D値2.4828よりも,統計量1.55が小さい)
A群とC群:有意差あり(D値2.4884よりも,統計量4.27が大きい)
A群とD群:有意差あり(D値2.462よりも,統計量6.74が大きい)

ということです.


この方法では,統計解析ソフトのように「有意確率(p値)」を算出することはできませんが,それは重要なことではありません.
有意水準(5%)が確認されているかどうかが大事です.


ダネットの検定が不要な場合もあります


こちらの記事で解説しています.
統計処理手法の選び方(3)多重比較が不要な多重比較?






Amazon広告


大学教員になる方法も紹介しています

大学教員になる方法
大学教員になる方法「強化版」
大学教員になる準備



関連記事
卒論・ゼミ論で統計学的有意差が出ない時に読むブログ記事
Excelで多重比較まとめ
ExcelでTukey法による多重比較
ノンパラメトリック版Tukey法による多重比較「Steel-Dwass法」
エクセルExcelでの簡単統計(対応のあるt検定と多重比較)

ちょっとした統計処理上のエクセル小技はこちら
エクセルで相関係数のp値を出す
エクセルだけで統計処理する卒論・ゼミ論用アンケート調査のオススメ方法 part1
点数・得点を段階評価するためのエクセルシートの作成

その他,こういう怪しいブログ記事よりも,ちゃんと勉強になる書籍もご紹介しておきます.
詳しくは,
独学で統計処理作業をスキルアップさせるための本
を御覧ください.

外部サイトにも有益なリストがあります.こちらも参考にしてください.
大学生が自力で「統計学」の勉強をするための良書10選
1ヶ月で統計学入門したので「良かった本」と「学んだこと」のまとめ




コメント