pymc3 负二项式回归解释 mu 和 alpha

pymc3 negative binomial regression interpretation of mu and alpha

我对 python pymc3 包的负二项式回归的解释感到困惑。我不确定如何解释 GLM 中的 mualpha。这里我有一个简单的向量,我想为自己找到NB回归模型:

# The data
y = [100,200,300,400,50,300,60,89,90,100,100]
data = {'y':y, 'x':[1]*len(y)}
basic_model = pm.Model()
with basic_model:
    fml = 'y~x'
    pm.glm.GLM.from_formula(formula=fml, data=data, family=pm.glm.families.NegativeBinomial())
    # draw 500 posterior samples
    trace = pm.sample(500)
summary = pm.summary(trace, varnames=rvs)[['mean','hpd_2.5','hpd_97.5']]
print(summary)

然后我得到如下输出:

                 mean     hpd_2.5    hpd_97.5
Intercept -281.884463 -684.069010  718.375125
x          287.000388 -714.168056  689.477911
mu          26.674426    3.526181   63.358150
alpha        2.461808    1.353676    3.452103

我了解到 Interceptx 部分是 中的 y = exp(-281.884463*287.000388*x)

但是mualpha怎么解释呢?我尝试使用 stats.gamma.rvs(alpha, scale=mu / alpha, size=size),但直方图看起来有些偏差。谢谢!

因此,alphamu 参数是 Exponential distribution 的参数,其中 mu 是均值,alpha 是 gamma 参数。所以在指数分布中,1/gamma 是均值,1/(gamma^2) 是方差,如果 mu 是均值,则意味着 mu / alpha 是 [=16= 中所述的方差] 在函数调用中。

思考的方式是这样的:

泊松分布和指数分布之间存在一个有趣的(关键)关系。如果您期望每个时间单位的平均 gamma 事件,则事件之间的平均等待时间呈指数分布,参数为 gamma(因此平均等待时间为 1/gamma),每个时间单位内计数的事件数为参数为 gamma 的泊松分布。

我希望这能让它更清楚一点,并让您对如何思考它有一些直觉。