gpt4 book ai didi

r - 你可以使用 R 中的 ar 函数拟合非平稳模型吗

转载 作者:行者123 更新时间:2023-12-02 02:43:42 26 4
gpt4 key购买 nike

我正在尝试使用 ar 函数拟合一个简单的 AR(1) 系列,但它对非平稳系列给出了不好的结果。

我试图查找 ar 函数文档,但没有找到任何相关信息。

我用下面的方式模拟了一个系列:

l = 100
alpha = 1.05 # first tried with 1.01, 1.02
x <- w <- rnorm(l)
for (t in 2:l) x[t] <- alpha * x[t-1] + w[t]
ar(x)

不是将 1 作为方差和真正的 alpha 值,alpha 值从未超过 1,方差非常小。 alpha 越高,情况就越糟。对于 1.05,方差约为 600。

最佳答案

不知道为什么ar不起作用,但我可以为 ar(1) 提供一个可行的解决方案:您可以使用 nls 拟合指数函数.实际上,自回归一阶是一阶微分方程,其解是指数的:

library(nls2)
l = 100
alpha = 1.02
w <- rnorm(l,0,1)
x <- vector(length = l)
x[1] = 5
for (t in 2:l) {
x[t] <- alpha * x[t-1] + w[t]
}
data <- data.frame(time = 1:l,x = x)
fit <- nls2(x ~ c*exp((alpha-1)*time),
start = data.frame(alpha = c(0.95,1.05) , c = c(-10,10)),
algorithm = "random-search",
data = data,
maxiter = 100)
summary(fit)


Estimate Std. Error t value Pr(>|t|)
alpha 1.023239 0.001427 716.942 < 2e-16 ***
c 2.649077 0.310785 8.524 1.91e-13 ***

这种方法可以同时处理 alpha高于 1 或低于 1。这里我使用 nls2它允许覆盖一系列初始值,这使得使用非线性拟合时的生活变得容易。

关于r - 你可以使用 R 中的 ar 函数拟合非平稳模型吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57445282/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com