Я пытаюсь предсказать будущие данные на основе данных хронологии для другого набора данных .
warnings.filterwarnings("ignore")
mod = sm.tsa.statespace.SARIMAX(
dataset,
order=(1,0, 0),
seasonal_order=(0, 0, 0, 12),
enforce_stationarity=False,
enforce_invertibility=False
)
results = mod.fit()
Но из-за проблемы конфигурации я получаю ошибку. Затем случайным образом сгенерируйте порядок и сезонный порядок и проверьте, нет ли ошибки или нет.
p = d = q = range(0, 2)
pdq = list(itertools.product(p, d, q))
seasonal_pdq = [(x[0], x[1], x[2], 12) for x in list(itertools.product(p, d, q))]
np.random.shuffle(pdq)
np.random.shuffle(seasonal_pdq)
results, finished = False, False
for iii in pdq:
for jjj in seasonal_pdq:
try:
warnings.filterwarnings("ignore")
mod = sm.tsa.statespace.SARIMAX(
dataset,
order=iii,
seasonal_order=jjj,
enforce_stationarity=False,
enforce_invertibility=False
)
results = mod.fit()
dataset_pred_uc = results.get_forecast(steps=int(len(dataset)*0.8))
# prediction = dataset_pred_uc.predicted_mean
finished = True
except Exception as error:
continue
if(finished):
break
Но каждый раз получаю разные результаты. Некоторое время результат очень хороший, а иногда хуже, чем я думаю.
Как решить проблему такого типа, когда значение набора данных является произвольным.