ここから本文です

この知恵ノートを「知恵コレクション」に追加しました。

追加した知恵ノートはMy知恵袋の「知恵コレクション」ページで確認できます。

知恵コレクション」に登録済みです。

再登録しました。

追加に失敗しました。

ノートに戻り、もう一度やり直してください。

すでに1,000件のノートが登録されています。

新しく追加したい場合は、My知恵袋の「知恵コレクション」ページで登録されているノートを削除してください。

追加できませんでした。

ノートは削除されました。

比率の差Z検定の注意点:統計検定2級の内容

ライターさん(最終更新日時:2017/7/10)投稿日:

  • ナイス!:

    0

  • 閲覧数:33

印刷用のページを表示する

 prop_test.gif
執筆責任:井口豊(長野県岡谷市・生物科学研究所

いわゆる母比率の差の検定(独立2群の比率の差の検定)として,Z 検定を行う場合,基本となる検定統計量は以下の式である。
 unpooled-z-test.gif
ここで,n1, n2 は2群それぞれの標本サイズ,p1, p2 は,それぞれの標本比率である。このZが標準正規分布にしたがうことを利用して検定する。

それぞれの標本で観察された属性の個数を x1, x2 とすれば,p1, p2 は,以下のように書ける。
proportions.gif
しかしながら,このとき,帰無仮説が「2群の母比率に差がない」という場合は,分母には,p1, p2 を別々に使わず,以下のような標本比率をプールした統合比率(pooled proportion) p を用いる。 
pooled-proportion.gif
ここで,x1, x2 は,それぞれの標本で観察された属性である。したがって,Z検定は以下のようになる。
 pooled-z-test.gif
なぜ,統合(プールすること,pooling)が必要なのか,日本語の教科書やウェブページでは,ほとんど解説していない。詳しく解説した海外のサイトは,例えば,Saint Mary's College の Charles Peltier による

そのページ真ん中付近に,統合する理由が明確に述べられている。

We have done this not because it is more convenient....... nor because it reduces the measurement of variability.....
but because it gives us the best estimate of the variability of the difference under our null hypothesis that the two sample proportions came from populations with the same proportion. 

分散を統合するのは,簡便な方法とするためではなく,バラツキを小さくするためでもなく,母比率(population proportion)が等しいという帰無仮説の検定では,それが比率の差の分散として最良な推定量となること書かれている。

これは,統合比率を使った Z 検定が,カイ二乗検定と同等なものであることからも推察される。同じデータに対して,どちらの検定で計算しても,同じ有意確率が算出される。

母比率の差の検定は,統計検定2級の出題範囲であり,大学1,2年レベルの問題なのだが,なぜ統合比率が必要かを理解していない人も多いようだ。知恵袋の質問「統計学の問題です」でも,ベストアンサーは統合比率を使っておらず,質問者もその問題点を理解しないままBAに指定している。この質問では,むしろカイ二乗検定を示したBA以外の回答のほうが適切である。

統計検定2級の内容で,2つの母数の仮説検定を解説したサイトでは,きちんと統合比率を用いたZ検定を紹介している。

言葉でゴチャゴチャ説明するより,Rでシミュレーションして確認してみよう。統計検定2級以上を目指す人は,そのくらい出来て当然である。

ここでは,母比率を 0.2 と設定して,2群の標本サイズを以下のように変化させる。
n1: 5, 10, 20, 30, 40, 50
n2: 10, 20, 30, 40, 50, 60

統合Z検定と非統合Z検定を行う。帰無仮説を適切に棄却できるならば,有意確率は 0.05 になる。

# R スクリプト
p<- 0.2 # 母比率

# シミュレーション比の差
dat<- c(0, 1) # 属性の有無 二値データ

k<- 100000 # 抽出反復数  
pz1<- as.numeric(NULL)
pz2<- as.numeric(NULL)

# 標本サイズ
n1<- c(5, 10, 20, 30, 40, 50)
n2<- c(10, 20, 30, 40, 50, 60)
N<- n1+n2

for (i in 1: 6) {

pr<- replicate(k, {

# グループ1の標本
s1<- sample(dat, n1[i],
 replace=T, prob=c(p, 1-p))
a1<- length(s1[s1==0]) # 属性有り個数 
p1<- a1/n1[i] # グループ1標本比率

# グループ2の標本
s2<- sample(dat, n2[i],
 replace=T, prob=c(p, 1-p))
a2<- length(s2[s2==0]) # 属性有り個数
p2<- a2/n2[i] # グループ2標本比率

d<- abs(p1-p2) # 比率の差

# 2群の属性,統合比率
pp<- (a1+a2)/(n1[i]+n2[i])

# 統合 Z 検定
z1<- d/sqrt(pp*(1-pp)*(1/n1[i]+1/n2[i]))

# 非統合 Z 検定
z2<- d/sqrt(p1*(1-p1)/n1[i] + p2*(1-p2)/n2[i])

# 各 P 値
c(pnorm(z1, lower=F)*2,
 pnorm(z2,lower=F)*2
)

})

# 統合 Z 検定 5%水準の棄却率
pz1[i]<- length(pr[1, ][pr[1, ]<=0.05])/k
# 非統合 Z 検定 5%水準の棄却率
pz2[i]<- length(pr[2, ][pr[2, ]<=0.05])/k

}

# グラフ
par(mar = c(5, 5, 4, 8),
    ps = 18)

ttl<- "プール,非プール比の差 Z 検定"

# プールZ検定 棄却率変動
plot(N, pz1, main=ttl, type = "b",
   xlim=c(10, 120), ylim=c(0, 0.2),
   col="blue", pch=1,
   xlab="全体の標本サイズ(n1+n2)",
   ylab="5%水準の棄却率")

# 非プールZ検定 棄却率変動
lines(N, pz2, type = "b", col="red", pch=4)

abline(h = 0.05) # 5%有意水準のライン

legend("topright",
    c("Unpooled Z test", "Pooled Z test"),
    col=c("red", "blue"), pch=c(4, 1),
    lw=2, bty="n")

# シミュレーション終了

結果を見ると,2点に気づく。

pool-z-test-simulation.gif
まず,第一に,Z検定は正規近似を行っているため,標本サイズが小さいと適切な結果が得られない,ということである。第二に,やはり統合Z検定のほうが適切なp値が得られる,ということである。

大学などの授業でも,なぜ統合比率が必要かを,きちんと説明すべきであろう。


このノートに関するQ&A

このノートに関するQ&Aは、まだありません。

このノートについて質問する

このノートについてライターの方に質問できます。

※ライターの方から必ず回答をいただけるとは限りません

※別ウィンドウで開きます

この知恵ノートのライター

グレード

グレード知恵ノートのグレード:2-3

iguchi_yuさん男性

ピックアップ

耳鼻科の先生に聞いた、しゃっ...
  皆さん、しゃっくりってわずらわしいですよね  ある時急に...
厄年について——意外と知られて...
厄年とは何か厄年とは文字どおり災厄に遭いやすいといわれる...
結婚してから発覚しました!
                                                         ...
本文はここまでです このページの先頭へ