Регресс временных рядов - несмежный набор данных - PullRequest
0 голосов
/ 26 сентября 2018

Есть ли хороший способ запустить регрессию временных рядов для несмежного набора данных, например, количество автомобилей, купленных за квартал у дилера (например, когда по какой-то причине я хочу ИСКЛЮЧИТЬ определенные кварталы из набора данных, чтобы определить базовый уровень продажбез промоушен)?

Подгонка модели (например, SARIMAX (). Fit ()) должна учитывать, что x-тики не распределены равномерно для данного набора данных

Регрессионная модель должна вычислять значения для отсутствующихточки данных (интерполяция)

Существуют Holt-Winters, SARIMA и т. д., но они не пригодны для таких случаев.

Предложения, измененные библиотеки или подпрограммы приветствуются

Образецнабор данных:

x = np.array([2001Q3, 2001Q4, 2002Q2, 2002Q3, 2002Q4, 2003Q3, 2004Q1, 2004Q3, 2005Q1, 2005Q3,2006Q2, 2006Q3, 2006Q4, 2007Q1, 2007Q4])
y = np.array([24, 20, 27, 29, 26, 32, 34, 30, 32, 37, 35, 39, 41, 37, 39])

Существует несколько стандартных методов, таких как:

from scipy import optimize
from scipy import interpolate

Один из способов - подготовить массив с вычисленными числами для отсутствующих точек данных (кварталов), а затем применить SARIMAX.подходит, но мне любопытно, если есть более элегантный способ.

Полученная модель должна оценить все кварталы с 2001Q3 по 2007Q4, включая недостающие

Также.для временных рядов, подобных морским пилам (с трендом и сезонностью), линейная интерполяция может не сработать, особенно если разрыв превышает 1 отсутствующий пункт данных (как в наборе данных выборки)

...