全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
583 1
2023-04-11
最近看了一篇文献,想复现该篇文献中的模拟,其中有一句是”To produce count outcomes, we draw y from anegative binomial distribution with conditional mean E[ y  | x ] = exp (β1 *X1  + x 2  ) and overdispersion parameter αNB , which captures deviations from the conditional mean-variance equality restriction imposed by Poisson re- gression.“

求助怎么生成这种条件均值的负二项分布随机数呢

我现在写的code如下:
g Ey=exp(2*x1+x2)
g p=Ey/(Ey+2)
g y=rnbinomial(5000,p)


按照我现在的理解是我用X1和X2计算一个条件均值,然后overdispersion parameter αNB我设置的是0.5,所以r就等于2,根据负二项分布的均值计算出P,我一共要生成5000个观测值

请问我这个做法是正确的吗?因为我发现我这样生成的数据好像不太对,但我也不知道错在哪儿,求各位大神帮我看看

二维码

扫码加我 拉你入群

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

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

全部回复
2023-4-12 10:56:24
您需要使用以下公式计算条件均值 E[y|x]:

E[y|x] = exp(β1 * X1 + X2)

接下来,根据负二项分布的参数设置,可以计算出成功概率 p 和 overdispersion 参数 α:

p = 1 / (1 + α * E[y|x])
α = 1 / (r - 1)

其中,r 是负二项分布的一个参数,通常设置为2。注意,这里的 E[y|x] 是已经通过上述公式计算出来的条件均值,而不是您在代码中计算的 Ey。

最后,您可以使用以下命令在 Stata 中生成符合要求的负二项分布随机数:

set seed 1234 // 设置随机数种子
gen y = rnbinomial(5000, p, alpha)

其中,rnbinomial() 是 Stata 中生成负二项分布随机数的命令,第一个参数表示生成观测数,第二个参数是成功概率,第三个参数是 overdispersion 参数。

需要注意的是,为了确保结果的可重复性,最好在命令之前设置一个随机数种子。如果需要多次生成随机数,可以改变种子的值来得到不同的结果。
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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