这是我在这个平台上的第一篇文章。我是工商管理专业的学生,所以请宽恕我的努比问题。
我目前正在为一些股票分别建立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有谁能帮帮我吗?)
向努布问好
发布于 2020-05-08 14:07:48
一个简单信号的例子,它可以破坏自动arima
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-滞后(E)和滞后(U)=1+lag(E)-lag2(E),使epsilon (E)是e-滞后(E),它是一个ar1,epsilon=-滞后(Epsilon)+e,因此这个过程很可能被看作是一个站值011,其中有一个没有很大意义的,然后auto arima估计一个arima(0,1,1),其移动平均项在-1左右。
这并不是完全失败:短期预测是不错的,但它做的是愚蠢的长期预测。
发布于 2020-05-15 06:19:15
你得到的预测是一条直线,因为你的模型无法在数据中找到和季节性,当这种情况发生时,模型只是取你的历史数据的平均值并生成预测,这就是为什么你要得到直线。
在没有历史数据的良好季节和趋势的情况下,一个模型很难准确地预测。
https://stackoverflow.com/questions/61676838
复制相似问题