多元线性回归(一)

一.回归分析的介绍和分类       

        我们先简单的理解什么是回归分析以及回归分析的分类。

        回归分析是数据分析中最基础也是最重要的分析工具,绝大多数的数据分析问题,都可以使用回归的思想来解决。回归分析的任务就是,通过研究自变量X和因变量Y的相关关系,尝试去解释Y的形成机制,进而达到通过X去预测Y的目的。

        常见的回归分析有五类:线性回归、0-1回归、定序回归、计数回归和生存回归,其划分的依据是因变量Y的类型。本讲我们主要学习线性回归。

        简单的说,回归分析就是研究X和Y之间相关性的分析。这其中有三个关键词,我们依次去理解。

        首先,我们要先了解什么是相关性。但我们需要注意的是,相关性并不等于因果性。在上面的例子中,统计数据表明:游泳死亡人数越高,雪糕卖的越多。因此,游泳死亡人数和雪糕售出量之间有着显著的正相关性。那么我们可以认为吃雪糕可以增加游泳死亡的风险吗?但实际情况是,雪糕售出量越多,是由于天气炎热,而因为天气炎热,游泳的人很多,于是游泳死亡人数越高。

        在绝大多数情况下,我们并没有能力去探究严格的因果关系,于是我们只能通过回归分析,研究相关关系。我对于相关性的理解就是两个变量之间的关联程度,但并不是严格的因果性。

        Y是我们的因变量,在实际应用中,Y常常是我们需要研究的核心变量。而根据Y的类型,我们要使用不同的回归分析。其中,Y的类型可以分为五类:连续数值型变量、0-1型变量、定序变量、计数变量、生存变量。详细的例子可以参考ppt。

        X是用来解释Y的相关变量,所以X被称为自变量。还有另一种说法是:X为解释变量,Y是被解释变量。我们说过,回归分析就是通过研究X和Y的相关关系,去解释Y的形成机制,进而达到通过X去预测Y的目的。例如,通过回归分析,我们就可以确定哪个要素投入是最重要的要素。其中,单产量是我们的Y,而X是不同的要素投入,如种子费、化肥费等。

        我们来看回归分析的使命,也即回归分析的三步骤。一是确定哪些X变量同Y是真的相关,哪些不是。二是我们去除了同Y不相关的X变量之后,判断剩下的X变量同Y的相关关系是正的还是负的。三是通过赋予X不同的回归系数,进而知道不同变量之间的相对重要性。

        前面说过,根据Y的类型不同,我们有不同的回归类型。比如,Y是连续数值型变量时,我们需使用线性回归,而线性回归的模型有OLS、GLS,OLS是我们的最小二乘分析,GLS是我们的广义最小二乘分析;如果Y是二值变量,我们需使用0-1回归,而0-1回归的模型是我们的逻辑回归。在ppt中也列出了其他类型的回归分析以及对应的模型。

二.数据的分类以及数据的来源

        在这里我们也需要对数据进行分类,不同的数据类型,我们有不同的处理方法。数据可以分为三类:横截面数据、时间序列数据和面板数据。

        横截面数据是在某一时间点收集的不同对象的数据。例如,全国各省份2018年GDP的数据,其中,2018年是我们的相同时间点,而各省份是不同对象。

        而时间序列数据是对同一对象在不同时间连续观察所取得的数据,例如,中国历年来GDP的数据。

        面板数据是综合了横截面数据与时间序列数据的数据资源。例如,2008-2018年,我国各省份GDP的数据。各省份是横截面数据,而不同时间是时间序列数据。

        对于横截面数据,我们常用的建模方法是我们的多元线性回归,可以得到自变量与因变量之间的相关关系以及自变量的重要程度。而对于时间序列数据,我们常用的模型是之后的ARIMA模型,最重要的用途是进行数据预测。面板数据较为复杂,是经营管理类学生才学到的模型。

        如果我们想要获得我们的数据,我们就需要对数据进行收集。其中,数据我们可以在各大提供数据的网站收集,也可以学习爬虫去爬取网页的数据到我们的EXCEL中。

三.对于线性的理解以及内生性问题的探究

        我们先来看线性回归中最简单的一元线性回归。

        可以发现,一元线性回归模型跟我们之前的一元线性拟合很相似。通过一个线性函数将因变量与自变量联系在一起。β0和β1被称为回归系数,其实就是线性拟合中的k和b,而在回归中u代表扰动项,β0和β1的估计值是取我们残差平方和最小时的回归系数。在一元线性回归中我们仅仅只有一个自变量,而如果有多个自变量的话,就成为了我们的多元线性回归模型。

        在这里,我们要对线性的概念进行理解。

        如ppt所示,线性关系并不要求我们的初始模型都要呈现严格的线性关系,只要自变量与因变量可通过变量替换转化成线性模型,就称它们满足线性关系。比如,我们可以将自变量取对数,我们可以理解为,在新的线性模型中,我们将lnx看成是新的x,这样就满足了线性关系。

        这里我们通过ppt简单的理解下回归系数的解释。可见,在我们只引入了一个自变量时,回归系数是2.3,但在我们多引入了新的自变量价格时,回归系数变成了0.19,可见相差非常大。这是遗漏变量导致的内生性导致的。就是在我们建立一元线性回归时,我们的扰动项中包含了自变量价格,而自变量价格与产品品质评分之间有关系,致使我们的扰动项与因变量有了一定的关系,这是内生性的一定解释。

        而如果我们满足误差项u和所有的x自变量均不相关,则称该回归模型具有外生性。相关就存在内生性,会使回归系数估计的不准确,不满足无偏和一致性。无偏性可以简单的理解为我们估计出的回归系数与实际模型的回归系数之间的偏差,而一致性可以理解为在样本数量无限多时,我们的回归系数收敛于实际的回归系数,即使我们的模型不满足无偏性。

        这里我们通过蒙特卡洛模拟了我们在存在内生性时,估计出的相关系数与我们实际的k值之间的偏差。在x和u的相关系数为0时,表示没有内生性,我们估计的k值与实际的k值一样都是2,而在内生性存在乃至越大时,我们估计出的k值与实际的k值之间的偏差都会越来越大。

        这里给出我们的蒙特卡洛模拟的代码供大家参考。蒙特卡洛模型可能大家觉得很陌生,但是实际上我已经学习过了,我也会尽快将蒙特卡洛模拟的csdn发出来。

%% 蒙特卡洛模拟:内生性会造成回归系数的巨大误差
times = 300;  % 蒙特卡洛的次数
R = zeros(times,1);  % 用来储存扰动项u和x1的相关系数
K = zeros(times,1);  % 用来储存遗漏了x2之后,只用y对x1回归得到的回归系数
for i = 1: times
    n = 30;  % 样本数据量为n
    x1 = -10+rand(n,1)*20;   % x1在-10和10上均匀分布,大小为30*1
    u1 = normrnd(0,5,n,1) - rand(n,1);  % 随机生成一组随机数
    x2 = 0.3*x1 + u1;   % x2与x1的相关性不确定, 因为我们设定了x2要加上u1这个随机数
    % 这里的系数0.3我随便给的,没特殊的意义,你也可以改成其他的测试。
    u = normrnd(0,1,n,1);  % 扰动项u服从标准正态分布
    y = 0.5 + 2 * x1 + 5 * x2 + u ;  % 构造y
    k = (n*sum(x1.*y)-sum(x1)*sum(y))/(n*sum(x1.*x1)-sum(x1)*sum(x1)); % y = k*x1+b 回归估计出来的k
    K(i) = k;
    u = 5 * x2 + u;  % 因为我们回归中忽略了5*x2,所以扰动项要加上5*x2
    r = corrcoef(x1,u);  % 2*2的相关系数矩阵
    R(i) = r(2,1);
end
plot(R,K,'*')
xlabel("x_1和u'的相关系数")
ylabel("k的估计值")

        由于在实际的建模的过程中,我们的解释变量一般很多,如果要求它们全部外生,那必然有点困难。因此,我们可以将解释变量分为核心解释编量与控制变量两类。

        具体的解释参考ppt。

在下次我们将继续探讨多元线性回归的问题。              

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值