回归分析
回归分析的原理
概述
在统计学中,回归分析(regression analysis)指的是确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法。回归分析按照涉及的变量的多少,分为一元回归和多元回归分析;按照因变量的多少,可分为简单回归分析和多重回归分析;按照自变量和因变量之间的关系类型,可分为线型回归分析和非线性回归分析。
原理
在大数据分析中,回归分析是一种预测性的建模技术,它研究的是因变量(目标)和自变量(预测器)之间的关系。这种技术通常用于预测分析,时间序列模型以及发现变量之间的因果关系。
回归分析研究的主要问题
- 确定Y与X间的定量关系表达式,这种表达式称为回归方程
- 对求得的回归方程的可信度进行检验
- 判断自变量X对因变量Y有无影响
- 利用所求得的回归方程进行预测和控制
回归分析的分类和使用方法
回归分析的分类
- Linear Regression 线性回归
- Logistic Regression 逻辑回归
- Polynomial Regression 多项式回归
- Stepwise Regression 逐步回归
- Ridge Regression 岭回归
- Lasso Regression 套索回归
- ElasticNet回归
线性回归
线性回归是最为人熟知的建模技术之一。线性回归通常是人们在学习预测模型时首选的技术之一。在这种技术中,因变量是连续的,自变量可以是连续的也可以是离散的。回归线的性质是线性的。
线性回归使用最佳的拟合直线(也就是回归线)在因变量(Y)和一个或多个自变量(X)之间建立一种关系。
多元线性回归只需要将一元线性回归中的自变量和因变量修正为向量即可,由线性代数知识按照一元线性回归步骤求解。
回归分析使用前提
- 方差齐性
- 线性关系
- 效应累加
- 变量无测量误差
- 变量服从多元正态分布
- 观察独立
- 模型完整(没有包含不该进入的变量,也没有漏掉应该进入的变量)
- 误差项独立且服从(0,1)正态分布
回归分析的内容
- 从一组数据出发,确定某些变量之间的定量关系式,即建立数学模型并估计其中的未知参数。估计参数的常用方法是最小二乘法
- 对这些关系式的可信程度进行检验
- 在许多自变量共同影响着一个因变量的关系中,判断哪个自变量的影响是显著的,哪些自变量的影响是不显著的,将影响显著的自变量加入模型中,而剔除影响不显著的变量,通常用逐步回归、向前回归和向后回归等方法
- 利用所求的关系式对某一生产过程进行预测或控制。回归分析的应用是非常广泛的,统计软件包使各种回归方法计算十分方便
回归分析的步骤
确定变量
明确预测的具体目标,也就确定了因变量。如预测具体目标是下一年度的销售量,那么销售量Y就是因变量。通过市场调查和查阅资料,寻找与预测目标的相关影响因素,即自变量,并从中选出主要的影响因素。
建立预测模型
依据自变量和因变量的历史统计资料进行计算,在此基础上建立回归分析方程,即回归分析预测模型
进行相关分析
回归分析是对具有因果关系的影响因素(自变量)和预测对象(因变量)所进行的数理统计分析处理。只有当自变量与因变量确实存在某种关系时,建立的回归方程才有意义。因此,作为自变量的因素与作为因变量的预测对象是否有关,相关程度如何,以及判断这种相关程度的把握性多大,就成为进行回归分析必须要解决的问题,进行相关分析,一般要求出相关关系,以相关系数的大小来判断自变量和因变量的相关程度。
计算预测误差
回归预测模型是否可用于实际预测,取决于对回归预测模型的检验和对预测误差的计算。回归方程只有通过各种检验,且预测误差较小,才能将回归方程作为预测模型进行预测
确定预测值
利用回归预测模型计算预测值,并对预测值进行综合分析,确定最后的预测值
回归分析的MATLAB调用
简单的线性回归
假设我们找到了最佳拟合的直线方程:y=ax+b
则对于每一个样本点\(x^{(i)}\),根据我们的直线方程,预测值为:\(\hat{y}^{(i)}=ax^{(i)}+b\),真值为:\(y^{(i)}\)
目标:使\(\sum_{i=1}^m(y^{(i)}-\hat{y}^{(i)})^2\) 尽可能小 \(\hat{y}^{(i)}=ax^{(i)}+b\)
目标:找到a和b,使得\(\sum_{i=1}^m(y^{(i)}-ax^{(i)}-b)^2\) (损失函数)尽可能小
典型的最小二乘法问题:最小化误差的平方 \[ a=\frac{\sum_{i=1}^m(x^{(i)}-\bar{x})(y^{(i)}-\bar{y})}{\sum_{i=1}^m(x^{(i)}-\bar{x})^2} \]
\[ b=\bar{y}-a\bar{x} \]
\[ a=\frac{\sum_{i=1}^m(x^{(i)}-\bar{x})(y^{(i)}-\bar{y})}{\sum_{i=1}^m(x^{(i)}-\bar{x})^2} -->\sum_{i=1}^mw^{(i)}\cdot v^{(i)} -->w\cdot v \]
\[ w=(w^{(1)},w^{(2)},...,w^{(n)}),v=(v^{(1)},v^{(2)},...,v^{(n)}) \]
多元线性回归
目标:使\(\sum_{i=1}^m(y^{(i)}-\hat{y}^{(i)})^2\)尽可能小 \[ \hat{y}^{(i)}=\theta_0+\theta_1X_1^{(i)}+\theta_2X_2^{(i)}+...+\theta_nX_n^{(i)} \] 目标:找到\(\theta_0,\theta_1,\theta_2,...,\theta_n\),使得\(\sum_{i=1}^m(y^{(i)}-\hat{y}^{(i)})^2\)尽可能小 \[ \hat{y}^{(i)}=\theta_0+\theta_1X_1^{(i)}+\theta_2X_2^{(i)}+...+\theta_nX_n^{(i)} \]
\[ \theta=(\theta_0,\theta_1,\theta_2,...,\theta_n)^T \]
\[ \hat{y}^{(i)}=\theta_0X_0^{(i)}+\theta_1X_1^{(i)}+\theta_2X_2^{(i)}+...+\theta_nX_n^{(i)}\underline=1 \]
\[ X^{(i)}=(X_0^{(i)},X_1^{(i)},X_2^{(i)},...,X_n^{(i)}) \]
\[ \hat{y}^{(i)}=X^{(i)}\cdot \theta \]
\[ X_b=\left( \begin{matrix} 1&X_1^{(1)}&X_2^{(1)}&...&X_n^{(1)}\\ 1&X_1^{(2)}&X_2^{(2)}&...&X_n^{(2)}\\ ...\\ 1&X_1^{(m)}&X_2^{(m)}&...&X_n^{(m)}\\ \end{matrix} \right) \]
\[ \theta=\left( \begin{matrix} \theta_0\\ \theta_1\\ \theta_2\\ ...\\ \theta_n \end{matrix} \right) \]
\[ \hat{y}=X_b\cdot \theta \]
目标:使\(\sum_{i=1}^m(y^{(i)}-\hat{y}^{(i)})^2\)尽可能小-->使\((y-X_b\cdot \theta)^T(y-X_b\cdot \theta)\)尽可能小-->\(\theta=(X_b^TX_b)^{-1}X_b^Ty\)
多元线性回归的正规方程解\(\theta=(X_b^TX_b)^{-1}X_b^Ty\)
问题:时间复杂度高:O(n3)(wdwxO(n2.4))
优点:不需要对数据做归一化处理
回归分析的MATLAB调用
- b=regress(Y,X)确定回归系数的点估计值,其中,Y为n*1的矩阵;X为(ones(n,1),x1,...,xm)的矩阵
- [b,bint,r,rint,stats]=regress(Y,X,alpha)求回归系数的点估计和区间估计,并检验回归模型(b:回归系数;bint:回归系数的区间估计;r:残差;rint:残差置信区间;stats:用于检验回归模型的统计量,有四个数值:相关系数R2、F值、与F对应的概率p,误差方差。相关系数R2越接近1,说明回归方程越显著;F>F1-\(\alpha\)(k,n-k-1)时拒绝H0,F越大,说明回归方程越显著;与F对应的概率p时拒绝H0,回归模型成立。p值在0.01-0.05之间,越小越好
- 残差以及其置信区间:rcoplot(r,rint);
回归分析的评价
衡量线性回归法的指标
均方误差MSE均方根差RMSE、平均绝对误差MAE,这三类算法具体公式不赘述,但乐都存在局限性:作用域使用范围,对不同事物的预测缺乏统一标准,这样就引出了新的一个预测指标R Squared \[ R^2=1-\frac{\sum_i(\hat{y}^{(i)}-y^{(i)})^2}{\sum_i(\bar{y}-y^{(i)})^2} \]
- R^2<=1
- R2越大越好。当我们的预测模型不犯任何错误时,R2为最大值 1
- 当我们的模型等于基准模型时,R^2=0
- 如果R^2<0,说明我们学习到的模型还不如基准模型,此时,数据很可能不存在任何线性关系
实际应用中,学采用regress函数来实现
回归分析的优点
- 回归分析在分析多因素模型时,更加简单和方便
- 运用回归模型,只需要采用的模型与数据相同,通过标准的统计方法可以计算出唯一的结果,但在图和表的形式中,数据之间的关系往往因人而异,不同人画出的拟合曲线可能不一样
- 回归分析可以准确的计算每个因素的相关程度和回归拟合程度的高低,提高预测方程式的效果
- 在使用回归分析时,要注意模式的适用范围。
回归分析的缺点
有时候在回归分析中,选用何种因子和该因子采用何种表达式仅是一种推测,这影响了因子的多样性和某些因子的不可预测性,使得回归分析在某些情况下受到限制。
回归分析的改进方法
- 综合分析,仔细确定模型
- 对于较难确定的相关关系,可以采用神经网络等算法进行分析
- 通过残差分析和拟合度分析,不断调整模型,直到符合实际情况