How to get partial correlation matrix to validate multicollinearity in multivariate analysis with EXCEL?

In order to validate multicollinearity in multivariate analysis, you could investigate signs of partial correlation matrix. You could calculate partial correlation coefficient, rij rest, when you would be given covariates without xi and xj and it’s assumed that R = (rij) as correlation matrix and R-1 = (rij) as inverse matrix, respectively.

\displaystyle r_{ij\cdot rest} = - \frac{r^{ij}}{\sqrt{r^{ii}r^{jj}}}

Reverse the sign of the elements divided by square of products of the diagonal elements, they are partial correlation coefficients. The set of partial correlation coefficients is partial correlation matrix.

\displaystyle    R=\left( \begin{array} {cccccc} 1 \\   r_{21} & 1 \\  \vdots & \ddots & 1 \\   r_{i1} & \ldots & r_{ij} & 1 \\   \vdots & & \vdots & \ddots & 1 \\   r_{n1} & \ldots & r_{nj} & \ldots & r_{nn-1} & 1 \\   \end{array} \right) \displaystyle    R^{-1}=\left( \begin{array} {cccccc} r^{11} \\   r^{21} & \ddots \\   \vdots & \ddots & r^{jj} \\   r^{i1} & \ldots & r^{ij} & r^{ii} \\   \vdots & & \vdots & \ddots & \ddots \\   r^{n1} & \ldots & r^{nj} & \ldots & r^{nn-1} & r^{nn} \\   \end{array} \right)

When the signs didn’t match between correlation matrix and partial correlation matrix, it suggests multicollinearity. When there was linear relationship between covariates, inverse matrix of correlation matrix could not be obtained.

You could get partial correlation matrix as below. It’s assumed that you have already get correlation matrix.

  1. Get inverse matrix of correlation matrix
  2. Divide each elements of inverse matrix by square of product of diagonal elements and reverse the sign
  A B C
1 1.000 0.800 0.300
2 0.800 1.000 -0.700
3 0.300 -0.700 1.000

1. Get inverse matrix of correlation matrix

Excel has worksheet function to get inverse matrix. You need to press the Control key, Shift key and Enter key at the same time when you confirm the argument as MINVERSE function.

{=MINVERS($A$1:$C$3)}

  A B C
5 -0.197 1.817 1.547
6 1.817 -1.637 -1.691
7 1.547 -1.691 -0.647

2. Divide each elements of inverse matrix by square of product of diagonal elements and reverse the sign

You would have to use INDEX function, ROW function and COLUMN function. Paste following formula to the corresponding cells. The number subtracted from the return of ROW function (and COLUMN function) would change depending on the situation.

=-INDEX($A$5:$C$7, ROW()-8,COLUMN())/SQRT(INDEX($A$5:$C$7, ROW()-8, ROW()-8)*INDEX($A$5:$C$7, COLUMN(),COLUMN()))

  A B C
9 1.000 -1.483 -2.007
10 -1.483 1.000 1.642
11 -2.007 1.642 1.000

多変量解析の多重共線性を調べるために相関行列から偏相関行列をExcelで求める方法

 多変量解析において変数間の多重共線性を調べる方法の一つに偏相関行列があります.相関行列を R = (rij) とし,その逆行列を R-1 = (rij) とすると,xi と xj 以外のすべての変数を与えた時の xi と xj の偏相関係数 rij rest は下式で表現できます.

\displaystyle r_{ij\cdot rest} = - \frac{r^{ij}}{\sqrt{r^{ii}r^{jj}}}

 逆行列の対応する要素を2つの対角要素の積の平方根で割って基準化し,符号を反転します.この偏相関係数を全ての変数の対について行列の形にまとめたものを偏相関行列と言います.

\displaystyle    R=\left( \begin{array} {cccccc} 1 \\   r_{21} & 1 \\  \vdots & \ddots & 1 \\   r_{i1} & \ldots & r_{ij} & 1 \\   \vdots & & \vdots & \ddots & 1 \\   r_{n1} & \ldots & r_{nj} & \ldots & r_{nn-1} & 1 \\   \end{array} \right) \displaystyle    R^{-1}=\left( \begin{array} {cccccc} r^{11} \\   r^{21} & \ddots \\   \vdots & \ddots & r^{jj} \\   r^{i1} & \ldots & r^{ij} & r^{ii} \\   \vdots & & \vdots & \ddots & \ddots \\   r^{n1} & \ldots & r^{nj} & \ldots & r^{nn-1} & r^{nn} \\   \end{array} \right)

 相関行列と偏相関行列の符号が一致しない場合は多重共線性の可能性があります.また,変数間に線形の関係がある場合は相関行列の逆行列が求まらないこともあります.

 Excelで偏相関行列を求める方法は下記の通りです.既に相関行列は求まっているものとします.

  1. 相関行列の逆行列を求める
  2. 逆行列の各要素を2つの対角要素の積の平方根で割り,符号を逆転する

 

  A B C
1 1.000 0.800 0.300
2 0.800 1.000 -0.700
3 0.300 -0.700 1.000

1. 相関行列の逆行列を求める

 逆行列を求めるワークシート関数は Excel に標準装備されています.MINVERS 関数を用いる時の注意点として,関数の引数として相関行列を指定し,確定する際に Control キーと Shift キーと Enter キーを同時に押下する必要があります.

{=MINVERS($A$1:$C$3)}

  A B C
5 -0.197 1.817 1.547
6 1.817 -1.637 -1.691
7 1.547 -1.691 -0.647

2. 逆行列の各要素を2つの対角要素の積の平方根で割り,符号を逆転する

 求まった逆行列の各要素から2つの対角要素のアドレスを求めるには少々工夫が必要です.INDEX 関数と ROW 関数および COLUMN 関数を組み合わせます.下式を該当セルにペーストします.ROW 関数(および COLUMN 関数)から差し引いている数値は INDEX 関数の第 1 引数の 2 次元配列の行番号(と列番号)を指定するものですので,状況によって数値は変化します.各自で対応して下さい.

=-INDEX($A$5:$C$7, ROW()-8,COLUMN())/SQRT(INDEX($A$5:$C$7, ROW()-8, ROW()-8)*INDEX($A$5:$C$7, COLUMN(),COLUMN()))

  A B C
9 1.000 -1.483 -2.007
10 -1.483 1.000 1.642
11 -2.007 1.642 1.000