#python #arima #autocorrelation
#python #arima #автокорреляция
Вопрос:
Ниже приведен примерный набор данных, над которым я работаю, я сохраняю средние значения каждые 30 минут.
|Slot | value|
|01-01-2018 00:30 | 78.3 |
|01-01-2018 01:00 | 74.5 |
|01-01-2018 01:30 | 79.2 |
|01-01-2018 02:00 | 78.7 |
|01-01-2018 02:30 | 77.3 |
|01-01-2018 03:30 | 76.4 |
Когда я пытаюсь построить график автокорреляционной функции (ACF) для этого набора данных, я получаю сообщение об ошибке:
Ошибка значения: не удалось преобразовать строку в float: ’01-01-20 0:15′
Вот мой код
from statsmodels.graphics.tsaplots import plot_acf
plot_acf(freq)
Комментарии:
1. устанавливается
slot
в качестве индекса фрейма данных перед построением графика,df.set_index('Slot',inplace=True)
Ответ №1:
Функция plot_acf принимает значения, и задержка должна быть определена в отдельном аргументе.
plot_acf(df['value'])
Если задержка имеет для вас значение (я не думаю, что это так, поскольку у вас уже есть регулярные 30-минутные интервалы), вы можете определить задержки.
lags = [0, 30, 60, 90...]
plot_acf(df['value'], lags=lags)
https://www.statsmodels.org/stable/generated/statsmodels.graphics.tsaplots.plot_acf.html