这是我在此平台上的第一篇文章。我是工商管理专业的学生,所以请留意我的nooby问题。
我目前正在为某些股票(分别为其收盘价)创建ARIMA模型。但是,在绘制预测图时,我得到的只是一条带有一点点漂移的直线。就是这样。例如,我没有任何清晰的模式,预测中没有起伏,只有直线漂移。
我不确定我是否犯了任何错误。
install.packages(quantmod)
install.packages(tseries)
install.packages(timeSeries)
install.packages(forecast)
install.packages(MASS)
install.packages(ggplot2)
install.packages(zoo)
install.packages(xts)
library(quantmod)
library(tseries)
library(timeSeries)
library(forecast)
library(MASS)
library(ggplot2)
library(zoo)
library(xts)
# load data
energy = getSymbols(Symbols = "XLES.L", auto.assign = F, from = "2015-01-01", to = "2020-01-01")
# remove NAs
energy <- na.omit(energy$XLES.L.Close)
plot(energy)
# create TS
ts <- ts(energy, start = c(2015,01), frequency = 252)
plot(ts) #does not seem stationary
# check for stationarity
adf.test(ts) # --> not stationariy, differencing required
#Create Arima Model
arima <- auto.arima(ts, d = 1)
arima
# Create Forecast (Out-Of-Sample for 20days/1month)
forecast_energy <- forecast(arima, h = 20)
plot(forecast_energy)
plot(forecast_energy, include = 50)
我的问题是:
这里打印
> print(arima)
Series: ts
ARIMA(2,1,0)
Coefficients:
ar1 ar2
0.0125 -0.0502
s.e. 0.0283 0.0283
sigma^2 estimated as 20.19: log likelihood=-3682.99
AIC=7371.98 AICc=7372 BIC=7387.4
有人可以帮我吗:)
最好的问候菜鸟
一个简单的信号示例,可以打破自动有雾
library(forecast)
set.seed(1)
mynoise <- rnorm(252*5,0,sd = 100) # high short term noise, non integrated
mytrend <- 1:(252*5) # long term trend
mysignal <- mynoise+mytrend
library(forecast)
mymodel <- auto.arima(mysignal)
plot(forecast(mymodel,50))
信号的差为u = 1 + e-lag(e)和lag(u)= 1 + lag(e)-lag2(e)
u = 2-lag(u)+ e + lag2(e),这是u = -lag(u)+ N(2,sqrt(100 ^ 2 + 100 ^ 2))N(2,sqrt(100 ^ 2 + 100 ^ 2))可能被视为平稳011,其中2个非非常有意义,然后自动arima用移动平均项估计arima(0,1,1) -1附近。
这不是完全失败:对于短期预测来说这是体面的,但是对长期预测却很愚蠢。