Python回归分析五部曲(三)—一元非线性回归

(一)基础铺垫

  • 一元非线性回归分析(Univariate Nonlinear Regression)

    • 在回归分析中,只包括一个自变量和一个因变量,且二者的关系可用一条曲线近似表示,则称为一元非线性回归分析。

    • 一元二次方程:

y=a2x2+a1x1+a0x0
    • 一元三次方程:
y=a3x3+a2x2+a1x1+a0x0
    • 一元 n 次方程:
y=anxn+......+a1x1+a0x0

(二)案例-金融场景为例

产品编号 手续费(%) 金融产品销售额
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.建模逻辑

  • 一元非线性回归方程转为多元一次回归方程
例如:y=a2x2+a1x1+a0x0
转为:y=a2x¯2+a1x¯1+a0x¯0
数据分析部落公众号(shujudata)
其中:
x¯0=x0
x¯1=x1
x¯2=x2

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)
上一篇:VS2015和SVN合作


下一篇:第三章 jQuery总结 参考文本