CORRプロシジャ

例2.4 Fisherのz変換の応用

この例では、Fisherのz変換の応用を示します。詳細は、Fisherのz変換のセクションを参照してください。

次のステートメントは、2変量正規分布から抽出した変数XYの独立した標本をシミュレートします。150個のオブザベーションからなる最初のまとまりは、既知の相関0.3を使用して標本化されます。150個のオブザベーションからなる2番目のまとまりは既知の相関0.25を使用して標本化され、100のオブザベーションからなる3番目のまとまりは既知の相関0.3を使用して標本化されます。

data Sim (drop=i);
do i=1 to 400;
  X = rannor(135791);
  Batch = 1 + (i>150) + (i>300);
  if Batch = 1 then Y = 0.3*X + 0.9*rannor(246791);
  if Batch = 2 then Y = 0.25*X + sqrt(.8375)*rannor(246791);
  if Batch = 3 then Y = 0.3*X + 0.9*rannor(246791);
  output;
end;
run;

このデータセットを使用して、Fisherのz変換の次のような応用を示します。

  • 母集団相関が指定の値に等しいかどうかのテスト

  • 2つの母集団相関が等しいかどうかのテスト

  • 異なる標本から計算した相関推定値の結合

母集団相関が指定の値$\rho _0$に等しいかどうかのテスト

次のステートメントを使用すると、両側対立仮説$H_1\colon \rho \neq 0.5$ に対する帰無仮説$H_0\colon \rho = 0.5$の検定を実施できます。この検定は、オプションFISHER(RHO0=0.5)を使用して要求します。

title 'Analysis for Batch 1';
proc corr data=Sim (where=(Batch=1)) fisher(rho0=.5);
   var X Y;
run;

出力2.4.1に、Fisherの変換に基づく結果を示します。p値が0.0001未満であるため、この帰無仮説は棄却されます。

出力2.4.1:$H_0: \rho = \rho _0$である場合のFisherの検定

Analysis for Batch 1

The CORR Procedure

Pearson Correlation Statistics (Fisher's z Transformation)
Variable With Variable N Sample Correlation Fisher's z Bias Adjustment Correlation Estimate   H0:Rho=Rho0
95% Confidence Limits Rho0 p Value
X Y 150 0.22081 0.22451 0.0007410 0.22011 0.062034 0.367409 0.50000 <.0001



2つの母集団相関が等しいかどうかのテスト

次のステートメントを使用すると、2つの母集団相関$\rho _1$$\rho _2$が等しいかどうかをテストできます。ここでは、帰無仮説$H_0\colon \rho _1 = \rho _2$を、対立仮説$H_1\colon \rho _1 \neq \rho _2$に対してテストします。

ods output FisherPearsonCorr=SimCorr;
title 'Testing Equality of Population Correlations';
proc corr data=Sim (where=(Batch=1 or Batch=2)) fisher;
   var X Y;
   by Batch;
run;

ODS OUTPUTステートメントは、表"FisherPearsonCorr"を、CORRプロシジャの出力データセット内に保存します。出力データセットSimCorrには、両方のまとまりに関するFisherのz統計量が含まれます。

次のステートメントは、出力2.4.2のように、出力データセットSimCorrを表示します。

proc print data=SimCorr;
run;

出力2.4.2: Fisherの相関統計量

Obs Batch Var WithVar NObs Corr ZVal BiasAdj CorrEst Lcl Ucl pValue
1 1 X Y 150 0.22081 0.22451 0.0007410 0.22011 0.062034 0.367409 0.0065
2 2 X Y 150 0.33694 0.35064 0.00113 0.33594 0.185676 0.470853 <.0001



$H_0$をテストするためのp値は、差$z_1 - z_2$を平均がゼロで分散が$1/(n_1-3) + 1/(n_2-3)$の正規ランダム変数として扱うことにより導かれます。ここで、$z_1$$z_2$は、それぞれ標本相関$r_1$$r_2$に関するFisherのz変換です。また、$n_1$$n_2$は、標本サイズです。

次のステートメントは、出力2.4.3p値を計算します。

data SimTest (drop=Batch);
   merge SimCorr (where=(Batch=1) keep=Nobs ZVal Batch
                  rename=(Nobs=n1 ZVal=z1))
         SimCorr (where=(Batch=2) keep=Nobs ZVal Batch
                  rename=(Nobs=n2 ZVal=z2));
   variance = 1/(n1-3) + 1/(n2-3);
   z = (z1 - z2) / sqrt( variance );
   pval = probnorm(z);
   if (pval &gt; 0.5) then pval = 1 - pval;
   pval = 2*pval;
run;

proc print data=SimTest noobs;
run;

出力2.4.3: 観測された相関が等しいかどうかのテスト

n1 z1 n2 z2 variance z pval
150 0.22451 150 0.35064 0.013605 -1.08135 0.27954



出力2.4.3において、p値0.2795は、帰無仮説$\rho _1=\rho _2$を棄却する根拠を提供しません。標本サイズ$n_1=150$および$n_2=150$の大きさが十分でないため、差$\rho _1-\rho _2=0.05$を有意水準$\alpha =0.05$で検出できません。

異なる標本から計算した相関推定値の結合

標本推定値$r_{1}$および$r_{2}$は、それぞれ$n_1$および$n_2$というオブザベーションの2つの独立した標本から計算されます。結合された相関推定値は、$\bar{r} = {\tanh } (\bar{z})$により与えられます。ここで、$\bar{z}$は、$r_1$$r_2$z変換の重み付きの平均です。

\[  \bar{z} = \frac{(n_1-3) z_1 + (n_2 -3) z_2}{n_1+n_2-6}  \]

次のステートメントは、Batch 1とBatch 3を使用して、$\rho $の推定値を計算します。

ods output FisherPearsonCorr=SimCorr2;
proc corr data=Sim (where=(Batch=1 or Batch=3)) fisher;
   var X Y;
   by Batch;
run;

data SimComb (drop=Batch);
   merge SimCorr2 (where=(Batch=1) keep=Nobs ZVal Batch
                   rename=(Nobs=n1 ZVal=z1))
         SimCorr2 (where=(Batch=3) keep=Nobs ZVal Batch
                   rename=(Nobs=n2 ZVal=z2));
   z = ((n1-3)*z1 + (n2-3)*z2) / (n1+n2-6);
   corr = tanh(z);
   var = 1/(n1+n2-6);
   zlcl = z - probit(0.975)*sqrt(var);
   zucl = z + probit(0.975)*sqrt(var);
   lcl= tanh(zlcl);
   ucl= tanh(zucl);
   pval= probnorm( z/sqrt(var));
   if (pval &gt; .5)  then pval= 1 - pval;
   pval= 2*pval;
run;

proc print data=SimComb noobs;
   var n1 z1 n2 z2 corr lcl ucl pval;
run;

出力2.4.4に、$\rho $の結合された推定値を示します。この表は、結合された標本からの相関推定値がr=0.2264であることを示しています。結合された推定値を使用する場合、$95\% $の信頼区間は(0.10453,0.34156)です。この信頼区間には、母集団相関0.3が含まれていることに注意してください。

出力2.4.4: 結合された相関推定値

n1 z1 n2 z2 corr lcl ucl pval
150 0.22451 100 0.23929 0.22640 0.10453 0.34156 .000319748