Отрицательные значения в прогнозе временных рядов - PullRequest
0 голосов
/ 09 марта 2019

Я пытаюсь выполнить одномерное прогнозирование временных рядов в python для набора данных о месячном количестве осадков 136 лет, используя ARIMA.

Мой набор данных имеет форму:

Год дождевого падения

2000-01-01 0

2000-02-01 128.2

2000-03-01 0

2000-04-01 289,3

. , .

У меня есть две проблемы.

1) Результаты моего прогноза имеют отрицательные значения, хотя в тренировочном наборе их нет, и по логике значения осадков не должны быть отрицательными. Мой оригинальный график данных, как показано ниже.

enter image description here

Ниже приведен график данных испытаний и прогнозных значений. Как вы можете видеть красная кривая прогнозируемых значений распространяется ниже 0.

enter image description here

2) Поскольку у меня есть месячные данные, количество осадков в некоторых строках изменяется от 0 до непосредственно высокого значения в следующем месяце, и в этом случае текущее значение не зависит от предыдущих наблюдаемых значений, что является принципом авторегрессии. Это то, что вызывает проблемы и не дает мне хорошей подгонки? Вместо этого я попытался использовать годовые данные, но это также не дает правильного соответствия, и работа с квартальной частотой прервет фактический период муссонов в области моего набора данных.

1 Ответ

0 голосов
/ 09 марта 2019

Модель дает вам лучшее предположение.

Это просто экстраполяция в отрицательное прогнозируемое значение на основе наблюдаемых входных данных. Вот тут-то и появляется «внешняя логика». Просто передайте прогнозы через функцию, которая заменяет отрицательные значения на 0. Это обычная практика.

...