我正在尝试将一个简单的贝叶斯回归模型应用于一些右偏数据。我想我会试着把家庭分布设为对数正态分布。我正在使用pymc3包装器BAMBI。有没有办法构建一个具有对数正态分布的定制族?
发布于 2019-08-23 11:52:50
这取决于您希望模型的平均函数是什么样子。
如果你想要像这样的模型
是的,这很容易实现,只需对Y进行对数变换,然后用正常响应估计通常的线性模型。请注意,在此模型中,Y是预测器X的指数函数,因此在绘制Y与X的关系图(两者均未转换)时,回归线可以向上或向下弯曲。它还具有乘性误差项,因此预测的Y值越大,方差越大。我们可以说,这样的模型具有对数链接功能和对数正态响应。
但是如果你想要像这样的模型

则不能,bambi*目前不支持这种型号。这是一个具有对数正态响应但具有身份链接功能的模型。Y在X上的回归是一条直线,但是误差在沿X的每个点上都具有相同的对数正态分布,因此对于较大的预测Y值,方差不会增加。请注意,这是一个不同寻常的模型,我个人从未见过实际使用过。
*理论上有可能推出自己的定制族(尽管这需要一些轻微的修改),但在bambi中设计的方式最终取决于在statsmodels.genmod中实现的族,目前不包括lognormal。
发布于 2019-08-23 01:23:01
除非我误解了什么,否则我认为您所需要做的就是在fit()调用中指定link='log'。如果你的假设是正确的,指数线性预测将是正态分布的,默认的误差分布是高斯的,所以我认为你不需要为此构建一个定制的族-带有对数链接的默认高斯族应该可以很好地工作。但是,如果这不能解决您的问题,请随时澄清。
https://stackoverflow.com/questions/57606946
复制相似问题