您的当前位置:首页正文

stata简单讲义第六讲

2024-01-11 来源:年旅网
线性相关和回归

赵耐青

在实际研究中,经常要考察两个指标之间的关系,即:相关性。现以体重与身高的关系为例,分析两个变量之间的相关性。要求身高和体重呈双正态分布,既:在身高和体重平均数的附近的频数较多,远离身高和体重平均数的频数较少。 样本相关系数计算公式(称为Pearson相关系数):

r(XX)(YY)2(XX)(YY)2LXYLXXLYY

(1)

1. 考察随机模拟相关的情况。

显示两个变量相关的散点图程序simur.ado(本教材配套程序,使用见前言)。命令为simur 样本量 总体相关系数 如显示样本量为100,=0的散点图 本例命令为simur 100 0

21y10-1-2-4-2y202

如显示样本量为200,=0.8的散点图 本例命令为simur 200 0.8

20y1-2-4-4-20y224 如显示样本量为200,=0.99的散点图 本例命令为simur 200 0.99

42y10-2-4-4-20y224 如显示样本量为200,=-0.99的散点图 本例命令为simur 200 -0.99

42y10-2-4-4-20y224 例1. 测得某地15名正常成年男子的身高x(cm)、体重y(kg)如试计算x和y之间的相关系数r并检验H0:=0 vs H1: 0。 =0.05

数据格式为

X 171.0 176.0 175.0 172.0 170.0 173.0 168.0 172.0 170.0 172.0 173.0 168.0 171.0 172.0 173.0

Y 58.0 69.0 74.0 68.0 64.0 68.5 56.0 54.0 62.0 63.0 67.0 60.0 68.0 76.0 65.0

Stata命令 pwcorr 变量1 变量2 … 变量m,sig 本例命令 pwcorr x y,sig pwcorr 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 y

Number of obs = 15 Spearman's rho = 0.6552 Test of Ho: x and y are independent Prob > |t| = 0.0080 stata计算结果与手算的结果一致。结论为身高与体重呈正相关,并且有统计学意义。

直线回归

例2 为了研究3岁至8岁男孩身高与年龄的规律,在某地区在3岁至8岁男孩中随机抽样,共分6个年龄层抽样:3岁,4岁,…,8岁,每个层抽10个男孩,共抽60个男孩。资料如下:

60个男孩的身高资料如下

年龄 身

3岁 92.5 97.0 96.0

4岁 96.5 101.0 105.5

5岁 106.0 104.0 107.0

6岁 115.5 115.5 111.5

7岁 125.5 117.5 118.0

8岁 121.5 128.5 124.0

平均身高

96.5 97.0 92.0 96.5 91.0 96.0 99.0 95.4 102.0 105.0 99.5 102.0 100.0 106.5 100.0 101.8 109.5 111.0 107.5 107.0 111.5 103.0 109.0 107.6 110.0 114.5 112.5 116.5 110.0 114.5 110.0 113.1 117.0 122.0 119.0 119.0 125.5 120.5 122.0 120.6 125.5 122.5 123.5 120.5 123.0 124.0 126.5 124.0

由于男孩的身高与年龄有关系,不同的年龄组的平均身高是不同的,由平均身高与年龄作图可以发现:年龄与平均身高的点在一条直线附近。

height130 Fitted values1201101009024age68

考虑到样本均数存在抽样误差,故有理由认为身高的总体均数与年龄的关系可能是一条直线关系yx,其中y表示身高,x表示

年龄。由于身高的总体均数与年龄有关,所以更正确地标记应为

y|xx

表示在固定年龄情况下的身高总体均数。

上述公式称为直线回归方程。其中为回归系数(regression coefficient),或称为斜率(slope);称为常数项(constant),或称为

截距(intercept)。回归系数表示x变化一个单位y平均变化个单位。当x和y都是随机的,x、y间呈正相关时>0,x、y间呈负相关时<0,x、y间独立时=0。

一般情况而言,参数和是未知的。对于本例而言,不同民族和不同地区,和往往是不同的,因此需要进行估计的。由于不同年龄的身高实际观察值应在对应的身高总体均数附近(即:实际观察值与总体均数之间仅存在个体变异的差异),故可以用年龄和实际身高观察值的资料对未知参数和进行估计。得到样本估计的回归方程

ˆabx y二、直线回归方程的建立 直线回归分析的Stata实现: 数据结构:

x 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4

y 92.5 97 96 96.5 97 92 96.5 91 96 99 96.5 101 105.5 102 105 99.5 102 100

4 4 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8

106.5 100 106 104 107 109.5 111 107.5 107 111.5 103 109 115.5 115.5 111.5 110 114.5 112.5 116.5 110 114.5 110 125.5 117.5 118 117 122 119 119 125.5 120.5 122 121.5 128.5 124 125.5 122.5 123.5 120.5 123 124 126.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 5997.71571 447.467619 6445.18333

1SS残差SS合计自由度df

1 58 59 均方MS 5997.71571 7.71495895

F 777.41

P值 <0.0001

称R2为决定系数(本例Stata计算结果R-squared=0.9306),因此

0R21,因此残差平方和SSE越小,决定系数R2就越接近1。特别当所有的残差为0时,SSE=0,相应的决定系数R2=1。决定系数R2表示y被x所解释的部分所占的百分比,R2越接近于1说明x对y的解释越充分。

ˆ) 残差=应变量观察值(y)-预测值(yStata的残差计算命令

在输入回归命令regress y x后,再

输入predict e,residual 计算残差并用变量e表示残差 输入 sktest e 残差的正态性检验 输入predict yy 计算预测值。 残差正态性检验(H0:残差正态分布,=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.5534 P值=0.5534>>0.05,可以认为残差呈正态分布。

所建立的回归方程是否有意义,仅凭借假设检验的结论或R2的大小还不能充分说明问题。残差eYˆY的大小直接反应回归方程的

优劣,经常采用图示的方法,以e做纵轴,Yˆ为横轴作图来考察残差的变化,如果残差比较均匀地散布在e=0的周围,没有明显的散布趋势和明显的离群点,则说明所建回归方程比较理想,否则要借助统计软件做进一步诊断。

graph 残差 预测值 本例 graph e yy

105Residuals0-595.7476Fitted values125.019 说明残差比较均匀地散布在e=0的周围,没有明显的散布趋势和明显的离群点,故说明所建回归方程比较理想。

因篇幅问题不能全部显示,请点此查看更多更全内容