Как применить метод прогнозирования сезонного экспоненциального сглаживания к почасовым данным в R - PullRequest
1 голос
/ 17 июня 2020

Я пытаюсь спрогнозировать почасовые цены на электроэнергию на следующий день на 2016 год, используя метод экспоненциального сглаживания. Набор данных, который я использую, содержит почасовые данные о ценах за период с 00:00 01.01.2014 по 23:00 31.12.2016. Моя цель - воспроизвести результаты Beigaitė & Krilavičius (2018)

Поскольку данные о ценах на электроэнергию демонстрируют несколько сезонностей (ежедневные, еженедельные и ежегодные), я определил объект msts для период с 01.01.2014 по 31.12.2015

msts.elspot.prices.2014_2015 <- msts(df.elspot.prices.2014_2015$Price, seasonal.periods = c(24, 168, 8760), ts.frequency = 8760, start = 2014)

Я хочу использовать этот объект msts для прогнозирования почасовых цен на электроэнергию на следующий день (2016-01-01), используя функции hw() из пакета forecast и сохраните точечные прогнозы в кадре данных, содержащем фактические почасовые цены на электроэнергию на 2016 год.

df.elspot.prices.2016$pred.hw <- hw(msts.elspot.prices.2014_2015, h = 24)$mean

Однако я Невозможно использовать функцию hw(), так как я получаю следующее сообщение об ошибке:

Error in ets(x, "AAA", alpha = alpha, beta = beta, gamma = gamma, phi = phi,  : `
Frequency too high

После просмотра в Интернете выяснилось, что функция ets() может принимать только параметр frequency как max 24. Поскольку я работаю с почасовыми данными, это намного ниже частоты моих данных.

Есть ли способ достичь желаемых результатов с помощью функции hw()? Существуют ли другие пакеты / функции, которые могут помочь мне достичь желаемых результатов?

Благодарю за вашу помощь!

1 Ответ

0 голосов
/ 17 июня 2020

Посмотрев немного подробнее, я наткнулся на этот вопрос , где пользователь хотел использовать метод hw для прогнозирования получасового спроса на электроэнергию с использованием набора данных taylor, доступного в forecast упаковка.

Как предлагает профессор Роб Хайндман в ответе на связанный вопрос, метод двойной сезонной модели Холта Винтерса dshw из пакета forecast можно использовать для обработки получасовых данных.

После удаления параметра годовой сезонности (seasonal.periods = 8760) в определении моего объекта msts я запустил модель, и она дала довольно точный результат.

...