sk year wyingli1sd3 wyingli2sd3 wyingli3sd3 wyingli4sd3 wyingli5sd3
2 2001 .02586199 .01278162 .7642676
2 2002 .01799955 .02586199 .02586199 -1.013288
2 2003 .02111623 .02379673 .01799955 .01799953 .8117551
2 2004 .01469657 .09211191 .02379673 .02379672 .605646
2 2005 .01942995 .09985529 .09211191 .09211192 -.7845673
2 2006 .07520906 .15458824 .09985529 .09985529 2.283797
2 2007 .08153151 .06497293 .15458824 .15458824 .8599007
2 2008 .12622077 .05341891 .06497293 .06497293 .8073022
2 2009 .05305018 .01421148 .05341891 .05341891 .8300395
2 2010 .04361635 .00116541 .01421148 .01421148 .2592557
2 2011 .01160363 .00396483 .00207441 .00081413 .0151413
2 2012 .00182259 .00543679 .00396483 .00396483 .0812319
2 2013 .00323727 .00798841 .00543679 .00543679 .1001632
2 2014 .00443912 .01383896 .00798841 .00798841 .2159283
2 2015 .00652251 .01072165 .01383896 .01383896 .4580555
2 2016 .01129946 .01512923 .01072165 .01072165 .2398453
就是求过去三年的标准差,2004年的数值是2001-2003年的标准差 2005年的数值是2002-2004年的标准差,依次类推
我这里使用了五种方法 做出了五种结果,但结果都有点差别不知道为什么
代码如下:
法一:
tsset sk year
gen yinglimean3=(l.meayingli+l2.meayingli+l3.meayingli)/3
gen yingli1sd3= (((l.meayingli-yinglimean3)^2+(l2.meayingli-yinglimean3)^2+(l3.meayingli-yinglimean3)^2)/3)^.5
法2:
bys sk (year):gen meayingli1=meayingli[_n-1]
bys sk (year):gen meayingli2=meayingli[_n+1]
egen yingli2sd3=rowsd( meayingli meayingli1 meayingli2)
drop meayingli1 meayingli2
法三:
bys sk (year): g m=(meayingli+meayingli[_n-1]+meayingli[_n-2])/3
bys sk (year): g yingli3sd3=sqrt(((meayingli[_n-2]-m)^2+(meayingli[_n-1]-m)^2+(meayingli-m)^2)/2)
drop m
法4:
xtset sk year
tssmooth ma s=meayingli,w(2,1)
tssmooth ma s2=meayingli^2,w(2,1)
bys sk (year): g yingli4sd3=sqrt((s2-s^2)*3/2) if _n>2
drop s s2
法5:
sort sk year
xtset sk year
tsfill
mvsumm ayingli,stat(sd) win(3) gen(nyingli) end force
gen yingli5sd3 = nyingli/myingli
都是求过去三年的标准差,是从不同的版块里面copy过去的,对比了下,没有完全一致的,所以不知道到底哪种方法对,求大神解答 ,感激不尽


雷达卡








京公网安备 11010802022788号







