理学療法士がまとめたノート

統計学備忘録 since2016

Rを使って統計学を勉強するブログです

符号検定

符号検定 ( sign test ) 一標本問題
n個のうちx個以下の符号が他の符号と異なる確率を求める検定です.正と負が同じ確率で出るときに、正(または負)の値の数がxとなる確率が B ( n , 0.5 ) の2項分布に従うことを利用します.

y<- c (1.5, 1.1, 1.2, -1.2, 2.3)

yの中に含まれる負の値をもつ数は1個です.少なくとも4個は正になる確率を求めます. 5個中1個負になるか、または5個中全てが正になる確率 です.また例題では一つが負なのですが、一つが正になる場合も同じ確率になりるので両側確率を求めることになります.以下のグラフを見てみましょう.

x <- 0 : 5                               #x軸は成功回数
y <- dbinom ( x, 5, 0.5 )     #y軸は確率密度
plot ( x, y, type = "h", col = c(2, 2, 1, 1, 2, 2), lwd = 3 )
求める確率は以下の赤部分の合計

f:id:yoshida931:20170711111556p:plain

 

5個が全て正になる場合は  5C0 = choose( 5 , 0 ) = 1
5個が全て正になる確率は ( 1/2 )^5 = 1/32
5個中1個が負になる場合は  5C1 = choose( 5, 1 ) = 5 通り
5個中1個が負になる確率は ( 1/32 ) *5 = 5/32
5個中2個が負になる場合は  5C2 = choose( 5, 2 ) = 10 通り
5個中2個が負になる確率は ( 1/32 ) *10 = 10/32

上記のように考えてp値を算出します.
yは5個中1個が負の数になっています.したがって5個のうち1個以下の符号が他と異なる確率を求めることになります.つまり少なくとも4個が同じ符号である確率を求めます.

1個が正になる確率+全てが負になる確率= 5/32 + 1/32
1個が負になる確率+全てが正になる確率= 5/32 + 1/32
p値 =  ( 5/32 + 1/32 ) * 2 =  0.375

Rの関数で確かめます

2*pbinom ( 1, 5, 0.5 )
=0.375

上式は以下のようになります

5個が全て正になる確率
= choose ( 5,0 ) * ( 0.5^0 ) * ( 0.5^5 )  #成功回数0回
= dbinom ( 0, 5, 0.5 )
= 0.03125

5個中1個が負になる確率
= choose ( 5,1 ) * ( 0.5^1 ) * ( 0.5^4 )  #成功回数1回
= dbinom ( 1 , 5 , 0.5 )
= 0.15625

両側確率なので×2
{ dbinom ( 0 , 5 , 0.5 ) +  dbinom  ( 1 , 5 , 0.5 )  } *2 
= 0.375

 

nが大きい場合
E[x] = np  ,  V[x] = np ( 1 – p ) より 
p = 1/2 を代入して正規近似にて検定を行います.