Python
機械学習
DeepLearning
数学
統計学

【プログラマーのための統計学】平均値の算出方法は1つじゃない

More than 1 year has passed since last update.

目次

プログラマーのための統計学 - 目次

関連記事

概要

平均値を算出するとき、一般的には、全ての値を足して、要素の数で割る、という方法を取ると思います。
しかし、平均値には他にも加重平均や幾何平均などの複数のものがあり、用途によって使い分けられます。
一般的によく知られている、合計を要素数で割るという方法は、算術平均といいます。

  • 平均値の種類
    • 算術平均
    • 加重平均
    • 幾何平均 (相乗平均)
    • 調和平均

以下にて、全ての算出方法を説明していきます。

算術平均

一般的によく知られている、値を全て足して、データ数で割ったものです。

\bar{x}=\frac{x_1+x_2+x_3+・・・+x_n}{n}

度数分布表から平均値を出す場合は、階級値(代表値)と度数を使います。
それぞれの値を以下のように定義すると、

  • k 階級の数
  • m 階級値
  • f 度数

下記の式で、度数分布表の平均値を出すことができます。

\frac{\sum_{i=1}^{k}m_if_i}{\sum_{i=1}^{k}f_i} = \frac{m_1f_1 + m_2f_2 + ・・・ + m_kf_k}{f_1 + f_2 + ・・・ f_k}

加重平均

データの重み付けを加味して平均値を算出する方法です。
例えば、データ数が100の平均値と、データ数が10の平均値の2つから、平均を出す場合、単純に算術平均を使っても、正しい平均値にはなりません。
このような場合に、データの個数を考慮して、平均値を算出する必要があります。

以下のように定義をすると、

  • x データ
  • w データの重み

下記の式で算出することができます。

\frac{\sum_{i=1}^{n} x_iw_i}{\sum_{i=1}^{n} w_i} = \frac{x_1w_1 + x_2w_2 + ・・・ + x_nw_n}{w_1 + w_2 + ・・・ + w_n}

例題

あるテストの結果、A組の平均点は60点、B組の平均点は50点であり、
A組の人数は20人、B組の人数は40人だとした場合の、A組、B組を合わせた平均値は、以下で求められます。

53.3 \simeq \frac{60\times20 + 50\times40}{20 + 40}

よって、A組、B組を合わせた平均点は、53.3点(小数点第2位以下切り捨て)となります。

幾何平均 (相乗平均)

幾何平均とは、掛け算した積の平均のことです。
成長率や利子率などの平均を出すときに使います。
また、幾何平均は、正の数のみしか扱えません。

以下のように定義をすると、

  • a データ
  • n データの数

下記の式で幾何平均を求めることができます。

m_g = \sqrt[n]{a_1a_2a_3・・・a_n}

例題

ある企業の売り上げが、1年目には3%、2年目には5%、3年目には10%上昇したとします。そのとき、この企業の年間の売り上げの上昇率の平均を出してみます。

西暦 売上高が対前年度比率
2013 -
2014 3%
2015 5%
2016 10%

2014年の対前年度比率は3%ということは、前年に比べて、売り上げが103%になったということになります。2015年は105%、2016年は110%ということになるので、以下が成り立ちます。

  • a データ (1.03, 1.05, 1.1)
  • n データの数 (3)

この2つを、前述の公式に当てはめます。

1.06 \simeq \sqrt[3]{1.03\times1.05\times1.1}

これを計算すると、 1.059594599927647・・・ となるので 解は 約1.06
つまり年間の売り上げ高の平均上昇率は、 約6% とということになります。

調和平均

これは、往路と復路の全体での平均速度を求めるような時に使われます。

調和平均の公式は以下になります。

m_H = \frac{1}{\frac{1}{n}(\frac{1}{x_1} + \frac{1}{x_2} + \frac{1}{x_3} + ・・・ + \frac{1}{x_n})} = \frac{n}{(\frac{1}{x_1} + \frac{1}{x_2} + \frac{1}{x_3} + ・・・ + \frac{1}{x_n})}

例題

10kmの距離を以下の条件で往復したとします。

往復路 時速 時間
往路 40km 15分
復路 4km 150分

公式を使わずに解く

この問題であれば、公式を使わなくても解くことができます。

これは、20kmの距離を165分で移動したのと同じことです。
つまり、 x を速度とすると、以下が成り立ちます。

x \times \frac{165}{60} = 20

これを解くと、 x は、約7.3km/hとなります。

公式を使って解く

今度は公式を使って解いてみます。

以下のように定義をすると、

  • x データ(移動速度)
  • n データの数

下記の式で、調和平均を求めることができます。

x = \frac{2}{\frac{1}{40} + \frac{1}{4}}

これを解くと、 x は、約7.3km/hとなり、公式を使わずに解いた解と同じになりました。
公式を使う場合は、移動した距離がわからなくても、平均速度を出すことができます。

以上

参考