楼主: xianfang
10726 11

[一般统计问题] stata如何重复进行1000次模拟? [推广有奖]

  • 7关注
  • 0粉丝

已卖:38份资源

讲师

64%

还不是VIP/贵宾

-

威望
0
论坛币
3655 个
通用积分
52.3457
学术水平
13 点
热心指数
21 点
信用等级
9 点
经验
4544 点
帖子
195
精华
0
在线时间
922 小时
注册时间
2005-9-21
最后登录
2025-3-19

楼主
xianfang 发表于 2008-1-29 22:43:00 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
本人估计出了一个回归方程,回归方程预测值是均值,我想在回归方程后添加上一个正态分布随机项之后做一个模拟,模拟1000次之后再计算出这1000个模拟值的均值和方差,请问在stata中如何进行?
二维码

扫码加我 拉你入群

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

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

关键词:Stata tata 回归方程 正态分布 预测值 模拟 Stata

回帖推荐

spoonshen 发表于6楼  查看完整内容

. clear . set seed 8675309 . set obs sample size. gen x=invnorm(uniform()) . gen error=invnorm(uniform()) . gen y = f(x)*x +u*error.regress y x.bs, reps(1000): regress y x

本帖被以下文库推荐

沙发
spoonshen 发表于 2008-1-30 06:23:00
用BOOTSTRAP 命令:

.bs, reps(1000): regress y x

藤椅
xianfang 发表于 2008-2-5 21:23:00

请spoonshen给出详细指教

spoonshen, 按照你上面说的命令,我运行了之后好像结果不太对头,可能是我不会操作。

不知道你能否给出具体的操作步骤,告诉我在估计出了回归方程之后,在回归方程之后添加一个服从正态分布N(a,b)的随机误差项,模拟1000次之后再计算出模拟值的均值和方差,以便得出模拟的实际值而不是仅仅得出期望值。

请问如何具体操作得出想要的结果。

由于正在做论文,所以比较着急,谢谢了!

板凳
spoonshen 发表于 2008-2-6 07:17:00
我现在不是太明白你的问题了。任何一个回归方程它本身就有一个误差项, 是否是正态分布式有你的具体数据决定。为什么还要加一个误差项?

重复1000次是可以得出均值和误差项的SAMPLING DISTRIBUTION。不可能把本来不是正态分布的误差项变成正态分布。

报纸
xianfang 发表于 2008-2-10 21:58:00

例如,先用一个样本估计y=f(x)+u的回归方程,得出的结果使E(y)=f(x),我想用这个回归方程的估计结果模拟计算出另外一个样本(假设其外生变量向量是x’)的y’值而不是E(y’)y’=f(x’)+uE(y’)=f(x’),当然假设随机误差项的分布是相同的,都服从一个正态分布N(0,b)。试问如何用stata对另一个样本x’进行模拟计算。

另外,我也想,如果是模拟计算100次或1000次的话,y’的均值在理论上就等于E(y'),方差就等于b。如果是模拟计算1次的话,当然就不相等了。

地板
spoonshen 发表于 2008-2-11 02:54:00

. clear

. set seed 8675309

. set obs sample size

. gen x=invnorm(uniform())

. gen error=invnorm(uniform())

. gen y = f(x)*x +u*error

.regress y x

.bs, reps(1000): regress y x


7
xianfang 发表于 2008-2-11 22:11:00

谢谢spoonshen, 我按照你的指点去做一下,然后再告诉结果。

另外,我想多向你学习请教,我的电子邮件gscass2006@163.com,能否告诉您的电子邮件什么的?

8
xianfang 发表于 2008-2-15 21:40:00

如何计算出矩阵每一行的均值和方差呢?

在计算出1000个y 的模拟值(y1,y2,y3,-----,y1000)后,用什么命令计算出这1000个y值的均值和方差。我只是用rsum计算出了1000个y值的和,然后除以1000计算出了均值,但是不知道怎么计算出方差。请问用什么命令比较方便呢?或者将这1000个y转换成矩阵后,如何计算出矩阵每一行的均值和方差呢?

9
x2003f 发表于 2015-6-21 15:37:34
重复回归1000次后,怎么得出核密度图

10
jannsz06 发表于 2015-6-21 20:46:33
capture program drop sim
    program sim, rclass
    version 14
    drop _all
    set obs 100
    gen y = exp(rnormal())
    gen x = uniform()
    reg y x
    return scalar coeff=_b[x]
    end

simulate coeff=_b[x], reps(1000) nodots: sim
mean coeff

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

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