第六讲 Stata入门.doc
线性相关和回归赵耐青在实际研究中,经常要考察两个指标之间的关系,即:相关性。现以体重与身高的关系为例,分析两个变量之间的相关性。要求身高和体重呈双正态分布,既:在身高和体重平均数的附近的频数较多,远离身高和体重平均数的频数较少。样本相关系数计算公式(称为Pearson相关系数):(1)1. 考察随机模拟相关的情况。显示两个变量相关的散点图程序simur.ado(本教材配套程序,使用见前言)。命令为simur 样本量 总体相关系数 如显示样本量为100,r=0的散点图本例命令为simur 100 0如显示样本量为200,r=0.8的散点图本例命令为simur 200 0.8如显示样本量为200,r=0.99的散点图本例命令为simur 200 0.99如显示样本量为200,r=-0.99的散点图本例命令为simur 200 -0.99例1. 测得某地15名正常成年男子的身高x(cm)、体重y(kg)如试计算x和y之间的相关系数r并检验H0:r0 vs H1: r¹0。a=0.05数据格式为XY171.058.0176.069.0175.074.0172.068.0170.064.0173.068.5168.056.0172.054.0170.062.0172.063.0173.067.0168.060.0171.068.0172.076.0173.065.0Stata命令 pwcorr 变量1 变量2 变量m,sig本例命令 pwcorr x y,sigpwcorr x y,sig | x y-+- x | 1.0000 | | y | 0.5994 1.0000 | 0.0182 |Pearson相关系数=0.5994,P值=0.0182<0.05,因此可以认为身高与体重呈正线性相关。注意:Pearson相关系数又称为线性相关系数并且要求X和Y双正态分布,通常在检查中要求X服从正态分布并且Y服从正态分布。如果不满足双正态分布时,可以计算Spearman相关系数又称为非参数相关系数。Spearman相关系数的计算基本思想为:用X和Y的秩代替它们的原始数据,然后代入Pearson相关系数的计算公式并且检验与Pearson相关系数类同。Stata实现spearman x yNumber of obs = 15Spearman's rho = 0.6552Test of Ho: x and y are independent Prob > |t| = 0.0080stata计算结果与手算的结果一致。结论为身高与体重呈正相关,并且有统计学意义。直线回归例2 为了研究3岁至8岁男孩身高与年龄的规律,在某地区在3岁至8岁男孩中随机抽样,共分6个年龄层抽样:3岁,4岁,8岁,每个层抽10个男孩,共抽60个男孩。资料如下:60个男孩的身高资料如下年龄3岁4岁5岁6岁7岁8岁身高92.596.5106.0115.5125.5121.597.0101.0104.0115.5117.5128.596.0105.5107.0111.5118.0124.096.5102.0109.5110.0117.0125.597.0105.0111.0114.5122.0122.592.099.5107.5112.5119.0123.596.5102.0107.0116.5119.0120.591.0100.0111.5110.0125.5123.096.0106.5103.0114.5120.5124.099.0100.0109.0110.0122.0126.5平均身高95.4101.8107.6113.1120.6124.0由于男孩的身高与年龄有关系,不同的年龄组的平均身高是不同的,由平均身高与年龄作图可以发现:年龄与平均身高的点在一条直线附近。考虑到样本均数存在抽样误差,故有理由认为身高的总体均数与年龄的关系可能是一条直线关系,其中y表示身高,x表示年龄。由于身高的总体均数与年龄有关,所以更正确地标记应为表示在固定年龄情况下的身高总体均数。上述公式称为直线回归方程。其中b为回归系数(regression coefficient),或称为斜率(slope);a称为常数项(constant),或称为截距(intercept)。回归系数b表示x变化一个单位y平均变化b个单位。当x和y都是随机的,x、y间呈正相关时b>0,x、y间呈负相关时b<0,x、y间独立时b=0。一般情况而言,参数a和b是未知的。对于本例而言,不同民族和不同地区,a和b往往是不同的,因此需要进行估计的。由于不同年龄的身高实际观察值应在对应的身高总体均数附近(即:实际观察值与总体均数之间仅存在个体变异的差异),故可以用年龄和实际身高观察值的资料对未知参数a和b进行估计。得到样本估计的回归方程二、直线回归方程的建立直线回归分析的Stata实现:数据结构:xy392.5397396396.5397392396.5391396399496.541014105.541024105499.5410241004106.541005106510451075109.551115107.551075111.5510351096115.56115.56111.561106114.56112.56116.561106114.561107125.57117.5711871177122711971197125.57120.571228121.58128.581248125.58122.58123.58120.5812381248126.5多重线性回归命令为regress 因变量 自变量1 自变量2 自变量m直线回归命令regress 因变量 自变量本例为 regress y x,得到下列结果: Source | SS df MS Number of obs = 60-+- F( 1, 58) = 777.41 Model | 5997.71571 1 5997.71571 Prob > F = 0.0000 Residual | 447.467619 58 7.71495895 R-squared = 0.9306-+- Adj R-squared = 0.9294 Total | 6445.18333 59 109.240395 Root MSE = 2.7776- y | Coef. Std. Err. t P>|t| 95% Conf. Interval-+- x | 5.854286 .2099654 27.88 0.000 5.433994 6.274577 _cons | 78.18476 1.209202 64.66 0.000 75.76428 80.60524-得到回归系数b=5.854286,常数项a=78.18746,回归系数的检验统计量tb=27.88,P值<0.0001,可以认为Y与X呈直线回归关系。来源平方和SS自由度df均方MSFP值回归5997.7157115997.71571777.41<0.0001残差447.467619587.71495895合计6445.1833359称为决定系数(本例Stata计算结果R-squared=0.9306),因此0£R2£1,因此残差平方和SSE越小,决定系数R2就越接近1。特别当所有的残差为0时,SSE=0,相应的决定系数R2=1。决定系数R2表示y被x所解释的部分所占的百分比,R2越接近于1说明x对y的解释越充分。残差=应变量观察值(y)-预测值()Stata的残差计算命令在输入回归命令regress y x后,再输入predict e,residual 计算残差并用变量e表示残差输入 sktest e 残差的正态性检验输入predict yy 计算预测值。残差正态性检验(H0:残差正态分布,a=0.05)sktest e Skewness/Kurtosis tests for Normality - joint - Variable | Pr(Skewness) Pr(Kurtosis) adj chi2(2) Prob>chi2-+- e | 0.459 0.441 1.18 0.5534P值=0.5534>>0.05,可以认为残差呈正态分布。所建立的回归方程是否有意义,仅凭借假设检验的结论或R2的大小还不能充分说明问题。残差的大小直接反应回归方程的优劣,经常采用图示的方法,以e做纵轴,为横轴作图来考察残差的变化,如果残差比较均匀地散布在e=0的周围,没有明显的散布趋势和明显的离群点,则说明所建回归方程比较理想,否则要借助统计软件做进一步诊断。graph 残差 预测值本例 graph e yy说明残差比较均匀地散布在e=0的周围,没有明显的散布趋势和明显的离群点,故说明所建回归方程比较理想。