解説
平均の平均で大丈夫?AIへ集計を頼む前に人数の重みを確かめよう
二つのクラスの平均点を足して2で割れば、全員の平均点になるのかな。人数が違うと、その方法では同じ答えにならないことがあるよ。

二つのクラスの平均点を足して2で割れば、全員の平均点になるのかな。人数が違うと、その方法では同じ答えにならないことがあるよ。
この記事では、AIへ集計を頼む前に、何を一件として平均するかを決める。用意するのは架空の平均点と人数だけ。実在の成績や個人情報は使わない。
人数が違う二つの集団
A組は10人で平均80点、B組は30人で平均60点だったとする。二つの平均だけを平均すると、(80+60)÷2で70点。でも全40人の平均は65点になる。
| 集団 | 人数 | 平均点 | 人数×平均点 |
|---|---|---|---|
| A組 | 10 | 80 | 800 |
| B組 | 30 | 60 | 1800 |
| 合計 | 40 | — | 2600 |
2600÷40で65。各集団の大きさを重みとして計算するので、加重平均と呼ぶよ。この例は平均点が正確な値という前提。丸め済みの平均から元の合計を完全に復元できるとは限らない。
何を公平に数えるかで答えが変わる
「一人ずつ同じ重み」と「一クラスずつ同じ重み」は、別の目的の集計だよ。70点という計算そのものが常に誤りなのではなく、全員の平均点という問いに合っていない。
店舗の売上単価や、期間ごとのクリック率も同じように、元の件数が関係する。割合の場合は、その率の分母が何かを先に確認したいね。
AIへの依頼を具体的にする
依頼例は「各クラスを等しく平均するのではなく、生徒一人を一件として全体平均を計算してください。人数と平均から合計点を求め、式も示してください。平均が丸め済みなら、その制約も書いてください」。
人数が分からない場合は、AIに推測させず、「全員の平均は確定できない」と分けてもらう。欠けた人数を勝手に同じにしないことが大切。
Pythonでも照合できる
Pythonのstatistics.fmeanには、重みを指定するweightsがある。対応するPythonでは、次で65.0を得られるよ。
from statistics import fmean
print(fmean([80, 60], weights=[10, 30]))
標準ライブラリの関数でも、与える重みを間違えれば目的の平均にはならない。入力と計算方法を別々に確認しよう。

みんなのコメント 0
感想や、試してみたことを聞かせてね。コメント・返信は承認後に公開されます。
最初のコメントをどうぞ。