移動平均でデータの推移を読み取る

シェアする

時系列データには推移をみるときに、不規則な変動を除去して傾向を読みとりたい。そんなときに平均の値として活用されるのが、移動平均です。変化しているデータの和をデータの個数で割ることで、移動平均の値を得ることができます。

時系列データの傾向を読み取る

あるお弁当屋さんの販売数の話。

新しいお弁当を開発したので、1ヵ月販売をしてみました。すると既存商品に負けず劣らず、 そこそこの売上を確保することができたのでした。

bentouuriage

販売データを数値のまま眺めていても、見えてくるものがありません。数値だけを見るのでなく、視覚に訴えるグラフを作成して見てみるのがデータ分析の常套手段です。グラフをつくってみました。

idouheikinhou

1日あたりの販売数の表や推移グラフ見てみると、なんとなく売上は増えてきているように見えますがどうなのでしょう。 右肩上がりになっているようにも見えますが、どの程度なっているのか、いまいちつかめません。

移動平均をつくり、どんな具合で売上が推移しているのか見ることにしました。1日あたりの販売数の推移グラフでは、売上が多い日もあれば少ない日もあり、グラフがジグザグしています。このグラフを滑らかにするため、3日間の平均値を計算してグラフをつくります。やり方としては、

1日目、2日目、3日目のデータの平均を、2日目のところに当てはめます。

2日目、3日目、4日目のデータの平均を、3日目のところに当てはめます。

最初の1日目と最後の31日目は、一番端のデータで片方の隣にはデータがありませんから、3日分をまとめたデータを計算することができず、値は無しになります。このようなことを繰り返すと、下のグラフができあがります。

移動平均を見てみる

3日間の移動平均

idouheikinhou3niti
生データは、毎日の売上が上がったり下がったりして、グラフがデコボコとしていましたが、3日移動平均の線は滑らな線になっています。移動平均には、生データの不規則な変動をならし、時系列データを平滑化させて傾向をみやすくする役目があります。

さらに5日移動平均もつくってみると、線がさらに滑らかになり、売上が伸びてきていることが容易にわかるようになりました。

5日間の移動平均

idouheikinhou5niti

3点の平均をとるのであれば3点移動平均、5点の移動平均をとるのであれば5点移動平均といいます。このお弁当販売の話では、1日あたりの売上を見ていくので、○○日移動平均と呼びます。 さらに移動平均につかう期間を増やしていくと・・・、

7日間の移動平均

idouheikinhou7niti

9日移動平均

idouheikinhou9niti

さらに極端にすると、

29日移動平均

idouheikinhou29niti

31日移動平均

idouheikinhou31niti

31日移動平均線は、データは16日の上に1点だけになってしまいます。これは、31日間のデータを単純に平均した値と同じになります。

理解しておくべき点

このように平均する日数を増やしていくと、どんどんグラフが滑らかになっていくとともに、端の部分が計算できないので線の長さが短くなっていきます。

これは、お弁当が売れた日と売れなかった日が平均化され、生データの情報が失われていることを意味します。データ数が多い場合はいいのですが、データ数が少ない場合はデータの損失はあまり望ましくありません。

移動平均のメリットは、傾向をつかみやすくなることですが、平均化されればされるほど、個別の情報は読み取れなくなるデメリットがあります。

元々のグラフにあるデコボコが生データの情報です。このデコボコから、この日は新しいお弁当が売れた、この日は売れなかった、個別の情報が見てとれるのですが、滑らかなグラフに変えてしまうとそれがわからなくなります。

9日間の移動平均になると、上昇傾向にあることは一目でわかるのですが、滑らかになりすぎて個別データの情報がほとんどわからなくなってしまいました。

・9日移動平均

idouheikinhou9niti

31日間の移動平均線は、極端な例ですが、もはや線ではなく点ですから、上のグラフの中では最も情報量が少なくなります。移動平均を使うのは、データ推移の傾向を読み解くことが目的であれば、5日移動平均線でも十分に傾向がわかります。

それ以上滑らかさを求めてデータの損失を増やす必要はありません。その前に、生のデータのグラフから傾向をはっきりと読むことができるのであれば、移動平均を用いる必要も無いといえます。