コミュ障だから明日が僕らをよんだって返事もろくにしなかった

何かを創る人に憧れたからブログをはじめたんだと思うよ

平均は普通ということではないのですね

平均とはなんだろう

平均とは「観測値の総和を観測値の個数で割ったもの」である。すなわち、選ばれた結果をこねくり回して出した値なのだ。観測値ということなので別に母集団全部のデータから取ってくる必要はない。

さて、そんな話は置いときまして平均という英単語は"average"と"mean"の二種類の単語があるってご存じでしたか?"average"はみなさんご存じの平均です。合計から個数で割ったやつですね。"mean"は算術的平均を指します。違いは何かというと、"average"の方が"mean"も含めた大雑把な感じで使われる平均っぽいです。なので"average"には解釈に若干のゆとりが存在します。

その昔、大学生の24%が平均の意味を理解していない問題として以下のようなやつが物議をかもしていました。

第一ステージ(2題・5分)
1-1 ある中学校の三年生の生徒100人の身長を測り、その平均を計算すると163.5cmになりました。この結果から確実に正しいと言えることには◯を、そうでないものには☓を、記入してください

(1) 身長が163.5cmより高い生徒と低い生徒は、それぞれ50人ずついる。

こんな問題ですね。
先ほどの"average"って概念で平均を解釈すると○にするのも分かるんですよね。英英辞典だと平均値・中央値・最頻値のごちゃ混ぜみたいなこと書いてますし。


まあ、算数の問題なので言葉遊びで揚げ足とっても仕方ないんですけどね。


Numpyであそんでみる

はい、そうしたわけで平均についてまじめなことを書いて疲れたので僕が最近触っていたりいなかったりするNumpyの話をしようと思います。

公式
NumPy — NumPy

有識者(Wiki)曰く、次のようなものらしいです。

NumPyは、プログラミング言語Pythonにおいて数値計算を効率的に行うための拡張モジュールである。効率的な数値計算を行うための型付きの多次元配列(例えばベクトルや行列などを表現できる)のサポートをPythonに加えるとともに、それらを操作するための大規模な高水準の数学関数ライブラリを提供する

Python用の計算ライブラリって感じです。

で、その中に先ほど話したAverageとMeanの関数があるんですよね。関数としての計算は算術平均に同じですが、使われ方が微妙に違うっぽいです。

import numpy as np
print(np.mean([1, 2, 3]))     #2
print(np.average([1, 2, 3])) #2

まあ、こんな感じで普通に使うと結果は同じなんですけどね。