楼主: Jykaner
7923 9

[回归分析求助] 用predict命令生成residual错误,代码r(301) [推广有奖]

  • 1关注
  • 0粉丝

本科生

0%

还不是VIP/贵宾

-

威望
0
论坛币
20 个
通用积分
2.6527
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
885 点
帖子
40
精华
0
在线时间
60 小时
注册时间
2018-3-2
最后登录
2018-9-10

楼主
Jykaner 发表于 2018-4-5 18:22:37 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
用以下数据做statsby回归分析,根据分析结果生成残差。前面的变量回归都没有问题,变量comp610因为最后一个月没有数据,所以无法生成residual。stata显示的错误信息是last estimates not found,我搜索了网上的相关信息,似乎是说用predict命令因为最后一个月的数据不存在所以会出错,在不删除comp610这个变量的情况下怎么解决呢?

  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input double(ym comp26 comp36 comp37 comp610 rf hml smb rmrf)
  4. 454           1  .989247312   .93442623           1 .0002596  .00254847  -.0042464  .01079574
  5. 454  .858207676           1           1 1.004807692 .0002603 -.00718854  .00061223  -.0011494
  6. 454  .986922232  .995652174           1           1 .0002614 -.00297958 -.00204394  .00197773
  7. 454           1           1           1           1 .0002628  .00075671  .00720731 -.00738988
  8. 454  .986748938  .982532751           1  .995215311 .0002661   .0057693  .01248575 -.01765994
  9. 454           1  .977777778           1           1 .0002661  .00068505 -.00316597  .00702931
  10. 454           1  .988636364           1 1.024038462 .0002661   .0016621  .00155687 -.00253457
  11. 454 1.058124039           1   .98245614  .981220657 .0002661  .00442409   .0024951 -.01439528
  12. 454           1           1  .991071429 1.004784689 .0002671  .00474529 -.00495677  -.0025634
  13. 454           1           1           1           1 .0002671 -.00474451 -.00572492  .00550176
  14. 454           1  .997701149           1 1.002380952 .0002682 -.00600874 -.01746585  .02139155
  15. 454 1.012594458  .995391705           1 1.023752969 .0002671  .00050579  .00516422 -.00393852
  16. 454  .979142748           1           1  .993039443 .0002668 -.00800586 -.00079253 -.00248555
  17. 454 1.012800469           1           1           1 .0002668 -.00402887 -.01263063  .01234563
  18. 454           1           1           1           1 .0002668  -.0030311  -.0101626  .01264322
  19. 454   .96642547           1  .954954955           1 .0002671  .00280852  .00497877 -.01408227
  20. 454  .956473994           1  .962264151  .995327103 .0002671 -.00005137  .00010698 -.00637323
  21. 454  .954597641           1  .990196078           1 .0002671  -.0060335 -.00199304  .00496541
  22. 454  .976164443           1  1.00990099  .990610329 .0002668  -.0033823  .00167274  -.0002377
  23. 454           1  .990740741           1           1 .0002682  .01197414  .00850351 -.00906947
  24. 455           1           1           1  .995260664 .0002707 -.00691297 -.01552543  .01433925
  25. 455 1.058467742  .995327103           1           1 .0002707  .00200462 -.00425852  .00874108
  26. 455 1.004656085  .992957746           1           1 .0002711  .00032086  .00432451 -.00028062
  27. 455  .954181588           1           1           1 .0002728 -.00450067 -.01095173  .01825858
  28. 455 1.009603709           1           1           1 .0002661  -.0021261 -.00544432  .00991429
  29. 455           1           1           1  1.00952381 .0002661 -.00364936  .00092954  .00805238
  30. 455 1.009512355           1           1           1 .0002653 -.00516973  .00533896 -.00172472
  31. 455           1           1           1           1  .000265 -.00079437  .00420411 -.00754023
  32. 455           1  .992907801           1           1  .000265  .00075694  .00935901 -.01501964
  33. 455 1.018845446           1 1.019607843           1 .0002639  .00171152 -.00037349  .00134348
  34. 455    .9860742           1           1  .948113208 .0002661  -.0049823 -.00649459   .0116359
  35. 455  .929603277           1  .990384615           1 .0002661 -.00468819  -.0088589  .01166334
  36. 455  .959642816           1           1           1 .0002661  .00279131  .00238797 -.00209527
  37. 455  .884229607           1           1           1 .0002661  .00209372 -.00121826 -.00429954
  38. 455 1.124914582           1           1           1 .0002661  .00279567  .01529832 -.02343232
  39. 455           1           1           1  .995024876 .0002661 -.00020093 -.00208975 -.00063521
  40. 455           1           1 1.009708738        1.01 .0002661 -.00176051 -.00480873  .00464358
  41. 455 1.148098651           1           1           1 .0002661 -.00269037  .00397992 -.00600918
  42. 455 1.165925926           1 1.009615385           1 .0002661 -.00162092 -.01111991  .01664583
  43. 455   .99210383           1 1.019047619           1 .0002661 -.00160593  .00288864  .00431913
  44. 455           1           1           1           1 .0002671 -.00071217  .00390688   .0010873
  45. 456 1.007959016           1  .981308411           1 .0002671 -.00130042 -.00821861  .00925668
  46. 456   .99210383           1  1.00952381 1.004950495 .0002682 -.00431947 -.00828394  .01096445
  47. 456  .920318361           1           1           0 .0002682 -.00059464  .00083594  .00128817
  48. 456  .987077535           1           1           . .0002682 -.00044176  .00471512 -.00565042
  49. 456 1.052567976           1           1           . .0002682  -.0033579 -.00127586  .00220971
  50. 456  .970818982           1           1           . .0002671  .00605857  .01378085 -.01507518
  51. 456  .982852075           1           1           . .0002668  .00502561  .00160901 -.01328655
  52. 456  .995688359           1           1           . .0002661  .00236358  .00458319  .00292551
  53. 456  .995568983 1.011904762           1           . .0002661 -.00252743  .00104709  .00368859
  54. 456           1           1           1           . .0002682  .00333885 -.00995402  .00819917
  55. 456           1           1           1           . .0002682 -.00606485 -.01535466  .01406299
  56. 456           1           1           1           . .0002682  -.0138917 -.00571418  .00224457
  57. 456           1 1.011764706           1           . .0002682 -.00960384 -.00416378 -.00003746
  58. 456           1           1           1           . .0002682  .00343158  .00029275 -.00089242
  59. 456           1           1           1           . .0002693 -.00274717 -.00092965 -.00364123
  60. 456           1           1           1           . .0002689 -.00015818   .0142428 -.01093674
  61. 456  .885494639           1           1           . .0002693  .00044892 -.00837065  .00777769
  62. 456           1           1           1           . .0002693 -.00172302 -.01512863  .01239927
  63. 456           1           1           1           . .0002689 -.00292398 -.00026891  .00756898
  64. 456 1.019876628 1.006976744           1           . .0002682  .00210502 -.00483453  .00770506
  65. 456           1           1           1           . .0002682  .00280461 -.00409041  .00576957
  66. 457  .990255376           1           1           . .0002682 -.04186553 -.02510575  .02047319
  67. 457 1.142857143           1           1           . .0002682  .01009343  .00369207  .00302074
  68. 457 1.107779097 1.004618938           1           . .0002682 -.00114424  .00815813 -.00180203
  69. 457 1.038863575           1           1           .   .00027  .00656446  .00624024    .002144
  70. 457   .98503612           1 1.009433962           . .0002671  .00071847 -.00027202  .00360913
  71. 457    .9924044 1.126436782  .990654206           . .0002671  .00292667  .00649172 -.00359392
  72. 457  .996129146 1.006122449           1           . .0002678 -.00695895 -.00166818  .00181297
  73. 457  .973063676  .979716024           1           . .0002671  .00601435 -.00263496 -.00073809
  74. 457           1  .989648033           1           . .0002671 -.00047268   .0056894 -.00807589
  75. 457   .98420766   1.0041841           1           . .0002671  -.0010215  -.0049958  .00408458
  76. 457  .943747695           1           1           . .0002671 -.00602017 -.00394485   .0052392
  77. 457  .991498925 1.004166667           1           . .0002671  -.0019355 -.00986842  .01259613
  78. 457           1  1.01659751           1           . .0002671  .00112608  .00283691  .00194026
  79. 457 1.030058145           1 1.009433962           . .0002682  .00494151  .00681001 -.00084937
  80. 457 1.037504784           1 1.009345794           . .0002682 -.00217986 -.00157479  .00473356
  81. 457  .927701955           1           1           . .0002682  .00479616  .00504093 -.00516542
  82. 457           1  .995918367           1           . .0002682  .02666207  .01549343 -.00742686
  83. 457  .982703777           1           1           . .0002689 -.01362664 -.00533764  .01364661
  84. 457  .982399353           1 1.018518519           . .0002689   .0050824 -.00091571  .00464496
  85. 457           1  .973360656 1.054545455           . .0002693  .00157039  .01214398  .00262965
  86. 458  1.02687397           1 1.017241379           . .0002693  .00646446  .00006953  .00990993
  87. 458  .965105786  .985263158 1.016949153           . .0002693  .00102223   .0027829 -.00094763
  88. 458   .98638961           1 1.008333333           . .0002703  .00535987  .00578874 -.01040319
  89. 458  .967874447           1 1.008264463           . .0002703  .00199052 -.00317469 -.00678302
  90. 458           1  .995726496           1           . .0002671 -.01071765  -.0063013   .0123876
  91. 458  .990532158  .987124464           1           . .0002671 -.00371376 -.00053394  .00657398
  92. 458  .990441661  .989130435 1.032786885           . .0002661 -.00240388 -.00129486  .00218345
  93. 458  .990349418           1 1.007936508           . .0002661  .00497863  .00235671  .00119105
  94. 458  .951164875           1 1.015748031           . .0002675  .00623803  .00759067 -.00387227
  95. 458           1           1 1.015503876           . .0002675  .00210742   .0055655 -.00078843
  96. 458 1.071832313  .993406593  .984732824           . .0002675  .00069292  .00238599  .00172704
  97. 458  .990441661 1.008849558  .992248062           . .0002675 -.00035503 -.00658519  .00757189
  98. 458           1 1.004385965    .9921875           . .0002682  .00298663  -.0042961  .00966409
  99. 458 1.038602329 1.056768559 1.070866142           . .0002682 -.00142048 -.00673256  .01362661
  100. 458 1.116308875 1.033057851  .985294118           . .0002682  .00846359  .01607548 -.00359806
  101. 458 1.062476081        .996           1           . .0002682  .00800036  .00361362  .00004638
  102. 458  1.06276452  .989959839           1           . .0002682  .00392916 -.00500952  .00444511
  103. 458   .99635655           1  .992537313           . .0002678 -.00195284  .00581321  -.0013416
  104. end
  105. format %tm ym
复制代码


下面是回归以及predict生成residual命令

  1. foreach c of varlist comp26 comp36 comp37 comp610{
  2.     qui cap drop excess_re_`c'
  3.     qui gen excess_re_`c' = `c' - rf
  4.     statsby _b, by(ym) saving(FFforIV, replace): reg excess_re_`c' rmrf smb hml
  5.         qui predict resid_`c', resid
  6.         qui egen IV_`c'_lastmonth = sd(resid_`c'), by(ym)
  7.         }
复制代码


二维码

扫码加我 拉你入群

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

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


沙发
黃河泉 在职认证  发表于 2018-4-6 17:05:46
1. 谢谢使用 dataex。2. 你的作法 (statsby 后接著用 predict) 是有问题的,你试试
  1. gen excomp26 = comp26 - rf
  2. reg excomp26 rmrf smb hml if ym == 454
  3. predict e0, res
  4. egen e0_sd = sd(e0)
复制代码
就知道与你估计的不一样。

藤椅
黃河泉 在职认证  发表于 2018-4-6 17:08:06
请先安装 ssc install rangestat,然后
  1. bys ym: gen t = _n
  2. egen date = group(ym t)
  3. reshape long comp, i(date) j(id)
  4. sort id date

  5. gen excomp = comp - rf
  6. rangestat (reg) excomp rmrf smb hml, interval(ym 0 0) by(id)
  7. ren b_* _b_*2
  8. gen e2 = excomp-(_b_rmrf2*rmrf + _b_smb2*smb + _b_hml2*hml + _b_cons2)
  9. bys id ym: egen sd2 = sd(e2)
复制代码

板凳
Jykaner 发表于 2018-4-7 21:54:14
黃河泉 发表于 2018-4-6 17:08
请先安装 ssc install rangestat,然后
这个计算残差的方法非常直观,但我试了一下,我有6500+变量,每个变量7000个观察值,变成面板数据有些太大了,stata好像运行不过来。

报纸
Jykaner 发表于 2018-4-7 22:05:52
黃河泉 发表于 2018-4-6 17:05
1. 谢谢使用 dataex。2. 你的作法 (statsby 后接著用 predict) 是有问题的,你试试就知道与你估计的不一样。 ...
请教一下,用statsby做回归本身应该不存在问题吧?我这么理解的,不知道对不对,你指的就是statsby后面不应该用predict计算残差,因为这个predict是用最后一个月的模型来计算的,所以之前月份也是用最后一个月的模型计算的,所以算出来的就不对?如果不用面板数据,还能做我这个计算吗,我需要对变量按月度进行回归,然后根据每个月的模型计算残差的标准差。

地板
Jykaner 发表于 2018-4-8 01:19:56
黃河泉 发表于 2018-4-6 17:08
请先安装 ssc install rangestat,然后
刚刚运行了很久,确实没法转换成面板数据,错误信息是内存不足

7
黃河泉 在职认证  发表于 2018-4-8 06:46:23
Jykaner 发表于 2018-4-7 22:05
请教一下,用statsby做回归本身应该不存在问题吧?我这么理解的,不知道对不对,你指的就是statsby后面不 ...
1. 没错!2. 我怀疑 (但不完全确定) statsby 后面不应该用predict计算残差,因为这个predict是用最后一个月的模型来计算的。

8
黃河泉 在职认证  发表于 2018-4-8 06:48:03
Jykaner 发表于 2018-4-7 21:54
这个计算残差的方法非常直观,但我试了一下,我有6500+变量,每个变量7000个观察值,变成面板数据有些太大 ...
除了 comp26 comp36 comp37 comp610 等之外,你可能需要对时间 ym 做另外一个 loop。

9
Jykaner 发表于 2018-4-8 19:22:32
黃河泉 发表于 2018-4-8 06:48
除了 comp26 comp36 comp37 comp610 等之外,你可能需要对时间 ym 做另外一个 loop。
我根据网上的一些提示,改成这样了,我觉得应该对了
  1. foreach c of varlist comp1 - comp6518 {
  2.     qui cap drop excess_re_`c'
  3.     qui gen excess_re_`c' = `c' - rf
  4.     statsby _b, by(ym) saving(FFforIV, replace): reg excess_re_`c' rmrf smb hml
  5.         qui merge m:1 ym using FFforIV.dta, nogen
  6.         qui gen resid_`c' = excess_re_`c' - _b_cons - _b_hml*hml - _b_smb*smb - _b_rmrf*rmrf
  7.         qui egen IV_`c'_nextmonth = sd(resid_`c'), by(ym)
  8.         drop _b_cons _b_hml _b_smb _b_rmrf
  9.         }
复制代码

10
黃河泉 在职认证  发表于 2018-4-9 07:36:21
Jykaner 发表于 2018-4-8 19:22
我根据网上的一些提示,改成这样了,我觉得应该对了
我不知道。

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-31 05:42