(一)基礎鋪墊
一元非線性回歸分析(Univariate Nonlinear Regression)
在回歸分析中,只包括一個自變量和一個因變量,且二者的關系可用一條曲線近似表示,則稱為一元非線性回歸分析。
一元二次方程:
-
- 一元三次方程:
-
- 一元 n 次方程:
(二)案例-金融場景為例
產品編號 | 手續費(%) | 金融產品銷售額 |
---|---|---|
1 | 2.2 | 25.5 |
2 | 2.3 | 22.5 |
3 | 2.4 | 19.5 |
4 | 2.5 | 16.5 |
5 | 2.7 | 13.5 |
6 | 3.1 | 10.5 |
7 | 3.6 | 7.5 |
8 | 4.8 | 4.5 |
9 | 7.0 | 1.5 |
1.建模邏輯
- 一元非線性回歸方程轉為多元一次回歸方程
2.實操
jacky關鍵點提示:把一元非線性方程轉化為多元線性方程的方法
轉化的方法是PolynomialFeatures類
要確定是一元幾次方程(從圖形中觀察),然后確定degree是幾(多少階的方程)
#---author:朱元祿---
import pandas
data = pandas.read_csv(
'file:///Users/apple/Desktop/jacky_1.csv',encoding='GBK'
)
x = data[["手續費(%)"]]
y = data[["金融產品銷售額"]]
import matplotlib
font = {
'family':'SimHei'
}
matplotlib.rc('font',**font)
matplotlib.rcParams['axes.unicode_minus'] = False
from pandas.plotting import scatter_matrix
scatter_matrix(
data[["手續費(%)","金融產品銷售額"]],
alpha = 0.8,figsize =(10,10),diagonal = 'kid'
)
from sklearn.linear_model import LinearRegression
from sklearn.preprocessing import PolynomialFeatures
pf = PolynomialFeatures(degree=2)
x_2_fit = pf.fit_transform(x)
lrModel = LinearRegression()
lrModel.fit(x_2_fit,y)
lrModel.score(x_2_fit,y)
x_2_predict = pf.fit_transform([9],[10])
lrModel.predict(x_2_predict)