第九章stata与离散被解释变量模型蓝冠娱乐主管68115蓝冠娱乐主管68115主要内容1-二值选择模型2-多值选择模型3-排序数据模型4-条件logit模型5-嵌套logit模型实验9-1:二值选择模型一实验基本原理二实验内容和数据来源根据某统计资料,得到美国妇女就业的数据统计集,形成数据文件“womenwork.dta”,用来研究影响美国妇女就业的因素。被解释变量是work(就业work=1,不就业work=0),解释变量是age(年龄),married(婚否),children(子女数),education(教育年限)。完整的数据在本书附带光盘里的data文件夹的“womenwork.dta”工作文件中。利用以上数据,建立合适模型对就业的影响因素进行计量分析,由于被解释变量取值有两个可以建立二值选择模型来分析问题。三实验操作指导1.建立logit模型分析(1)使用logit模型回归Stata中使用logit模型回归的命令语句格式如下:logityx1x2…[if][in][weight][,options]该命令中logit表示使用logit模型进行回归,相应y表示模型的被解释变量,x表示模型的解释变量,if表示logit的回归条件,in表示回归的范围,weight表示给观测值的加入权重,options的内容如下表所示:本实验中,在Stata命令窗口中输入如下命令。usewomenwork,clear输入此命令来打开需要的数据文件。logitworkageeducationmarriedchildren输入此命令对被解释变量为work,解释变量为age、education、married、children的模型使用logit模型进行回归估计。在这个回归结果图中loglikelihood即对数似然值,不断的试错迭代是logit模型的估计方法,在逐步进行回归时,通过比较不同模型的-2LL判断模型的拟合优度,选择取值更小的模型。LRchi2(4)是卡方检验的统计量,也就是回归模型无效假设所对应的似然比检验量;其中4为自由度,Probchi2是其对应的P值,在这个估计结果显示以p=0显著说明模型的有效性。其实这两个指标与线性回归结果中F统计量和P值的功能是大体一致的。另外结果中的PseudoR2是准R2,虽然不等于R2,但可以用来检验模型对变量的解释力,因为二值选择模型是非线性模型,无法进行平方和分解,所以没有,但是准衡量的是对数似然函数的实际增加值占最大可能增加值的比重,所以也可以很好的衡量模型的拟合准确度。此logit模型中拟合优度为0.1882。coef是自变量对应的系数估计值,OLS通过t检验来检验估计量是否显著,logit模型通过z检验来判断其显著性;通过z检验结果可以看到此模型中系数均以p=0显著不为0。(2)由于估计系数不像线性模型能够表示解释变量的边际效应,所以Stata中有额外的命令语句来计算解释变量的边际效应:mfx[compute][if][in][,options]此命令语句中mfx表示对回归之后的模型计算解释变量的边际效应,其中options内容如下表所示:本实验中,在进行logit模型回归估计后,在Stata命令窗口中输入如下命令:mfx此命令计算模型回归之后,解释变量取值在样本均值处的边际效应。此输出结果显示了每一个解释变量的平均边际影响,另外读者可以自己设定计算在边际影响的点,其原理就是命令语句options中的at(atlist)将其具体化,例如“mfx,at(x1=0)”表示计算x1取值为0,其他解释变量取值在样本均值处的边际效应;而“mfx”默认是在所有解释变量在样本平均值处的边际效应。(3)计算模型预测的百分比来计算模型的拟合优度。如果要检验这个分类的依据或者要获得每个预测值,可以利用此二值模型进行预测分析,Stata中二值选择模型的预测的命令语句如下所示:predict[type]newvar[if][in][,single_options]其中predict是表示对模型进行预测的命令;newvar表示预测新变量的名称,type可以表明设定新变量的类型;if和in表示对此预测设定的条件和范围;single_options的内容以下表所示:本实验中,在Stata命令窗口中输入如下预测命令,可以得到预测结果图:predictp1,pr此命令可以获得此模型的个体估计的值并记为新变量p1listworkp1此命令可以将实际值与估计值对应罗列,对比看到预测值和实际值的一致程度。(1)ROC曲线(受试者操控曲线)此曲线是指图9.3提到的敏感性与(1-特异性)的散点图,即预测值等于1的准确率与错误率的散点图。Stata中绘画该ROC曲线命令语句为:lroc[x][if][in][weight][,options]其中lroc表示绘图ROC曲线命令,if和in表示对绘制图时的条件和范围的设定,weight表示对观测值的权重设定,另外命令中的自变量x不能单独使用,必须与options中beta(matname)同时使用,而options的内容如下表所示:本实验中,在以上工作后,在命令窗口中输入如下命令绘制ROC曲线图lroc因为准确率就是曲线下面的面积,读此图可以看到ROC曲线是完全在45度直线上面,所以准确率高于错误率,即准确率大于0.5。此图曲线下方面积=0.7806,就是预测的准确率是0.7806。(2)goodness-of-fit拟合优度检验此检验是考察该模型对所用数据的拟合优度,在Stata中命令语句为:estatgof[if][in][weight][,group(#)alloutsampletable]其中,if和in表示对检测拟合优度时的条件和范围的设定,weight表示对观测值的权重设定,group(#)表示使用合理的#分位数进行检验;all表示对所有观测值进行检验,若无后面可选项则默认就是all;outsample表示对估计区间外的样本调整自由度,table表示各组列表。本实验中在Stata命令窗口输入如下命令检验此模型的拟合优度,然后可以得到检验结果:estatgof读此图的方法是P值越大,说明模型的拟合优度越好。2.建立probit模型分析前面是使用logit模型对womenwork.dta进行分析,现在使用probit模型对此问题进行分析。两种方法在Stata中的操作是很一致的。在Stata命令窗口中输入如下命令:usewomenwork,clear使用此命令打开所需要文件。probitworkageeducationmarriedchildren此命令表示使用probit模型进行回归。此图的解读方法与Logit模型结果图是完全一样的,probit模型估计结果显示系数估计值相比logit估计值发生了很大变化,且均显著通过了模型系数的显著性检验;另外模型的准R2是0.1889,相比logit模型稍有改进。由于logit与probit模型得出的参数估计值不可直接比较,根据本节开始介绍的原理已了解到两模型的边际效应可以比较。Stata中probit模型的边际效应得出方法与logit是相同的。在Stata命令窗口中输入如下命令计算probit模型回归后解释变量在样本均值处的边际效应:mfx可以看到与前面的logit模型比较,两模型分析的边际效应是大致相同的。然后来计算probit模型的拟合优度,具体操作方法也与logit模型是一致的。计算准确预测百分比,Stata命令窗口输入如下命令:estatclas此图的解读方法与上面logit模型得到的是完全一样的,显然可以得到:sensitivity(敏感性)=87.64%,specificity(特异性)=45.05%,correctlyclassified(正确预测百分比)=73.65%。可以看到,这个结果与logit模型是完全一致的。另外为了检验这个结果,可以同样输入如下命令:predictp2,pr此命令可以获得此模型的个体估计的值并记为新变量p2listworkp2其次是使用ROC曲线来检测预测的准确度,在Stata命令窗口中输入如下命令,可以得到ROC曲线:lroc此图的读法与logit的ROC图是一致的,由于logit模型与probit模型的sensitivity与specificity是相同的,那么ROC曲线一定是相同的,且曲线下方的面积同样是0.7806。最后是godness-of-fit拟合优度检验,在Stata命令窗口中输入如下命令:estatgof3.二值选择模型的异方差问题Stata中对probit二值选择模型进行异方差检验和回归的命令语句如下:hetprobyx1x2…[if][in][weight],het(varlist[offset(varname)])[,options]其中hetprob表示对模型进行异方差probit模型估计和异方差检验,if和in表示对检测拟合优度时的条件和范围的设定,weight表示对观测值的权重设定,选择项het(varilist)是影响扰动项的变量清单,在该命令语句的输出结果里,会汇报LR检验的结果,据此判断是否应该使用此异方差模型,options的内容如下表所示:本实验中,在Stata命令窗口中输入如下命令进行异方差模型估计和检验,可以得到图9.12的运行结果:hetprobworkageeducationmarriedchildren,het(ageeducationmarriedchildren)结果显示LR检验的结果是接受原假设,即模型不存在异方差问题。所以回归不应使用异方差回归模型,可以直接应用probit模型进行估计。实验9-2:多值选择模型一实验基本原理1.多值选择模型有时候人们面临的选择是多个的,比如交通选择,入读大学的选择等等。假设个体可以选择的y=1,2,3,…,J,其中J是正整数。当研究的被解释变量是这样多值离散的,建立的模型就是多值选择模型,而当J=2时,就是上节所说的probit或者logit模型。若将上面的二值logit模型推广开来,可以得到,二实验内容和数据来源本实验来自某统计资料,统计在购物时所选品牌与性别、年龄的关系。变量主要有brand(品牌),female(性别),age(年龄)。完整的数据在本书附带光盘data文件夹下“brand.dta”中。本实验用此数据来以female和age为解释变量,brand为被解释变量,brand的取值是离散的,且有三个取值,应建立多值选择模型进行相关分析。二实验操作指导1.选择合理模型在Stata中将数据按照某个或某几个变量进行分类并按这个变量获得其频数分布的命令如下:tabvarlist其中varlist表示按照其分类的变量或者变量组合。在本实验中,打开数据文件并将数据按brand取值分类,在Stata命令窗口中输入如下命令usebrand,cleartabbrand读图可知brand取值有三个,分别是1,2,3。由于所要探究的问题female和age对brand的影响,且假定了选择各个品牌之间是相互独立的,那么建立多值选择模型来分析问题是合理的。2.模型回归多值选择模型有logit和probit多值选择模型,Stata中使用多值logit和probit模型的命令语句是:mlogityx1x2…[if][in][weight][,options](multinomiallogit模型)mprobityx1x2…[if][in][weight][,options](multinomialprobit模型)此命令中if和in表示对检测拟合优度时的条件和范围的设定,weight表示对观测值的权重设定,options的内容如下表所示:经常使用的命令语句是“mlogityx1x2…,base