楼主: 小财喵
7789 15

[编程问题求助] stata如何提取残差的标准差? [推广有奖]

  • 2关注
  • 0粉丝

硕士生

42%

还不是VIP/贵宾

-

威望
0
论坛币
524 个
通用积分
3.2621
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
608 点
帖子
78
精华
0
在线时间
175 小时
注册时间
2016-2-28
最后登录
2023-2-20

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input long id int year str2 IndB03 float(TCA CFO1 CFO2 CFO3 REV1 PPE)
  4. 600257 2015 "A"  -.012979026 .0004494191  .012338948   .02052306   .09065582 .13460019
  5. 300106 2013 "A"   .029960116   .02168666 -.028428765  -.14000343  -.02485285  .4154507
  6.   2458 2011 "A"  -.009760974   .09075433   .19745067   .05766682    .2497684  .3662671
  7.   2069 2015 "A"   -.13363788  .010293655   .06785981   .06569765    .0137914 .26638734
  8.   2069 2017 "A"   -.06143613    .0730756  .032424297           .   .03652639 .24798797
  9.   2477 2014 "A" -.0031115895   .03474666  -.02232675   -.0404449  -.01575156  .3959014
  10. 600598 2017 "A"  -.002475314    .2088097   .10957245           .  -.01330335   .423915
  11. 600975 2011 "A"  -.006019058  .036127374   .08774804  -.05256652   .11735561 .29260027
  12. 300189 2012 "A"   .068820804  .003664218 -.022465924  .009265089  .002676776 .06087188
  13.   2069 2010 "A"    .15288223   .02701011  .015241037  .029401187   .26719758 .20305067
  14. 600371 2015 "A"   -.12711464    .2472451   .15182415   .19272216  -.09086953 .20943373
  15. 300189 2013 "A"    .01183702  -.02009667  .008287993   .02766721  .013972653 .10177094
  16. 300087 2014 "A"   -.07999898  .010041213   .09482992   .09645914  .002882938 .17438503
  17. 300498 2016 "A"   -.05801116    .2472451   .28308696   .21555027    .2997816  .3065942
  18.    998 2010 "A"   -.01576576   .07355242   .06818179   .08385693   .09712792  .1387844
  19. 200992 2007 "A"            .           .           .           .           .         .
  20. 600257 2009 "A"   .008593645  .063481465  .009392582  .015240542   .06706618  .2218704
  21.    735 2014 "A"   .005179105   .04283488 -.005108596  .005928637  -.16973463  .2242175
  22. 601118 2012 "A"     .0604169   .07928162  -.04162627  .031460244   .10296977 .10145155
  23.   2069 2014 "A"   -.13123253   .03743635  .009455224   .06233255  .008113388 .25330648
  24. 600108 2015 "A"   .012486678  .017929453  .007309781 .0001257235 -.007055871  .1881779
  25. 600540 2017 "A"     .0799584  .021535855 -.069662414           .   .02187899  .3025419
  26.   2321 2016 "A"   -.03928845   .11081542   .04978887  -.05896256   .11769907  .3008529
  27.   2234 2015 "A"   -.25206628  -.08668867   .08921073   .14186727  -.14285062  .4207925
  28. 600975 2015 "A"  -.072984606 -.019106155   .05767365   .09245308  .015814751  .3883374
  29.    735 2017 "A"   -.01247767    .0467078   .05121159           .   .06583292  .3289782
  30. 300094 2013 "A"    .08778198  -.03771815 -.069416724 .0037946415    .3273239 .20517255
  31.   2069 2012 "A"   -.05093111  .017585894   .08102325   .04085128  -.07046334 .14186566
  32.   2714 2015 "A"   -.07329553   .08141436    .1636574   .22928198  .071282245 .53210676
  33. 600540 2007 "A"            .           .           .           .           .         .
  34. 600540 2016 "A"   -.29137635 -.007279015   .01892275  -.06120976  -.05221427 .26583433
  35.   2200 2010 "A"   .036213994 -.008989684 -.006543454 -.006375034  -.13574386   .151214
  36.   2299 2009 "A"            .           .           .           .           .         .
  37.   2321 2012 "A"    -.1370987   .10293449   .11827751   .11556984    .0483546  .4325313
  38. 600540 2012 "A"   -.30067065 -.006635972   .27865815  .017862067    .3173077  .1778508
  39. 600598 2015 "A"   -.01333149    .2470383   .10033563     .207803  -.18822236 .50253487
  40.   2069 2007 "A"            .           .           .           .           .         .
  41. 600354 2014 "A"    -.1830342   .05258819    .1207212   .07859866   -.1582507 .18787153
  42. 600097 2009 "A"   -.10706548   .20284823   .19398656   .11900885    -.227685  .5784834
  43.   2069 2013 "A"   -.02149022   .07393413     .037277  .009414978  .002456389  .1644936
  44. 600467 2009 "A"   .006268026    .0810717   .03744558  .064454734   .03197927   .656514
  45. 600354 2011 "A"     .1020568   .06171357  -.05303986   .13343692   .06172553 .20393646
  46.   2234 2013 "A"    -.1079702 -.003870681 -.032727197   -.0894558  -.10055684  .3356072
  47.   2477 2017 "A"  .0043272274   .09027054  .003822652           .  -.01964954  .1813917
  48. 600965 2013 "A"    .03157065   .02978912  .070455216   .20463394    .4895731   .417561
  49. 600354 2007 "A"            .           .           .           .           .         .
  50.   2200 2015 "A"    .05302808   -.0803436 -.032632787  -.19737096   .04241353 .04649732
  51.   2477 2011 "A"    .12621124   .01170817   .06802883  -.04171638    .2832498  .1661253
  52.   2477 2010 "A"            .           .           .           .           .         .
  53. 600540 2009 "A"    .05428754  -.11927588  -.04878115  -.10812262  -.05969844  .2632409
  54. end
复制代码

分组回归公式是:
winsor2 TCA CFO1 CFO2 CFO3 REV2 PPE, replace cuts(1 99)
bys year IndB03: reg CFO1 CFO2 CFO3 REV2 PPE
predict e,r

那后续如何提取残差的标准差呢?谢谢!


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Stata tata 如何提取 标准差 generated

回帖推荐

黃河泉 发表于4楼  查看完整内容

谢谢用 dataex 发出资料,请试试
沙发
liuywustb 发表于 2019-5-21 22:09:58 |只看作者 |坛友微信交流群
su e
然后利用r命令
g cancha=r(sd)

使用道具

藤椅
小财喵 发表于 2019-5-21 22:56:39 |只看作者 |坛友微信交流群
liuywustb 发表于 2019-5-21 22:09
su e
然后利用r命令
g cancha=r(sd)
谢谢解答,那请问前面的分行业分年度的残差要怎么提取呢?
我以为这个命令是可以跑的,但实际操作上只是显示最后一次回归的残差,并且因为分组后最后一组样本量不足,还无法得到残差。
上网查了命令:
gen resid_stddev = .
forvalues year in 1980/2010 {
       reg Y X1 X2 X3 if year == `year'
       capture drop resid
       predict resid if e(sample), r
       su resid
       replace resid_stddev = r(sd) if year == `year'
}
table year, contents(mean resid_stddev)
在实际操作中也出现了invalid syntax的情况。
谢谢你了!

使用道具

板凳
黃河泉 在职认证  发表于 2019-5-22 06:50:05 |只看作者 |坛友微信交流群
谢谢用 dataex 发出资料,请试试
  1. // ssc install asreg
  2. asreg CFO1 CFO2 CFO3 REV1 PPE, by(year IndB03) fit
  3. // ssc install asrol
  4. bys year IndB03: asrol _residuals, stat(sd) gen(sd)
  5. *bys year IndB03: egen sd_residuals = sd(_residuals)
复制代码
已有 2 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
葫芦娃大王 + 10 + 10 精彩帖子
小财喵 + 1 + 1 + 1 精彩帖子

总评分: 经验 + 10  论坛币 + 10  学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

使用道具

报纸
小财喵 发表于 2019-5-22 10:17:49 |只看作者 |坛友微信交流群
黃河泉 发表于 2019-5-22 06:50
谢谢用 dataex 发出资料,请试试
谢谢,完美解决问题~

使用道具

地板
小财喵 发表于 2019-5-22 10:27:44 |只看作者 |坛友微信交流群
liuywustb 发表于 2019-5-21 22:09
su e
然后利用r命令
g cancha=r(sd)
谢谢解答~

使用道具

7
zqz要加油鸭 发表于 2019-12-27 10:49:54 |只看作者 |坛友微信交流群
黃河泉 发表于 2019-5-22 06:50
谢谢用 dataex 发出资料,请试试
老师您好,我是需要提取每个企业i的残差的标准差,我参照您的代码,进行回归时就没用by分类,可是最终得到的sd每个企业i都是一样的,请问问题出在哪里呢   

使用道具

8
黃河泉 在职认证  发表于 2019-12-27 11:07:13 |只看作者 |坛友微信交流群
zqz要加油鸭 发表于 2019-12-27 10:49
老师您好,我是需要提取每个企业i的残差的标准差,我参照您的代码,进行回归时就没用by分类,可是最终得到 ...
请将指令与部分资料发出,不然谁会知道你做了什么?

使用道具

9
zqz要加油鸭 发表于 2019-12-30 16:30:31 |只看作者 |坛友微信交流群
黃河泉 发表于 2019-5-22 06:50
谢谢用 dataex 发出资料,请试试
* Example generated by -dataex-. To install: ssc install dataex
clear
input long id int year float RD
  8 2017    .019241573
12 2007    .004267679
12 2013    .012665782
12 2014     .01361911
12 2015    .015319285
12 2016     .01991837
12 2017      .0188434
16 2007    .014873895
16 2013    .014612452
16 2014    .013051252
16 2015    .016098246
16 2017    .013994058
21 2012    .014636543
21 2013    .010859432
21 2014    .010415225
21 2015    .011729429
21 2016    .014240614
21 2017    .009584337
27 2014   .0005964882
30 2013    .015963431
30 2014    .017150324
30 2015    .014372295
30 2016    .013799184
30 2017    .015694981
35 2015    .007756135
39 2013    .006912271
39 2014    .006741855
39 2015    .005753745
39 2016   .0045248796
39 2017    .005554365
50 2012     .02256824
50 2013      .0310267
50 2014    .034321222
50 2015     .04084605
50 2016     .04972325
50 2017     .03564924
55 2007    .006082392
55 2008    .006365787
59 2017    .002902465
60 2015    .012103274
60 2016    .011555687
60 2017    .012193958
63 2007     .08195047
63 2008     .07851386
63 2011     .08057874
63 2013      .7376623
63 2014      .0848305
63 2015     .10090984
63 2016       .090113
63 2017           .09
65 2015    .016591115
65 2016    .011753086
65 2017    .013979058
66 2007    .011767386
66 2012     .04732006
66 2013     .04364007
66 2014      .0427127
66 2015    .037100863
66 2016     .03634361
66 2017     .03959211
70 2012     .03064257
70 2013     .02864181
70 2014     .03304448
70 2015     .02749753
70 2016     .04167818
70 2017     .03992114
100 2011    .004783137
100 2014      .0330534
100 2015     .03368515
100 2016     .02900068
100 2017     .02945103
153 2012    .015359793
153 2013     .01463251
153 2016    .014222057
157 2012     .01932112
157 2013     .02034845
157 2014    .012841297
157 2015    .011235596
157 2016    .010081894
157 2017    .010509922
158 2007     .03137146
158 2008    .023857635
158 2009     .02047987
158 2010     .02583298
158 2011    .025590625
158 2012     .01880357
158 2013     .01335666
158 2014    .011251575
158 2015     .00580383
158 2016     .01440625
158 2017     .01594996
333 2014     .03325021
333 2015      .0408618
333 2016 .000035438454
333 2017    .034260377
338 2012      .0300965
338 2013    .032055527
338 2014    .027873755
338 2015     .02829417
338 2016    .021707317
end
[/CODE]
------------------ copy up to and including the previous line ------------------
黄老师您好,我想得到的是每个id每一年的RD对应的残差的标准差,我的回归如下:(1)asreg RD year, fit, (2)asrol _residuals, stat(sd) gen(sd)      然后生成的所有sd值都是一样的,请问应该是什么原因,我应该如何正确提取残差的标准差呢

使用道具

10
zqz要加油鸭 发表于 2019-12-30 19:48:01 |只看作者 |坛友微信交流群
黃河泉 发表于 2019-12-27 11:07
请将指令与部分资料发出,不然谁会知道你做了什么?
搜狗截图19年12月30日1943_1.png
老师,我的计算结果如图,每家公司每一年残差的标准差都是一样的,不知道是哪里出了问题,代码和部分数据我已用dataex放在上一层,期待您的回复!

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-28 12:18