情報Ⅰ 最強120講義

【情報Ⅰ 第86講】散布図と相関係数──なぜ「共分散÷標準偏差の積」なのか

数強塾グループの一流講師陣 一流のライブ授業×最高品質の映像授業×サボれないコーチング

今日の一問
相関係数はなぜ「共分散 ÷ 標準偏差の積」という形をしているのか。そして、なぜ必ず \(-1 \le r \le 1\) に収まるのか。
——さて、どこから手をつける?
答えと考え方は、この記事の中で順を追って解説します。

共通テスト「情報Ⅰ」の第4問はデータ分析です。その中心にあるのが相関係数。多くの受験生は「共分散を標準偏差の積で割る」と丸暗記して終わりにします。しかし、なぜ割るのか、なぜ答えが必ず −1 と 1 のあいだに収まるのかを説明できる人はほとんどいません。この第86講では、その式がどこから来たのかを最後まで追いかけます。ここを原理で理解しておくと、情報Ⅱの重回帰分析・主成分分析まで一直線につながります。

1. この講の問い

相関係数はなぜ「共分散 ÷ 標準偏差の積」という形をしているのか。そして、なぜ必ず \(-1 \le r \le 1\) に収まるのか。

2. 結論

・共分散は「2つの量が一緒に動く度合い」だが、単位を変えると値が変わってしまう。そこで各変数を標準化して単位を消す。その結果が相関係数である。

・標準化した値の並びは長さのそろった2本のベクトルになる。相関係数はそのなす角の余弦にあたるので、必ず −1 以上 1 以下になる。

・ただし相関係数が測るのは直線的な関係の強さだけ。きれいな放物線でも \(r=0\) になりうる。

3. なぜそうなるのか

3-1 「一緒に動く」を1つの数にする

\(x\) が平均より大きいとき \(y\) も平均より大きい。\(x\) が平均より小さいとき \(y\) も小さい。この傾向を1つの数にしたい。素直な方法は、各データについて偏差の積 \((x_i-\bar{x})(y_i-\bar{y})\) を作って平均することです。

両方とも平均より大きければ「正 × 正 = 正」。両方とも平均より小さければ「負 × 負 = 正」。片方だけ大きければ「正 × 負 = 負」。だから同じ向きに動くデータが多ければ平均は正、逆向きなら負になります。これが共分散です。

\[s_{xy} = \frac{1}{n}\sum_{i=1}^{n}(x_i-\bar{x})(y_i-\bar{y})\]

この式で \(y\) を \(x\) に置き換えると \(\frac{1}{n}\sum(x_i-\bar{x})^2\)、つまり分散そのものになります。共分散は分散を2変数に広げたものだと見てください。

3-2 共分散の弱点は「単位に振り回される」こと

共分散には決定的な弱点があります。単位を変えると値が変わってしまうのです。

\(x\) を「時間」で測っていたのを「分」に変えると、すべての偏差が60倍になるので共分散も60倍になります。\(y\) のほうも2倍して50を足す(偏差値のような変換をする)と、さらに2倍。第4節で実際に計算しますが、私の例では共分散 9 が 1080 に化けます。

データの中身は1ミリも変わっていないのに、単位の選び方だけで数字が動く。これでは「関係の強さ」の物差しとして使えません。原因ははっきりしていて、共分散は「\(x\) の単位 × \(y\) の単位」という単位を持った量だからです。

3-3 単位を消す ── 標準化

単位を消したいなら、その単位を持つ量で割ればよい。\(x\) の偏差を \(x\) の標準偏差 \(s_x\) で割ります。

\[z_i = \frac{x_i-\bar{x}}{s_x}\]

これが標準化(基準化)です。できあがった \(z\) は単位を持たない数(無名数)で、平均 0・標準偏差 1 になります。「平均から標準偏差何個ぶん離れているか」という共通の物差しに、全部を載せ替える操作だと思ってください。偏差値 \(50+10z\) も、この \(z\) を読みやすくしただけのものです。

3-4 相関係数の正体は「標準化してから共分散を取る」

相関係数がやっていることは、これだけです。標準化してから、共分散を取る。

\[r = \frac{1}{n}\sum_{i=1}^{n}\frac{x_i-\bar{x}}{s_x}\cdot\frac{y_i-\bar{y}}{s_y} = \frac{s_{xy}}{s_x s_y}\]

\(s_x\) と \(s_y\) は \(i\) によらない定数なので和の外に出せます。すると教科書でおなじみの「共分散 ÷ 標準偏差の積」が現れます。

ここが最大の勘所です。この式は割り算の公式ではなく、「単位を消してから共分散を取る」という手順の結果です。ここを取り違えると、なぜ −1 と 1 に挟まれるのかが永久にわかりません。

3-5 なぜ必ず −1 以上 1 以下になるのか

標準化した値には、定義からこの性質があります(標準偏差が 1 なので、その2乗の和が \(n\) になる)。

\[\sum_{i=1}^{n}\bigl(z_i^{(x)}\bigr)^2 = n, \qquad \sum_{i=1}^{n}\bigl(z_i^{(y)}\bigr)^2 = n\]

実数の2乗は負になりません。だからどんなデータでも次が成り立ちます。

\[\sum_{i=1}^{n}\bigl(z_i^{(x)}-z_i^{(y)}\bigr)^2 \ge 0\]

左辺を展開すると \(n-2nr+n \ge 0\)、つまり \(r \le 1\)。同じことを \(\bigl(z_i^{(x)}+z_i^{(y)}\bigr)^2\) でやれば \(n+2nr+n \ge 0\) から \(r \ge -1\)。これで \(-1 \le r \le 1\) が証明できました。中学生でも追える計算です。

さらに等号が成立するのは \(\sum\bigl(z_i^{(x)}-z_i^{(y)}\bigr)^2 = 0\)、すなわちすべての \(i\) で \(z_i^{(x)} = z_i^{(y)}\) のときだけ。これは全部の点が1本の直線に乗っていることを意味します。つまり \(r=1\) は「完全な正の相関」というより「完全に直線上」なのです。

この議論はコーシー・シュワルツの不等式と呼ばれるものと同じです。\(z^{(x)}, z^{(y)}\) を \(n\) 次元の2本のベクトル \(\vec{u}, \vec{v}\) と見ると、どちらも長さが \(\sqrt{n}\) で、相関係数は内積を長さの積で割ったもの ── 2本のベクトルのなす角の余弦そのものです。

\[r = \frac{\vec{u}\cdot\vec{v}}{|\vec{u}|\,|\vec{v}|} = \cos\theta\]

余弦だから −1 以上 1 以下。\(r=0\) は「2本が直交している」ということになります。

3-6 相関係数が測れないもの

ここが本講で一番大事なところです。いま見たとおり、\(r\) が 1 に近いかどうかは「直線に乗っているかどうか」でしか決まりません。だから次のことが起きます。

(a) きれいな曲線でも \(r=0\) になる。 \(x = 1, 2, \ldots, 9\) に対して \(y=(x-5)^2\) とします。\(y\) は \(x\) で完全に決まっていて、これ以上ないほど強い関係があります。それでもこのデータの相関係数はちょうど 0 です(次の節で計算します)。左半分の負の傾きと右半分の正の傾きが打ち消し合うからです。「\(r=0\) だから関係がない」は誤りで、正しくは「直線的な関係がない」

文部科学省「情報Ⅰ」教員研修用教材 第4章にも「2変量間の関係は相関関係だけではなく,曲線的なパターンが当てはまることもある」と書かれています。

(b) \(r\) が同じでも散布図はまったく違いうる。 統計学者 F. J. Anscombe が1973年に示した4組のデータ(アンスコムの四重奏)は、平均も分散も相関係数も回帰直線もほぼ同じなのに、散布図の形がまるで違います。

(c) 外れ値ひとつで \(r\) は大きく動く。 データ数が少ないほど、外れ値1点の寄与が相対的に大きくなります。

3-7 情報Ⅰの教材は「共分散」を出さない

制度の話を一つ。文科省「情報Ⅰ」教員研修用教材 第4章のPDF全文を検索すると、「共分散」という語は1回も出てきません(2026年8月3日に全文検索して確認)。相関係数は表計算ソフトの CORREL 関数で求めるもの、として紹介されます。

つまり情報Ⅰの標準的な学び方では、式の中身を知らないまま関数で相関係数を出すことになっている。それでも共通テストは解けます。しかし情報Ⅱの主成分分析に進んだ瞬間、「分散共分散行列」「相関行列」が出てきて詰まる。私がこの講を厚く書く理由はそこにあります。

4. 手で確かめる

4-1 10人分のデータを手で計算する

私が作った練習用の架空データです。10人の「1週間の勉強時間 \(x\)(時間)」と「小テストの得点 \(y\)(点)」としましょう。

i x y x−x̄ y−ȳ (x−x̄)² (y−ȳ)²
1 2 52 −3 −8 24 9 64
2 3 54 −2 −6 12 4 36
3 3 56 −2 −4 8 4 16
4 4 57 −1 −3 3 1 9
5 4 63 −1 3 −3 1 9
6 6 60 1 0 0 1 0
7 6 60 1 0 0 1 0
8 6 64 1 4 4 1 16
9 8 66 3 6 18 9 36
10 8 68 3 8 24 9 64
50 600 0 0 90 40 250

合計欄だけ見れば答えは出ます。\(\bar{x}=5\)、\(\bar{y}=60\)。共分散 \(s_{xy}=90/10=9\)。\(x\) の分散 \(=40/10=4\) なので \(s_x=2\)。\(y\) の分散 \(=250/10=25\) なので \(s_y=5\)。したがって

\[r = \frac{9}{2 \times 5} = 0.9\]
0246810505560657075(1) r = 0.90x(勉強時間・時間)y(得点)0246810051015(2) r = 0.00xy

図1 左:上の10人分のデータ(\(r=0.9\))。右:\(y=(x-5)^2\) のデータ(\(r=0\))。右は完全に \(y\) が \(x\) で決まっているのに相関係数は 0 になる。

4-2 単位を変えても r は動かない

\(x\) を分に直し(60倍)、\(y\) を「2倍して50を足す」変換にかけてみます。共分散は 9 から 1080 へ(120倍)跳ね上がりますが、標準偏差も \(s_x=120\)、\(s_y=10\) になるので、\(r = 1080/(120 \times 10) = 0.9\)。共分散は単位に振り回されるが、相関係数は振り回されない。これが標準化の効果です。

4-3 標準化してから積の平均を取っても同じ

\(z\) 値はこうなります。\(z^{(x)}\) は −1.5, −1.0, −1.0, −0.5, −0.5, 0.5, 0.5, 0.5, 1.5, 1.5。\(z^{(y)}\) は −1.6, −1.2, −0.8, −0.6, 0.6, 0.0, 0.0, 0.8, 1.2, 1.6。積の和は 2.4+1.2+0.8+0.3−0.3+0+0+0.4+1.8+2.4 = 9.0 で、10 で割ると 0.9。3-4 の式のとおりです。

3-5 の不等式も確かめられます。\(\sum(z_i^{(x)}-z_i^{(y)})^2 = 2n(1-r) = 20 \times 0.1 = 2\)。実際に計算しても 2 になります。\(r\) が 1 に近いほどこの値は 0 に近づく ── 2本のベクトルが重なっていくわけです。

4-4 Python で検算する

手計算を信用しないのがデータ分析の作法です。実際に走らせて確かめます。

import math
from statistics import mean, pstdev
x = [2, 3, 3, 4, 4, 6, 6, 6, 8, 8]
y = [52, 54, 56, 57, 63, 60, 60, 64, 66, 68]
def cov(a, b):
    ma, mb = mean(a), mean(b)
    return sum((p - ma) * (q - mb) for p, q in zip(a, b)) / len(a)
def corr(a, b):
    return cov(a, b) / (pstdev(a) * pstdev(b))
print("mean x =", mean(x), " mean y =", mean(y))
print("sd x =", pstdev(x), " sd y =", pstdev(y))
print("cov =", cov(x, y))
print("r =", corr(x, y))
x2 = [v * 60 for v in x]
y2 = [v * 2 + 50 for v in y]
print("cov after unit change =", cov(x2, y2))
print("r after unit change =", corr(x2, y2))
zx = [(v - mean(x)) / pstdev(x) for v in x]
zy = [(v - mean(y)) / pstdev(y) for v in y]
print("mean of z products =", sum(p * q for p, q in zip(zx, zy)) / len(x))
px = list(range(1, 10))
py = [(v - 5) ** 2 for v in px]
print("r of parabola =", corr(px, py))

実行結果です(2026年8月3日、Python 3.9.6 で実行)。

mean x = 5  mean y = 60
sd x = 2.0  sd y = 5.0
cov = 9.0
r = 0.9
cov after unit change = 1080.0
r after unit change = 0.9
mean of z products = 0.9
r of parabola = 0.0

手計算と完全に一致しました。最後の行が 3-6 (a) の放物線です。\(y\) が \(x\) で完全に決まっているのに \(r=0\)。

4-5 アンスコムの四重奏 ── 散布図を見ずに r だけ見る危険

下の4枚は、平均・分散・相関係数・回帰直線がほぼ同じ4組のデータの散布図です。私が独立に再計算したところ、4組とも \(\bar{x}=9.00\)、\(\bar{y}=7.50\)、\(x\) の分散 10.00、\(y\) の分散 3.75、\(r=0.816\)、回帰直線 \(y=0.500x+3.00\) でぴたりとそろいました。

481216204681012データ I r = 0.816xy481216204681012データ II r = 0.816xy481216204681012データ III r = 0.816xy481216204681012データ IV r = 0.816xy

図2 アンスコムの四重奏。破線はいずれも同じ回帰直線 \(y=0.500x+3.00\)。Iはまともな直線関係、IIは放物線、IIIは完全な直線に外れ値1点、IVは \(x\) がほぼ1点に固まって外れ値1点。相関係数はどれも 0.816。

数値だけを見て「同じデータだ」と判断してはいけません。相関係数を報告するときは必ず散布図とセットにする ── これが統計を扱う人間の最低限の作法です。

4-6 本物のデータで練習する

架空データで手順を覚えたら、一次データで試すのが一番です。文科省の「情報Ⅰ」教員研修用教材が実際に使っているのは、政府統計の総合窓口 e-Stat にある体力・運動能力調査のデータです。

政府統計の総合窓口 e-Stat / 体力・運動能力調査(テスト項目の年次推移)

同教材はここで重要な注意をしています。年度ごとに集計された時系列データには「時間推移に伴うトレンド要因(例えば,その期間に全般的に体力や運動能力そのものが低下傾向にあるなど)が交絡因子として,項目に対して共通に関係する場合もあり,単純に散布図や相関係数から項目同士の直接的な関係と一概に判断するのは誤りである」。同じ相関係数でも、一人ひとりのデータ(個票)と時系列データでは意味が違うのです。

5. 共通テストではこう出る(重要度 S)

第4問のデータ分析は毎年出ます。相関係数はその中核です。頻出パターンは4つに整理できます。

型1:散布図から \(r\) の符号とおおよその大きさを読む。右上がりなら正、右下がりなら負。点が直線の近くに集まるほど絶対値が 1 に近い。選択肢の \(r\) の値と散布図を対応させる形式が定番です。ここで「\(r=1.2\)」のような範囲外の値が混ざった選択肢は即座に切れます。3-5 を理解していれば一瞬です。

型2:相関と因果の混同を突く。「相関がある=原因である」と書かれた選択肢は誤りです。第3の変数(交絡因子)が両方に効いている可能性がある。学習指導要領解説 情報編には、情報Ⅰ(4)で「相関関係や因果関係などのデータの関係性,調べようとするもの以外で結果に影響を与えている原因である交絡因子」を扱うと明記されており、交絡因子は情報Ⅱではなく情報Ⅰの範囲です。ここは次の第87講でじっくり扱います。

型3:外れ値の影響を問う。「この1点を除くと相関係数はどう変わるか」という問い。散布図で直線の傾向から大きく離れた点を探し、それが \(r\) を押し上げていたのか押し下げていたのかを判断します。図2のIIIとIVがまさにその練習台です。

型4:複数の散布図(散布図行列)から変数の組合せを選ぶ。教員研修用教材にも散布図行列・相関係数行列が出てきます。行と列の見出しを取り違えないことが要点です。

2026年度(令和8年度)本試験の第4問は、気象庁のオープンデータを使った桜の開花日の予測が題材でした。情報処理学会の学会誌「情報処理」に載った大橋真也氏(順天堂大学)の分析によれば、緯度と開花差の散布図を読み、2つの相関係数の大小を比べてどちらの法則が当てはまりがよいかを判断させ、さらに回帰直線による補正を経て、残差をもとに新しい変数(氷点下日数)を加えて予測を改良していく構成でした。同氏はこれを「通常の手法とは異なるが,重回帰の考え方である」と評しています(2026年2月27日公開)。

つまり共通テストの側から、すでに情報Ⅱの重回帰の考え方が顔を出しているということです。相関係数を「CORREL 関数で出る数」としてしか知らない受験生は、この誘導に乗れません。

6. 情報Ⅱではこうなる

6-1 学習13:説明変数を増やす(重回帰分析)

文科省「情報Ⅱ」教員研修用教材 第3章「情報とデータサイエンス」は8つの学習で構成され、そのうち学習13が「重回帰分析とモデルの決定」学習14が「主成分分析による次元削減」です。

この学習13が面白いのは、情報Ⅰの教材の続きから始まることです。教材にはこう書かれています ──「『情報Ⅰ』教員研修用教材の187ページの演習2では,高校生の体力測定データを使って,『50m走のタイム(Y)』の予測式を『立ち幅跳び(X)』を説明変数として,表計算ソフトの『散布図』上で求めている」。

情報Ⅰ側ではこの単回帰の寄与率が 45% でした。情報Ⅱではここに「ハンドボール投げ」「握力得点」「上体起こし」を加えて説明変数を4つにします。すると寄与率は 52.5%(統計ソフト R の出力で Multiple R-squared: 0.5249)まで上がる。教材は R のコードと出力をそのまま載せています。

そして情報Ⅰの \(r\) と情報Ⅱの評価指標をつなぐ、決定的な一文があります。

予測値と実際の観測値との相関係数を重相関係数という。重相関係数は,0から1の間の値をとる。単回帰分析の場合,重相関係数はXとYの相関係数rの絶対値と等しくなる。

つまり情報Ⅰで習う \(r\) は、情報Ⅱの重相関係数 \(R\) の特殊な場合(説明変数が1本のとき)なのです。散布図1枚の話が、そのまま多変数の話に接続しています。

6-2 学習14:相関の強い変数をまとめる(主成分分析)

情報Ⅰでは2変数の関係を見ます。変数が8個、10個と増えると散布図行列はマス目だらけになり、人間の目では追えません。そこで情報Ⅱでは逆の発想をします。相関が強い変数どうしは同じことを言っているのだから、まとめて1本にしてしまえばよい。これが主成分分析です。

主成分分析を使えば,このような多変量(高次元)のデータに対して,変数の間の共分散や相関の強い変数同士をまとめて,個々の対象の違いを最も大きくするような主成分と呼ばれる新しい特徴量(変数)を作成することができる。

ここで相関係数はもう一度顔を出します。主成分と元の変数との相関係数を主成分負荷量(因子負荷量)といい、これを見て「この主成分は何を表しているのか」を解釈します。教材自身が「相関係数は『数学Ⅰ』の『データの分析』の単元で学習しているので,生徒には分かりやすい指標である」と書いています。

教材の実例は、日本野球機構の2017年シーズンで規定打席に達した55選手の打撃成績です。打率・得点数・安打数・二塁打数・三塁打数・本塁打数・打点数・盗塁数の8変数を、相関行列に基づく主成分分析にかける。第2主成分までの累積寄与率は約70%強。第1主成分(寄与率約40%)は係数がすべて同じ符号なので「総合活躍度」、第2主成分(約30%)は係数の符号の対比から「長打力タイプか走力タイプか」という打撃スタイルの軸だと解釈されています。8次元が2次元になり、55人の選手を1枚の散布図に置けるようになるわけです。

6-3 接続の核心 ── 標準化がもう一度出てくる

本講で最も強調したいのはここです。主成分分析には「分散共分散行列を使う方式」と「相関行列を使う方式」の2つがあり、教材はこう指示しています。

単位が異なる複数の変数を扱う場合は,②の基準化を行い,単位をそろえる必要がある。

そして、平均からの偏差データに基づく主成分分析=分散共分散行列の固有値分解、基準化(標準化)データに基づく主成分分析=相関行列の固有値分解、と対応づけています。体力測定のデータは変数の単位が異なるので相関行列に基づく分析を行う、とも書かれています。

これは第3節でやったことの、そっくりそのままの繰り返しです。

・情報Ⅰ:共分散は単位に依存する → 標準化して単位を消す → 相関係数

・情報Ⅱ:分散共分散行列は単位に依存する → 標準化して単位を消す → 相関行列

相関係数を「共分散を標準偏差の積で割る公式」として暗記した人には、この対応は絶対に見えません。「単位を消すために標準化する」という動機として理解した人にとって、相関行列は相関係数を並べ直したものにしか見えない。私が原理から書く理由はここにあります。

なお学習指導要領解説 情報編は、情報Ⅱ(3)について「回帰に関しては,重回帰分析などについて扱い」と述べ、さらに「3変量以上のデータに関して,複数の散布図などを作成し(中略)データを説明する変数を減らしたり,変数を減らすことによって,どのような利点があるかについて考察する活動」も挙げています。次元削減は制度上も情報Ⅱ側の内容です。

7. この講のまとめ

・共分散は単位を持つ量なので、そのままでは関係の強さを測れない。各変数を標準化して単位を消したものが相関係数である。

・\(\sum(z^{(x)}-z^{(y)})^2 \ge 0\) から \(-1 \le r \le 1\) が出る。等号は全点が直線上にあるときだけ。相関係数は標準化した2本のベクトルのなす角の余弦である。

・\(r\) が測るのは直線的な関係の強さだけ。放物線でも \(r=0\) になり、\(r\) が同じでも散布図はまるで違いうる(アンスコムの四重奏)。必ず散布図とセットで見る。

・情報Ⅱでは \(r\) は重相関係数へ一般化され、相関の強い変数をまとめる主成分分析(次元削減)へ発展する。そこでも「単位をそろえるために標準化する」という同じ動機が繰り返される。

参考にした一次資料(すべて2026年8月3日取得)

アンスコムの四重奏は F. J. Anscombe, “Graphs in Statistical Analysis”, The American Statistician, 27(1), 17–21 (1973) として知られるものです。本稿の数値は配布されているデータセットを取得し、私が独立に再計算したものです。

執筆者:藤原進之介(数強塾 代表)

数強塾 代表。東進ハイスクール・東進衛星予備校・代々木ゼミナールなど出講実績あり。累計3,500名以上の中高一貫校生を指導。情報Ⅰの参考書を複数執筆しています。本連載『藤原進之介の最強120講義』は、情報Ⅰの各項目を情報Ⅱの内容まで引き上げて解説する全120講のシリーズです。

「公式は言えるけれど、なぜそうなるのかは説明できない」を卒業しませんか。

数強塾では、数学と情報Ⅰを原理から積み上げる個別指導を行っています。学習相談は無料、体験授業は3,000円(税込)です。

数強塾の詳細を見る

情報Ⅰ・情報Ⅱの勉強で詰まっていませんか

この記事を書いているのは、情報Ⅰ専門のオンライン個別指導「情報ラボ」(数強塾グループ)です。講義も過去問も無料で公開しているので、まず全部使ってみてください。

情報Ⅰについて相談する(無料)体験授業(3,000円)

お問い合わせの際は、内容欄に「情報Ⅰ希望」とご記入ください。担当者が直接お返事します。

数強塾オンラインのご案内

体験授業に申し込む入塾受け入れ状況(残席)数学つまずき診断(無料)体験授業の事前案内保護者の方へ高1・高2の方へ医学部志望の方へ保護者様からの声料金・指導システム指導事例・合格実績大学受験 合格実績(集計ルール開示)数強塾グループの理念学校別の数学対策数学の勉強法(記事一覧)数強塾プレミアム(映像授業)獣医学部専門コース鉄緑会・SAPIX等との併用サポート過去問解説・数学問題集情報Ⅰ・情報Ⅱ専門「情報ラボ」情報の過去問アーカイブ(無料PDF)解法テクニック事典(公式・裏ワザ)入試数学の定石(解き方の型・全27章)数学の要点辞典まとめ(中1〜数学III)中1数学の要点辞典(全7単元)中2数学の要点辞典(全6単元)中3数学の要点辞典(全8単元)数学I・Aの要点辞典(全9単元)数学II・B・Cの要点辞典(全12単元)数学IIIの要点辞典(全7単元)論理と証明の要点辞典(全8章)2026年 夏期講習会2026年 冬期講習会代表・藤原進之介について