ドキュメンテーション センター

  • 評価版
  • 製品アップデート

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

partialcorri

内部変数に対する自由度調整済み部分相関係数

構文

  • rho = partialcorri(y,x)
  • rho = partialcorri(y,x,z)
  • rho = partialcorri(___,Name,Value)
  • [rho,pval] = partialcorri(___)

説明

rho = partialcorri(y,x) は、y および x の変数ペア間の標本線形部分相関係数を返し、x の残りの変数を調整します。

rho = partialcorri(y,x,z) は、まず z の変数に対して xy の両方を制御した後、y および x の変数ペア間の標本線形部分相関係数を返し、x の残りの変数を調整します。

rho = partialcorri(___,Name,Value) は、1 つまたは複数の名前と値のペア引数で指定された追加オプションと前の構文の入力引数のいずれかを使用して、標本線形部分相関係数を返します。たとえば、ピアソンまたはスピアマン部分相関を使用するかどうかを指定したり、欠損値の処理方法を指定したりできます。

[rho,pval] = partialcorri(___) は、非ゼロの部分相関が存在するという片側または両側の代替仮説に対して、部分相関が存在しないという仮説を検証するため、p 値の pval 行列も返します。

すべて展開する

部分相関係数の計算

x の残りの変数の効果を制御しながら、x および y の入力行列の変数ペアごとに部分相関を計算します。

標本データを読み込みます。

load carsmall;

これは、1970 年、1976 年および 1982 年に製造された自動車の測定値を含むデータです。このデータには、MPG および Acceleration が性能測定として、DisplacementHorsepower および Weight が設計変数として含まれています。Acceleration は、時速 0 マイルから時速 60 マイルまで加速するのに必要な時間です。そのため、Acceleration の高い値は、加速度の低い自動車と一致します。

入力行列を定義します。y 行列には性能測定が、x 行列には設計変数がそれぞれ含まれています。

y = [MPG,Acceleration];
x = [Displacement,Horsepower,Weight];

相関係数を計算します。欠損値を含まない行のみを計算に含めます。

rho = partialcorri(y,x,'Rows','complete')
rho =

   -0.0537   -0.1520   -0.4856
   -0.3994   -0.4008    0.4912

結果は、たとえば、排気量と馬力の効果を制御した後に、重量と加速度の間の相関関係が 0.4912 であることを示しています。p 値を 2 番目の出力として返し、これらの値を調べて、これらの相関が統計的に有意かどうかを確認できます。

表示をわかりやすくするために、適切な変数と行ラベルをもつテーブルを作成します。

rho = array2table(rho, ...
   'VariableNames',{'Displacement','Horsepower','Weight'}, ...
   'RowNames',{'MPG','Acceleration'});

disp('Partial Correlation Coefficients')
disp(rho)
Partial Correlation Coefficients
                    Displacement    Horsepower     Weight 
                    ------------    ----------    --------
    MPG             -0.053684       -0.15199      -0.48563
    Acceleration     -0.39941       -0.40075       0.49123

追加の変数を制御しながら部分相関を検定

x の残りの変数と行列 z の追加の変数の効果を制御しながら、x および y 入力行列の変数ペア間の部分相関を検定します。

標本データを読み込みます。

load carsmall;

これは、1970 年、1976 年および 1982 年に製造された自動車の測定値を含むデータです。このデータには、MPG および Acceleration が性能測定として、DisplacementHorsepower および Weight が設計変数として含まれています。Acceleration は、時速 0 マイルから時速 60 マイルまで加速するのに必要な時間です。そのため、Acceleration の高い値は、加速度の低い自動車と一致します。

新しい変数 Headwind を作成し、平均的な向かい風の概念を表すデータを、性能測定ルートに沿って無作為に生成します。

rng('default);  % For reproducibility
Headwind = (10:-0.2:-9.8)' + 5*randn(100,1);

向かい風は性能測定に影響を与える可能性があるため、残りの変数の間で部分相関を検定する場合は、その効果を制御します。

入力行列を定義します。y 行列には性能測定が、x 行列には設計変数がそれぞれ含まれています。z 行列には、部分相関を計算する際に制御する追加の変数 (向かい風など) が含まれています。

y = [MPG,Acceleration];
x = [Displacement,Horsepower,Weight];
z = Headwind;

部分相関係数を計算します。欠損値を含まない行のみを計算に含めます。

[rho,pval] = partialcorri(y,x,z,'Rows','complete')
rho =

    0.0572   -0.1055   -0.5736
   -0.3845   -0.3966    0.4674

pval =

    0.5923    0.3221    0.0000
    0.0002    0.0001    0.0000

pval で 0.001 という小さな p 値が返されたため、排気量、重量および向かい風を制御した後でも、馬力と加速度の間に有意な負の相関関係があることを示しています。

表示をわかりやすくするために、適切な変数と行ラベルをもつテーブルを作成します。

rho = array2table(rho, ...
   'VariableNames',{'Displacement','Horsepower','Weight'}, ...
   'RowNames',{'MPG','Acceleration'});
 
pval = array2table(pval, ...
   'VariableNames',{'Displacement','Horsepower','Weight'}, ...
   'RowNames',{'MPG','Acceleration'});

disp('Partial Correlation Coefficients, Accounting for Headwind')
disp(rho)
disp('p-values, Accounting for Headwind')
disp(pval)
Partial Correlation Coefficients, Accounting for Headwind
                    Displacement    Horsepower     Weight 
                    ------------    ----------    --------
    MPG             0.057197        -0.10555      -0.57358
    Acceleration    -0.38452        -0.39658        0.4674

P-values, Accounting for Headwind
                    Displacement    Horsepower      Weight  
                    ------------    ----------    ----------
    MPG                0.59233         0.32212    3.4401e-09
    Acceleration    0.00018272      0.00010902    3.4091e-06

入力引数

すべて展開する

x - データ行列行列

n 行 px 列の行列として指定するデータ行列。x の行は観測値に対応し、列は変数に対応します。

データ型:single | double

y - データ行列行列

n 行 py 列の行列として指定するデータ行列。y の行は観測値に対応し、列は変数に対応します。

データ型:single | double

z - データ行列行列

n 行 pz 列の行列として指定するデータ行列。z の行は観測値に対応し、列は変数に対応します。

データ型:single | double

名前/値のペアの引数

オプションの Name,Value の引数ペアをコンマ区切りで指定します。ここで、Name は引数名で、Value は対応する値です。Name は単一引用符 (' ') で囲まなければなりません。Name1,Value1,...,NameN,ValueN のように、複数の名前と値のペアの引数を任意の順番で指定できます。

例: 'Type','Spearman','Rows','complete' は、欠損値を含まない行のデータのみを使用してスピアマン部分相関を計算します。

'Type' - 部分相関の種類'Pearson' (既定の設定) | 'Spearman'

計算する部分相関の種類。'Type' と、'Pearson' または 'Spearman' のいずれかで構成されるコンマ区切りのペアとして指定します。Pearson はピアソン (線形) 部分相関を計算します。Spearman はスピアマン (順位) 部分相関を計算します。

例: 'Type','Spearman'

'Rows' - 計算に使用する行'all' (既定の設定) | 'complete' | 'pairwise'

計算に使用する行。'Rows' と以下のいずれかで構成される、コンマ区切りペアとして指定します。

'all'欠けている (NaN) 値にかかわらず、すべての行を使用します。
'complete'欠損値を含まない行のみを使用します。
'pairwise'y の各列に対応する部分相関係数と p 値を計算する際には、それらの列で使用できる値をすべて使用します。y の各列について、x (および指定した場合は z) の欠損値に対応する行が削除されます。ただし、y の該当する列で有効な値をもつ残りの行は、y の他の列に欠損値にある場合にも使用されます。

例: 'Rows','complete'

'Tail' - 対立仮説'both' (既定の設定) | 'right' | 'left'

検定対象の対立仮説。'Tail' と、以下のいずれかで構成されるコンマ区切りのペアとして指定します。

'both'相関が 0 ではないという対立仮説を検定します。
'right'相関が 0 より大きいという対立仮説を検定します。
'left'相関が 0 より小さいという対立仮説を検定します。

例: 'Tail','right'

出力引数

すべて展開する

rho - 標本線形部分相関係数行列

標本線形部分相関係数。py 行 px 列の行列として返されます。

  • x および y 行列を入力した場合、(i,j) 番目のエントリは、y の i 番目の列と x の j 番目の列の間にある標本線形部分相関であり、x の j 以外のすべての列に対して制御されます。

  • xy および z 行列を入力した場合、(i,j) 番目のエントリは、y の i 番目の列と x の j 番目の列の間にある標本線形部分相関です。ここで、最初に z の変数について xy の両方を制御し、次に x の j 以外のすべての列が調整されます。

pval - p 値行列

行列として返される p 値。pval の各要素は rho の対応する要素の p 値です。pval(i,j) が小さな値の場合、対応する部分相関 rho(i,j) は 0 とは統計的に有意差があります。

partialcorri は、相関の変換に対するスチューデントの t 分布を使用して、線形および順位部分相関係数の p 値を計算します。これは、xz が正規の場合は線形部分相関に正確に対応しますが、それ以外の場合は大きな標本の近似になります。

参考

|

この情報は役に立ちましたか?