Stata连享会 主页 || 视频 || 推文 || 知乎 || Bilibili 站
温馨提示: 定期 清理浏览器缓存,可以获得最佳浏览体验。
New!
lianxh
命令发布了:
随时搜索推文、Stata 资源。安装:
. ssc install lianxh
详情参见帮助文件 (有惊喜):
. help lianxh
连享会新命令:cnssc
,ihelp
,rdbalance
,gitee
,installpkg
⛳ Stata 系列推文:
作者:闫天琳 (中山大学)
邮箱:yantlin@mail2.sysu.edu.cn
编者按:本文部分摘译自下文,特此致谢!
Source:Garrett, J. M. 1996. sg50: Graphical assessment of linear trend. Stata Technical Bulletin 30: 9–15. In Stata Technical Bulletin Reprints, vol. 5, 152–160. College Station, TX: Stata Press. -PDF-
目录
在经济学研究中,我们经常要研究变量之间的相关关系。其中,线性相关是非常基础且重要的一种相关关系。通过线性回归,我们可以进行因果分析和数据预测。当然上述研究的前提是,变量之间需要满足线性关系,这就需要进行线性趋势的检验。
本篇推文介绍 Stata 中用于线性趋势检验的命令 lintrend
。该命令通过报告不同组别中 (根据自变量分组,例如五等分) 因变量的取值 (若为连续变量,则为组内均值;若为二元变量,则为比例和对数几率) 和绘制相关图形,来检验变量间是否满足线性关系。
*命令安装
ssc install lintrend, replace
*命令语法
lintrend yvar xvar [if exp] [in range], [groups(#) round(#) int] [graph noline graph_options]
其中,
yvar
: 因变量。如果是二元变量,则按分组变量计算其比例和对数几率,否则按分组变量计算其均值;xvar
: 自变量 (分组变量)。option
如下:
group(#)
:将自变量 xvar
等分成若干组,并用组内均值代表组值;round(#)
:将自变量 xvar
四舍五入到 #
倍数,以此作为组别划分依据;integer
:若自变量 xvar
是整数,则直接根据具体数值分组。graph
:绘制图形。yvar
为连续变量,则绘制其均值,yvar
为二元变量,则绘制其对数几率 (Log odds of Y for binary yvar);noline
:不绘制回归线。
在本例中,我们使用来自对 1784 个 24-51 岁成年人的高血压调查数据集 (hyperten)。其中,sbpavg 为平均收缩压,age 为年龄,ses 为社会经济地位,hbp 为是否高血压。首先,我们使用 groups(#)
分组来检验高血压与年龄的关系。
. lxhuse hyperten.dta, clear
. describe
Contains data from hyperten.dta
Observations: 1,784
Variables: 4 6 Feb 1996 16:49
----------------------------------------------------------------
Variable Storage Display Value
name type format label Variable label
----------------------------------------------------------------
sbpavg float %9.0g Average Systolic Blood Pressure
age byte %8.0g Current Age
ses byte %8.0g seslbl Socioeconomic Status
hbp byte %8.0g yesno High Blood Pressure
----------------------------------------------------------------
将样本分成 10 个大小相等的组,并计算每个年龄组中高血压 (1=高血压,0=正常) 的比例和对数几率。
. lintrend hbp age, groups(10) graph
The proportion and ln(odds) of hbp by categories of age
(Note: 10 age categories of equal sample size;
Uses mean age value for each category)
+------------------------------------------------+
| age min max d total hbp ln_odds |
|------------------------------------------------|
| 26.0 24 27 24 246 0.10 -2.22 |
| 28.5 28 29 27 165 0.16 -1.63 |
| 30.6 30 31 26 169 0.15 -1.70 |
| 32.4 32 33 34 179 0.19 -1.45 |
| 34.5 34 35 43 151 0.28 -0.92 |
| 36.5 36 37 44 163 0.27 -0.99 |
| 39.0 38 40 70 220 0.32 -0.76 |
| 41.9 41 43 66 152 0.43 -0.26 |
| 45.5 44 47 86 200 0.43 -0.28 |
| 49.0 48 51 65 137 0.47 -0.10 |
+------------------------------------------------+
可以看出,年龄和高血压之间存在正线性关系。然后,我们使用 round(#)
分组来检验高血压与年龄的关系,即将年龄四舍五入到 #
的倍数。
. lintrend hbp age, round(5) graph
The proportion and ln(odds) of hbp by categories of age
(Note: age in categories rounded to nearest 5)
+------------------------------------------------+
| age min max d total hbp ln_odds |
|------------------------------------------------|
| 25 24 27 24 246 0.10 -2.22 |
| 30 28 32 72 436 0.17 -1.62 |
| 35 33 37 102 391 0.26 -1.04 |
| 40 38 42 117 323 0.36 -0.57 |
| 45 43 47 105 249 0.42 -0.32 |
| 50 48 51 65 137 0.47 -0.10 |
+------------------------------------------------+
接着,使用 integer
分组来检验高血压与社会地位之间的关系。社会经济地位 ses 是一个序数变量,ses=1 表示低社会经济地位,ses=2 表示中等社会经济地位,ses=3 表示高社会经济地位。
. lintrend hbp ses, integer graph
The proportion and ln(odds) of hbp by categories of ses
(Note: ses in categories using original values)
+-----------------------------------------+
| ses d total hbp ln_odds |
|-----------------------------------------|
| 1:Low 215 670 0.32 -0.75 |
| 2:Middle 138 537 0.26 -1.06 |
| 3:High 117 512 0.23 -1.22 |
+-----------------------------------------+
可以看出的是,高血压随着社会经济地位的上升而减少,两者有较强的负线性相关性。
最后,使用 groups(#)
分组来检验平均收缩压与年龄的关系。前面的例子检验的是二元变量 (是否高血压),lintrend
会计算对数几率。在本例中,我们将使用连续变量平均收缩压 sbpavg 来代表高血压,lintrend
则会计算平均值。
. lintrend sbpavg age, groups(10) graph
The mean of sbpavg by categories of age
(Note: 10 age categories of equal sample size;
Uses mean age value for each category)
+-----------------------------------+
| age min max total sbpavg |
|-----------------------------------|
| 26.0 24 27 246 120.83 |
| 28.5 28 29 165 119.79 |
| 30.6 30 31 169 120.27 |
| 32.4 32 33 178 122.99 |
| 34.5 34 35 151 124.16 |
| 36.5 36 37 163 125.56 |
| 39.0 38 40 219 124.53 |
| 41.9 41 43 152 129.62 |
| 45.5 44 47 200 131.05 |
| 49.0 48 51 137 132.59 |
+-----------------------------------+
本例数据来自于对 1552 个背痛患者进行了 6 个月的随访,以确定与康复相关的特征的调查数据。其中,better 为八周后的恢复概率 (1=全部恢复,0=没有恢复),score 为残疾状况。
. lxhuse backpain.dta, clear
. describe
Contains data from backpain.dta
Observations: 1,552 Recovery from back pain
Variables: 4 9 Feb 1996 16:32
----------------------------------------------------------------------
Variable Storage Display Value
name type format label Variable label
----------------------------------------------------------------------
better byte %8.0g yesno Better at 8 Weeks
score byte %8.0g Disability Score
score_2 int %9.0g Disability Score Squared
score_3 int %9.0g Disability Score Cubed
----------------------------------------------------------------------
. lintrend better score, groups(12) graph
The proportion and ln(odds) of better by categories of score
(Note: 12 score categories of equal sample size;
Uses mean score value for each category)
+----------------------------------------------------+
| score min max d total better ln_odds |
|----------------------------------------------------|
| 0.4 0 1 151 170 0.89 2.07 |
| 2.5 2 3 100 136 0.74 1.02 |
| 4.6 4 5 69 105 0.66 0.65 |
| 6.5 6 7 67 119 0.56 0.25 |
| 8.5 8 9 75 139 0.54 0.16 |
| 10.5 10 11 60 128 0.47 -0.13 |
| 12.5 12 13 57 118 0.48 -0.07 |
| 15.1 14 16 96 197 0.49 -0.05 |
| 17.0 17 17 33 79 0.42 -0.33 |
| 18.5 18 19 49 147 0.33 -0.69 |
| 20.5 20 21 40 121 0.33 -0.71 |
| 22.5 22 23 24 93 0.26 -1.06 |
+----------------------------------------------------+
可以看出,当残疾分数从 0 增加到 10 左右时,恢复速度会急剧下降,当残疾分数从 10 增加到 15 左右时,恢复速度又会趋于平稳,当残疾分数超过 15 时,恢复速度会继续急剧下降。上述关系可能表明二者间存在非线性关系。进一步,我们通过将残疾状况的二次项、三次项引入到逻辑回归模型中分析,回归结果也证实了上述猜想。
. logistic better score score_2 score_3
Logistic regression Number of obs = 1,552
LR chi2(3) = 207.17
Prob > chi2 = 0.0000
Log likelihood = -969.56991 Pseudo R2 = 0.0965
------------------------------------------------------------------------------
better | Odds ratio Std. err. z P>|z| [95% conf. interval]
-------------+----------------------------------------------------------------
score | 0.643 0.050 -5.71 0.000 0.553 0.748
score_2 | 1.032 0.008 4.05 0.000 1.016 1.048
score_3 | 0.999 0.000 -3.63 0.000 0.999 1.000
_cons | 7.937 1.713 9.60 0.000 5.200 12.116
------------------------------------------------------------------------------
Note:产生如下推文列表的 Stata 命令为:
lianxh 绘图, m
安装最新版lianxh
命令:
ssc install lianxh, replace
免费公开课
最新课程-直播课
专题 | 嘉宾 | 直播/回看视频 |
---|---|---|
⭐ 最新专题 | 文本分析、机器学习、效率专题、生存分析等 | |
研究设计 | 连玉君 | 我的特斯拉-实证研究设计,-幻灯片- |
面板模型 | 连玉君 | 动态面板模型,-幻灯片- |
面板模型 | 连玉君 | 直击面板数据模型 [免费公开课,2小时] |
⛳ 课程主页
⛳ 课程主页
关于我们
课程, 直播, 视频, 客服, 模型设定, 研究设计, stata, plus, 绘图, 编程, 面板, 论文重现, 可视化, RDD, DID, PSM, 合成控制法
等
连享会小程序:扫一扫,看推文,看视频……
扫码加入连享会微信群,提问交流更方便
✏ 连享会-常见问题解答:
✨ https://gitee.com/lianxh/Course/wikis
New!
lianxh
和songbl
命令发布了:
随时搜索连享会推文、Stata 资源,安装命令如下:
. ssc install lianxh
使用详情参见帮助文件 (有惊喜):
. help lianxh