1. HOME
  2. ブログ
  3. IT技術
  4. 平均値いろいろまとめてみた

平均値いろいろまとめてみた

機械学習を実装する上で、便利だと思う平均値を色々とまとめてみました!

算術平均(相加平均)

誰もが知っているであろう全部足して割るだけの普通の平均。

便利な値だが、極端な値が存在する場合は平均値がその値に引っ張られる。

例えば、500万、400万、350万、300万の4つの値で平均値を求めると387.5万になるが、新たな5つ目の値として1億というデータも含めると平均値は2310万となる。

このような場合は、外れ値を除外して平均値を計算したり極端な値の影響を受けない中央値と合わせて参照したりしたほうが求めているデータが見えてくるかも?

幾何平均(相乗平均)

算術平均が全て足して割るのに対して、相乗平均はすべてかけてn乗根を取る。

高校数学の相加相乗平均の大小関係の公式で微妙に登場している。

売上高の成長率のように比率を表す時系列データの平均を取るには算術平均より幾何平均のほうが適切。

調和平均

逆数の平均の逆数といったかんじ。

調べるとたいてい一定距離を違う速度で往復する例が出てくる。

他にも電気抵抗の問題で使うらしい。個人的には最も使う機会が少なそう。

移動平均

時系列データで一定区間ごとに平均値をずらしながら求める。

左がもともとのデータで、右が区間50日の移動平均をプロットしたもの。

グラフを見てわかるように、平滑化してデータを捉えることができる。

また、単純な移動平均はpandas.Series.rollingで簡単に求めることができる。

加重平均

平均値の平均値を取るときに母数を考慮したいとか、先述の移動平均で現在に近い値ほど重要なデータとして平均したいとかの場合に使う。

numpy.averageでは重みを表す配列を渡すことで加重平均を計算してくれる。

カテゴリごとの平均

機械学習のための特徴量エンジニアリングでカテゴリごとの平均をとるときに、出現頻度が少ないカテゴリは全体の平均に寄せるという手法がある。

λは値域が0~1で、数が多いほど大きくなるような関数を入れる。

好きな動物テストの点数好きな動物ごとのテストの平均
8283
9183
7883
6583
9983
5975
7975
10075
6275
カエル9595

例えば上記のようなデータがあった場合、カエルは1人しかいないので平均が95点となるが犬・猫に比べて人数が少ないためゆらぎの大きなデータとなってしまいます。

そのため、「全体の平均に寄せておきましょう」ということです。

たしかにカエルの平均が95点というのは正しいが、もっとカエルの人が集まった場合に95点よりは低く、全体の平均に近づいているであろうというのも自然です。

他にも自身以外のデータで計算するなどの工夫もあります。

こちらの記事もオススメ!

今日の一冊

私、能力は平均値でって言ったよね!
私、能力は平均値でって言ったよね!

 

関連記事

採用情報

\ あの有名サービスに参画!? /

バックエンドエンジニア

\ クリエイティブの最前線 /

フロントエンドエンジニア

\ 世界を変える…! /

Androidエンジニア

\ みんなが使うアプリを創る /

iOSエンジニア