如何实现泊松回归?

Use*_*898 4 python statistics regression

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

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

Alt*_*ons 12

看看python 中的statmodels包.

这是一个例子

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

假设你知道这里的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
Run Code Online (Sandbox Code Playgroud)

pandas将保存数据框,其中包含您要用于提供泊松模型的数据. statsmodelspackage包含大量的统计模型,如Linear,probit,poisson等.从这里你将导入Poisson族模型(提示:参见上次导入)

您的模型拟合方式如下(假设您的因变量被调用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())
Run Code Online (Sandbox Code Playgroud)

由于我不熟悉您的问题的性质,如果您需要对数据进行过度分散,我建议您查看负二项式回归.在高过度离散的情况下,您的泊松假设可能不成立.

R中泊松回归的大量信息 - 只是google它.

希望现在这个答案有帮助.

  • 抱歉,这里的“主题”是什么? (2认同)

小智 6

如果我没记错的话,@Altons 的答案是针对GEE 的,它假设某种分组结构。常见的泊松回归(不需要群体,例如“主题”)在以下中作为一般线性模型实现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())
Run Code Online (Sandbox Code Playgroud)

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