楼主: xixi221zmw
9322 25

急问:遇到一个关于计算标准差的难题 [推广有奖]

21
sungmoo 发表于 2011-9-1 23:54:53
g s=sum(x)
g s2=sum(x^2)
replace s=sqrt(((s2-s2[_n-125])-(s-s[_n-125])^2/125)/124) in 126/l
replace s=sqrt((s2-s^2/125)/124) in 125
replace s=. in f/124
drop s2



set ob 251
g t=_n
tsset t
tssmooth ma s=x,w(125)
tssmooth ma s2=x^2,w(125)
g sd=sqrt((s2[_n+125]-s[_n+125]^2)*125/124)
drop s s2 t
drop in 251
已有 2 人评分学术水平 热心指数 信用等级 收起 理由
Sunknownay + 3 + 3 + 3 热心帮助其他会员
jzhyue + 1 + 1 + 1 好的意见建议

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

22
xixi221zmw 发表于 2011-9-3 21:22:43
sungmoo 发表于 2011-9-1 23:54
g s=sum(x)
g s2=sum(x^2)
replace s=sqrt(((s2-s2[_n-125])-(s-s[_n-125])^2/125)/124) in 126/l
呵呵~~高手!!

23
xixi221zmw 发表于 2011-9-3 21:23:04
sungmoo 发表于 2011-9-1 23:54
g s=sum(x)
g s2=sum(x^2)
replace s=sqrt(((s2-s2[_n-125])-(s-s[_n-125])^2/125)/124) in 126/l
3Q!!!!

24
john111222 发表于 2011-9-5 22:30:37
liuxb 发表于 2011-8-31 15:25
*1. if group=1…k and data is long form:

capture drop sd
求助高手!在stata中,如何生成一个变量如(主营业务收入)三年的标准差?比如下面例子:
代码       年份 收入
000002  1999     10
000002  2000     5
000002  2001     12
000002  2002     7
000002  2003     6
000002  2003     8
000005  1999     4
000005  2000    5
000005  2001    8
000005  2002  10
000005  2003 12
我想生成一列变量等于收入连续三年的标准差,该如何操作呢?十分感谢啊!

25
xixi221zmw 发表于 2011-9-6 09:43:25
sungmoo 发表于 2011-9-1 23:54
g s=sum(x)
g s2=sum(x^2)
replace s=sqrt(((s2-s2[_n-125])-(s-s[_n-125])^2/125)/124) in 126/l
如果有多组,每组都是250个观测值,仍然从第1个观测值开始,计算第1个至第125个观测值的样本标准差,然后再计算第2个到第126个观测值的样本标准差,以此类推,逐次后退一个观测值计算。每一组都这样,如何实现? 第一个程序不能用了吧 因为in不能和by一起用的,是吗?

26
sungmoo 发表于 2011-10-19 06:52:25

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

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