改性负二项式GLM在Python
问题描述:
软件包pymc3
和statsmodels
可以在Python处理负二项式GLMS如图here:改性负二项式GLM在Python
E(Y)= E ^(beta_0 +西格玛(X_I * beta_i))
在哪里X_i
s是我的预测变量,Y
是我的因变量。有没有办法强制我的变量(例如X_1
)具有beta_1=1
,以便算法优化其他系数。我愿意同时使用pymc3
和statsmodels
。谢谢。
答
GLM和statsmodels.dccrete中的计数模型包含和可选关键字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
除了:GLM与家人NegativeBinomial取负二项式分散参数为固定的,而离散模型NegativeBinomial通过MLE和平均参数估计色散参数。另一方面:GLM有一个fit_constrained
方法用于线性或仿射参数限制。这通过转换设计矩阵并使用offset
作为常量部分来工作。在问题中固定参数的简单情况下,这可以简化为使用与上述相同的偏移量(尽管fit_constrained必须经历更昂贵的一般情况。)
谢谢。这很好。 – ahoosh