- 平均値・中央値・最頻値は「どれが正しいか」ではなく、それぞれ何を最小にしている点なのかが違う
- 平均は「ズレの二乗の和」、中央値は「ズレの絶対値の和」、最頻値は「外す回数」を最小にする
- だから平均は距離で動き、中央値は個数でしか動かない。外れ値への強さの差はここから出る
- 情報Ⅱでは、平均は欠損値の穴埋め・標準化の原点・k-means法の代表点としてアルゴリズムの部品になる
こんにちは、数強塾代表の藤原進之介です。『藤原進之介の最強120講義』の第83講は「代表値」です。平均・中央値・最頻値。この3つは中学までに一度習っているので、多くの受験生が「もう知っている」と思って通り過ぎます。しかし共通テストの情報Ⅰでデータ分析は毎年出題され、そこで問われているのは3つの定義ではなく、3つが何を測っているのかの違いです。
そして、この違いを説明している参考書はほとんどありません。私はここを本講の主戦場にします。読み終えたときには「なぜ年収は平均より中央値で語るべきなのか」を、暗記ではなく式で言えるようになっているはずです。
1. この講の問い
【問い】平均値・中央値・最頻値の3つは、それぞれ「何を最小にする点」なのか。そして、その違いはなぜ外れ値への強さの差になるのか。
2. 結論
【結論】平均値は偏差の二乗の和を、中央値は偏差の絶対値の和を、最頻値は外す回数を最小にする点です。二乗はズレを増幅し、絶対値は増幅しません。だから平均は遠い1点に引っ張られ、中央値は引っ張られない。所得や地価のように右へ長い裾を引く分布では、必ず「平均値 > 中央値」になります。
3. なぜそうなるのか
3-1. 代表値は「損失の測り方」を決めた瞬間に1つに決まる
個のデータ を、たった1つの数 で代表させることを考えます。当然ズレます。そのズレをどう測るか、つまり損失関数をどう決めるかを先に決めれば、損失を最小にする は自動的に1つに決まります。
| ズレの測り方 | 損失関数 | 最小にする |
|---|---|---|
| ズレの二乗を足す | 平均値 | |
| ズレの絶対値を足す | 中央値 | |
| 外れていたら1を足す | 最頻値 |
つまり「3つのうちどれが正しいか」という問いは、そもそも立ちません。何を損失と見なすかを決めた時点で、代表値は選ばれています。 3つの代表値は3つの価値観であって、3つの近似ではないのです。
3-2. 平均が二乗和を最小にすること
を展開します。
についての2次関数で、 の係数 は正ですから下に凸。頂点は 、すなわち平均値です。微分しても同じです。
この式の副産物が 、つまり平均は「偏差の合計がちょうど0になる点」です。てんびんの支点にたとえられるのは、この性質のことでした。
3-3. 中央値が絶対偏差の和を最小にすること(数えるだけで分かります)
について、 をほんの少し(正の数 だけ)右へ動かしてみます。
- より左にあるデータ( 個)との距離は、それぞれ 増える →
- より右にあるデータ( 個)との距離は、それぞれ 減る →
合計の変化は 。したがって は、左にあるデータの個数と右にあるデータの個数が釣り合う位置で下げ止まります。 これは中央値の定義そのものです。
ここが本講の急所です。 の増減は「何個左にあるか」だけで決まり、「どれくらい離れているか」は一切効きません。 一方 には距離がそのまま入ります。だから、いちばん大きい値が 100 から 10000 に化けても中央値は1ミリも動かないのに、平均は大きく動く。「外れ値に強い/弱い」は性格の話ではなく、微分の形の違いなのです。
3-4. 最頻値だけが引き算を使わない
最頻値が最小にするのは「 と一致しなかったデータの個数」です。これを最小にするには、 を最も多く現れた値に置くしかありません。
重要なのは、この損失だけが引き算を使っていないことです。名義尺度(好きな教科、血液型、都道府県)は引き算に意味がないので、二乗和も絶対値和も定義できません。使えるのは「一致するかどうか」だけ。「好きな教科の平均」は計算できないのに「好きな教科の最頻値」は出せるのは、このためです。
文部科学省「情報Ⅰ」教員研修用教材 第4章 学習22 は、尺度と分析の方法が合っていない例の筆頭に「数字で入力されている名義尺度のデータについて平均を計算してしまう」を挙げています。代表値の選択は、尺度水準の選択と一体です。
3-5. なぜ所得や地価は「平均 > 中央値」になるのか
所得には「下に壁があり、上に壁がない」という非対称があります。0を下回ることはまずありませんが、上には青天井です。この非対称は必ず、右へ長く伸びる裾を作ります。
図1 右に裾を引く分布の模式図(実データの縮尺ではありません)
裾の側の少数のデータは、中心から遠い。二乗和では距離がそのまま効くので、平均はその方向へ引っ張られます。絶対値和は個数でしか動かないので、中央値は動きません。結果として平均値 > 中央値になります。
実データで確かめましょう。厚生労働省「2024(令和6)年 国民生活基礎調査の概況」によれば、2023(令和5)年の1年間の所得について、次のとおりです。
| 1世帯当たり平均所得金額 | 536万円 |
|---|---|
| 中央値 | 410万円 |
| 平均所得金額以下の世帯の割合 | 61.9% |
| 相対度数が最も高い階級 | 「100〜200万円未満」と「200〜300万円未満」が並んで14.4%(次いで300〜400万円未満が13.1%) |
平均は中央値の約1.31倍()、差は126万円。そして世帯の約6割が「平均以下」です。左右対称な分布なら平均以下はおよそ50%になるはずですから、61.9%という数字そのものが「この分布は右に歪んでいる」という証拠になっています。
同じデータから、平均536万円・中央値410万円・最頻階級100〜300万円という3つの「日本の姿」が出てきます。どれも嘘ではありません。だからこそ、どれを見せるかで印象が変わる。「平均年収」という言葉が独り歩きする理由が、ここにあります。
3-6. 「平均値だけ示す」記事の読み方
平均値しか書かれていない数字を見たとき、私は次の3つを確認します。
- 中央値が併記されているか。 なければ、分布の形が隠されている(あるいは書き手が形を見ていない)
- 平均以下の割合が書いてあるか。 対称に近ければ約50%。大きくずれるほど右に歪んでいる
- 何を数えた平均か。 分母は世帯か、人か、企業か。国民生活基礎調査の「所得」は世帯単位です
おまけの罠:平均の平均は平均ではありません。 10人・平均60点のクラスAと、30人・平均80点のクラスBを合わせた全体の平均は 点であって、 点ではありません。人数が違うときは加重平均を取ります。平均が「偏差の合計を0にする点」だと理解していれば、支点はデータの多い側に寄ると分かります。
4. 手で確かめる
4-1. 小さいデータで3つを出す
データ(すでに小さい順):2, 3, 3, 4, 4, 4, 5, 5, 6, 8()
- 合計 44 → 平均値 4.4
- は偶数なので5番目と6番目の平均 → 中央値 4
- 4 が3回で最多 → 最頻値 4
3つともほぼ一致します。分布がほぼ左右対称だからです。
4-2. 外れ値を1つ足すと何が起きるか
同じデータに 100 をひとつだけ追加します(、合計 144)。
| 代表値 | 追加前 | 追加後 |
|---|---|---|
| 平均値 | 4.4 | 13.09() |
| 中央値 | 4 | 4(6番目の値。不変) |
| 最頻値 | 4 | 4(不変) |
平均は約3倍に跳ね上がり、中央値と最頻値はぴくりとも動きません。さらに劇的なのは次の事実です。
- 追加前:平均を上回るデータは 10個中 4個
- 追加後:平均を上回るデータは 11個中 1個
「平均を超えている人が11人に1人しかいない」平均が誕生しました。これが「平均年収」で起きていることの縮図です。
4-3. 何を最小にしているかを総当たりで確かめる
データ:1, 2, 4, 7, 11(平均 、中央値 4)
| 3 | 86 | 16 |
| 4 | 71 | 15 ← 最小(中央値) |
| 5 | 66 ← 最小(平均値) | 16 |
| 6 | 71 | 17 |
0.1刻みで総当たりしても最小点は動きません(二乗和の最小は で 66、絶対値和の最小は で 15)。
4-4. Pythonで検算する
Python の標準ライブラリ statistics だけで確かめられます。以下は私が実際に実行したコードです。
import statistics as st
data = [2, 3, 3, 4, 4, 4, 5, 5, 6, 8]
print("平均値", st.mean(data))
print("中央値", st.median(data))
print("最頻値", st.multimode(data))
data2 = data + [100]
print("平均値", round(st.mean(data2), 2))
print("中央値", st.median(data2))
print("最頻値", st.multimode(data2))
x = [1, 2, 4, 7, 11]
for c in range(3, 7):
s2 = sum((v - c) ** 2 for v in x)
s1 = sum(abs(v - c) for v in x)
print(c, s2, s1)
実行結果は次のとおりです。
平均値 4.4
中央値 4.0
最頻値 [4]
平均値 13.09
中央値 4
最頻値 [4]
3 86 16
4 71 15
5 66 16
6 71 17
注意:statistics.multimode() はリストを返します。最頻値は複数あり得るからです(複数あるとき statistics.mode() は最初の1つだけを返します)。
4-5. 偶数個のときの中央値は「点」ではなく「区間」
データ 1, 2, 4, 7()で絶対値和を計算すると、 が 2以上4以下ならどこでも値は 8 で一定になります(これも実際に計算して確かめました)。つまり絶対偏差の和を最小にする点は1つに定まりません。
「偶数個のときは真ん中2つの平均を取る」というルールは、この平らな区間の代表として中点を採用するという約束事であって、そこだけが特別に良いわけではありません。ここを知っていると、選択肢の吟味で迷わなくなります。
4-6. 度数分布表から3つを求める
ある40人の通学時間(分)の度数分布表です。
| 階級(分) | 階級値 | 度数 | 累積度数 | 相対度数 |
|---|---|---|---|---|
| 0以上10未満 | 5 | 4 | 4 | 0.10 |
| 10以上20未満 | 15 | 10 | 14 | 0.25 |
| 20以上30未満 | 25 | 14 | 28 | 0.35 |
| 30以上40未満 | 35 | 8 | 36 | 0.20 |
| 40以上50未満 | 45 | 4 | 40 | 0.10 |
| 計 | 40 | 1.00 |
図2 度数分布表をヒストグラムにしたもの(40人の通学時間)
平均値は「階級値 × 度数」の合計をデータの個数で割ります。
単位は分です。残りの2つは表を縦に読むだけで求まります。
- 中央値: なので20番目と21番目。累積度数が 4 → 14 → 28 と進むので、どちらも「20以上30未満」の階級に入ります
- 最頻値:度数が最大の階級(最頻階級)は「20以上30未満」。その階級値 25(分)を最頻値とします
文部科学省「情報Ⅰ」教員研修用教材 第4章 学習22 は、最頻値について「離散型データの場合は最頻値、連続型データの場合は階級を取った際の最大度数を示す最頻階級もしくはその階級値を指す」と明記しています。通学時間のような連続量では「最頻値=最頻階級の階級値」と読み替えるのが正しい扱いです。
もう1つ注意。度数分布表から出した平均 24.5分 は、生データから出した平均とは一致しません。 階級内のデータをすべて階級値に置き換えて計算しているからです。度数分布表の平均は近似値である、と覚えてください。
5. 共通テストではこう出る(重要度 S)
データ分析は共通テスト「情報Ⅰ」で毎年出題されます。代表値はその入口であり、単独で問われるより「読み取りの前提」として効いてきます。頻出パターンは4つに整理できます。
型1:分布の形から代表値の大小を読む
ヒストグラムや箱ひげ図を示し、「平均値と中央値の大小関係として正しいものを選べ」と問う型です。右に裾を引くなら平均値 > 中央値、左に裾を引くなら平均値 < 中央値、左右対称ならほぼ一致。暗記ではなく「平均は距離で動く、中央値は個数で動く」から導けるようにしておきましょう。裾のある側が距離を稼ぐ、だから平均が引っ張られる、という一本道です。
型2:外れ値の影響を問う
「あるデータを1つ追加(除外)したとき、値が変わらないものはどれか」という型。答えは中央値か最頻値というのが定番ですが、中央値も変わり得る点に注意が必要です。データの個数が奇数から偶数に変わると、中央値を計算する位置そのものが動くからです。
型3:度数分布表・ヒストグラムからの計算
階級値と度数から平均を求める型、累積度数から中央値の入る階級を特定する型、相対度数を扱う型。手順は 4-6 のとおりで、計算そのものは易しい。だからこそ落とすと差がつきます。
型4:尺度と代表値の対応
「このデータに対して求めても意味がない値はどれか」という型。名義尺度に平均を求める、順序尺度に平均を求める(「5段階評価の平均3.4」は厳密には怪しい)といった誤りを見抜かせます。3-4 で述べた「最頻値だけが引き算を使わない」という理解が、そのまま使えます。
引っかけの急所
「平均値がいちばん正確な代表値」ではない。 分布の形しだいで、最も誤解を招く値になります。
中央値は「真ん中の値」ではなく「順位が真ん中の値」。 値の範囲の中点(最大と最小の平均)と混同する誤答が非常に多い。
最頻値は複数あり得る。 「最頻値を1つ答えよ」が成立しない場合があります。
度数分布表から出した平均は近似値。 「生データの平均と一致する」は誤り。
偶数個の中央値は約束事。 データそのものに存在しない値になることがあります(1, 2, 4, 7 の中央値 3 はデータにありません)。
平均の平均は平均ではない。 人数の違うクラスの平均を単純平均してはいけません。
私が作った類題
① 3冊以上買った生徒が20人以上いる
② 1冊しか買わなかった生徒がいちばん多い
③ 40人の購入冊数の合計は 96冊 ちょうどである
④ 分布は左に裾を引いている
6. 情報Ⅱではこうなる
情報Ⅰにおける代表値は「データを要約して人に伝えるための値」です。情報Ⅱでは、代表値は「分析の前処理で使う道具」に変わります。読者に見せるための値から、機械に食わせる前にデータを整えるための値へ、役割が移るのです。
文部科学省「高等学校情報科『情報Ⅱ』教員研修用教材」第3章「情報とデータサイエンス」で、その現場を4か所たどってみましょう。
(1) 欠損値を「平均で埋める」という判断(学習12)
学習12「大量のデータの収集と整理・整形」は、環境省の大気汚染データを pandas で読み込み、欠損値の個数を数えたうえで、処理の選択肢を並べます。そこには「平均値で埋める」という1行が明示的に置かれています。
df5 = df.fillna(df.mean()) # 欠損値を平均値で埋める
同教材は「欠損値を無視するのがよいのか、除外するのがよいのか、それらしい値を用いるのがよいのかを検討する必要がある。この判断によってバイアスが生じることもあるため、慎重に扱う必要がある」と釘を刺しています。
ここで本講の「なぜ」が効きます。平均値で埋めると、その列の平均は変わらないのに、ばらつきは必ず小さくなります。 平均と同じ値、つまり偏差0のデータを人為的に増やしているのですから当然です。結果として分散も標準偏差も本来より小さく出る。その後で相関係数を計算すれば、相関は実際より強く見えます。「とりあえず平均で埋める」は、後段の結論を静かに歪める操作なのです。
中央値で埋めれば外れ値の影響は受けませんが、今度は平均がずれます。どちらを選ぶかは「そのあと何を最小化するのか」で決まる。情報Ⅰで3つの代表値の性格を掴んでいるかどうかが、そのまま情報Ⅱの前処理の判断力になります。
(2) 外れ値と異常値を呼び分ける(学習12)
同じ学習12は、外れ値をこう定義します。「データの中には、多くのデータからかけ離れた値である外れ値がある。外れ値の中でも原因を特定できるものを異常値という。」そして検出手段として、四分位範囲などの統計量、データ間の距離、そして学習16のクラスタリングを挙げ、「外れ値が有益なデータの可能性もあるため、その値がどのような原因や理由によって得られたかを考察することが必要である」と結んでいます。
情報Ⅰでは外れ値は「平均を狂わせる困ったやつ」ですが、情報Ⅱでは外れ値そのものが発見の対象になります。センサの故障なのか、本当に珍しい事象なのかを切り分ける作業が、分析の一部として位置づけられるのです。
(3) k-means法の代表点は「平均」である(学習16)
ここが本講と情報Ⅱの結節点です。第3章 学習16「クラスタリングによる分類」は、k-means法(k平均法)の手順をこう書いています。
- あらかじめ分割するクラスタ数を決めておき、ランダムに代表点(セントロイド)を決める
- データと各代表点の距離を求め、最も近い代表点のクラスタに分類する
- クラスタごとの平均を求め、新しい代表点とする
- 代表点の位置が変わっていたら2に戻る。変化がなければ分類終了
さらに、適切なクラスタ数を推定するエルボー法の説明では、縦軸に SSE(クラスタ内誤差の平方和) を取ります。
読み比べてください。代表点が「平均」で、評価指標が「平方和」。 これは本講 3-2 で示した「平均は二乗和を最小にする点」そのものです。k-means法という名前は、まさに「各クラスタで二乗和を最小にする点=平均(mean)を代表点に置くアルゴリズム」という意味なのです。
そして当然、k-means法は外れ値に弱い。 平均が外れ値に弱いという 3-3 の性質が、そのままアルゴリズムの弱点として遺伝します。1点の異常値が代表点を引っ張り、クラスタの形をゆがめる。これを避けるために事前の外れ値処理(学習12)が必要になる ── 学習12と学習16がリンクしている理由がここにあります。
(4) 「平均でそろえる」が距離計算の前提になる(学習14・学習16)
同じ学習16の実習では、e-Stat のデータを加工した「特定の財・サービスの1世帯当たり1か月間の支出」を地方別にクラスタリングします。そのとき教材はこう注意します。自動車費用は他の分類より地方間の差が大きく、そのままクラスタリングすると距離が自動車費用に支配されてしまう。だから先に基準化を行う、と。
from sklearn.preprocessing import StandardScaler
sc = StandardScaler()
sc.fit(df)
基準化(標準化)とは のこと。分子の中心に据えられているのが平均です。主成分分析を扱う学習14でも、合成変数を作る際の立場として「平均をそろえる(平均からの偏差にする)」と「平均と標準偏差の双方をそろえる(基準化・標準化する)」の2つが区別され、単位が異なる変数を扱う場合は後者が必要だと述べられています。
つまり、平均は情報Ⅱのほぼ全工程に埋め込まれています。 欠損値補完の値として、クラスタの代表点として、標準化の原点として。だからこそ「平均は二乗和を最小にする点であり、距離で動く」という理解が、情報Ⅱ全体の土台になります。
情報Ⅰと情報Ⅱの扱いの違い
| 情報Ⅰ | 情報Ⅱ | |
|---|---|---|
| 代表値の役割 | データを要約して伝える | 前処理・アルゴリズムの部品 |
| 平均の使われ方 | 集団の中心を示す | 欠損値補完・標準化の原点・k-meansの代表点 |
| 外れ値 | 平均を狂わせるもの | 検出・考察の対象(異常値と呼び分ける) |
| 道具 | 表計算ソフト・手計算 | Python(pandas / scikit-learn) |
| 到達点 | 分布の形を読む | 回帰・主成分分析・クラスタリングの前提を整える |
情報Ⅰで「平均・中央値・最頻値」を暗記で通過した人は、情報Ⅱの前処理で必ず同じ場所につまずきます。今日持ち帰るべきは3つの定義ではなく、「何を最小にしているか」という1つの問いです。
厚生労働省「2024(令和6)年 国民生活基礎調査の概況」Ⅱ 各種世帯の所得等の状況 https://www.mhlw.go.jp/toukei/saikin/hw/k-tyosa/k-tyosa24/dl/03.pdf / 政府統計の総合窓口(e-Stat)国民生活基礎調査「所得五分位値-中央値、年次別」 https://www.e-stat.go.jp/dbview?sid=0004021241 / 文部科学省「高等学校情報科『情報Ⅰ』教員研修用教材」第4章 情報通信ネットワークとデータの活用 https://www.mext.go.jp/content/20200722-mxt_jogai02-100013300_006.pdf / 文部科学省「高等学校情報科『情報Ⅱ』教員研修用教材」第3章 情報とデータサイエンス(前半) https://www.mext.go.jp/content/20200702-mxt_jogai01-000007843_004.pdf / 同(後半) https://www.mext.go.jp/content/20200609-mxt_jogai01-000007843_007.pdf / 総務省統計局「なるほど統計学園 データの散らばりを見る」 https://www.stat.go.jp/naruhodo/10_tokucho/chirabari.html
この記事を書いている講師に、直接習うことができます。
