Как приспособить модель ARIMA к сезонным данным о потоке в R? - PullRequest
2 голосов
/ 01 апреля 2019

В Канаде у нас часто нет данных о потоке в течение морозных месяцев (ноябрь, декабрь, январь, февраль).Как подобрать следующий код для датчиков, имеющих сезонные данные (данные доступны с 01 марта по 31 октября для каждого года)?

Я написал следующий код для станции, которая имеет данные о непрерывном потоке (с 01 января по 31 декабря) с ежедневным шагом времени.Я тренирую модель, собирая максимальное значение каждого месяца за период 1970-2018.Код, однако, не будет работать для датчиков, которые имеют сезонные данные о потоке (данные доступны только с 1 марта по 31 октября) - это означает, что у меня нет данных за ноябрь, декабрь, январь февраль за весь период 1970-2018 гг.Я считаю, что мне нужно играть с линией, где я беру FlowData, особенно информацию о старте и частоте, но не могу понять, что делать.

#########################
# General setup
###########################
setwd("G:/ARIMA_Model")
install.packages("fpp2")
library(fpp2)
library(tidyverse)
graphics.off() # close all open figures
rm(list=ls())  # clear workspace

MyData <- read.csv("Kamsack_April.csv", header=TRUE, sep=",")

#########################
# Grabbing maximum value in each month.
###########################
Monthly=MyData %>% select(year, month, day, Flow..m3.sec.) %>% 
  group_by(year, month) %>% 
  summarise(Max_Streamflow=max(Flow..m3.sec., na.rm = TRUE))

FlowData=ts(Monthly[,3], start = c(1970,01), frequency = 12) 

#########################
# Fit  ARIMA model
###########################

# ARIMA model fitting
Fit_ARIMA= auto.arima(FlowData,d=1,D=1, stepwise = TRUE, approximation = TRUE, trace = TRUE)
print(summary(Fit_ARIMA))
checkresiduals(Fit_ARIMA)


#########################
# Forecast for next six months
###########################
# Use the model to predict next 6 months
fcst=forecast(Fit_ARIMA, h=6)
...