1、三、线性回归分析1 v相关性分析v回归分析v多重共线性等相关检验和处理2 线性回归分析的stata应用实例本部分用到的实例是Big Andys Burger Barn的销售模型。Big Andy的汉堡销售收入取决于单价和广告支出水平 。因此,这个模型包含两个解释变量和一个常数项。其中,sales为指定城市的月销售额并以千美仄元度量,price是以美元度量的单个汉堡的价格,advert为广告支出,同样以千美元度量。sales= 1 +2*price +3*advert+ 3 相关性分析相关性分析相关性分析主要目的是研究变量之间关系的密切程度。相关性分析的方法主要有:Pearson相关系数分析、K
2、endall T相关系数分析、Spearman秩相关系数分析以及偏相关系数分析。1. Pearson相关系数分析Pearson相关性分析是一个描述线性相关强度的量,取值于一1和1之间。 Pearson相关性分析的命令格式:correlate varlist if in weight ,correlate_ options pwcorr varlist if in weight ,correlate_ options correlate尽可能使用两两变量中所有没有缺失的数据pwcorr只采用没有任何缺失数据的完整观测值4 选项含义means显示变量的均值、标准差、最大最小信covariance显
3、示协方差矩阵选项含义obs显示计算每个相关系数时使用的观测值个数sig显示显著性检验的P值print(#)在屏幕上仅显示达到相应显著性水平的相关系数star(#)在显著的相关系数上打上星号listwise使用listwise的方法处理缺失值,这样pwcorr就退化成correlate命令了。所谓listwis。方法是说,如果某一观测值中某个或者多个变量出现缺失,则将整个观测值删掉,这也正是correlate命令使用的方法。对于没有缺失值的数据集,这两种方法没有区别correlate选项说明pwcorr选项说明5 用pwcorr命令实现所有变量的Pearson相关系数分析,并在显著性水平超过0.
4、05的相关系数上打上星号,其命令为: pwcorr , sig star(0.05)6 2. Kendall T相关系数分析Kendall T相关性分析是一个非参数度量变量间的相关性,其取值在一1和1之间。 Kendall T相关性分析的命令格式:ktau varlist if in weight , ktau _ options 选项含义print(#)在屏幕上仅显示达到相应显著性水平的相关系数star(#)在显著的相关系数上打上星号7 用ktau命令实现所有变量的Kendall T相关系数分析,并在显著性水平超过0.05的相关系数上打上星号,其命令为: ktau , star(0.05)8
5、 3. Spearman秩相关系数分析Spearman秩相关性分析也是一种不依赖于总体分布的非参数检验,取值也在一1和1之间。 Spearman秩相关性分析的命令格式:spearman varlist if in weight , spearman _ options 9 用spearman命令实现所有变量的Spearman秩相关系数分析,并在显著性水平超过0.05的相关系数上打上星号,其命令为:spearman, star(0.05)10 4.偏相关系数分析双变量相关分析是研究两个变量之间的相关关系,有时在分析两个变量之间相关关系时,往往会有其他变量的影响因素混合在里面,此时计算出来的相关系
6、数可能并不能真正反映两个变量之间的关系。偏相关性分析的命令格式: pcorr varnamel varlist if in weight11 用pcorr命令实现偏相关分析,其命令为: pcorr, sales price advert12 回归分析回归分析 回归分析时常用的Stata 命令有:regress , predict, test命令。regress, predict, test 是一组命令,它们完成各种简单和多元的普通最小二乘法回归。1.regress实现因变量对自变量的回归regress命令的格式: regress depvar indepvarsif in weight opt
7、ions因变量自变量选项含义noconstant不加常数项做线性回归hascons由用户指定常数项的值level(#)设定置信水平(默认值为95% )beta报告标准化的beta系数noheader不报告输出表名13 实现因变量为销售收入,自变量为单价和广告支出的线性回归,其命令为: regress sales price advert表下方区域为基本的回归结果。第1列依次为被解释变量sales,解释变量price、advert,截距项constant;第2列回归系数;第3列回归系数的标准误;第4列回归系数的 t 统计量值;第5列p值;第6列95%的置信区间14 表左上方区域为方差分析表。第2
8、列从上到下依次为回归平方和(SSE)、残差平方和(SSR)和总离差平方和(SST);第3列为自由度,分别为k=2,n-k-1=75-2-1=72,n-1=75-1=74;第4列为均方和(MSS),由各项平方和除以相应的自由度得到。表右上方区域给出了样本数(Number of obs)、判定系数(R-squared)、调整的判定系数(Adj R-squared)、F统计量的值、回归方程标准误 (Root MSE) 以及其他一些统计量的信息。15 2.predict计算拟合值和残差predict命令的格式: predict type newvar if in,single_ options指定存储
9、类型的格式变量名指定需要拟合值还是残差值,若为resid,则是残差计算前面所求回归方程的拟合值和残差。其命令分别为:predict y1predict e, resid16 3.test进行指定的检验test命令主要用来检验系数是否符合一定的关系.test命令的格式如下:test varl var2var3ktest var=Ctest varl=var2test varl=(var2+var3)/C检验多个变量的系数是否同时为零检验变量的系数是否为C检验两个变量的系数是否相等检验多个变量之间存在的一些关系用test命令检验价格和广告支出的系数是否同时为0,其命令为: test price a
10、dvertP值0.05,拒绝原假设,即价格和广告支出的系数不同时为017 相关检验和处理相关检验和处理回归分析时通常需要检验数据是否存在多重共线、序列相关和异方差等问题,如果存在这些问题,则需要对其进行处理。1.多重共线性的检验和处理1.1stata中多重共线性检验的命令格式为:vif /该命令用来得到自变量的方差膨胀因子一般来说,判断多重共线性的标准是(两个标准必须同时满足):*最大的vif大于10;*平均的vif大于1.由判断标准可知不存在多重共线性18 1.2处理多重共线性的方法1.如果只关心方程的预测能力,则在整个方程显著的条件下,可以不必关心具体的回归系数。2.增加样本容量,剔除导致
11、多重共线性的变量或者修改模型设定形式。3.对于时间序列样本,通过使用差分模型可以一定程度上消除原模型中的多重共线性。4.岭回归方法。http:/bbs.pinggu.org/thread-3035722-1-1.html19 2.异方差的检验和处理2.1stata中异方差检验的命令格式为:hettest或者imtest, white (怀特检验)判断存在异方差的标准是:命令输出结果的P值小于0.05,则拒绝原假设,即存在异方差性。hettest和怀特检验输出结果的p值均大于0.05故不存在异方差性20 2.2处理异方差性的方法1.在regress命令的options选项中选择robust选项即
12、可;2.加权最小二乘法(WLS) 。21 3.序列相关的检验和处理2.1stata中检验序列相关性的方法:1.BG检验命令为:estat bgodfrey (默认p=1) estat bgodfrey,lags(p) estat bgodfrey, nomiss0 (使用不添加0的BG检验)2.box-pierce Q检验/ Ljung-Box Q命令为: reg y x1 x2 x3 predict el, resid wntestq el (使用stata提供的默认滞后期) wntestq el, lags(p) (使用自己设定的滞后期)3.DW检验:现在已经不常用,因为其只能检验一阶自相
13、关。 命令为: estat dwatson22 3.2stata中处理序列相关性的方法:1. Newey稳健性标准差 newey y x1 x2 x3, lag(p) (滞后阶数必选)2.使用OLS+聚类稳健的标准差(cluster robust standard error)面板数据中经常使用聚类稳健的标准差。reg y x1 x2 x3, cluster(state) (聚类稳健标准差,假设“state”为聚类变量)3.使用可行广义最小二乘法(FGLS)prais y x1 x2 x3 (使用默认的PW估计法)praise y x1 x2 x3, corc (使用CO估计法)4.修改模型设定,可能自相关是由于遗漏了自相关的解释变量。