一、回归分析(Regression Analysis)
研究自变量与因变量之间关系形式的分析方法,它主要是通过建立 因变量y 与影响它的自变量Xi(i=1,2,3....)之间的回归模型,来预测 因变量y 的发展趋势。
二、回归分析的分类
2.1线性回归分析:简单线性回归、多重线性回归
2.2非线性回归分析:逻辑回归、神经网络
三、简单线性回归模型
y = a + bx + e(一元一次方程)
1)y——因变量
2)x——自变量
3)a——常数项,截距
4)b——回归系数,斜率
5)e——随机误差
3.1回归分析的步骤
1)根据预测目标,确定自变量和因变量
2)绘制散点图,确定回归模型类型
3)估计模型参数,建立回归模型
4)对回归模型进行检验
5)利用回归模型进行预测
3.2案例
步骤一:
根据预测目标,确定自变量(已知)和因变量(未知)
问题:投入50万的广告费用,能够带来多少的销售额
因此,广告费用是自变量,销售额是因变量
步骤二:
绘制散点图,确定回归模型类型
步骤三:
估计模型参数,建立回归模型
最小2乘法(最小平方法):
实际点和估计点之间的距离的平方和达到最小。
步骤四:
步骤五:
利用回归模型进行预测:
根据已有的自变量数据,预测需要的因变量对应的结果。
四、代码实战
data.csv:
import numpy; from pandas import read_csv; from matplotlib import pyplot as plt; from sklearn.linear_model import LinearRegression data = read_csv( 'C:\\Python_DM\\4.1\\data.csv' ) #第二步,画出散点图,求x和y的相关系数 plt.scatter(data.广告投入, data.销售额) data.corr() #第三步,估计模型参数,建立回归模型,sklearn集成的方法,直接调用 lrModel = LinearRegression() x = data[['广告投入']] y = data[['销售额']] #训练模型,参数a和参数求解的过程 lrModel.fit(x, y) #第四步、对回归模型进行检验 lrModel.score(x, y) #第五步、利用回归模型进行预测(输入未知的因变量数组) lrModel.predict([[50], [40], [30]]) """ #查看截距 alpha = lrModel.intercept_[0] #查看参数 beta = lrModel.coef_[0][0] alpha + beta*numpy.array([50, 40, 30]) """