来自烟水暖的学习笔记
回归分析(Regression analysis)
回归分析(Regression analysis),是研究因变量与自变量之间相关性的一种数学方法,并将相关性量化,即得到回归方程。我们可以通过回归方程(回归预测模型)来预测因变量的变化。
回归分析的分类:
1) 按自变量的个数,可以分为一元回归,多元回归
2)按变量相关性的形状(回归线)是否为直线型,可分为线性回归,非线性回归。
下面,我们将通过python工具来理解最简单的回归分析,即一元线性回归,并了解回归分析的步骤。
想要更多了解回归分析包含的内容,可参考下面内容
烟水暖:详细解读Excel回归分析:价格与需求的相关性zhuanlan.zhihu.com一元线性回归
顾名思义,就是只包含一个自变量,且与因变量的关系是呈线性的回归分析,其回归方程(回归模型)可用下面的方程表示:
y=bx+a (其中:y为因变量,x为自变量,b为回归系数或斜率,a为截距)
简单实例
我们将通过分析产品A的单价与销量之间的关系,来预测当产品A的定价为x,市场的需求量y将会是多少,这样我们就能知道该向供应商订购多少产品A。
数据如下:
表格数据来自coursera中的consumer analytic课程。
price_demand.csv(百度云)
- 确定变量,导入数据
2. 探索性数据分析,绘制散点图,观察变量之间关系及趋势变化,确定回归类型
#绘制散点图,观察Price,demand的相关性
由图可见,Price与Demand具有较强的负相关性,即Price增加,Demand反而减少。
我们也可通过下面函数观察Price与Demand的相关系数(相关系数R是描述变量之间的相关性,范围在[-1,1]之间,R>0,则为正相关,R<0,则为负相关;R的绝对值越接近于1,相关性越强,反之,相关性越弱)
3. 建立回归模型,并进行模型训练
在统计学中,一般我们是通过“最小二乘法”直线拟合来执行线性回归分析。
4. 检验模型的拟合程度
查看模型的判断系数,判断其拟合度。
判断系数为0.8679788013877346,可见模型的拟合程度还是较高的。
下面将拟合回归线放入散点图,直观的感受模型的拟合程度:
最后查看回归方程的内容:
模型包含的内容:
参数:
fit_intercept: 默认为true,是否计算截距
normalize: 是否将数据归一化
copy_X:是否复制x的值,默认是复制,否则覆盖原来x的值
n_jobs:计算模型使用的作业数,也叫核数
属性:
coef_:斜率
intercept_:截距
方法:
fit() 拟合线性模型
get_params() 获取估计量的参数,即返回上面四个参数的内容
predict() 使用模型预测结果
score() 返回判定系数 ^2,判定系数描述的是回归方程的拟合优度,值越接近于1,拟合度越高
set_params()设置估计量的参数的内容
这里,我们只需要拿到下面内容,即可知道回归模型的内容。
即Price与Demand呈负相关性,且可用 y=-0.895x+10.128 来描述其关系。接下来,我们便可用这个模型来预测需求。
5. 使用回归模型预测
通过模型的预测方法,我们可预测当产品A的价格为8,或8.2,对应的需求为2.96,2.78.
总结
通过上面的学习,我们可用了解到最简单的线性回归分析,理解其如何帮我们来分析Price和Demand之间的关系,并由此预测Demand。