この記事でわかること
- スピアマン順位相関係数の計算手順(Excel対応)
- ピアソン相関係数との使い分け基準
- 外れ値が1点あってもrs = 0.927が出た実例と検証方法
📌 前提知識:相関分析のやり方と結果の見方を読んでいると理解しやすくなります
焼入れ温度と表面硬度の関係を調べていて、「なぜかr = 0.5しかない」と首をかしげた経験はないでしょうか。原因のひとつが外れ値です。測定ミスや条件外れのデータが1点混じるだけで、ピアソン相関係数は大きくズレます。スピアマン順位相関係数は、そういう場面でも安定した値を返します。
この記事では、製造業の熱処理データを例に、スピアマン順位相関係数の使いどころと計算手順を解説します。
スピアマン順位相関係数を使う3つの場面
スピアマンを使う判断は、データを見た瞬間にできます。次の3つに当てはまれば、ピアソンより先にこちらを検討してください。
① 外れ値が含まれているとき
ピアソン相関係数は外れ値の影響を強く受けます。1点だけ飛び抜けた値があると、実態よりもずっと低いr値が出ることがあります。後述の例では、外れ値なしでr ≈ 1.00だったものが、外れ値が1点入るだけでr = 0.50まで落ちました。
スピアマン法はデータを「順位」に変換してから計算するため、外れ値が極端に大きい数値であっても「最下位か最上位か」程度の影響しか受けません。
② データが順序尺度のとき
官能評価(「非常に良い・良い・普通・悪い・非常に悪い」など)や評点データのように、数値ではなく順序に意味がある場合はスピアマンが適しています。ピアソン相関係数は等間隔尺度を前提とするため、この種のデータには使えません。
③ 関係が線形ではなく単調なとき
「xが増えるとyも増える(または減る)」という単調な傾向はあるが、直線的ではないとき。たとえば、ある温度を超えると硬度の上昇ペースが変わるような非線形な関係でも、スピアマンは高い値を示します。
スピアマン順位相関係数とは
基本的な考え方
データを「順位」に変換してから相関を計算する。それだけです。数値の絶対的な大きさより、大小の並び順が揃っているかどうかを見ます。
たとえば、x方向でも y方向でも順位が完全に一致していれば rs = 1、完全に逆転していれば rs = −1 になります。
計算式
スピアマン順位相関係数の公式は次のとおりです。
\[ r_s = 1 – \frac{6 \sum d_i^2}{n(n^2 – 1)} \]各記号の意味:
- \( d_i \):i番目のデータの「x順位 − y順位」(順位差)
- \( n \):データ数
ExcelではRANK.AVG関数で各変数の順位を求め、CORREL関数で相関係数を計算します。上の公式と同じ結果が得られます(同順位がない場合):
=CORREL(RANK.AVG(A2:A11,A2:A11,1), RANK.AVG(B2:B11,B2:B11,1))
Excelでスピアマン順位相関係数を計算する手順
例題:焼入れ温度と表面硬度(n = 10)
鉄鋼の熱処理工程で、焼入れ温度(℃)と表面硬度(HRC)を10バッチ分測定しました。バッチ10は記録ミスで温度が1200℃になっており、外れ値として含まれています。
| バッチ | 焼入れ温度(℃) | 表面硬度(HRC) |
|---|---|---|
| 1 | 840 | 63 |
| 2 | 855 | 65 |
| 3 | 870 | 68 |
| 4 | 880 | 70 |
| 5 | 895 | 72 |
| 6 | 910 | 74 |
| 7 | 925 | 76 |
| 8 | 940 | 79 |
| 9 | 955 | 81 |
| 10 | 1200(外れ値) | 75 |
Step 1:RANK.AVG関数で順位を付ける
C列に焼入れ温度の順位、D列に表面硬度の順位を入力します。
=RANK.AVG(A2,$A$2:$A$11,1) ' C2セル(昇順) =RANK.AVG(B2,$B$2:$B$11,1) ' D2セル(昇順)
関数の第3引数を1にすると昇順(小さい値が順位1)になります。
計算後の順位は次のとおりです。
| バッチ | 温度順位 | 硬度順位 | d(順位差) | d² |
|---|---|---|---|---|
| 1 | 1 | 1 | 0 | 0 |
| 2 | 2 | 2 | 0 | 0 |
| 3 | 3 | 3 | 0 | 0 |
| 4 | 4 | 4 | 0 | 0 |
| 5 | 5 | 5 | 0 | 0 |
| 6 | 6 | 6 | 0 | 0 |
| 7 | 7 | 8 | −1 | 1 |
| 8 | 8 | 9 | −1 | 1 |
| 9 | 9 | 10 | −1 | 1 |
| 10 | 10 | 7 | 3 | 9 |
| 合計 | 12 |
バッチ10は焼入れ温度が最高(順位10)ですが、外れ値のせいで硬度は7位にとどまっています。順位差 d = 3 が生じているのはここだけです。
Step 2:CORREL関数で相関係数を求める
C列とD列の順位データに対してCORREL関数を使います。
=CORREL(C2:C11,D2:D11)
この関数は順位データをそのまま入力として受け取り、スピアマン順位相関係数を返します。
公式で確認します:
\[ r_s = 1 – \frac{6 \times 12}{10 \times (100 – 1)} = 1 – \frac{72}{990} = 0.927 \]結果:rs = 0.927(強い正の相関)
外れ値がある場合とない場合の比較
同じデータでピアソン相関係数を計算すると r = 0.504 と出ます(ExcelではCORREL(A2:A11,B2:B11))。外れ値を除いたバッチ1〜9だけで計算するとr ≈ 1.00 に近づきます。
| 指標 | 外れ値あり(n=10) | 外れ値なし(n=9) |
|---|---|---|
| ピアソン r | 0.504 | ≈ 1.000 |
| スピアマン rs | 0.927 | ≈ 1.000 |
ピアソンが外れ値1点で大きくズレているのに対し、スピアマンは安定しています。外れ値の存在が疑われるデータでは、この2つを比べてみると状況が見えやすくなります。
有意性検定
rs = 0.927 が出ましたが、これがたまたまそうなっただけでないか確認します。t検定で有意性を検証します。
検定統計量の計算式:
\[ t = \frac{r_s \sqrt{n-2}}{\sqrt{1 – r_s^2}} \]代入します:
\[ t = \frac{0.927 \times \sqrt{8}}{\sqrt{1 – 0.859}} = \frac{0.927 \times 2.828}{\sqrt{0.141}} = \frac{2.622}{0.375} = 6.99 \]Excelで計算するなら、上記の数式を直接セルに入力します。たとえば rs が F2 セルに入っている場合:
=F2*SQRT(10-2)/SQRT(1-F2^2)
自由度 df = n − 2 = 8 のt分布で確認すると、t = 6.99 は臨界値(t₀.₀₀₁(8) = 5.041)を大きく超えています。p < 0.001 で有意です。
「たまたま0.927になった」という可能性は0.1%未満。焼入れ温度と表面硬度には実際に正の単調関係があると判断できます。
外れ値がある場合の注意点
今回の外れ値(バッチ10)は記録ミスと判断しましたが、現実の業務では外れ値の原因を確認してから解析するのが先決です。外れ値の検出方法については外れ値の検出方法|Grubbs検定・IQR法をExcelで実践する手順で解説しています。
まとめ
スピアマン順位相関係数についてまとめます。
- 外れ値がある・データが順序尺度・単調だが非線形——この3条件のどれかに当てはまれば、ピアソンではなくスピアマンを使う
- ExcelはRANK.AVG関数で順位付け → CORREL関数で計算、この2ステップで求められる
- 今回の例(n=10、外れ値1点)では rs = 0.927、t = 6.99、p < 0.001 で有意な正の相関が確認された
- ピアソン r とスピアマン rs の値が大きく離れている場合は、外れ値か非線形な関係を疑うサインになる
スピアマンとピアソンの使い分けに迷うことはなくなりますか。一番シンプルな基準は「外れ値があるかどうか」です。データを確認したら、まずGrubbs検定でチェックし、外れ値があればスピアマン、なければピアソンと決めておくと判断が速くなります。
相関係数の強弱の解釈については相関係数の読み方|強弱の目安と判断基準で詳しく解説しています。また、相関分析の基礎から学びたい場合は相関分析のやり方と結果の見方を先に読んでください。


