平均(算術平均, mean)は、データの「中心」を表す代表値の中で最も基本的な指標である。全ての値を足して個数で割るというシンプルな計算式ながら、確率論の期待値・最小二乗推定・大数の法則・中心極限定理など、統計学のほぼ全ての領域で土台として登場する。後から学ぶ 分散 ・ 標準偏差 ・ 相関係数 も内部で平均を使っており、平均を理解することは統計を理解することと言い換えてもよいと考えられる。
- 標本平均:
x_bar = (x1 + x2 + ... + xn) / n - 母平均:
mu = E[X]
ここで X は「確率変数」(値がランダムに決まると考える対象)で、E[X] はその期待値(平均値)を表す。mu は母平均、x_bar は実際に手元のデータから計算する標本平均を意味する。
平均は直感的で計算も軽いが、外れ値に引っ張られやすいという弱点を持つ。中央値 との対比でいうと、平均は「値の重心」を見る指標(全ての値を平等に扱う)、中央値は「順位の中心」を見る指標(順位だけ見て値の大小は無視)という違いがある。右に長い分布(給与・取引金額など)では平均が右側に引きずられるため、典型値を見るなら中央値の方が素直という場面が多くある。
平均の数学的特徴付け
平均には「データを 1 つの代表値で要約するときの最適解」という数学的な性質がある。具体的には、
mu = argmin_c E[(X - c)^2]
これは「平均は L2 損失(二乗誤差)を最小にする点」という言い方ができる。対応する関係として、中央値 は L1 損失(絶対誤差)を最小にする点である。この対比は機械学習の損失関数選びにも直結する: MSE(Mean Squared Error)損失で回帰すると平均的な振る舞いを当てに行き、MAE(Mean Absolute Error)損失で回帰すると中央値的な振る舞いを当てに行く。
幾何学的には、平均は「データ点群の重心」と等しい。各点が等しい質量を持つと考えたときの物理的な重心が平均、というイメージで、これが「外れ値が遠くにあると重心が引きずられる」直感を支えている。
前提・注意
- データは数値であることが前提
- 外れ値の影響を強く受ける
- 分布が歪んでいる場合、中心の代表としてズレることがある
利点
欠点
- 外れ値に弱い
- 分布の形(歪みや多峰性)は反映しにくい
Python での実例
以下は、平均と中央値の違いを可視化する簡単な例。右に長い分布では平均が右側へ引っ張られる。
import numpy as np
import matplotlib.pyplot as plt
rng = np.random.default_rng(0)
values = rng.lognormal(mean=1.0, sigma=0.7, size=500)
mean = values.mean()
median = np.median(values)
plt.figure(figsize=(6, 4))
plt.hist(values, bins=30, color="#7aa6c2", edgecolor="white")
plt.axvline(mean, color="#e15759", linestyle="--", linewidth=2, label="mean")
plt.axvline(median, color="#59a14f", linestyle="--", linewidth=2, label="median")
plt.title("Mean vs Median")
plt.xlabel("Value")
plt.ylabel("Count")
plt.legend()
plt.tight_layout()
plt.show()
出力:
数学での使いどころ
数学・統計では平均は以下で使われ、ほぼ全ての基礎指標が平均を内部で使う構造になっている。
- 期待値
E[X]としての中心(確率論の最も基本的な量) - 分散 の定義
Var(X) = E[(X - mu)^2]の中のmu - 標準偏差 の zスコア
(x - mu) / sigma - 相関係数 の共分散
Cov(X, Y) = E[(X - mu_x)(Y - mu_y)] - 大数の法則(標本平均は母平均に確率収束する)
- 中心極限定理(標本平均の分布は正規分布に近づく、ばらつきは
sigma^2 / n) - L2 損失(二乗誤差)の最小化点という最適性
- 最小二乗推定の解(線形回帰の係数推定)
数学的には、平均は「値の重心」を表すと解釈できる。物理での重心、確率での期待値、最適化での L2 損失最小化、これらが全て同じ「平均」という量に集約される構造を持っている。
機械学習での使いどころ
機械学習では平均は前処理・最適化・評価のあらゆる場面で頻出する。
- 特徴量のセンタリング(平均との差を取って平均 0 に揃える)
- 標準化: 平均 0・分散 1 に揃える前処理
- 欠損値の平均補完(外れ値が少ない数値特徴量で標準的)
- ミニバッチの平均勾配: SGD やニューラルネットワークの最適化はミニバッチごとの平均勾配で更新する
- 損失関数の構成: MSE(Mean Squared Error)、Cross Entropy など、ほぼ全ての損失関数はサンプルごとの誤差の平均
- アンサンブル予測: RandomForest の回帰や 勾配ブースティング の予測値は内部で平均を取る
- 交差検証 のスコア集約: 各 fold のスコアを平均して 1 つの推定値にする
- A/B テスト: 群間の平均比較が基本
具体的な利用例:
- ニューラルネットワークのバッチ正規化(BatchNorm)はミニバッチ内の平均と分散を使う
- レコメンドでのユーザー嗜好の代表値
- 画像処理での画素値の平均減算(ImageNet 平均など)