当前位置:首页 > 第6讲 线性回归分析
到因子变量是如何扩展的: list group i.group in 1/5
我们的数据中没有变量1b.group,2.group和3.group,只有变量group。然而,当我们输入i.group,Stata遵循变量1b.group,2.group和3.group存在的方式运行。1b.group,2.group和3.group称为虚拟变量(virtual variables)。 11.4.3.1 Factor-variable operators 因子变量算子
i.group被称为因子变量,更准确的说法是,group是一个已经应用了因子变量算子的分类变量。有五种因子变量算子:
Operator Description
i. 一元算子,设定指标,针对分类变量 c. 一元算子,针对连续型变量
o. 一元算子,省略一个变量(连续型变量)或指标(分类变量) # 二元算子, 设定交互项 ## 二元算子, 设定两两交互项
举例说明:
5
Factor specification Result
i.group 针对分类变量group的所有情况设定指标
i.group#i.sex 针对group和 sex的 每个组合设定指标, 两项交互项 group#sex 和i.group#i.sex相同
group#sex#arm 针对group、 sex和arm 的每个组合设定指标,三项交互项 group##sex 等同于i.group i.sex group#sex
group##sex##arm等同于i.group i.sex i.arm group#sex group#arm sex#arm group#sex#arm
sex#c.age 得到两个变量— 男性年龄,否则为0;女性年龄,否则为0。如果年龄也在模型中,那么两个虚拟变量之一将成为基准 sex##c.age 等同于 i.sex age sex#c.age c.age 等同于age
c.age#c.age age的平方项 squared c.age#c.age#c.age age的立方 cubed o.age 省略连续变量age
o2.group 省略针对group = 2的指标
group#c.age (or i.group#c.age) 分类变量group 的每一种情况和连续变量age的交互项。我们已经知道 i.group 扩展为虚拟变量1b.group, 2.group, and 3.group,因此group#c.age 形成的变量集是1b.group*age,2.group*age 和3.group*age. 1b.group*age 为0,因为1b.group 为zero。当group = 2时,2.group*age 等于age ,否则为0。当group = 3时,3.group*age等于age,否则为0。在y 对 age和group#c.age的线性回归中,1b.group*age 将省略,2.group*age将测量group = 2 ,年龄系数相对于基准组的变化,3.group*age道理同上。
再看一个例子:
regress y i.sex i.group sex#group age sex#c.age 等同于
regress y sex##group sex##c.age
6
三、普通最小二乘法OLS
例1:基本线性回归
拟合模型:mpg??0??1weight??2foreign?? use auto,clear
regress mpg weight foreign
例2:方法1:改变因变量
作图观察mpg和weight的关系(scatter mpg weight或twoway(scatter mpg weight) ),我们会发现这种关系很明显是非线性。这是可以预料的,因为单位距离的油耗应该随着重量而线性增加,但mpg测量的是每单位油耗的行驶里程。我们可以通过创建一个新的变量gp100m=100/mpg,获得一个更好的模型:(解释说明:移动2000磅1英里与移动1000磅1英里相比,应该消耗两倍的能量。也就是说,重量和能量是线性关系,而英里(每加仑英里数(Miles per gallon))和重量不是线性关系,所以每英里加仑数(gallons per mile)是重量的线性函数。) 拟合模型:
gp100m??0??1weight??2foreign??
generate gp100m = 100/mpg (汽车每百英里油耗,单位是加仑/百英里) regress gp100m weight foreign
例3:方法2:自变量的平方项
regress mpg weight c.weight#c.weight foreign
四、处理常数项
例4:处理常数项
regress weight length bn.foreign, hascons (模型/回归设定已经有常数项(直接或间接),所以不再加常数项)
regress weight length bn.foreign, noconstant (取消常数项)
五、稳健标准误差
7
例5:异方差与稳健标准误差(本例研究外国车和本国车的相对能量效率) gen gpmw = ((1/mpg)/weight)*100*1000 (汽车每百英里·千磅的油耗,单位是加仑/百英里·千磅。mpg表示油耗标准,英里/加仑,即每加仑燃油可行驶英里数) summarize gpmw summarize mpg
regress gpmw foreign (传统的标准误差)
regress gpmw foreign, vce(robust) (指定vce(robust)选项等同于要求怀特修正标准误差检验异方差)
tabulate foreign, summarize(gpmw) (gpmw具有显著的异方差,因此,这里我们赞成稳健标准误差。稳健估计的优点是,我们不必检查假设条件。)
例6:集群数据的标准误差
use regsmpl, clear (tenure表示保持工作的回报率)
regress ln_wage age age2 tenure (我们有理由确信报告的标准误差没有意义。一般来说,工资在某一年高于平均水平通常在其他年份也高于平均水平,因此残差不是独立的。处理这个问题的方法之一是应用随机效应模型,但我们首先使用指定vce(cluster id)的回归方程来拟合模型,这种方法只把具有不同ID的观测值看作真正独立。)
regress ln_wage age age2 tenure, vce(cluster id) xtreg ln_wage age age2 tenure, re estimates store random
xtreg ln_wage age age2 tenure, fe hausman . random
六、加权回归
例7:使用均值作为回归变量
我们有人口普查数据记录的每个州的死亡率(drate)和年龄中位数(medage),数据还记录了每个州所在的地区和每个州的总人口:
8
use census9,clear describe
regress drate medage i.region [w=pop] (我们可以使用因子变量作为地区虚拟变量。因为在回归中,变量反映整体均值而不是个体观测值,所以合适的估计方法是利用加权最小二乘法,其中权重是总人口。)(4.region统计显著,但2.region和3.region不显著。使用test检验地区虚拟变量的联合显著性)
test 2.region 3.region 4.region (结果表明地区变量联合显著)
regress drate medage i.region [fweight=pop] (统计错误。Stata把数据看作代表2.26亿个关于死亡率与年龄中位数的独立观测值。实质上,它们代表50个州的平均观测值。)(指定aweights或fweights不会改变参数估计值,但会改变相应的显著性水平。指定aweights,Stata把该进程中的观测值数目看作数据中观测值的数目。当指定fweights,Stata把观测值数目看作等于权重的总和)
9
共分享92篇相关文档