[fpr 580] Observed Power

狩野裕

狩野@筑波大学数学系です

haebara> 
haebara> [fpr571] で示した表は,下記のSASプログラムで計算したものですが,
haebara> 直観では,やはりp=.05という結果に対応する Observed Power は
haebara> 50%前後でなくてはいけない感じがするので,プログラムのどこかに
haebara> 誤りがあるかもしれません。どこかおかしいところがありましたら,ど
haebara> なたか御指摘いただければ幸いです。
haebara> 
haebara>  1 data;
haebara>  2   p=.05;                                /* 得られたp値 */
haebara>  3   n_total=60;                           /* 全体の標本の大きさ */
haebara>  4   do df1=1 to 5;                        /* 分子の自由度 */
haebara>  5     group=df1+1;                        /* 群の数 */
haebara>  6     n_each=n_total/group;               /* 各群の標本の大きさ */
haebara>  7     df2=group*(n_each-1);               /* 分母の自由度 */
haebara>  8     f_crit=finv(.95,df1,df2);           /* 棄却の限界値 (F) */
haebara>  9     es_crit=sqrt(f_crit*df1/n_total);   /* 棄却の限界値 (ES) */
haebara> 10     f_obs=finv(1-p,df1,df2);            /* 得られたF値 */
haebara> 11     nc=f_obs*df1;                       /* 非心F分布の非心度 */
haebara> 12     obs_pwr=1-probf(f_crit,df1,df2,nc); /* Observed Power */
haebara> 13     output;
haebara> 14   end;
haebara> 15 proc print;
haebara> 16   var group n_each f_crit es_crit nc obs_pwr;
haebara> 17   run;
haebara> 
haebara> 以下は結果です。
haebara>                                
haebara>  OBS    GROUP    N_EACH     F_CRIT    ES_CRIT       NC      OBS_PWR 
haebara>   1       2        30      4.00687    0.25842     4.0069    0.50346  
haebara>   2       3        20      3.15884    0.32449     6.3177    0.58349  
haebara>   3       4        15      2.76943    0.37212     8.3083    0.63861  
haebara>   4       5        12      2.53969    0.41148    10.1588    0.68126 
haebara>   5       6        10      2.38607    0.44591    11.9303    0.71578 
hori> 
hori> 11行目
hori> >11     nc=f_obs*df1;                       /* 非心F分布の非心度 */
hori> 
hori> このような関係はないようです。といっても、以下の汚いSPSSマクロを走らせてみる
hori> と、そうではなさそうだということです。同様にt検定の場合もおかしいです。なお、


以上の堀さんのご指摘に賛成です.得られた F-値 f_obs が,対立仮説のもとから採られて
いると仮定し,f_obs の値から対立仮説のもとでの分布のパラメータ(非心度)を推定するの
ですが,その推定方法が step 11でよいのか,というご指摘ですよね.

F_obs 〜 f(x|df2,df2,nc)  /* 非心F分布

のとき,F_obc に基づく nc の推定方法にはいくつかあったと思うのですが,今すぐに
は思い出せません.

E[F_obs]=[(df1+nc)/df1]*[df2/(df2-2)]

ですから,モーメント法で推定するならば,

f_obs=[(df1+nc)/df1]*[df2/(df2-2)]

を nc に関して解くことになります.そうすると,

(i)              nc^=[{(df2-2)/df2}*f_obs-1]*df1

となります.df2 が十分大きいと,係数{(df2-2)/df2}は1に近いですから,これを無視
するにしても,

(ii)             nc^=[f_obs-1]*df1

となって,step 11 とはやや異なります.nc^ は,step 11 のものと比べて少し小さな値
になるので,power はやや小さくなるはずです. 

nc^ はデータ f_obs の線型な関数ですから,nc の不偏推定量,つまり,

E[nc^]=nc

にはなっています.

一度,このようにして,SAS なり SPSS なりを走らせてくださいませんか?数値的な裏付
けがないと,モーメント法でよいのか不安ですので...


======================================================================
 狩野  裕 (筑波大学数学系)      Phone&Fax: 0298-53-4229(DI)
 address: 〒305 つくば市天王台1-1-1    Fax: 0298-53-6501(Department)
  e-mail: kano (at) math.tsukuba.ac.jp     
======================================================================


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

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