全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
5642 6
2010-04-23
clear
set mem 10m
forvalues i=1(1)1000 {
set obs 500
gen y1=.
gen y2=.
replace y1=0
replace y2=0
matrix m = (0,0)
matrix sd =(sqrt(2),sqrt(2))
drawnorm e1 e2, n(500) means(m) sds(sd)
replace y1=.6*y1[_n-1]+.4*y2[_n-1]+e1 if _n>2
replace y2=.3*y1[_n-1]+.7*y2[_n-1]+e2 if _n>2
regress y1 y2
matrix c=e(b)
svmat c, names(beta)
}
这是我现在写的一个基本程序,里面有些命令实在不知道怎么弄了。计划是要做1000次,得出1000个beta回归值再对这些回归值作样本分布的分析,但是我写这个出来的结果只有最新得到的一个数据。应该要怎么改啊?
拜谢先!
二维码

扫码加我 拉你入群

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

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

全部回复
2010-4-23 13:57:25
哪们好心人给点提示吧,都要崩溃了……
二维码

扫码加我 拉你入群

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

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

2010-4-23 15:37:03
*是不是要以下结果:
clear all
set mat 1000
mat m=(0,0)
mat sd=(sqrt(2),sqrt(2))
forv i=1/1000 {
clear
set obs 500
g y1=0
g y2=0
drawnorm e1 e2, n(500) means(m) sds(sd)
replace y1=.6*y1[_n-1]+.4*y2[_n-1]+e1 if _n>2
replace y2=.3*y1[_n-1]+.7*y2[_n-1]+e2 if _n>2
reg y1 y2
mat c=(nullmat(c)\e(b))
}
svmat c, names(beta)
二维码

扫码加我 拉你入群

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

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

2010-4-23 16:45:20
set obs 500
gen y1=.
gen y2=.
replace y1=0
replace y2=0
matrix m = (0,0)
matrix sd =(sqrt(2),sqrt(2))
drawnorm e1 e2, n(500) means(m) sds(sd)
replace y1=.6*y1[_n-1]+.4*y2[_n-1]+e1 if _n>2
replace y2=.3*y1[_n-1]+.7*y2[_n-1]+e2 if _n>2
regress y1 y2
matrix c=e(b)
svmat c, names(beta)
这个命令其实只生成一组beta,但我是想把这个程序运行1000遍生成1000组,这样beta作为变量就有了一个样本,然后我再根据这个样本来做其他分析。可是我死都不知道要怎么运行1000遍,
二维码

扫码加我 拉你入群

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

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

2010-4-23 20:29:46
你想把结果存成什么样?
二维码

扫码加我 拉你入群

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

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

2010-4-23 20:47:49
你这不是Monte carlo模拟吗?直接用模拟命令“simulate”就可以了。
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群