47149 19

[数据管理求助] stata求增长率命令 [推广有奖]

11
whr1994 学生认证  发表于 2021-7-12 16:04:32
黃河泉 发表于 2017-3-13 17:46
尽可能照底下方式作先宣告是时间序列资料,并计算成长率:
请教黄老师,我想计算每个城市6年间的patent增长率,该如何操作呢?谢谢
  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input int(cityid year patent)
  4. 1 2013   9
  5. 1 2014  19
  6. 1 2015  30
  7. 1 2016  24
  8. 1 2017  50
  9. 1 2018  76
  10. 2 2013  22
  11. 2 2014  14
  12. 2 2015  32
  13. 2 2016  54
  14. 2 2017  20
  15. 2 2018  66
  16. 3 2013  33
  17. 3 2014  17
  18. 3 2015  26
  19. 3 2016  29
  20. 3 2017  26
  21. 3 2018  49
  22. 4 2013  36
  23. 4 2014  32
  24. 4 2015  50
  25. 4 2016  59
  26. 4 2017 361
  27. 4 2018  84
  28. 5 2013 292
  29. 5 2014 271
  30. 5 2015 337
  31. 5 2016 328
  32. 5 2017 496
  33. 5 2018 663
  34. end
复制代码
------------------ copy up to and including the previous line ------------------

Listed 30 out of 810 observations

12
黃河泉 在职认证  发表于 2021-7-12 17:11:52
whr1994 发表于 2021-7-12 16:04
请教黄老师,我想计算每个城市6年间的patent增长率,该如何操作呢?谢谢------------------ copy up to a ...
试试
  1. xtset cityid year

  2. // Method 1:
  3. gen wanted1 = (patent-L.patent)/L.patent

  4. // Method 2:
  5. gen lpatent = log(patent)
复制代码
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
Sunknownay + 3 + 3 + 3 热心帮助其他会员

总评分: 学术水平 + 3  热心指数 + 3  信用等级 + 3   查看全部评分

13
whr1994 学生认证  发表于 2021-7-12 17:25:03
黃河泉 发表于 2021-7-12 17:11
试试
谢谢黄老师,还是有两个疑惑哈。按照方法1得出的结果,有样本城市个数那么多的缺失值,如果我只需要每个城市这6年的增长率而不是6年里每一年的增长率呢?方法二是用对数方式表示增长率吗?

14
黃河泉 在职认证  发表于 2021-7-12 17:48:39
whr1994 发表于 2021-7-12 17:25
谢谢黄老师,还是有两个疑惑哈。按照方法1得出的结果,有样本城市个数那么多的缺失值,如果我只需要每个城 ...
1. 可以试试
  1. xtset cityid year
  2. gen g = (patent-L5.patent)/L5.patent
  3. bys cityid: egen wanted = mean(g)
复制代码
2, 是的。

15
whr1994 学生认证  发表于 2021-7-12 18:26:04
黃河泉 发表于 2021-7-12 17:48
1. 可以试试2, 是的。
谢谢老师

16
zdlspace 学生认证  发表于 2021-7-13 01:16:30
黃河泉 发表于 2021-7-12 17:11
试试
黄老师,这里我想提一点建议,我们用对数之差近似增长率时,要求增长率比较小,因为只有当x趋于0时,
ln(1+x)~x,他上面给的例子,增长率比较大,所以对数之差并适用于这种数据哦,比较两种方案就会发现,计算出的差距还是比较大的,其中有一年增长率计算出来,一个是0.51,一个是0.41,差别已经很大了。像GDP增长率这种比较小的数据,才适用于对数方法。所以他的数据更适用第一种方案。

17
zdlspace 学生认证  发表于 2021-7-13 01:22:58
沉迷fin无法自拔 发表于 2020-3-13 19:58
. gen M1growth= M1G / M1G [_n-1]-1
weights not allowed
r(101);
应该是M1G[_n-1],不是M1G [_n-1],你这里多了个空格

18
黃河泉 在职认证  发表于 2021-7-13 10:09:19
zdlspace 发表于 2021-7-13 01:16
黄老师,这里我想提一点建议,我们用对数之差近似增长率时,要求增长率比较小,因为只有当x趋于0时,
ln ...
我同意 (虽然实务上,很多人不管这个,包括我)。

19
zdlspace 学生认证  发表于 2021-7-13 10:34:57
黃河泉 发表于 2021-7-13 10:09
我同意 (虽然实务上,很多人不管这个,包括我)。
一般我们遇到的增长率都很小,他这个数据中,很多增长率都超过了200%,个体4在2017年增长率已经超过了600%(对于研究专利而言,这种情况是有可能的),这时候如果还用对数近似,与真正的增长率差异还是很大的。所以,对于实务中,很多人用对数近似增长率,究竟是否合理,还是值得探讨的问题。这种误差究竟会不会对结果产生误差呢?
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
aura灿 + 1 + 1 + 1 精彩帖子

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

20
Cissy/ 学生认证  发表于 2022-7-21 21:30:18

滞后一阶得到上一年的GDP:
gen l_GDP=l.GDP
计算增长率:
gen growth=(GDP-l_GDP)/l_GDP

(2)
生成一阶差分,即当期减上期:
gen d_GDP=d.GDP
计算增长率:
gen growth=
d_GDP/(GDP-d_GDP)

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

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