将季度预测 r 转换为年度预测
Convert quarterly forecast r into annual ones
我正在使用 library(forecast)
根据季度数据创建季度预测。我的预测保存在 forecast
对象中。我试图找到一种优雅而简单的方法将这些值转换为相应的年度值,取所有 4 个季度的平均值。
forecast
包中是否有允许执行此操作的选项?或者,如果有一种方法可以转换季度值?
我尝试将 forecast
对象转换为 timeseries
对象,并将其与我用来创建预测的原始时间序列合并,但没有成功。
下面是一个例子:
library('quantmod')
library('xts')
library('forecast')
library(zoo)
library(tis)
library(astsa)
library(xts)
GDP_SAAR<-getSymbols('A191RL1Q225SBEA',src='FRED', auto.assign=FALSE)
GDP_SAAR <- ts(GDP_SAAR , start=c(1947, 2), end=c(2017, 3), frequency=4)
fit <- auto.arima(GDP_SAAR)
x<-forecast(fit,h=7)
我不知道您是否仍然感兴趣,但这里有一个解决方案涉及提前 12 个步骤(季度)以包括至少 3 年的汇总预测:
GDP_SAAR<-getSymbols('A191RL1Q225SBEA',src='FRED', auto.assign=FALSE)
fit <- auto.arima(GDP_SAAR)
x<-forecast(fit,h=12)
DateTime=as.Date(seq(from=tail(index(GDP_SAAR),1),by="quarter",length.out = length(x$mean)+1))
myresult=tibble(Forecasts=x$mean,DateTime=DateTime[-1])%>%mutate(DateTime=year(DateTime))%>%
group_by(DateTime)%>%summarize(Forecasts=sum(Forecasts,na.rm=T))
> myresult
# A tibble: 3 x 2
DateTime Forecasts
<int> <dbl>
1 2018 10.5
2 2019 10.6
3 2020 10.6
希望对您有所帮助
我正在使用 library(forecast)
根据季度数据创建季度预测。我的预测保存在 forecast
对象中。我试图找到一种优雅而简单的方法将这些值转换为相应的年度值,取所有 4 个季度的平均值。
forecast
包中是否有允许执行此操作的选项?或者,如果有一种方法可以转换季度值?
我尝试将 forecast
对象转换为 timeseries
对象,并将其与我用来创建预测的原始时间序列合并,但没有成功。
下面是一个例子:
library('quantmod')
library('xts')
library('forecast')
library(zoo)
library(tis)
library(astsa)
library(xts)
GDP_SAAR<-getSymbols('A191RL1Q225SBEA',src='FRED', auto.assign=FALSE)
GDP_SAAR <- ts(GDP_SAAR , start=c(1947, 2), end=c(2017, 3), frequency=4)
fit <- auto.arima(GDP_SAAR)
x<-forecast(fit,h=7)
我不知道您是否仍然感兴趣,但这里有一个解决方案涉及提前 12 个步骤(季度)以包括至少 3 年的汇总预测:
GDP_SAAR<-getSymbols('A191RL1Q225SBEA',src='FRED', auto.assign=FALSE)
fit <- auto.arima(GDP_SAAR)
x<-forecast(fit,h=12)
DateTime=as.Date(seq(from=tail(index(GDP_SAAR),1),by="quarter",length.out = length(x$mean)+1))
myresult=tibble(Forecasts=x$mean,DateTime=DateTime[-1])%>%mutate(DateTime=year(DateTime))%>%
group_by(DateTime)%>%summarize(Forecasts=sum(Forecasts,na.rm=T))
> myresult
# A tibble: 3 x 2
DateTime Forecasts
<int> <dbl>
1 2018 10.5
2 2019 10.6
3 2020 10.6
希望对您有所帮助