分析レポートに「このチャネルは相関係数0.05なので、効果は見られません」という一行が入ることがあります。施策候補を絞る根拠として、これは使えるのでしょうか。
最初は、使えると考えていました。関係の強さを測る数字が0に近いなら、関係は弱い。素直な読み方です。しかし相関係数の定義を確認すると、測っているものが違いました。ピアソンの相関係数が測っているのは「関係の強さ」ではなく、「あらかじめ決めた形の関係への当てはまりの良さ」です。
先に、よく似た別の論点と切り分けておきます。「相関があっても因果とは限らない」という話は広く知られています。本記事が扱うのはその逆向きです——係数が0でも、関係がないとは限らない。相関と因果の区別そのものは相関と因果の違い:マーケティングでよくある判断の落とし穴が扱っているので、そちらに預けます。相関係数の定義や−1〜1の範囲といった入門部分も、統計学の基礎入門に預けて繰り返しません。
本記事が立てる仮説はこれです——0という数字が判断を止めてしまうのは、それが「調べ終わった」ように見えるからではないか。実際には、0は「その形では説明できなかった」という報告であり、調べ始めた位置に近いのではないか。
この仮説が当たっているなら、起きる失敗は具体的です。係数が低い変数をリストから外す。外した理由は「相関が低い」とだけ記録される。後から「どの形の関係を仮定して測ったのか」を誰も答えられない——検証のやり直しができない状態が残ります。
30秒で要点
- ピアソンの相関係数が測るのは線形の関係である。公式リファレンスにそう定義されている
- 相関が0でも、きわめて単純な依存が存在しうる。ドキュメント自身が
y = |x|という例を挙げている - 無相関は独立を意味しない(2つが同時正規である場合を除く)。向きを取り違えないよう注意が必要
- 逆も成り立つ。係数が0でない場合も誤解を招きうる。一部の領域にしか依存がないのに係数が高く出る例がある
- 順位相関への切り替えは小技ではなく、仮定する関係の形を線形から単調へ付け替える判断である
公式リファレンスが書いている定義と、自ら挙げている反例
参照するのは、SciPy(Python の科学計算ライブラリ)の公式リファレンスにある pearsonr と spearmanr の2ページです(いずれも2026年10月20日に取得して確認。ページに表示されている版は v1.18.0)。
pearsonr のページは、冒頭でこう定義しています——ピアソンの相関係数は、2つのデータセットの線形の関係を測る。
「関係」ではなく「線形の関係」と書かれています。この一語が、0の読み方を決めます。
そして同じページは、注意点として自ら例を置いています。
相関は、きわめて単純な依存構造があるときでさえ0になりうる
示されている例は、x を標準正規分布から取り、y = |x|(x の絶対値)とするものです。y は x から完全に決まります。依存関係としてはこれ以上ないほど単純です。それでもx と y の相関は0になる、とドキュメントは述べています。
V字に折れた関係は、直線という物差しの上ではプラス側とマイナス側が打ち消し合います。0という値が報告しているのは「関係の不在」ではなく、「直線という形では説明できなかった」ことです。
同じページには、もう一段強い記述もあります——無相関は独立を意味しない。ただし (x, y) が同時正規である場合を除く。 ここは向きに注意が必要です。この一文から出るのは「無相関でも独立とは限らない」までで、逆(独立なら無相関)はこの一文からは出てきません。
「係数が高いから関係が強い」も同じ誤りの裏返し
ここまでは「0でも関係がありうる」という向きでしたが、ドキュメントは逆向きの注意も置いています。0でない相関係数も誤解を招きうる、という記述です。
挙げられている例は、x < 0 のとき y = x、それ以外では y = 0 とするものです。x が正の領域では、y はまったく動きません。依存が存在しない領域が半分あります。 それでもこの作例の相関係数は約0.80(√(2/π))になると説明されています。
ここで注意したいのは、0.80という数値がこの作例に固有の値だという点です。一般的な目安ではありません。本記事は、係数の「強い・弱い」の数値基準を示しません。(この数値基準は、今回参照した2つのページのどちらにも書かれていません。)
2つの例を並べると、同じ1つの性質の表と裏だと分かります。相関係数は、データを直線という1つの形に当てはめたときの残り具合を数値にしています。当てはめの対象が実態とずれていれば、係数は低くも高くも出ます。
ここが、読み手が誤解しやすい構造です。相関係数は−1から1までの連続した目盛りを持ち、0が真ん中にあります。真ん中に0があるものは、0を「何もない状態」として読ませます。 体重計の0や残高の0と同じ感覚です。しかし相関係数の0は「量がない」ではなく「この形では説明がつかなかった」という判定結果です。目盛りの形が、意味の取り違えを誘っています。
順位相関への切り替えは、仮定の付け替えである
「外れ値に強いからスピアマンにしました」という説明は、よく見かけます。この判断自体が間違っているわけではありません。問題は、切り替えによって何を仮定し直したのかが記録に残らないことです。
spearmanr のページは、スピアマンの相関係数を、2つのデータセットの関係の単調性を測るノンパラメトリックな指標(データの分布に特定の形を仮定しない指標)と定義しています。−1または+1は厳密な単調関係に対応し、0の近くは無相関を示すとされています。
単調性とは、「一方が増えたとき、他方は増え続けるか、減り続けるか」です。直線である必要はありませんが、途中で向きが変わってはいけません。
ここから1つ導けます。先ほどの y = |x| のようなV字の関係は、途中で向きが変わるので単調ではありません。したがってスピアマンに切り替えてもV字は捉えられないはずです。これは単調性の定義から導ける本記事側の推論であり、公式ドキュメントが例として載せている話ではありません。
つまり、ピアソンからスピアマンへの切り替えで変わるのは「仮定する形が、直線から単調へ広がる」ことです。外れ値への強さはその副産物であって、切り替えの本体ではありません。記録に残すべきなのは「外れ値があったから」ではなく「単調な関係を仮定し直した」のほうです。
なお、p値(偶然でもこの程度の値は出るか、を見るための確率)については、2つのページに別々の注意が書かれています。pearsonr の既定のp値は「背後の分布が無相関かつ正規である」という帰無仮説のもとで計算されます。spearmanr のp値は分布について強い仮定を置かない代わりに、500観測を超えるような非常に大きな標本でしか正確ではないとされ、小標本では漸近的なp値に頼らず permutation test(データを並べ替えて分布を作る方法)を検討するよう案内されています。この500という数はp値の精度についての記述であり、相関係数そのものに必要な標本数ではありません。
係数を下げる要因は、関係の不在だけではない
係数が低いとき、候補はいくつもあります。
pearsonr のページには、線形モデルの作例が置かれていて、ノイズ項の分散が大きいほど係数が下がることが示されています。線形の関係が実在していても、ばらつきが大きければ係数は小さく出る、という向きです。これは作例が示している範囲の話で、一般法則として述べられているわけではありません。
実務では、ここに別の要因が重なります。
- 測定が粗い。片方の変数が丸められていたり、刻みが大きかったりする
- 期間が混在している。関係の向きが違う2つの期間を1つにまとめている
- 分母がずれている。2つの変数が別の母集団から数えられている
どれも「関係がない」とは別の理由です。そして係数という1つの数字は、これらを区別しません。0という報告を受け取ったとき、候補は「関係の不在」のほかに、直線以外の形・ノイズの大きさ・測定の粗さ・期間の混在・分母のずれと並びます。1つに決めるには、係数の外を見る必要があります。
確かなことと、この記事で踏み込んでいないこと
確かなこと:ピアソンが線形の関係を測るという定義、y = |x| の例で相関が0になること、無相関が独立を意味しない(同時正規の場合を除く)こと、折れ線の作例で係数が約0.80になること、スピアマンが単調性を測ること、p値についての上記の記述。これらはいずれも、2026年10月20日に確認した SciPy の2ページに書かれています。
踏み込んでいないこと:同順位(タイ)の扱いは、今回参照したページに記述がないため扱いません。またspearmanr のページは、ピアソンとの比較をしていません。本記事に書いた「切り替えは仮定の付け替えである」という整理は、2つの定義を並べて導いた本記事側の読みです。公式ドキュメントがそう説明している、という形では書いていません。
正規でない入力がp値に与える影響についても、pearsonr のページは外部の文献を参照するにとどめています。本記事は「正規でなければp値は無効」とは書きません。
判断軸:報告の前に「どの形を仮定したか」を一行で書けるか
ここまでの整理から導かれる判断軸は1行です——相関係数を報告する前に、「どの形の関係を仮定して測ったか」を一行で書く。
書けるなら、0という値は意味を持ちます。「直線を仮定して測ったが、直線では説明できなかった」という報告になります。書けないなら、その0は「関係がない」ではなく「まだ何も調べていない」と読むほうが実態に近くなります。
この軸は、レポートの文面にそのまま反映できます。
- ❌ 「相関係数0.05。効果は見られない」
- ✅ 「ピアソンの相関係数0.05(直線関係を仮定)。散布図では中間帯に山がある形で、直線以外の形を別途確認する」
後者は、次に何をすればよいかが決まっています。前者は、判断が止まります。
散布図と、区間ごとの平均
係数の外を見る方法は、2つで足りることが多くあります。
- 散布図を描く。 直線以外の形があれば、たいていここで見えます
- x をいくつかの区間に切り、区間ごとに y の平均を並べる。 点が多すぎて散布図が潰れる場合でも、形が残ります
2つ目は、分母と単位を決める作業でもあります。区間の切り方(単位)と、各区間に入った件数(分母)を書き添えておくと、後から見た人が同じ図を再現できます。件数が極端に少ない区間の平均は動きやすいので、件数を並べて置くこと自体が注意書きになります。
この2つで、「0だったのは形が違ったからか、本当に関係が薄いからか」の見当はおおむねつきます。ここで形が見えたなら、次はその形に合った指標や回帰を選ぶ段階です。回帰の選び方は回帰分析の基礎が扱っています。手元のデータの形を先に見るという手順そのものは探索的データ分析(EDA)の進め方に整理があります。
数字を受け取ったときに立ち返る問い
係数を前にしたときに立ち返りたいのは、「この数字は、何を仮定したうえでの結果なのか」という問いです。ピアソンなら直線、スピアマンなら単調。仮定を言えれば、0の意味も言えます。
もう1つは、「0という報告を、調べ終わりと調べ始めのどちらとして扱っているか」という問いです。同じ0が、散布図を見たあとなら前者に、見ていないなら後者になります。数字そのものは、どちらなのかを教えてくれません。
参考資料・引用元
- scipy.stats.pearsonr — SciPy Manual(ページに表示されている版 v1.18.0。2026年10月20日確認)
- scipy.stats.spearmanr — SciPy Manual(ページに表示されている版 v1.18.0。2026年10月20日確認)