- 阅读权限
- 255
- 威望
- 0 级
- 论坛币
- 63854 个
- 通用积分
- 1679.2833
- 学术水平
- 489 点
- 热心指数
- 598 点
- 信用等级
- 336 点
- 经验
- 127401 点
- 帖子
- 2098
- 精华
- 1
- 在线时间
- 3980 小时
- 注册时间
- 2010-10-27
- 最后登录
- 2025-12-20
|
- # 数据准备
- y <- rnorm(n = 100, mean = 2, sd = 1)
- y <- sort(y)
- x1 <- rnorm(n = 100, mean = 2, sd = 1)
- x2 <- rnorm(n = 100, mean = 2, sd = 1)
- x3 <- rnorm(n = 100, mean = 2, sd = 1)
- date1 <- seq.Date(from = as.Date("1992-12-31"), by = "q", length.out = 103)
- da02 <- data.frame(date1, y = c(y, rep(NA, 3)), x1 = c(rep(NA, 3), x1), x2 = c(rep(NA, 4), x2[1:99]), x3 = c(rep(NA, 3), x3))
- train <- da02[1:100, ]
- newdata <- da02[101:103, ]
- # 建模和预测
- lm2 <- lm(y ~ x1 + x2 + x3, data = train)
- prediction <- predict(lm2, newdata = newdata, interval = "prediction")
- predicted <- data.frame(date = date1[100:103], y = c(y[100], prediction[, "fit"]),
- lwr = c(y[100], prediction[, "lwr"]),
- upr = c(y[100], prediction[, "upr"]))
- # 画图
- plot(x = date1, y = c(y, rep(NA, 3)), type = "l", xlab = "date", ylab = "y")
- lines(x = predicted$date, y = predicted$y, lty = 2)
- lines(x = predicted$date, y = predicted$lwr, lty = 3, col = "red")
- lines(x = predicted$date, y = predicted$upr, lty = 3, col = "red")
- abline(v = predicted$date[1], col = "blue")
复制代码
|
|