最近我們被客戶要求撰寫關於多項式回歸的研究報告,包括一些圖形和統計輸出。
如果數據比簡單的直線更為複雜,我們也可以用線性模型來擬合非線性數據
一個簡單的方法就是將每一個特徵的冪次方添加為一個新的特徵,然後在這個拓展的特徵集上進行線性擬合,這種方法成為多項式回歸。
回歸分析的目標是根據自變量(或自變量向量)x 的值來模擬因變量 y 的期望值。在簡單的線性回歸中,使用模型
其中ε是未觀察到的隨機誤差,其以標量 x 為條件,均值為零。在該模型中,對於 x 值的每個單位增加,y 的條件期望增加 β1β1個單位。
在許多情況下,這種線性關係可能不成立。例如,如果我們根據合成發生的溫度對化學合成的產率進行建模,我們可以發現通過增加每單位溫度增加的量來提高產率。在這種情況下,我們可能會提出如下所示的二次模型:
通常,我們可以將 y 的期望值建模為 n 次多項式,得到一般多項式回歸模型:
為了方便,這些模型從估計的角度來看都是線性的,因為回歸函數就未知參數β0β0、β1β1等而言是線性的。因此,對於最小二乘分析,多項式回歸的計算和推理問題可以使用多元回歸技術完全解決,這是通過將 xx、x2x2 等視為多元回歸模型中的獨特自變量來完成的。
擬合R語言中的多項式回歸
讓我們看一個經濟學的例子:假設你想購買一定數量q的特定產品。如果單價是p,那麼你會支付總金額y。這是一個線性關係的典型例子。總價格和數量成正比。
如下所示:
但購買和出售,我們可能要考慮一些其他相關信息,就像當:購買顯著數量很可能是我們可以要求並獲得折扣,或購買更多更重要的是我們可能會推高價格。
這可能導致像這樣的情況,其中總成本不再是數量的線性函數:
通過多項式回歸,我們可以將n階模型擬合到數據上,並嘗試對非線性關係進行建模。
點擊標題查閱往期內容
R語言用logistic邏輯回歸和AFRIMA、ARIMA時間序列模型預測世界人口
左右滑動查看更多
01
02
03
04
這是我們模擬觀測數據的圖。模擬的數據點是藍色的點,而紅色的線是信號(信號是一個技術術語,通常用於表示我們感興趣檢測的總體趨勢)。
讓我們用R來擬合。當擬合多項式時,您可以使用
lm(noisy.y〜poly(q,3))
通過使用該confint()函數,我們可以獲得我們模型參數的置信區間。
模型參數的置信區間:
confint(model,level = 0.95)
總的來說,這個模型似乎很適合,因為R的平方為0.8。正如我們所預期的那樣,一階和三階項的係數在統計上顯著。
將線添加到現有圖中:
我們可以看到,我們的模型在擬合數據方面做得不錯。
點擊文末 「閱讀原文」
獲取全文完整代碼數據資料。
本文選自《R語言機器學習實戰之多項式回歸》。
點擊標題查閱往期內容
R語言用logistic邏輯回歸和AFRIMA、ARIMA時間序列模型預測世界人口
【視頻】R語言邏輯回歸(Logistic回歸)模型分類預測病人冠心病風險|數據分享
R語言邏輯回歸Logistic回歸分析預測股票漲跌
matlab用馬爾可夫鏈蒙特卡羅 (MCMC) 的Logistic邏輯回歸模型分析汽車實驗數據
R語言邏輯回歸、Naive Bayes貝葉斯、決策樹、隨機森林算法預測心臟病
R語言邏輯回歸(Logistic Regression)、回歸決策樹、隨機森林信用卡違約分析信貸數據集PYTHON用戶流失數據挖掘:建立邏輯回歸、XGBOOST、隨機森林、決策樹、支持向量機、樸素貝葉斯和KMEANS聚類用戶畫像
Python對商店數據進行lstm和xgboost銷售量時間序列建模預測分析
PYTHON集成機器學習:用ADABOOST、決策樹、邏輯回歸集成模型分類和回歸和網格搜索超參數優化
R語言集成模型:提升樹boosting、隨機森林、約束最小二乘法加權平均模型融合分析時間序列數據
Python對商店數據進行lstm和xgboost銷售量時間序列建模預測分析
R語言用主成分PCA、 邏輯回歸、決策樹、隨機森林分析心臟病數據並高維可視化
R語言基於樹的方法:決策樹,隨機森林,Bagging,增強樹
R語言用邏輯回歸、決策樹和隨機森林對信貸數據集進行分類預測
spss modeler用決策樹神經網絡預測ST的股票
R語言中使用線性模型、回歸決策樹自動組合特徵因子水平
R語言中自編基尼係數的CART回歸決策樹的實現
R語言用rle,svm和rpart決策樹進行時間序列預測
python在Scikit-learn中用決策樹和隨機森林預測NBA獲勝者
python中使用scikit-learn和pandas決策樹進行iris鳶尾花數據分類建模和交叉驗證
R語言里的非線性模型:多項式回歸、局部樣條、平滑樣條、 廣義相加模型GAM分析
R語言用標準最小二乘OLS,廣義相加模型GAM ,樣條函數進行邏輯回歸LOGISTIC分類
R語言ISLR工資數據進行多項式回歸和樣條回歸分析
R語言中的多項式回歸、局部回歸、核平滑和平滑樣條回歸模型
R語言用泊松Poisson回歸、GAM樣條曲線模型預測騎自行車者的數量
R語言分位數回歸、GAM樣條曲線、指數平滑和SARIMA對電力負荷時間序列預測R語言樣條曲線、決策樹、Adaboost、梯度提升(GBM)算法進行回歸、分類和動態可視化
如何用R語言在機器學習中建立集成模型?
R語言ARMA-EGARCH模型、集成預測算法對SPX實際波動率進行預測在python 深度學習Keras中計算神經網絡集成模型R語言ARIMA集成模型預測時間序列分析R語言基於Bagging分類的邏輯回歸(Logistic Regression)、決策樹、森林分析心臟病患者
R語言基於樹的方法:決策樹,隨機森林,Bagging,增強樹
R語言基於Bootstrap的線性回歸預測置信區間估計方法
R語言使用bootstrap和增量法計算廣義線性模型(GLM)預測置信區間
R語言樣條曲線、決策樹、Adaboost、梯度提升(GBM)算法進行回歸、分類和動態可視化
Python對商店數據進行lstm和xgboost銷售量時間序列建模預測分析
R語言隨機森林RandomForest、邏輯回歸Logisitc預測心臟病數據和可視化分析
R語言用主成分PCA、 邏輯回歸、決策樹、隨機森林分析心臟病數據並高維可視化
Matlab建立SVM,KNN和樸素貝葉斯模型分類繪製ROC曲線
matlab使用分位數隨機森林(QRF)回歸樹檢測異常值