Язык Wolfram Language

Операции с временными рядами

Тенденции и сезонные изменения

Число авиапассажиров в 1949-1960 годы стабильно увеличивалось, но также варьировалась в зависимости от времени года. Воспользуемся функцией MovingMap и опцией Total, чтобы визуализировать ежегодный рост количества авиапассажиров. Воспользуемся 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]=

Глобальная тенденция роста наиболее очевидна в результатах, агрегированных на последний день каждого года (см. график).

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"]];

DateHistogram агрегирует весовой коеффициент для данных для каждого месяца в течение зданных лет по функции DateReduction.

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

Родственные примеры

de en es fr ja ko pt-br zh