楼主: se7enchn
1991 3

[回归分析求助] 对每条观测值使用特定范围的样本依次进行回归 [推广有奖]

  • 2关注
  • 0粉丝

大专生

16%

还不是VIP/贵宾

-

威望
0
论坛币
22 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
436 点
帖子
18
精华
0
在线时间
59 小时
注册时间
2014-2-3
最后登录
2021-5-5

楼主
se7enchn 发表于 2018-3-13 23:54:36 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
请问大神们,如果对每个观测值只想使用这条观测值前面的20条观测值为样本进行回归应该怎么操作呢?reg里面好像没有提供相关的option,搜索了一下已有的帖子,感觉也都不是我想要实现的效果。如果使用statsby里面的basepop()不知道是否可行,这个命令有人用过吗?下面截了前两个id数据样本,整个数据集一共有2万多个id。

  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input float(id dif stkrt mktrt)
  4. 1 -36 -.037681  .002137
  5. 1 -35  .024849  .035635
  6. 1 -32  .054372  .024336
  7. 1 -31  .000697 -.034699
  8. 1 -30  -.02507  -.04453
  9. 1 -29 -.039286  .013929
  10. 1 -28  .013383  .024308
  11. 1 -25   .09978  .029733
  12. 1 -23  .010674  .001857
  13. 1 -22 -.089109 -.057169
  14. 1 -18  .014493  .015424
  15. 1 -17    -.035 -.004403
  16. 1 -16  .097705  .065896
  17. 1 -15  .021578  .008718
  18. 1 -14 -.010561 -.007622
  19. 1 -11  -.02068 -.040027
  20. 1 -10   .01158  .020552
  21. 1  -9 -.012795 -.007518
  22. 1  -8  .031378 -.000543
  23. 1  -7 -.019841 -.006132
  24. 1  -4  .029015  .015938
  25. 1  -3  .041967  .036093
  26. 1  -2 -.011328  .006781
  27. 1  -1  .005092  .021895
  28. 1   0 -.029132 -.002316
  29. 1   3  .017613  .024565
  30. 1   4  .004487  .006408
  31. 1   5  .008296 -.022659
  32. 1   6   .04557   .03085
  33. 1   7  -.00908  .008459
  34. 2 -35 -.020159 -.002642
  35. 2 -34 -.006234  .010208
  36. 2 -33  .016311  .015739
  37. 2 -32  .031481  .007674
  38. 2 -31  .002394 -.004922
  39. 2 -27  -.00597   .00547
  40. 2 -26 -.035435 -.037495
  41. 2 -25  .018057  .016863
  42. 2 -24  .015902  .032386
  43. 2 -21  .007827  .021015
  44. 2 -20 -.004779  .011544
  45. 2 -19 -.021609  .007729
  46. 2 -18  .003067  .001614
  47. 2 -17 -.028746 -.013181
  48. 2 -14  .016373  .024094
  49. 2 -13 -.021685 -.008458
  50. 2 -12 -.032932 -.041709
  51. 2 -11 -.003929  .006553
  52. 2 -10   .00789 -.008479
  53. 2  -7 -.011742 -.029351
  54. 2  -6  .029703  .005429
  55. 2  -5  .058333  .031641
  56. 2  -4 -.011508  .009435
  57. 2   0  .026961  .034658
  58. 2   1  .001193  .007043
  59. 2   2   .02801   .01441
  60. 2   3   .04058 -.001959
  61. 2   4  .012813  .006726
  62. 2   7 -.029153 -.028217
  63. 2   8  .014164  .024305
  64. end
复制代码




二维码

扫码加我 拉你入群

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

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


沙发
黃河泉 在职认证  发表于 2018-3-14 07:41:24
请先 ssc install rangestat,然后试试
  1. bys id (dif): gen t = _n
  2. rangestat (reg) stkrt mktrt, interval(t -20 -1) by(id)
复制代码

藤椅
se7enchn 发表于 2018-3-14 14:01:40
黃河泉 发表于 2018-3-14 07:41
请先 ssc install rangestat,然后试试
谢谢!我再去看看手册里面的详细介绍 :D
这个命令好棒,我本来用的loop要跑将近一个小时

板凳
黃河泉 在职认证  发表于 2018-3-14 16:36:15
se7enchn 发表于 2018-3-14 14:01
谢谢!我再去看看手册里面的详细介绍 :D
这个命令好棒,我本来用的loop要跑将近一个小时
的确,其速度很快,当要跑的回归越多时,越能显示它的速度。

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-1-24 06:57