Интерпретация результатов пророка для еженедельной и годовой сезонности

Я прохожу учебник для использования prophet в Р.

Вы можете найти набор данных здесь: https://github.com/facebookincubator/prophet/blob/master/examples/example_wp_peyton_manning.csv

# R
library(prophet)
library(dplyr)

df <- read.csv('peyton.csv') %>%
  mutate(y = log(y))

head(df)

          ds        y
1 2007-12-10 9.590761
2 2007-12-11 8.519590
3 2007-12-12 8.183677
4 2007-12-13 8.072467
5 2007-12-14 7.893572
6 2007-12-15 7.783641

df$ds<-as.Date(df$ds,'%m/%d/%Y')

m <- prophet(df)

future <- make_future_dataframe(m, periods = 365)

forecast <- predict(m, future)

plot(m, forecast)

prophet_plot_components(m, forecast)

Выходные данные для prophet_plot_components(m, прогноз) ниже:

Можно ли интерпретировать этот график для части годовой сезонности как:

Каким бы ни был ваш прогноз на конкретную дату, увеличьте или уменьшите его примерно на такую ​​же сумму, чтобы учесть годовую сезонность? Например, похоже, что 1 апреля у -0,5. Как мне использовать этот результат? Нужно ли брать среднее значение y за год и вычитать его на -0,5, чтобы учесть сезонность? Немного смущен.

Любая помощь будет отличной!

1 ответ

Функция прогнозирования @Nick Prophet имеет следующий синтаксис:

temp_dataframe_to_store_prediction <- predict(model_name, new_dataframe_created)

В твоем случае:

forecast <- predict(m, future)

Прогнозы или прогнозы из функции предиката () включают в себя тренд и сезонность для каждой строки, то есть для каждой отметки времени. Следовательно, вам не нужно включать какую-либо отдельную строку кода для включения или исключения сезонности в окончательных значениях прогноза. Ваша интерпретация верна, то есть окончательные значения прогноза достигаются путем добавления (+/-) значений сезонности и тренда к стационарному значению "y". Обратите внимание, что значение "y", используемое пророком в вашем коде, равно log (original_y)

 mutate(y = log(y))

Эта строка делает значение original_y стационарным. Поэтому, чтобы интерпретировать окончательные результаты, вам нужно взять экспоненту прогнозируемого значения "y". Это приводит прогноз к первоначальному масштабу. Не нужно брать экспоненту, если original_y не был преобразован.

Другие вопросы по тегам