Я новичок в этой странице и довольно новый в статистике и Р. Я работаю над проектом для колледжа с целью найти корреляцию между дождем и уровнем воды в реках. Как только корреляция доказана, я хочу прогнозировать / предсказывать это.
Данные У меня есть набор данных за несколько лет (взятых каждые 5 минут) для конкретной реки, содержащий:
- Количество осадков в миллиметрах
- Расход воды в кубических метрах в секунду
Эта река не имеет снега, поэтому модель основана только на дожде и времени. Иногда бывают замерзающие температуры, но я думаю об исключении этих периодов из данных, так как эта ситуация выходит за рамки моего проекта.
Примеры Здесь у вас есть пара графиков выборочных данных от дождя и подъема воды через несколько часов.
Красная линия - река. Апельсин - это дождь. Вы можете видеть, что всегда идет дождь, прежде чем вода поднимается в реке. В конце временного ряда снова начинается дождь, но это повлияет на течение реки позже.
Корреляция есть. Вот что я сделал в R, чтобы доказать корреляцию, используя ccf в R:
- взаимная корреляция
- ведущая переменная
- отставание
Это моя строка R, используемая для второго примера (один период осадков):
ccf(arnoiaex1$Caudal, arnoiaex1$Precip, lag.max=1000, plot=TRUE, main="Flow & Rain")
Моя интерпретация:
- что дождь ведет (случается первым),
ccf
Я прав?
О временных рядах . Этот временной ряд не имеет периодичности или сезонности. Дождь может прийти в любое время и вызвать эффект. Летом оно уменьшается, но это все-таки случается, это район с большим количеством осадков круглый год.
Модель и прогноз.
Я не знаю, как создать модель, чтобы иметь возможность делать прогноз, который говорит мне, сколько река собирается увеличить объем после периода дождя. Я пробовал некоторые arima
, auto arima
но не очень успешно. Должен ли я использовать Arima
, vars
или другая различная многомерная модель? Любая ссылка на пример будет очень полезна.
Пожалуйста, дайте мне знать, если вы знаете лучший способ сделать это предсказание, какую модель мне следует использовать. Есть несколько других вещей, которые я собираюсь сделать, но вычеркну их из этого объяснения для простоты. Я могу поделиться некоторыми данными, если требуется.
источник
Ответы:
Вам нужно использовать поведение ACF и PACF, чтобы определить, какая модель лучше подходит для ваших данных (например, наличие медленного затухания на графике ACF указывает на то, что для повышения устойчивости ряда может потребоваться различие. Ваш график ACF, очевидно, показывает, что какой-то Если вы используете правильное преобразование (стационарные серии), колебания должны быть менее разнообразными и в пределах синих линий. После того, как вы сделали серию стационарной, подумайте, какая модель AR, MA, ARMA или ARIMA подходит. В моем проекте я сделал следующее, чтобы помочь в выборе модели:
График ACF показывает относительно большое значение с задержкой 2 ( посмотрите, где это находится на вашем графике ). Кроме того, оно становится практически нулевым при лагах больше двух. Это говорит о том, что модель MA (2) может соответствовать данным, а затем, посмотрев на график PACF, мы сразу заметим, что корреляция равна нулю почти при всех лагах. Это может указывать на то, что модель не имеет AR-части ( отрегулируйте это в соответствии с вашим графиком).). Поэтому одной из наших моделей-кандидатов может быть ARIMA (p, d, q) с параметрами p = 0, d = 1 и q = 1 или 2. Я также попробовал несколько более высоких порядков MA и рассмотрел некоторую возможность наличия AR-части в модели, чтобы сравнить результаты AIC, AICc и BIC и принять решение об окончательной модели. На следующем шаге вам нужно будет выполнить некоторые диагностические тесты, чтобы убедиться, что вы выбрали правильную модель и в ваших остатках нет шаблона (ACF и PACF для остатков, p-значение для статистики Юнга-Бокса, гистограмма для остатков и Сюжет QQ). Надеюсь, это поможет!
источник