You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言中基于已构建线性回归模型实现未来数据预测的方法

如何用你的LM模型实现特斯拉收盘价(TSLAC)的未来预测?

嘿,我来帮你搞定这个未来预测的问题!你的核心问题出在newdata的构建不符合predict函数的要求——咱们先拆解清楚问题,再一步步解决:

先搞懂你的模型需要什么

你构建的回归模型是:

TISPYNVDA_TSLA <- lm(TSLAC ~ Trend + SPYC * NVDAC, data = Daten)

这个模型的自变量包括:

  • Trend:你的时间序列索引(1到251)
  • SPYC和NVDAC:两个核心变量,还有它们的交互项SPYC:NVDAC

predict()函数要生成未来预测,必须拿到所有自变量的未来取值,而不是用模型的拟合值来当输入——这就是你之前尝试失败的原因。

步骤1:构建未来的自变量数据集

要预测252到350的区间,你需要为这三个自变量都生成对应的值:

1.1 生成未来的Trend序列

这个最简单,直接延续你现有的索引:

# 未来的Trend:252到350,共99个值
future_trend <- 252:350

1.2 处理SPYC和NVDAC的未来值

这里分两种情况:

  • 如果你已经有SPYC和NVDAC的未来观测数据:直接把这些值整理进数据框就行
  • 如果没有未来数据:你需要先对SPYC和NVDAC各自建模(比如用ARIMA、指数平滑)预测它们的未来值;如果只是做快速测试,也可以用它们的历史均值来填充(注意:实际项目里不推荐用均值,会影响预测准确性)

举个用历史均值填充的例子:

# 计算SPYC和NVDAC的历史均值(忽略缺失值)
mean_spyc <- mean(Daten$SPYC, na.rm = TRUE)
mean_nvdac <- mean(Daten$NVDAC, na.rm = TRUE)

# 构建完整的未来自变量数据集
future_data <- data.frame(
  Trend = future_trend,
  SPYC = rep(mean_spyc, length(future_trend)),  # 重复均值99次
  NVDAC = rep(mean_nvdac, length(future_trend))
)

步骤2:生成未来预测值

现在用predict()函数,传入你的模型和刚构建的future_data:

# 生成未来的TSLAC预测值
future_predictions <- predict(TISPYNVDA_TSLA, newdata = future_data)

步骤3:把预测结果和原有数据绘图对比

现在可以把历史拟合值、真实值和未来预测值画在同一张图里:

# 先绘制历史拟合线和真实值
plot(
  x = 1:251, 
  y = predict(TISPYNVDA_TSLA), 
  type = "l", 
  xlab = "Zeitindex", 
  ylab = "TSLAC Preis", 
  main = "TSLAC: Historischer Fit & Zukünftige Vorhersage",
  lwd = 2
)
lines(1:251, Daten$TSLAC, col = "red", lwd = 2)

# 添加未来预测的虚线
lines(252:350, future_predictions, col = "blue", lwd = 2, lty = 2)

# 添加图例,让图更清晰
legend(
  "topleft", 
  legend = c("Historischer Fit", "Echte Werte", "Zukünftige Vorhersage"),
  col = c("black", "red", "blue"),
  lty = c(1, 1, 2),
  lwd = 2
)

为什么你之前的尝试失败了?

你之前用newline <- data.frame(wt=predict(TISPYNVDA_TSLA))然后传入predict(),这完全不符合要求:

  • predict()需要的是模型自变量的取值,而不是因变量(TSLAC)的拟合值
  • 模型没办法从拟合的TSLAC值反推出Trend、SPYC和NVDAC,所以必然会报错

内容的提问来源于stack exchange,提问作者Aron1894

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 03:58:19