Python 中修改后的负二项式 GLM

Modified negative binomial GLM in Python

pymc3statsmodels 可以处理 Python 中的负二项式 GLM,如图 :

E(Y) = e^(beta_0 + 西格玛 (X_i * beta_i))

其中 X_is 是我的预测变量,Y 是我的因变量。有没有办法强制我的一个变量(例如 X_1)具有 beta_1=1,以便算法优化其他系数。我愿意同时使用 pymc3statsmodels。谢谢。

GLM 和 statsmodels.discrete 中的计数模型包括和可选关键字 offset,它正是用于此用例。它被添加到线性预测部分,因此对应于固定系数等于1的附加变量。

http://www.statsmodels.org/devel/generated/statsmodels.genmod.generalized_linear_model.GLM.html http://www.statsmodels.org/devel/generated/statsmodels.discrete.discrete_model.NegativeBinomial.html

旁白:NegativeBinomial 族的 GLM 以负二项分布参数为固定值,而离散模型 NegativeBinomial 通过 MLE 结合均值参数估计分布参数。

另外:GLM 有一个 fit_constrained 方法用于对参数进行线性或仿射限制。这通过转换设计矩阵并对常量部分使用 offset 来实现。在问题中固定参数的简单情况下,这减少到以与上述相同的方式使用偏移量(尽管 fit_constrained 必须经历更昂贵的一般情况。)