複製鏈接
請複製以下鏈接發送給好友

多項式迴歸

鎖定
多項式迴歸,迴歸函數是迴歸變量多項式的迴歸。多項式迴歸模型是線性迴歸模型的一種,此時迴歸函數關於迴歸係數是線性的。由於任一函數都可以用多項式逼近,因此多項式迴歸有着廣泛應用。 [1] 
中文名
多項式迴歸
外文名
Polynomial Regression
所屬學科
數理科學
類    型
計算機科學
學    科
跨學科
性    質
迴歸
概    念
研究多項式的迴歸分析

多項式迴歸介紹

直線迴歸研究的是一個因 [3]  變量與一個自變量之間的迴歸問題,但是,在畜禽、水產科學領域的許多實際問題中,影響因 [3]  變量的自變量往往不止一個,而是多個,比如綿羊的產毛量這一變量同時受到綿羊體重、胸圍、體長等多個變量的影響,因此需要進行一個因 [3]  變量與多個自變量間的迴歸分析,即多元迴歸分析
研究一個因 [4]  變量與一個或多個自變量間多項式的迴歸分析方法,稱為多項式迴歸(Polynomial Regression)。如果自變量只有一個時,稱為一元多項式迴歸;如果自變量有多個時,稱為多元多項式迴歸。在一元迴歸分析中,如果變量 [4]  y與自變量x的關係為非線性的,但是又找不到適當的函數曲線來擬合,則可以採用一元多項式迴歸。
一元m次多項式迴歸方程為:
二元二次多項式迴歸方程為:
多項式迴歸的最大優點就是可以通過增加x的高次項對實測點進行逼近,直至滿意為止。事實上,多項式迴歸可以處理相當一類非線性問題,它在迴歸分析中佔有重要的地位,因為任一函數都可以分段用多項式來逼近。因此,在通常的實際問題中,不論依變量與其他自變量的關係如何,我們總可以用多項式迴歸來進行分析。

多項式迴歸多項式迴歸分析

多項式迴歸問題可以通過變量轉換化為多元線性迴歸問題來解決。
對於一元m次多項式迴歸方程,令
,則
就轉化為m元線性迴歸方程
因此用多元線性函數的迴歸方法就可解決多項式迴歸問題。需要指出的是,在多項式迴歸分析中,檢驗迴歸係數
是否顯著,實質上就是判斷自變量x的i次方項對因變量y的影響是否顯著。
對於二元二次多項式迴歸方程,令
,則該二元二次多項式函數就轉化為五元線性迴歸方程
。但隨着自變量個數的增加,多元多項式迴歸分析的計算量急劇增加。多元多項式迴歸屬於多元非線性迴歸問題。 [2] 
模型如以下形式的稱為一元多項式迴歸模型:

多項式迴歸應用

多項式迴歸在迴歸分析中很重要,因為任意一個函數至少在一個較小的範圍內都可以用多項式任意逼近,因此在比較複雜的實際問題中,有時不問y與諸元素的確切關係如何,而用迴歸分析進行分析運算。
比如,對房屋成交信息建立多項式迴歸方程,並依據迴歸方程對房屋價格進行預測 。
實例數據:如圖1,為了方便展示,成交信息只使用了房屋的面積以及對應的成交價格。
圖1 圖1
實驗過程:使用算法為線性迴歸
實現步驟:
1、建立工程並導入sklearn包
import matplotlib.pyplot as pltimport numpy as npfrom sklearn import linear_modelfrom sklearn.preprocessing import PolynomialFeatures

2、加載訓練數據,建立迴歸方程
# 讀取數據集datasets_X = []datasets_Y = []fr = open('prices.txt','r')lines = fr.readlines()for line in lines:    items = line.strip().split(',')    datasets_X.append(int(items[0]))    datasets_Y.append(int(items[1]))length = len(datasets_X)datasets_X = np.array(datasets_X).reshape([length,1])datasets_Y = np.array(datasets_Y)minX = min(datasets_X)maxX = max(datasets_X)X = np.arange(minX,maxX).reshape([-1,1])poly_reg = PolynomialFeatures(degree = 2)X_poly = poly_reg.fit_transform(datasets_X)lin_reg_2 = linear_model.LinearRegression()lin_reg_2.fit(X_poly, datasets_Y)

3、可視化處理
# 圖像中顯示plt.scatter(datasets_X, datasets_Y, color = 'red')plt.plot(X, lin_reg_2.predict(poly_reg.fit_transform(X)), color = 'blue')plt.xlabel('Area')plt.ylabel('Price')plt.show()

實驗結果:通過多項式迴歸擬合的曲線與數據點的關係如圖2所示。依據該多項式迴歸方程即可通過房屋的尺寸,來預測房屋的成交價格。
圖2 圖2
參考資料
  • 1.    陸雄文.管理學大辭典:上海辭書出版社,2013年
  • 2.    李柏林. 多項式迴歸與局部迴歸方法[J]. 暨南大學學報自然科學與醫學版, 2003, 24(3):6-9.
  • 3.    劉秋平,楊桂玲,王蘋香.統計學原理:山東大學出版社,2007:353
  • 4.    楊秀璋,顏娜.Python 網絡數據爬取及分析從入門到精通 分析篇:北京航空航天大學出版社,2018.06:69