Как создать экзогенную индексную переменную дня рабочей недели из разложения ежедневных данных временных рядов? - PullRequest
0 голосов
/ 21 мая 2019

Я хочу извлечь индекс дня рабочей недели, который повторяется каждые 5 дней (рабочий день).Ежемесячный индекс даст 12 значений индекса, которые повторяются каждые 12 периодов, а не месяцы, которые я хочу создать для рабочей недели.У меня есть данные временных рядов с частотой только рабочих дней (понедельник-пятница).Поэтому ежегодно я использую 252 в качестве частоты.Если я разлагаю этот ежедневный ряд, он создает дневной индекс по годам, который создает индекс для каждого рабочего дня года.В Python / Statsmodels, есть ли способ создать индекс из этого временного ряда, в котором я могу получать относительное значение индекса каждые 5 дней?

Я пробовал различные декомпозиции, сначала изменив частоту повторной выборки,до разложения временных рядов, но я понятия не имею, как это сделать.Приведенный ниже псевдокод представляет данные рабочей недели, которые у меня есть за 2 года.

import numpy as np
from scipy import stats
import pandas as pd
import statsmodels.tsa.api as tsa
import statsmodels.api as sm

vals = np.random.rand(504)
ts = pd.Series(vals)
df = pd.DataFrame(ts, columns=["Stock"])
df.index = pd.Index(pd.date_range("2012/01/01", periods = len(vals), freq = 'D'))

comp_Stock = tsa.seasonal_decompose(df, model='additive', freq = 252)

comp_Stock.seasonal[:5]

Трудно описать ожидаемые результаты, кроме как сказать, что сезонный индекс над comp_Stock будет создавать индекс, который повторяется каждые 252 значения,используя эти же данные временных рядов, я хочу индекс, который повторяется каждые 5 дней.Конечная цель - извлечь этот индекс как экзогенную переменную для прогнозирования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...