=== 読者が配色を変更したい場合 ===
◎外側の色を変えるには,次の色をクリック
《体験・入門レベル》
== 比率の検定 == R version 4.0.3, 4.0.4Patched ----- この教材の最終更新年月日:2021.5.02
この教材は,体験・入門のレベルで,30分から1時間ほどで「そこそこ分かる」ことを目指す.
名義尺度データの比率の検定
【目次】
1. 対応なしの場合 1.1 カイ2乗検定(独立性の検定) 1.2 カイ2乗検定(適合性の検定) 1.3 フィッシャーの正確確率検定 2. 対応ありの場合 2.1 マクネマー検定 2.2 二項検定 1. 対応なしの場合
1.1 カイ2乗検定(独立性の検定)
カイ2乗検定の解説は,このページにあります.
【例題1.1.1】
この農産物の作柄は生産者に対して独立であるかどうかカイ2乗検定によって調べてください. |
(解答) ○ Rを使って解くには,次のようにすればよい. (1) 係数行列を入力する. mx<-matrix(c(7,10,8,6),2,2,byrow=T)(2) カイ2乗検定の関数chisq.test()を呼び出す.なお,「連続性の補正をしない」correct=FALSEまたはcorrect=Fを引数に指定する. chisq.test(mx, correct=F)(結果) カイ2乗値=0.78368, 自由度=1, p値=0.376(>0.05) よって,独立という仮説は棄却されない. --------------- chisq.test()関数を呼び出すときに,correct=を指定しない場合は,デフォルトで「連続性の補正(イェーツの補正)を行う」が選ばれる. chisq.test(mx)カイ2乗値=0.27475, 自由度=1, p値=0.6002(>0.05) よって,独立という仮説は棄却されない. ○ Excelのワークシート関数を使って解くには,次のようにすればよい. (1) 観測度数の表と期待度数の表を準備する.
例えば,生産者Aの作柄B7には,=B$9*$D7/$D$9などど記入し,この式を残り3つのセルにコピー・ペーストする.(期待度数は小数のままでよい) (2) =CHITEST(観測度数の範囲,期待度数の範囲)と記入する. 例えばE5のセルに,=CHITEST(B2:C3,B7:C8)と記入すると,0.376...(>0.05)になる. よって,独立という仮説は棄却されない. なお,このp値は, で求めたχ2値=0.783...を,=CHIDIST(χ2値,自由度)→0.376...によって「片側確率」に直したものとなっており,生産者Bの不良品がこれ以上少ない確率(生産者Aの不良品がこれ以上多い確率)を求めたものとなっている. なお,自由度1のときのカイ2乗5%限界値を=CHIINV(0.05,1)→χ02=3.841...で求めてから, χ2=0.783...<χ02=3.841... であるから,独立という仮説は棄却されないと述べてもよい.
【ここで使った値】
カイ2乗値=0.783<カイ2乗5%限界値=3.841 p値=0.376>0.05 |
【備考】
• 2×2表の場合に,Rでchisq.test()を呼び出した場合,デフォルトで「連続性の補正(イェーツの補正)を行う」が選ばれる.これは,セルの値に,例えば4というような小さな整数が含まれる場合にだけ行われるのではなく,すべてのセルの値が100以上であっても,デフォルトで連続性の補正が行われる設定になっている. • 2×2表の場合に,Rでchisq.test()を呼び出した場合,「連続性の補正(イェーツの補正)を行わない」方を選ぶには,correct=Fを指定する. • ExcelでCHITEST()を呼び出し場合,連続性の補正を行わない,片側検定になる.
※連続性の補正(イェーツの補正)を行う方がよいのか,行わない方がよいのか,一概には言えない.
連続性の補正を行うとχ2の値は小さくなり「早とちりで有意差があると判断してしまう可能性は減るが」「有意差があっても検出できないことが起こる」と言われている. |
【例題1.1.2】
(解答)
○ Rを使って解くには,次のようにすればよい. (1) 係数行列を入力する. mx<-matrix(c(15,10,10,10,20,25),2,3,byrow=T)(2) カイ2乗検定の関数chisq.test()を呼び出す.なお,2×2表ではないから,連続性の補正を行う引数correctはデフォルトで行われない(FALSE)ことになっているので,省略してよい. chisq.test(mx)(結果) カイ2乗値=6.6456, 自由度=2, p値=0.03605(<0.05) よって,独立という仮説は棄却される.2種類の分類変数は独立ではない. ○ Excelのワークシート関数を使って解くには,前述の例題1と同様に進めるとよい. 次の結果が得られる. カイ2乗値=6.646>カイ2乗5%限界値=5.991 p値=0.036<0.05 よって,独立という仮説は棄却される.2種類の分類変数は独立ではない. |
1.3 フィッシャーの正確確率検定
独立性の検定,適合性の検定に使われるカイ2乗検定では,どのセルの期待度数も5以上であれば,近似は十分であると言われているが,もっと小さな値のセルが登場する場合には,フィッシャーの正確確率検定を用いる.
【例題1.3.1】
(解答)
この学級の芸術選択科目は男女間で有意な差があると言えるか. 観測度数が小さいセルがあるので,カイ2乗検定に依らず,フィッシャーの正確確率検定によって調べる. Rで計算する場合 関数fisher.test()を次の形で使うと,フィッシャーの正確確率検定を行うことができる.alternativeを省略すると両側検定になる. 片側検定を行うには,alternative="greater"(または="g")により連関係数の大きい方(Dの大きい方),alternative="less"(または=
fisher.test(観測度数の行列, alternative)
• Rのコンソール画面で,次のように入力して行列を作る
mx<-matrix(c(7,3,4,6),2,2,byrow=T)• 次にフィッシャー検定の関数にその行列を渡す. fisher.test(mx)⇒ 既定値で両側検定の結果が得られる. p-value = 0.3698(>.05)だから有意差なし 次の入力は,男子の音楽が女子よりも多い方に偏っている(女子の美術が男子よりも多い方に偏っている)片側検定になる. fisher.test(mx,alternative="g")⇒ p-value = 0.1849(>.05)だから有意差なし Excelのワークシート関数で行うには,片側検定なら次のア〜エを,両側検定なら、さらにオ〜クの表となる組合せを数える.
|
ア:11C10×9C0=11×1=11 イ:11C9×9C1=55×9=495 ウ:11C8×9C2=165×36=5,940 エ:11C7×9C3=330×84=27,720 小計:34,166 オ:11C4×9C6=330×84=27,720 カ:11C3×9C7=165×36=5,940 キ:11C2×9C8=55×9=495 ク:11C1×9C9=11×1=11 小計:34,166 20人から男子10人をとる組合せ:20C10=184,756 片側確率:34,166÷184,756=0.1849... 両側確率:68,332÷184,756=0.3698...
【例題1.3.2】
(解答)
新薬は旧薬よりも効果があるかどうか検定してください. • Rのコンソール画面で,次のように入力して行列を作る mx<-matrix(c(5,9,10,3),2,2,byrow=T)• 次にフィッシャー検定の関数にその行列を渡す.新薬が効果がある方は元の行列とそれより連関が小さい方(D≦15−90=−75) fisher.test(mx,alternative="l")⇒ 片側検定の結果が得られる. p-value = 0.03771(<.05)だから有意差あり 新薬は旧薬よりも効果があると言える. Excelのワークシート関数で行うには,片側検定なら次のア〜エの表となる組合せを数える.
ア:15C10×12C3=3,003×220=6,606,601 イ:15C11×12C2=1,365×66=90,090 ウ:15C12×12C1=455×12=5,460 エ:15C13×12C0=105×1=105 小計:756,315 27人から13人をとる組合せ:27C13=20,058,300 片側確率:756,315÷20,058,300=0.0377...(<.05)だから有意差あり 新薬は旧薬よりも効果があると言える. |
2. 対応ありの場合
2つの対応のある標本の比率の差の検定(値の変化の比較)
このように,「ある発表」の前後という異なる条件下で、@同じ参加者(統計的には標本)に対して,A同じ分類項目の質問をしたときの結果が得られたとき,B母比率に変化があると見なせるかどうかを検定するときに「マクネマー検定」が用いられる. 標本の総数(表7の例では,N=100)が小さいとき(N≦25)は「二項検定」を用いる.
(閑談)
マクマネーではない(#怒#).アイルランド系の人名で「息子」という意味のMacという接頭語のつく姓にはマクドナルド(MacDonald, McDonald),マッキントッシュ(Macintosh, McIntosh)など多数ある.マクネマー(McNemar)という名前もそういう雰囲気であるが,Rの検定で使う関数名は,すべて小文字で mcnemar.test()と書く. |
2.1 マクネマー検定
表7のデータに対して,カイ2乗検定では行の全体・列の全体を見て,独立かどうかを判断するのに対して,マクネマー検定では「変化のないセルには注目しない」「変化のあるセルだけを見る」.表7で前:「支持する」→後:「支持する」,前:「支持しない」→後:「支持しない」の参加者は態度に変化が見られない. これに対して,前:「支持しない」→後:「支持する」,前:「支持する」→後:「支持しない」と変化している部分が,偶然的な凸凹の範囲と見なせるか,有意な変化と見なせるかを判断する.
表8のうちで,支持(○)不支持(×)が変化したセルB,Cだけに注目し,A:○→○,D:×→×を見ないことにすると,表9の上の行ができる. 合計B+Cの観測度数に対して,「○×の増減が何もない」とすると,期待度数の行の値になるはずであるが,観測度数のような分布になるのは,めったにない有意なことなのか,偶然の凸凹で起こりうることなのかを調べる. (観測度数−期待度数)2/期待度数 を足して,カイ2乗の値を求める.通常Qで表す. このQの値を自由度1のカイ2乗検定で調べる. 上の例では, であるから,支持者が有意に増えたと言える. |
【Excelで調べる場合】
• Rを使ってマクネマー検定を行うには,以上の前処理は不要で,単純に行列を入力すればよい.次の@ABのどれで行っても同じ結果が得られる. @ =CHIDIST(4.412, 1)→0.0357 (<0.05) だから変化はないという仮説は棄却される. A =CHIINV(0.05, 1)→3.841 (<4.412) だから変化はないという仮説は棄却される.
だから変化はないという仮説は棄却される. • Rのコンソール画面で,次のように入力して行列を作る mx<-matrix(c(24,18,33,25),2,2,byrow=T)• 次にマクネマー関数にその行列を渡す.ただし,デフォルトで連続性の補正(イェーツの補正)が行われるので,この補正を行わない場合は,correct=FALSE (もしくは =F)を指定する. mcnemar.test(mx, correct=F)⇒ p値=0.03569(<.05)となって有意差あり |
セルの値が小さいとき,連続性の補正(イェーツの補正)がしばしば行われる.この場合は,上記のQの値の代わりに,次の式が使われる. 連続性の補正を行う場合の結果は次のようになる. • Rで行う場合 mcnemar.test(mx)Q=3.8431, df = 1, p=0.04995(<.05)となって有意差あり • Excelで行う場合 次の@Aのどれで行っても同じ結果が得られる. @ =CHIDIST(3.843, 1)→0.04994 (<0.05) だから変化はないという仮説は棄却される. A =CHIINV(0.05, 1)→3.841 (<3.843) だから変化はないという仮説は棄却される. ※変化しないセルの値が大きい場合に,マクネマー検定の結果を鵜呑みにして,機械的に判断するのは危ない場合がある. 例えば,次の表のように支持→支持,支持しない→支持しないという形で,態度の変化がほどんどない場合でも,マクネマー検定では,変化した部分の増減だけを見ているので,有意差が認められる.
|
【例題2.1.1】
(解答)
このチラシの効果を述べてください. • Rを用いてマクネマー検定を行う場合 • Rのコンソール画面で,次のように入力して行列を作る mx<-matrix(c(48,5,18,35),2,2,byrow=T)• 次にマクネマー関数にその行列を渡す.ただし,デフォルトで連続性の補正(イェーツの補正)が行われるので,この補正を行わない場合は,correct=FALSE (もしくは =F)を指定する. mcnemar.test(mx, correct=F)⇒ p値=0.006714(<.05)となって有意差あり |
連続性の補正を行う場合はmcnemar.test(mx)⇒ p値= 0.01234(<.05)となって有意差あり チラシの効果が認められる • Excelで行う場合 変化した部分のカイ2乗値を求める. 次の@ABのいずれでもよい.(ただし,連続性の補正を行わない場合となっている) @ =CHIDIST(7.348, 1)→0.0067 (<0.05)だから,有意差あり A =CHIINV(0.05, 1)→3.841 (< 7+348)だから,有意差あり B 変化を調べるセルの観測度数18, 5に対して期待度数23/2, 23/2のセルを作っておき,=CHITEST(観測度数の範囲, 期待度数の範囲)とすると,0.0067 (<0.05)だから,有意差あり |
2.2 二項検定
マクネマー検定において,標本総数がN≦25となる場合は,カイ2乗を使った計算の近似が不正確となるので,二項分布を用いた直接計算(二項検定)を行う.
【二項分布とは】
【例1】1回の試行である事柄が起こる確率がpのとき,この試行をn回行ったときに,その事柄がk回起こる確率は となる.このような確率分布を二項分布という. 例えば,1枚の10円硬貨を投げたとき,表(平等院鳳凰堂のある方)が出る確率はp=(1/2),裏が出る確率もq=1−p=(1/2)だから,10円硬貨を6回投げたときに,表が出る回数とその確率は次のようになる. • 表が0回: • 表が1回: • 表が2回: • 表が3回: • 表が4回: • 表が5回: • 表が6回: どの確率にもが掛けられているが,係数だけ書くと次の表になる.
例えば,k=2(10円硬貨を6回投げて,ちょうど2回表が出る)となる確率は,
k≦2(10円硬貨を6回投げて,表が2回以下)となる確率は, 次のグラフで桃色の部分の面積は,約34% ○ サイコロを6回投げて,表の出る回数が2回以下となるのは,珍しいことではない.(0.3437 > 0.05) |
【例2】 例えば,1枚の10円硬貨を投げたとき,表(平等院鳳凰堂のある方)が出る確率はp=(1/2),裏が出る確率もq=1−p=(1/2)だから,10円硬貨を12回投げたときに,表が出る回数とその確率は次のようになる. • 表が0回: • 表が1回: • 表が2回: ・・・ • 表が12回: どの確率にもが掛けられているが,係数だけ書くと次の表になる.
例えば,k=2(10円硬貨を12回投げて,ちょうど2回表が出る)となる確率は,
k≦2(10円硬貨を12回投げて,表が2回以下)となる確率は, 次のグラフで桃色の部分の面積は,約1.9% ○ サイコロを12回投げて,表の出る回数が2回以下となるのは,めったに起こらない.(0.019 < 0.05) |
【例題2.2.1】
(解答)
この番組で主演タレントの印象がよくなったかどうか述べてください. • 標本が小さい(N≦25)ので,二項検定によって調べる. • Rを用いて,二項検定を行う場合,binom.test()関数に,次の引数を指定する.
binom.test(x, n, p, alternative)
• 第1引数x・・・n回の試行のうちで,ある事柄がx回起こるという場合の起こる回数がxで,試行回数がnだから,9回の試行のうち,ある事柄が2回起こる二項検定を行うには,binom.test(2, 9, ...)とする. • 1回の試行である事柄が起こる確率がp.p=の形の指定が省略されたときは,p=0.5と見なされる. • alteranative=により両側検定,片側検定を区別する.alternative=が省略されたとき,またはalternative="two.sided"(="t"でも可)で両側検定になる. 「x以下」となる片側確率を求めるには,alternative="less"(=" この問題では,変化のあった2つのセルについて,観測度数の1×2表を作る.
binom.test(2,9,alternative="l")次の結果が得られる. p-value = 0.08984(>0.05)により,有意差は見られない. 印象が悪くなった場合も含めて,印象のよし悪しが変わった確率を求める場合は両側検定とする.この場合は,次のように入力すればよい. binom.test(2,9)結果は,p-value = 0.1797となるが,元の問題文から言えば片側検定で十分だと考えられる. • Excelを用いて二項検定を行う場合
=BINOMDIST(x, n, p,TRUEまたはFALSE)
ここで,x, n, pはRと同じ.第4引数はTRUEまたは1により累積確率(その値以下),FALSEまたは0によりその値となる確率が得られる.この問題では,=BINOMDIST(2, 9, 0.5, 1)により,上記と同じ片側検定が行われる.(Excelで両側検定にするには,左右対称である場合は片側確率を2倍すればよい) |
【例題2.2.2】
(解答)
この広告でその製品の購買意欲が変化したかどうか述べてください. • 標本が小さい(N≦25)ので,二項検定によって調べる. • Rで調べる場合 binom.test(2,11,alternative="l")次の結果が得られる. p-value = 0.03271(<0.05)により,有意差が見られる.(片側検定) ※両側検定では,binom.test(2,11)→ 0.06543(>0.05)となって、有意差は見られない. • Excelを用いて二項検定を行う場合 =BINOMDIST(2, 11, 0.5, 1)により,上記と同じ片側検定が行われる.(Excelで両側検定にするには,左右対称である場合は片側確率を2倍すればよい) |