生物医学統計を学ぶ!
事例と実践
2群の比較検定のためのサンプルサイズ
サンプル
``` from scipy.stats import norm, zscore import numpy as np # mu_a:A群の独立変数の平均 # mu_b:B群の独立変数の平均 # sd:共通の標準偏差 # alpha : 有意水準(第1種の過誤) # beta : (第2種の過誤), 1 - beta=検出力 # psi:2群の症例数比(B/A) # 1の場合は同じデータ数 def PR(mu_a,mu_b,sd,alpha,beta,psi): D = abs(mu_b - mu_a) za = norm.isf(1-alpha/2) zb = norm.isf(1-beta) N = (1+1/psi)*((za+zb)**2)*(sd/D)**2 return N print(PR(60,50,20,0.05,0.2,1)) # mu_a:A群の独立変数の平均 # mu_b:B群の独立変数の平均 # sd:共通の標準偏差 # alpha : 有意水準(第1種の過誤) # psi:2群の症例数比(B/A) # 1の場合は同じデータ数 # N:各群の症例数 def POWER(mu_a,mu_b,sd,alpha,psi,N): D = abs(mu_b - mu_a) za = norm.isf(1-alpha/2) # N = (1+1/psi)*((za+zb)**2)*(sd/D)**2 # N/(1+1/psi) = ((za+zb)**2)*(sd/D)**2 # (N/(1+1/psi))/(sd/D)**2 = (za+zb)**2 # sqrt((N/(1+1/psi))/(sd/D)**2) = za+zb # sqrt((N/(1+1/psi))/(sd/D)**2) - za = zb zb = -1*np.sqrt((N/(1+1/psi))/(sd/D)**2) - za # zb項はマイナスになるので、*-1で補正(重要) power = norm.sf(zb) return power print(POWER(60,50,20,0.05,1,90)) #res #62.79103787479271 #0.918362029222623 ```
Visionary Imaging Services, Inc.
Imaging CROサービスをご提供させていただきます。
お問い合わせお待ちしております。
https://www.vis-ionary.com/
0 件のコメント:
コメントを投稿
次の投稿
前の投稿
ホーム
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿