★ Breslow-Day検定の計算式 ★

 155 Breslow-Day検定の計算式  三文治  2002/10/10 (木) 10:19
  157 Re: Breslow-Day検定の計算式  伊達  2002/10/11 (金) 10:08
   268 Re^2: Breslow-Day検定の計算式  三文治  2002/10/28 (月) 14:21
   159 Re^2: Breslow-Day検定の計算式  青木繁伸  2002/10/11 (金) 12:09
    174 Re^3: Breslow-Day検定の計算式  伊達  2002/10/15 (火) 20:03
   158 Re^3: Breslow-Day検定の計算式  青木繁伸  2002/10/11 (金) 12:07
    160 Re^4: Breslow-Day検定の計算式  青木繁伸  2002/10/11 (金) 22:03


155. Breslow-Day検定の計算式  三文治  2002/10/10 (木) 10:19
久々に投稿します。
Breslow-Day検定という言葉がものの書にでてくるのですが,その考え方,計算式などがみつかりません。以前お尋ねしたManntel-Haenszel検定に関係あるようですが・・・。
簡単な式ならこの欄で,複雑なものなら参考文献を教えていただきたくお願いします。

     [このページのトップへ]


157. Re: Breslow-Day検定の計算式  伊達  2002/10/11 (金) 10:08
原典にあたるなら
Breslow NE and Day NE (1980) Statistical Methods in Cancer Research: Volume 1-The Ananlysis of Case-Control Studies, IARC Scientific Pub.
142ページから。

\28,000(税別)しますが
宮原英夫, 丹後俊郎 編 (1995) 医学統計学ハンドブック, 朝倉書店.
184〜5ページに手順1〜5で示されています。

なお,SPSSにはその検定があります。
http://www.spss.com/tech/stat/algorithms/11.0/crosstabs.pdf
21ページあたりから説明が始まり,Breslow-Dayは24ページ。

     [このページのトップへ]


268. Re^2: Breslow-Day検定の計算式  三文治  2002/10/28 (月) 14:21
> なお,SPSSにはその検定があります。
> http://www.spss.com/tech/stat/algorithms/11.0/crosstabs.pdf
> 21ページあたりから説明が始まり,Breslow-Dayは24ページ。

お礼が遅くなってすみませんでした。
上記文献読めぬながら眺めてみます。ありがとうございました。

     [このページのトップへ]


159. Re^2: Breslow-Day検定の計算式  青木繁伸  2002/10/11 (金) 12:09
> 宮原英夫, 丹後俊郎 編 (1995) 医学統計学ハンドブック, 朝倉書店.

私が買ったときは,25,000円でした。値上げした?(ひょえ〜〜)

> 184〜5ページに手順1〜5で示されています。

185ページだけで5箇所誤植・計算間違いがあります(ひ〜〜)
R でプログラムを書いて,計算すると
$chi.sq
[1] 8.943202

$df
[1] 7

$P.value
[1] 0.2567597

となりました。
プログラムはこの次のコメントで

     [このページのトップへ]


174. Re^3: Breslow-Day検定の計算式  伊達  2002/10/15 (火) 20:03
> 私が買ったときは,25,000円でした。値上げした?(ひょえ〜〜)

そうなんです。ご存知かもしれませんが初版の頃は22,000円で売ってました…。


> 185ページだけで5箇所誤植・計算間違いがあります(ひ〜〜)

示して下さったプログラム動かしてみました。5箇所というか6箇所というか…,
2行目の変形した式の+と-も誤植ですね。
6000円も値上がりしてるのに!

(本題に関係ないことですみませんでした…)

     [このページのトップへ]


158. Re^3: Breslow-Day検定の計算式  青木繁伸  2002/10/11 (金) 12:07
もう少しシンプルになるも
BD.test <- function(m)
{
    k <- dim(m)[3]
    Nk <- apply(m,3,sum)
    psiMH <- sum(m[1,1,]*m[2,2,]/Nk)/sum(m[2,1,]*m[1,2,]/Nk)
    nk1 <- m[1,1,]+m[1,2,]
    nk2 <- m[2,1,]+m[2,2,]
    xkt <- m[1,1,]+m[2,1,]
    a1 <- psiMH-1
    b1 <- -psiMH*(nk1+xkt)-nk2+xkt
    c1 <- psiMH*nk1*xkt
    e <- (-b1-sqrt(b1^2-4*a1*c1))/(2*a1)
    v <- 1/(1/e+1/(nk1-e)+1/(xkt-e)+1/(nk2-xkt+e))
    chisqBD <- sum((m[1,1,]-e)^2/v)
    p <- pchisq(chisqBD, k-1, lower=F)
    print(cbind(m[1,1,], e, v, (m[1,1,]-e)^2/v))
    list(chi.sq=chisqBD, df=k-1, P.value=p)
}

m <- array(c(1,8,0,10, 2,47,0,60, 3,29,1,13, 3,17,0,7, 13,45,1,45, 13,26,0,18, 8,15,0,10, 11,4,0,4), dim=c(2,2,8))
BD.test(m)

     [このページのトップへ]


160. Re^4: Breslow-Day検定の計算式  青木繁伸  2002/10/11 (金) 22:03
文字数はたいして変わらないが,暗号みたいなプログラムにしてみる
BD.test <- function(m)
{
    nk2 <- (Nk <- apply(m,3,sum))-(nk1 <- m[1,1,]+m[1,2,])
    xkt <- apply(m[,1,],2,sum)
    a <- (psiMH <- sum(m[1,1,]*m[2,2,]/Nk)/sum(m[2,1,]*m[1,2,]/Nk))-1
    b <- -psiMH*(nk1+xkt)-nk2+xkt
    e <- (-b-sqrt(b^2-4*a1*psiMH*nk1*xkt))/(2*a)
    p <- pchisq(chisqBD <- sum((m[1,1,]-e)^2*apply(1/cbind(e,nk1-e,xkt-e,nk2-xkt+e),1,sum)), df <- dim(m)[3]-1)
    list(chi.sq=chisqBD, df=df, P.value=1-p)
}
m <- array(c(1,8,0,10, 2,47,0,60, 3,29,1,13, 3,17,0,7, 13,45,1,45, 13,26,0,18, 8,15,0,10, 11,4,0,4), dim=c(2,2,8))
BD.test(m)

     [このページのトップへ]


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