R語言SVR支持向量機(jī)多元回歸、網(wǎng)格搜索超參數(shù)優(yōu)化預(yù)測(cè)豬糧比價(jià)格變動(dòng)率數(shù)據(jù)
全文鏈接:http://tecdat.cn/?p=31617
原文出處:拓端數(shù)據(jù)部落公眾號(hào)
我們最近有一個(gè)很棒的機(jī)會(huì)與一位偉大的客戶合作,要求構(gòu)建一個(gè)適合他們需求的持向量機(jī)回歸模型。
我們需要擬合支持向量機(jī)回歸模型:進(jìn)行網(wǎng)格搜索超參數(shù)優(yōu)化并使用訓(xùn)練好的模型進(jìn)行預(yù)測(cè)推理、使用plot函數(shù)可視化線圖對(duì)比預(yù)測(cè)值和實(shí)際值曲線。
數(shù)據(jù)
讀取數(shù)據(jù)
Hd=read.xlsx("支持向量機(jī)用數(shù)據(jù).xlsx")#讀取支持向量機(jī)用數(shù)據(jù).xlsxhead(Hd)#查看數(shù)據(jù)
數(shù)據(jù)預(yù)處理
#歸一化 ?Hd=scale(Hd[,-1])#查看變量之間的關(guān)系 ?plot(Hd[,c("豬糧比價(jià)格變動(dòng)率","玉米價(jià)格變動(dòng)率(時(shí)差已調(diào)整)", ?
?????????? "存欄量變動(dòng)率(時(shí)差已調(diào)整)",
查看變量之間的關(guān)聯(lián)系數(shù)
cor(Hd[,c("豬糧比價(jià)格變動(dòng)率","玉米價(jià)格變動(dòng)率(時(shí)差已調(diào)整)",
準(zhǔn)備訓(xùn)練集和測(cè)試集
n=nrow(Hd)
ntrain <- round(n*0.8) # 訓(xùn)練集
tindex <- sample(n,ntrain) # 篩選測(cè)試集樣本
訓(xùn)練集可視化
plot(Hd[,c("豬糧比價(jià)格變動(dòng)率","玉米價(jià)格變動(dòng)率(時(shí)差已調(diào)整)")] ,pch=ifelse
訓(xùn)練SVM模型
現(xiàn)在我們?cè)谟?xùn)練集上使用來訓(xùn)練線性SVM
model <- svm(豬糧比價(jià)格變動(dòng)率 ~ . , Hd)
mse <- function(error) ?
{ ?
? sqrt(mean(error^2))
?
?
?predictionmse
## [1] 0.6789526
求解最優(yōu)參數(shù)
predictionmse=0 ?jj=1 ?for(i in seq(0,1,0.1)){ ?
? for(j in seq(0.1,1,0.1)){ ?
??? ?
??? model <- svm(Hd$"豬糧比價(jià)格變動(dòng)率" ~ .
? ?
找到最佳參數(shù)
?
?which.min(predictionmse)## [1] 10
用最優(yōu)參數(shù)預(yù)測(cè)
,epsilon=1,cost=0.1)
points(Hd$"玉米價(jià)格變動(dòng)率.時(shí)差已調(diào)整.", predictedY, col = "red", pch=4)
預(yù)測(cè)新數(shù)據(jù)
plot(Hd_predict[,c(3,2)] ,pch=ifelse(istrain==1,1,2)) ?
?
? ?
points(Hd_predict$"玉米價(jià)格變動(dòng)率.時(shí)差已調(diào)整.", predictednew, col = "red", pch=4)
最受歡迎的見解
1.R語言多元Logistic邏輯回歸 應(yīng)用案例
2.面板平滑轉(zhuǎn)移回歸(PSTR)分析案例實(shí)現(xiàn)
3.matlab中的偏最小二乘回歸(PLSR)和主成分回歸(PCR)
4.R語言泊松Poisson回歸模型分析案例
5.R語言回歸中的Hosmer-Lemeshow擬合優(yōu)度檢驗(yàn)
6.r語言中對(duì)LASSO回歸,Ridge嶺回歸和Elastic Net模型實(shí)現(xiàn)
7.在R語言中實(shí)現(xiàn)Logistic邏輯回歸
8.python用線性回歸預(yù)測(cè)股票價(jià)格
9.R語言如何在生存分析與Cox回歸中計(jì)算IDI,NRI指標(biāo)