gpt4 book ai didi

r - 在 R 中计算 AR(2) 过程的相关系数

转载 作者:行者123 更新时间:2023-12-02 00:05:30 25 4
gpt4 key购买 nike

我有一个时间序列问题,我可以轻松手动解决,只是需要很长时间,因为我有 4 个不同的 AR(2) 进程并且想要计算至少 20每个都有滞后。

我想要做的是使用 Yule Walker 方程计算 rho,如下所示:

我有一个二阶自回归过程,AR(2)Phi(1) 为 0.6,Phi(2) 为 0.4。

我想计算 k = 20 以内所有滞后的相关系数 rho(k)

因此,rho(0) 自然会是 1,并且 rho(-1) = rho(1)。因此

rho(1) = phi(1) + phi(2)*rho(1)
rho(k) = phi(1)*rho(k-1) + phi(2)*rho(k-2)

现在我想在 R 中解决这个问题,但我不知道如何开始,有人可以帮我吗?

最佳答案

你可以尝试我的 R 语言程序,

在 R 脚本中:

AR2 <- function(Zt,tetha0,phi1,phi2,nlag)
{
n <- length(Zt)
Zbar <- mean(Zt)
Zt1 <- rep(Zbar,n)
for(i in 2:n){Zt1[i] <- Zt[i-1]}
Zt2 <- rep(Zbar,n)
for(i in 3:n){Zt1[i] <- Zt[i-2]}
Zhat <- tetha0+phi1*Zt1+phi2*Zt2
error <- Zt-Zhat
ACF(error,nlag)
}

ACF <- function(error,nlag)
{
n <- length(error)
rho <- rep(0,nlag)
for(k in 1:nlag)
{
a <- 0
b <- 0
for(t in 1:(n-k)){a <- a+(error[t]*error[t+k])}
for(t in 1:n){b <- b+(error[t]^2)}
rho[k] <- a/b
}
return(rho)
}

在 R 控制台中:

让你有一个 Zt 系列,tetha(0) = 0,phi(1) = 0.6,phi(2) = 0.4,滞后数 = 20

AR2(Zt,0,0.6,0.4,20)

关于r - 在 R 中计算 AR(2) 过程的相关系数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12612875/

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