[fpr 576] Observed Power

堀啓造

堀@香川大学経済学部です。

南風原さんは書きました:[fpr 552] 

>[fpr571] で示した表は,下記のSASプログラムで計算したものですが,
>直観では,やはりp=.05という結果に対応する Observed Power は
>50%前後でなくてはいけない感じがするので,プログラムのどこかに
>誤りがあるかもしれません。どこかおかしいところがありましたら,ど
>なたか御指摘いただければ幸いです。
>
> 1 data;
> 2   p=.05;                                /* 得られたp値 */
> 3   n_total=60;                           /* 全体の標本の大きさ */
> 4   do df1=1 to 5;                        /* 分子の自由度 */
> 5     group=df1+1;                        /* 群の数 */
> 6     n_each=n_total/group;               /* 各群の標本の大きさ */
> 7     df2=group*(n_each-1);               /* 分母の自由度 */
> 8     f_crit=finv(.95,df1,df2);           /* 棄却の限界値 (F) */
> 9     es_crit=sqrt(f_crit*df1/n_total);   /* 棄却の限界値 (ES) */
>10     f_obs=finv(1-p,df1,df2);            /* 得られたF値 */
>11     nc=f_obs*df1;                       /* 非心F分布の非心度 */
>12     obs_pwr=1-probf(f_crit,df1,df2,nc); /* Observed Power */
>13     output;
>14   end;
>15 proc print;
>16   var group n_each f_crit es_crit nc obs_pwr;
>17   run;

11行目
>11     nc=f_obs*df1;                       /* 非心F分布の非心度 */

このような関係はないようです。といっても、以下の汚いSPSSマクロを走らせてみる
と、そうではなさそうだということです。同様にt検定の場合もおかしいです。なお、
このマクロはSPSSのbaseだけで走ります。sigma は不偏のほうです。

* power estimation for 2 independent groups.
data list free /alpha m1 m2 sigma1 sigma2 n1 n2 .
begin data
0.05 .30  .15 .1875 .1875  7  7  
0.05 .30  .15 .125 .125   7  7
0.01 .30  .15 .125 .120   7  7
0.05 .30  .15 .125 .125 10 10
0.05 .40  0    1.00 .120 10 10
0.05 .80  0    2.00 .120 10 10
end data.
compute dmean=abs(m1-m2).
compute ntotal=n1+n2.
compute sigma=sqrt(((n1-1)*sigma1**2+(n2-1)*sigma2**2)/(n1+n2-2)).
compute w1=n1/ntotal.
compute w2=n2/ntotal.
compute mean=m1*w1+m2*w2.
compute mm1=n1*(m1-mean)**2.
compute mm2=n2*(m2-mean)**2.
compute PrimSSHe = mm1+mm2. 
compute   PrimLmda = PrimSSHe/(sigma**2).  /* Primary noncentrality;.*/
compute   lambda = PrimLmda.
compute f=sqrt(lambda/ntotal).
compute dfe=ntotal-2.
compute dfh=1.
compute f_alpha=idf.f(1-alpha,dfh,dfe).
compute power=1-ncdf.f(f_alpha,dfh,dfe,lambda).
* t-test.
compute alpha2=alpha/2.
compute delta=dmean/sqrt(1/n1+1/n2)/sigma.
compute t_alpha=idf.t(1-alpha2,dfe).
compute powert=1-ncdf.t(t_alpha,dfe,delta).
format power powert (f8.5) alpha(f5.3) n1 n2(f5.0)  .
report /format list/var=powert  power alpha t_alpha f_alpha delta lambda
           /title 'power test for two-tailed t-test'.

結果

                        power test for two-tailed t-test

  POWERT       POWER       ALPHA     T_ALPHA     F_ALPHA       DELTA      LAMBDA

  .28036      .28077        .050        2.18        4.75        1.50        2.24
  .54140      .54143        .050        2.18        4.75        2.24        5.04
  .27642      .27642        .010        3.05        9.33        2.29        5.25
  .71840      .71841        .050        2.10        4.41        2.68        7.20
  .22053      .22134        .050        2.10        4.41        1.26        1.58
  .22243      .22322        .050        2.10        4.41        1.26        1.59


香川大学経済学部
        堀 啓造
e-mail    hori (at) ec.kagawa-u.ac.jp
home page http://fourier.ec.kagawa-u.ac.jp/~hori/

スレッド表示 著者別表示 日付順表示 トップページ

ここは心理学研究の基礎メーリングリストに投稿された過去の記事を掲載しているページです。