楼主: 槛外人Liu
510 1

[作业] R语言编程,时间序列有关问题 [推广有奖]

  • 0关注
  • 0粉丝

小学生

0%

还不是VIP/贵宾

-

威望
0
论坛币
30 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
63 点
帖子
2
精华
0
在线时间
7 小时
注册时间
2024-1-30
最后登录
2024-6-11

楼主
槛外人Liu 发表于 2024-4-20 20:35:33 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
各位前辈好,求问一道编程题,我现在在做一道习题:生成数据,模型为y_t=1+3*x_t1+2*x_t2+0.5*x_t3+e_t,e_t=pe_{t-1}+s_t, x_t1,x_t2,x_t3,s_t独立同分布于标准正态分布,t=100,p在(-1,1)内变动,计算自相关系数。
我的问题是,最后算出来的自相关系数非常小,只有0.06多,我比较困惑的是,在设计随机误差项的时候,相邻的误差项有关系式e_t=pe_{t-1}+s_t,但为什么最后的自相关系数依然这么小?
我的代码如下,刚刚开始学R,很不熟悉,希望前辈能够批评指正,感谢!
  1. # 生成数据
  2. set.seed(1)
  3. t <- 100
  4. x_t1 <- rnorm(t)
  5. x_t2 <- rnorm(t)
  6. x_t3 <- rnorm(t)
  7. s_t <- rnorm(t)

  8. # 初始化误差项e_t
  9. e_t <- numeric(t)
  10. e_t[1] <- rnorm(1) # e_1是随机生成的

  11. # 生成误差项e_t和p的值
  12. for (i in 2:t) {
  13.   p <- runif(1, -1, 1)  # 在(-1,1)内随机生成一个值作为p
  14.   e_t[i] <- p * e_t[i-1] + s_t[i]
  15. }

  16. # 计算y_t
  17. y_t <- 1 + 3*x_t1 + 2*x_t2 + 0.5*x_t3 + e_t

  18. # 构建设计矩阵
  19. X <- cbind(rep(1, t), x_t1, x_t2, x_t3)

  20. # 计算线性回归模型的系数
  21. lm_coef <- solve(t(X) %*% X) %*% t(X) %*% y_t

  22. # 打印线性回归模型的系数
  23. print("线性回归模型的系数:")
  24. print(lm_coef)

  25. # 计算自相关系数
  26. 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)))

  27. # 打印自相关系数
  28. print("自相关系数:")
  29. print(value_rho)
复制代码



二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:R语言编程 语言编程 时间序列 R语言 标准正态分布

沙发
槛外人Liu 发表于 2024-4-20 20:37:45
并且在画残差图的时候,第一个实在看不出来有什么很明显的相关性
第一张图.jpeg
第二个和课本的比较像
第二张图.jpeg
已有 1 人评分论坛币 收起 理由
cheetahfly + 20 我点错“踩”了

总评分: 论坛币 + 20   查看全部评分

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-5-1 01:23