在加拿大,通常在冻结月份(11月,12月,1月,2月)没有流量数据。对于具有季节性数据的量规,以下代码如何适用(每年的数据从3月1日至10月31日可用)?
我为每天在时间步长具有连续流数据(1月1日至12月31日)的站编写了以下代码。我正在通过获取1970-2018年期间每个月的最大值来训练模型。但是,该代码不适用于具有季节性流量数据的压力表(仅适用于3月1日至10月31日可用的数据)-这意味着我在整个1970-2018年期间都没有11月,12月和1月2月的数据。我相信我必须在抓取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)