При прогнозировании данных через AutoReg код выдаёт ошибку

Ошибка:

ValueWarning: A date index has been provided, but it has no associated frequency information and so will be ignored when e.g. forecasting.

import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
import statsmodels.api as sm
from SBER import data
from statsmodels.tsa.stattools import adfuller
from statsmodels.tsa.stattools import kpss
from statsmodels.tsa.ar_model import AutoReg

#Создаём фрейм со столбцами цена и дата
df = pd.DataFrame(data, columns=['price', 'date'])
df['time'] = np.arange(len(df.index))
#Конвертируем столбец дата в тип данных дата
df['date'] = pd.to_datetime(df['date'])
#Шаг временного ряда
df['time'] = np.arange(len(df.index))
#Задаём лаги
df['lag_1'] = df['price'].shift(1)
#Удаляем пустые значения
df.dropna(inplace=True)
print(df)

# Делаем дату индексом
df.set_index('date', inplace=True)

# Декомпозиция временного ряда
decomposition = sm.tsa.seasonal_decompose(df['price'], model='additive', period=4)

#ADF-тест
result_adf = adfuller(df['price'])
print('ADF Test:')
print(f'ADF Statistic: {result_adf[0]}')
print(f'p-value: {result_adf[1]}')
print(f'Critical Values:')
for key, value in result_adf[4].items():
    print(f'   {key}: {value}')

#KPSS-тест
result_kpss = kpss(df['price'], regression='c')
print('KPSS Test:')
print(f'KPSS Statistic: {result_kpss[0]}')
print(f'p-value: {result_kpss[1]}')
print(f'Critical Values:')
for key, value in result_kpss[3].items():
    print(f'   {key}: {value}')

# Установим окно равное 12
rolling_mean = df['price'].rolling(window=12).mean()

#Дифференцирование
differenced = df['price'].diff().dropna()

# Временной ряд продаж
ts = df['price']

#---------------------------------

# Определение и обучение модели AR с лагом 12
model_ar = AutoReg(ts, lags=12).fit()

# Прогнозирование на 100 шагов вперед
forecast_ar = model_ar.predict(start=0, end=len(ts) + 100, dynamic=False)

# Создание индекса для прогнозного периода
forecast_index_ar = pd.date_range(start=ts.index[0], periods=len(forecast_ar))

# Построение графика прогноза
plt.figure(figsize=(14, 7))
plt.plot(ts, label='Исходный ряд')
plt.plot(forecast_index_ar, forecast_ar, label='Предсказанный ряд', color='red')
plt.title('Авторегрессивная модель')
plt.xlabel('Время')
plt.ylabel('Продажи')
plt.legend()
plt.show()

Файл data содержит список:

data = [[256.1, '2023-9-27'],
[257.67, '2023-9-28'],
[260.72, '2023-9-29'],
[258.98, '2023-10-2'],
[259.65, '2023-10-3'],
[259.53, '2023-10-4'],
[259.38, '2023-10-5'],
[262.93, '2023-10-6'],
[265.25, '2023-10-9'],

введите сюда описание изображения и т.д., всего 1505 строк

А график вообще вот такое выдаёт:


Ответы (0 шт):