我的问题是,最后算出来的自相关系数非常小,只有0.06多,我比较困惑的是,在设计随机误差项的时候,相邻的误差项有关系式e_t=pe_{t-1}+s_t,但为什么最后的自相关系数依然这么小?
我的代码如下,刚刚开始学R,很不熟悉,希望前辈能够批评指正,感谢!
- # 生成数据
- set.seed(1)
- t <- 100
- x_t1 <- rnorm(t)
- x_t2 <- rnorm(t)
- x_t3 <- rnorm(t)
- s_t <- rnorm(t)
- # 初始化误差项e_t
- e_t <- numeric(t)
- e_t[1] <- rnorm(1) # e_1是随机生成的
- # 生成误差项e_t和p的值
- for (i in 2:t) {
- p <- runif(1, -1, 1) # 在(-1,1)内随机生成一个值作为p
- e_t[i] <- p * e_t[i-1] + s_t[i]
- }
- # 计算y_t
- y_t <- 1 + 3*x_t1 + 2*x_t2 + 0.5*x_t3 + e_t
- # 构建设计矩阵
- X <- cbind(rep(1, t), x_t1, x_t2, x_t3)
- # 计算线性回归模型的系数
- lm_coef <- solve(t(X) %*% X) %*% t(X) %*% y_t
- # 打印线性回归模型的系数
- print("线性回归模型的系数:")
- print(lm_coef)
- # 计算自相关系数
- value_rho <- sum(e_t[-1] * e_t[-length(e_t)]) / (sqrt(sum(e_t[-1]^2)) * sqrt(sum(e_t[-length(e_t)]^2)))
- # 打印自相关系数
- print("自相关系数:")
- print(value_rho)


雷达卡


京公网安备 11010802022788号







