使用 arima.sim 模拟带有 R 漂移的 ARIMA 1,1,1

Tim*_*ash 5 simulation r time-series data-science arima

我正在尝试使用 ARIMA sim 包来模拟具有漂移的 ARIMA 模拟。我的问题是我似乎无法让它工作。

我需要得到这样的东西:

在此处输入图片说明

我的代码正在产生这个:

> mean(datatime)
[1] 15881.56
> sd(datatime)
[1] 8726.893
> length(datatime)
[1] 123

Run Code Online (Sandbox Code Playgroud)
# The mean and variance from the original series

originalseriesmean = 15881.56
originalseriesvariance = 8726.893*8726.893
originalseriesn=123

# Simulation using arima.sim



ts.sim <- arima.sim(model=list(c(1,1,1)), n = 123, mean=190,sd=69.2863)

ts.plot(ts.sim)


Run Code Online (Sandbox Code Playgroud)

[ 如何向此函数添加 drft 项以使其看起来像之前的模拟?

Rém*_*aud 1

根据定义,ARIMA 过程没有任何漂移/趋势。受到交叉验证arima 与趋势的这个答案的启发,并考虑到您想要的值:

set.seed(123)
intercept <- 4500
b <- (32000 - intercept) / 123
x <- 1:123
y <- b * x + arima.sim(model=list(c(1, 0, 1)),
                    n = 123, mean=intercept, sd=2000)


> sd(y)
[1] 8020
> mean(y)
[1] 18370
Run Code Online (Sandbox Code Playgroud)

该参数mean为您提供过程的截距(从哪里开始),为了获得方差,您应该对过程进行去趋势处理,因为您给出的mean值和sd值具有趋势,而要模拟这样的过程,您应该将过程分解为噪声+趋势。