乐趣区

关于数据挖掘:R语言SVR支持向量机多元回归网格搜索超参数优化预测猪粮比价格变动率数据

全文链接:http://tecdat.cn/?p=31617

原文出处:拓端数据部落公众号

咱们最近有一个很棒的机会与一位平凡的客户单干,要求构建一个适宜他们需要的持向量机回归模型。

咱们须要拟合反对向量机回归模型:进行网格搜寻超参数优化并应用训练好的模型进行预测推理、应用 plot 函数可视化线图比照预测值和理论值曲线。

数据

读取数据

Hd=read.xlsx("反对向量机用数据.xlsx")# 读取反对向量机用数据.xlsx
head(Hd)# 查看数据

数据预处理

# 归一化  
Hd=scale(Hd[,-1])

#查看变量之间的关系  
plot(Hd[,c("猪粮比价格变动率","玉米价格变动率(时差已调整)",  
           "存栏量变动率(时差已调整)",
 

查看变量之间的关联系数


cor(Hd[,c("猪粮比价格变动率","玉米价格变动率(时差已调整)",

筹备训练集和测试集

n=nrow(Hd)
ntrain <- round(n*0.8) # 训练集
tindex <- sample(n,ntrain) # 筛选测试集样本

训练集可视化

plot(Hd[,c("猪粮比价格变动率","玉米价格变动率(时差已调整)")] ,pch=ifelse

训练 SVM 模型

当初咱们在训练集上应用来训练线性 SVM

model <- svm(猪粮比价格变动率 ~ . , Hd)
mse <- function(error)  
{sqrt(mean(error^2))
  
  
  predictionmse

## [1] 0.6789526

求解最优参数

predictionmse=0  
jj=1  
for(i in seq(0,1,0.1)){for(j in seq(0.1,1,0.1)){  
     
    model <- svm(Hd$"猪粮比价格变动率" ~ . 
    

找到最佳参数

  
  
which.min(predictionmse)

## [1] 10

用最优参数预测

,epsilon=1,cost=0.1)
points(Hd$"玉米价格变动率. 时差已调整.", predictedY, col = "red", pch=4)

预测新数据

plot(Hd_predict[,c(3,2)] ,pch=ifelse(istrain==1,1,2))  
  
   
points(Hd_predict$"玉米价格变动率. 时差已调整.", predictednew, col = "red", pch=4)

最受欢迎的见解

1.[](http://tecdat.cn/r%e8%af%ad%e…)R 语言多元 Logistic 逻辑回归 利用案例

2.[](http://tecdat.cn/r%e8%af%ad%e…)面板平滑转移回归 (PSTR) 剖析案例实现

3.[](http://tecdat.cn/r%e8%af%ad%e…)matlab 中的偏最小二乘回归(PLSR)和主成分回归(PCR)

4.[](http://tecdat.cn/r%e8%af%ad%e…)R 语言泊松 Poisson 回归模型剖析案例

5.[](http://tecdat.cn/r%e8%af%ad%e…)R 语言回归中的 Hosmer-Lemeshow 拟合优度测验

6.[](http://tecdat.cn/r%e8%af%ad%e…)r 语言中对 LASSO 回归,Ridge 岭回归和 Elastic Net 模型实现

7.[](http://tecdat.cn/r-%e8%af%ad%…)在 R 语言中实现 Logistic 逻辑回归

8.[](http://tecdat.cn/r%e8%af%ad%e…)python 用线性回归预测股票价格

9.[](http://tecdat.cn/r%e8%af%ad%e…)R 语言如何在生存剖析与 Cox 回归中计算 IDI,NRI 指标

退出移动版