楼主: somnus91
576 1

[一般统计问题] 求助生成负二项分布随机数 [推广有奖]

  • 0关注
  • 1粉丝

博士生

80%

还不是VIP/贵宾

-

威望
0
论坛币
949 个
通用积分
3.5507
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
2037 点
帖子
95
精华
0
在线时间
561 小时
注册时间
2014-11-22
最后登录
2025-3-13

楼主
somnus91 发表于 2023-4-11 16:48:23 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
最近看了一篇文献,想复现该篇文献中的模拟,其中有一句是”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个观测值

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

二维码

扫码加我 拉你入群

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

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

关键词:负二项分布 二项分布 随机数 distribution conditional

沙发
Markqb 发表于 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 参数。

需要注意的是,为了确保结果的可重复性,最好在命令之前设置一个随机数种子。如果需要多次生成随机数,可以改变种子的值来得到不同的结果。
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
Sunknownay + 3 + 3 + 3 热心帮助其他会员

总评分: 学术水平 + 3  热心指数 + 3  信用等级 + 3   查看全部评分

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

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