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

シェアする

時系列データの推移をみるときに、不規則な変動を除去して傾向を読みとりたい。そんなときに活用できるのが、移動平均です。

変化しているデータのある範囲の和を、データの個数で割ることで、移動平均の値を得ることができます。その平均値をつなぎ合わせると、時系列データがどのように変化しているか、その傾向が読み取りやすくなります。

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

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

新しいお弁当を開発したので、1ヵ月販売をしてみました。するとある程度の売り上げは確保することができたのでした。

bentouuriage

ある程度の売上があるのはわかるのですが、販売データを数値のまま眺めていても、今後どうなっていくのか見えてきません。数値だけを見るのでなく、視覚に訴えるグラフを作成して見てみるのがデータ分析の常套手段です。さっそくグラフをつくってみました。

idouheikinhou

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

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

  • 1日目、2日目、3日目のデータの平均を、2日目のところに当てはめる
  • 2日目、3日目、4日目のデータの平均を、3日目のところに当てはめる
  • 3日目、4日目、5日目のデータの平均を、4日目のところに当てはめる

こんな感じで平均値を出してつなげていきます。

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

下のグラフができあがりました。

移動平均を見てみる

3日間の移動平均

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

グラフが滑らかになることで、傾向が読み取りやすくなるのです。

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

5日間の移動平均

idouheikinhou5niti

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

7日間の移動平均

idouheikinhou7niti

9日移動平均

idouheikinhou9niti

さらに極端にすると、

29日移動平均

idouheikinhou29niti

31日移動平均

idouheikinhou31niti

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

理解しておくべき点

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

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

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

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

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

・9日移動平均

idouheikinhou9niti

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

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