楼主: nqlwzzl
4997 12

[数据管理求助] 之前所有值的标准差或方差 [推广有奖]

  • 0关注
  • 1粉丝

VIP

已卖:1份资源

讲师

28%

还不是VIP/贵宾

-

威望
0
论坛币
258 个
通用积分
1.0092
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
2400 点
帖子
42
精华
0
在线时间
868 小时
注册时间
2006-12-31
最后登录
2022-1-24

楼主
nqlwzzl 发表于 2018-3-28 15:49:13 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
求帮助,数据结构是
group_id    var1     var2      order
1                2           3            1
1                4           2            2

1                4           5            3

1                3           1            4

1                2           2            5

2                2           3            1

2                4           2            2

2                4           5            3

2                3           1            4

2                2           2            5

2                2           3            6

2                4           2            7

2                4           5            8

2                3           1            9

2                2           2            10


想计算每个group内每个order位置之前,var1的方差,生成一个新变量。每个group内样本数量不一样的,就是每个group内order的最大值是不一样的。






二维码

扫码加我 拉你入群

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

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

关键词:标准差 Group Order 样本数量 数据结构

沙发
黃河泉 在职认证  发表于 2018-3-28 17:38:17
1.        你若要问程序 (code),请附上资料;你若要附上资料,请用 dataex 印出资料。
2.        尔后建议请用 dataex (先 ssc install dataex 并见说明) 将原始 Stata 资料中具有”代表性”的一部分资料列出,以供有意回答者实验之用,并能提供具体操作指令。并请参考 http://www.jianshu.com/p/9870080fe769,  https://bbs.pinggu.org/thread-5048204-1-1.html, 与 https://bbs.pinggu.org/thread-5917273-1-1.html

藤椅
nqlwzzl 发表于 2018-3-28 19:49:27
黃河泉 发表于 2018-3-28 17:38
1.        你若要问程序 (code),请附上资料;你若要附上资料,请用 dataex 印出资料。
2.        尔后建议请用 dataex ( ...
非常感谢您,我的数据序列太长了,超出可以张贴的长度,附上STATA格式的数据。

xtset group_id order之后,想求quality每个值之前(包括当前值)它的方差,谢谢!

sample.dta (155.18 KB)


板凳
黃河泉 在职认证  发表于 2018-3-28 20:12:23
nqlwzzl 发表于 2018-3-28 19:49
非常感谢您,我的数据序列太长了,超出可以张贴的长度,附上STATA格式的数据。

xtset group_id order之 ...
原则上,我不用别人资料。你也不用 post 出"所有"资料,只要有"代表性"即可。

报纸
nqlwzzl 发表于 2018-3-28 20:26:38
黃河泉 发表于 2018-3-28 20:12
原则上,我不用别人资料。你也不用 post 出"所有"资料,只要有"代表性"即可。
tssmooth ma t=quality,w(989 1)
tssmooth ma t2=quality^2,w(989 1)
bys group_id: g s=sqrt(t2-t^2)

谢谢!这个表达式好像可以求出来方差,但是numlist只能到989个,我想求的数据序列最长的到2000个,真是张贴不出来,才把stata格式的数据附上,请见谅。谢谢!

地板
黃河泉 在职认证  发表于 2018-3-29 07:39:37
nqlwzzl 发表于 2018-3-28 20:26
tssmooth ma t=quality,w(989 1)
tssmooth ma t2=quality^2,w(989 1)
bys group_id: g s=sqrt(t2-t^2)  ...
再回到你最上面之例子,你要针对每一个 group_id 算标准差,是 rolling 的概念吗?我看不懂你讲的"每个order位置之前"是什么意思?这应该是一个很简单的问题,请仔细说明。

7
nqlwzzl 发表于 2018-3-29 08:40:10
黃河泉 发表于 2018-3-29 07:39
再回到你最上面之例子,你要针对每一个 group_id 算标准差,是 rolling 的概念吗?我看不懂你讲的"每个or ...
谢谢黄老师!抱歉,我说的不清楚。

对于group_id 33379:
使用order 为1上的quality计算方差,放在新变量SD的第1行上,应该是空值;
使用order 为1、2上的quality计算方差,放在SD的第2行上;
使用order 为1、2、3上的quality计算方差,放到SD的第3行上;
使用order 为1、2、3、4上的quality计算方差,放到SD的第4行上;
使用order 为1、2、3、4、5上的quality计算方差,放到SD的第5行上;
………………

谢谢黄老师了!

8
黃河泉 在职认证  发表于 2018-3-29 10:46:15
nqlwzzl 发表于 2018-3-29 08:40
谢谢黄老师!抱歉,我说的不清楚。

对于group_id 33379:
请先安装 ssc install rangestat,然后试试
  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input float(group_id var1 var2 order)
  4. 1 2 3  1
  5. 1 4 2  2
  6. 1 4 5  3
  7. 1 3 1  4
  8. 1 2 2  5
  9. 2 2 3  1
  10. 2 4 2  2
  11. 2 4 5  3
  12. 2 3 1  4
  13. 2 2 2  5
  14. 2 2 3  6
  15. 2 4 2  7
  16. 2 4 5  8
  17. 2 3 1  9
  18. 2 2 2 10
  19. end

  20. rangestat (sd) var1 (count) var1, interval(order . 0) by(group_id)
复制代码

9
nqlwzzl 发表于 2018-3-29 11:44:35
黃河泉 发表于 2018-3-29 10:46
请先安装 ssc install rangestat,然后试试
完全正确,太厉害了,谢谢黄老师!

10
黃河泉 在职认证  发表于 2018-3-29 12:09:30
nqlwzzl 发表于 2018-3-29 11:44
完全正确,太厉害了,谢谢黄老师!
差一点忘了提,这是 Robert Picard (rangestat 作者之一) 所建议的,哈哈!

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

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