Wolfram言語

時系列の処理

トレンドと季節性

1949年から1960年まで航空旅客数は増加していったが,季節変動もあった.オーバーラップのない年間窓に,MovingMapTotalとともに適用して年間の増加を可視化する.時間周期の長さを1年間とした毎月のデータにDateHistogramを使って,季節依存性を調べる.

1949年から1960年までの月ごとの国際線旅客数はExampleDataで入手できる.

In[1]:=
Click for copyable input
data = ExampleData[{"Statistics", "InternationalAirlinePassengers"}, "TimeSeries"]
Out[1]=

このデータは,長期に渡る増加傾向と季節的な振動の両方を示している.

In[2]:=
Click for copyable input
DateListPlot[data, PlotTheme -> "Detailed"]
Out[2]=

年ごとに合計して,世界的なトレンドを見る.合計の結果を各年の最後の日に置いて,1年の移動窓をオーバーラップしないようにする.

In[3]:=
Click for copyable input
positionspec = {{1949, 12, 31}, {1960, 12, 31}, Quantity[1, "Year"]};
In[4]:=
Click for copyable input
mm = MovingMap[Total, data, {Quantity[1, "Years"], Right, positionspec}];
In[5]:=
Click for copyable input
DateListPlot[mm, PlotMarkers -> Automatic, GridLines -> {mm["Dates"], None}]
Out[5]=

季節依存性を解析する.旅客数を日付の重みとしてWeightedDataを生成する.

In[6]:=
Click for copyable input
wd = WeightedData[data["Dates"], data["Values"]];

DateHistogramDateReductionによって指定されるように,年間を通した毎月の重みを合計する.

In[7]:=
Click for copyable input
DateHistogram[wd, "Month", DateReduction -> "Year"]
Out[7]=

関連する例

de en es fr ko pt-br ru zh