拓端tecdat|使用R語言進行多項式回歸、非線性回歸模型曲線擬合
原文鏈接:http://tecdat.cn/?p=22531?
原文出處:拓端數(shù)據(jù)部落公眾號
對于線性關(guān)系,我們可以進行簡單的線性回歸。對于其他關(guān)系,我們可以嘗試擬合一條曲線。
曲線擬合是構(gòu)建一條曲線或數(shù)學(xué)函數(shù)的過程,它對一系列數(shù)據(jù)點具有最佳的擬合效果。
使用示例數(shù)據(jù)集
#我們將使Y成為因變量,X成為預(yù)測變量
#因變量通常在Y軸上
plot(x,y,pch=19)

看起來我們可以擬合一條曲線。
#擬合一次多項式方程。
fit <- lm(y~x)
#二次
fit2 <- lm(y~poly(x,2)
#三次
......
#生成50個數(shù)字的范圍,從30開始到160結(jié)束
xx <- seq(30,160, length=50)
lines(xx, predict(fit, xx)

我們可以看到每條曲線的擬合程度。
我們可以使用summary()函數(shù)對擬合結(jié)果進行更詳細的統(tǒng)計。




使用不同多項式R平方的總結(jié)。
1st: 0.5759
2nd: 0.9474
3rd: 0.9924
4th: 0.9943
我們可以用 "方差分析 "來比較不同的模型。

Pr(>F)值是拒絕無效假設(shè)的概率,即一個模型不比另一個模型更適合。我們有非常顯著的P值,所以我們可以拒絕無效假設(shè),即fit2比fit提供了更好的擬合。


我們還可以創(chuàng)建一個反映多項式方程的函數(shù)。


從三次多項式推算出來的數(shù)值與原始數(shù)值有很好的擬合,我們可以從R-squared值中得知。
結(jié)論
對于非線性曲線擬合,我們可以使用lm()和poly()函數(shù),這也為多項式函數(shù)對數(shù)據(jù)集的擬合程度提供了有用的統(tǒng)計數(shù)據(jù)。我們還可以使用方差分析測試來評估不同模型之間的對比程度。從模型中可以定義一個反映多項式函數(shù)的函數(shù),它可以用來推算因變量。
yy<-third(xx,fit)
plot(xx,yy)


最受歡迎的見解
1.R語言多元Logistic邏輯回歸 應(yīng)用案例
2.面板平滑轉(zhuǎn)移回歸(PSTR)分析案例實現(xiàn)
3.matlab中的偏最小二乘回歸(PLSR)和主成分回歸(PCR)
4.R語言泊松Poisson回歸模型分析案例
5.R語言回歸中的Hosmer-Lemeshow擬合優(yōu)度檢驗
6.r語言中對LASSO回歸,Ridge嶺回歸和Elastic Net模型實現(xiàn)
7.在R語言中實現(xiàn)Logistic邏輯回歸
8.python用線性回歸預(yù)測股票價格
9.R語言如何在生存分析與Cox回歸中計算IDI,NRI指標