【问题标题】:How to implement Poisson Regression?如何实现泊松回归?
【发布时间】:2016-10-22 20:26:41
【问题描述】:

有两种类型的广义线性模型:
1。对数线性回归,也称为泊松回归
2。逻辑回归

如何在 Python 中实现泊松回归以进行价格弹性预测?

【问题讨论】:

  • 这有点像你要找的statsmodels.sourceforge.net/devel/glm.html吗?另外,太宽泛了。
  • 您分享的链接具有“泊松分布”。我正在寻找“泊松回归”。它存在于 R 中,但是如何在 Python 中实现呢?
  • 我不是在寻找逻辑回归。想了解 Python 中的对数线性(泊松)回归。
  • @IljaEverilä 确信逻辑回归对泊松回归问题有很大帮助。不要添加没有意义的 cmets。最好保持沉默
  • @Altons 这是真的,已删除。

标签: python statistics regression


【解决方案1】:

如果我没记错的话,@Altons 的答案是GEEs,它假设某种分组结构。常见的泊松回归(不需要组,例如“主题”)在statsmodels 中实现为通用线性模型:

import patsy
import statsmodels as sm
from statsmodels.genmod.families import Poisson


fam = Poisson()
f = 'some_count ~ some_numeric_variable + C(some_categorical_variable)'
y, X = patsy.dmatrices(f, data, return_type='matrix')

p_model = sm.GLM(y, X, family=fam)

result = p_model.fit()
print(result.summary())

公式中使用的变量只是DataFrame中变量的占位符data

【讨论】:

    【解决方案2】:

    看看python中的statmodels包。

    这是example

    多一点输入以避免仅链接回答

    假设你知道python这里是我前面提到的例子的摘录。

    import numpy as np
    import pandas as pd
    from statsmodels.genmod.generalized_estimating_equations import GEE
    from statsmodels.genmod.cov_struct import (Exchangeable,
        Independence,Autoregressive)
    from statsmodels.genmod.families import Poisson
    

    pandas 将保存数据框,其中包含您要用于提供泊松模型的数据。 statsmodels 包包含大量统计模型,如线性、概率、泊松等。从这里您将导入泊松族模型(提示:请参阅上次导入)

    您拟合模型的方式如下(假设您的因变量称为 y 并且您的 IV 是年龄、trt 和基数):

    fam = Poisson()
    ind = Independence()
    model1 = GEE.from_formula("y ~ age + trt + base", "subject", data, cov_struct=ind, family=fam)
    result1 = model1.fit()
    print(result1.summary())
    

    由于我不熟悉您的问题的性质,如果您需要计算过度分散的数据,我建议您查看负二项式回归。如果过度分散,您的泊松假设可能不成立。

    R 中泊松回归的大量信息 - 只需谷歌即可。

    现在希望这个答案有所帮助。

    【讨论】:

    • 对不起这里的“主题”是什么?
    • “主题”是因变量吗?
    • 对不起,我没有看到这些 cmets。 “主题”是一个分组变量。因变量是'y'
    猜你喜欢
    • 2012-07-09
    • 2018-08-02
    • 2015-05-07
    • 2017-04-20
    • 1970-01-01
    • 2021-06-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多