天天看點

拓端資料tecdat|使用R語言進行多項式回歸、非線性回歸模型曲線拟合

原文連結:http://tecdat.cn/?p=22531 

原文出處:拓端資料部落公衆号

對于線性關系,我們可以進行簡單的線性回歸。對于其他關系,我們可以嘗試拟合一條曲線。

曲線拟合是建構一條曲線或數學函數的過程,它對一系列資料點具有最佳的拟合效果。

使用示例資料集

  1. #我們将使Y成為因變量,X成為預測變量
  2. #因變量通常在Y軸上
  3. plot(x,y,pch=19)
拓端資料tecdat|使用R語言進行多項式回歸、非線性回歸模型曲線拟合

看起來我們可以拟合一條曲線。

  1. #拟合一次多項式方程。
  2. fit <- lm(y~x)
  3. #二次
  4. fit2 <- lm(y~poly(x,2)
  5. #三次
  6. ......
  7. #生成50個數字的範圍,從30開始到160結束
  8. xx <- seq(30,160, length=50)
  9. lines(xx, predict(fit, xx)
拓端資料tecdat|使用R語言進行多項式回歸、非線性回歸模型曲線拟合

我們可以看到每條曲線的拟合程度。

我們可以使用summary()函數對拟合結果進行更詳細的統計。

拓端資料tecdat|使用R語言進行多項式回歸、非線性回歸模型曲線拟合
拓端資料tecdat|使用R語言進行多項式回歸、非線性回歸模型曲線拟合
拓端資料tecdat|使用R語言進行多項式回歸、非線性回歸模型曲線拟合
拓端資料tecdat|使用R語言進行多項式回歸、非線性回歸模型曲線拟合

使用不同多項式R平方的總結。

  1. 1st: 0.5759
  2. 2nd: 0.9474
  3. 3rd: 0.9924
  4. 4th: 0.9943

我們可以用 "方差分析 "來比較不同的模型。

拓端資料tecdat|使用R語言進行多項式回歸、非線性回歸模型曲線拟合

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

拓端資料tecdat|使用R語言進行多項式回歸、非線性回歸模型曲線拟合
拓端資料tecdat|使用R語言進行多項式回歸、非線性回歸模型曲線拟合

我們還可以建立一個反映多項式方程的函數。

拓端資料tecdat|使用R語言進行多項式回歸、非線性回歸模型曲線拟合
拓端資料tecdat|使用R語言進行多項式回歸、非線性回歸模型曲線拟合

從三次多項式推算出來的數值與原始數值有很好的拟合,我們可以從R-squared值中得知。

結論

對于非線性曲線拟合,我們可以使用lm()和poly()函數,這也為多項式函數對資料集的拟合程度提供了有用的統計資料。我們還可以使用方差分析測試來評估不同模型之間的對比程度。從模型中可以定義一個反映多項式函數的函數,它可以用來推算因變量。

  1. yy<-third(xx,fit)
  2. plot(xx,yy)
拓端資料tecdat|使用R語言進行多項式回歸、非線性回歸模型曲線拟合
拓端資料tecdat|使用R語言進行多項式回歸、非線性回歸模型曲線拟合

最受歡迎的見解

1.R語言多元Logistic邏輯回歸 應用案例

2.面闆平滑轉移回歸(PSTR)分析案例實作

3.matlab中的偏最小二乘回歸(PLSR)和主成分回歸(PCR)

4.R語言泊松Poisson回歸模型分析案例

5.R語言回歸中的Hosmer-Lemeshow拟合優度檢驗

6.r語言中對LASSO回歸,Ridge嶺回歸和Elastic Net模型實作

7.在R語言中實作Logistic邏輯回歸

8.python用線性回歸預測股票價格

9.R語言如何在生存分析與Cox回歸中計算IDI,NRI名額

▍關注我們

【大資料部落】第三方資料服務提供商,提供全面的統計分析與資料挖掘咨詢服務,為客戶定制個性化的資料解決方案與行業報告等。

▍咨詢連結:http://y0.cn/teradat

▍聯系郵箱:[email protected]