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

R语言如何绘制SVM时序图并完成模型交叉验证与精度检验

模型预测精度检验

你这是回归预测任务,直接计算三个常用回归指标即可,MAE、RMSE数值越小代表误差越低,R²越接近1代表拟合效果越好:

  • MAE(平均绝对误差):直观反映预测值和真实值的平均偏差
  • RMSE(均方根误差):对大误差的惩罚敏感度更高
  • R²(决定系数):反映模型可解释的目标变量方差占比

对应计算代码:

# 提取测试集真实最高温
test_actual <- test$MaxTemp

# 计算精度指标
mae <- mean(abs(sum_pred - test_actual))
rmse <- sqrt(mean((sum_pred - test_actual)^2))
r_squared <- 1 - sum((test_actual - sum_pred)^2) / sum((test_actual - mean(test_actual))^2)

# 输出结果
cat("测试集MAE: ", round(mae,4), "\n测试集RMSE: ", round(rmse,4), "\n测试集R²: ", round(r_squared,4))

如果你要得到原始温度(而非归一化后数值)的精度,记得先把预测值、真实值用你之前归一化时记录的均值、极值等参数反变换回原始尺度,再计算上述指标。

测试集预测时序图绘制

直接用R基础绘图功能即可实现,不需要额外安装依赖包,可同时展示真实值和预测值的时序走势:

# 绘制真实值曲线
plot(test$Date, test$MaxTemp, 
     type = "l", col = "#2c3e50", lwd = 2,
     xlab = "观测日期", ylab = "归一化最高气温",
     main = "测试集最高气温真实值vs预测值时序对比")
# 叠加预测值曲线
lines(test$Date, sum_pred, 
      col = "#e74c3c", lwd = 2, lty = 2)
# 添加图例
legend("topright", 
       legend = c("真实值", "SVM预测值"),
       col = c("#2c3e50", "#e74c3c"),
       lty = c(1,2), lwd = 2)

如果需要更美观的可视化,也可以用ggplot2包实现,逻辑一致,都是以日期为x轴、温度值为y轴,分别映射真实值和预测值到不同线条即可。

模型交叉验证

注意你的场景是时序预测,不能用普通随机k折交叉验证——随机拆分行会把未来的数据放进训练集,造成数据泄露,得到虚高的精度结果,应该用按时间顺序拆分的时序交叉验证,同时还能同步调优径向核SVM的两个核心超参数(惩罚系数cost、核宽度gamma),代码如下:

library(e1071)
# 设置超参数搜索网格
param_grid <- expand.grid(
  cost = c(0.1, 1, 5, 10, 100),
  gamma = c(0.001, 0.01, 0.1, 0.5, 1)
)
# 做5折时序交叉验证,关闭随机拆分
set.seed(123) # 仅固定参数搜索过程,不打乱时间顺序
svm_cv <- tune.svm(
  MaxTemp ~ ., 
  data = train,
  kernel = "radial",
  ranges = param_grid,
  tunecontrol = tune.control(
    sampling = "cross",
    cross = 5,
    random = FALSE # 关键:关闭随机抽样,按顺序拆分折
  )
)
# 查看最优参数和对应的交叉验证误差
print("最优超参数:")
print(svm_cv$best.parameters)
print(paste0("交叉验证集RMSE:", round(svm_cv$best.performance,4)))

# 用最优参数训练的模型重新预测测试集
final_pred <- predict(svm_cv$best.model, newdata = test)

如果需要更严格的滚动窗口时序验证(每次只用固定长度的历史窗口训练,预测紧邻的下一段数据),可以用caret包的createTimeSlices函数生成符合时序逻辑的训练/验证索引,传入tune函数即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 18:15:58