我正在尝试使用Python的statmodel来分析一些数据。我知道负二项式回归符合模型,因为方差和平均值是不同的(这就是我不使用泊松回归模型的原因)
在我的情况下,我有二进制数据,如男性和女性(x)和依赖值(y)。我不确定具有Python的statsmodel的负二项功能的GLM是否可以正常工作,将x值转换为0(false)和1(true)。 通常它应该表明真实案例比虚假案件更容易发生。
import statsmodels.api as sm
import statsmodels.formula.api as smf
x=[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
y=[0.0003, 0.0002, 0.0001, 0.0001, 0.0002, 0.0001, 0.0002, 0.0086, 0.0001,
0.0001, 0.09, 0.1, 0.000265, 0.0272, 0.0241, 0.386,
0.0050, 0.0035, 0.0051, 0.00351]
glm_Nbinomial = smf.GLM(y, x, family=sm.families.NegativeBinomial())
res_Nbinom = glm_Nbinomial.fit()
print(res_Nbinom.summary())
此示例的coef值为:-2,7416。如何解释价值exaclty?有没有更好的方法来处理使用statsmodels的二进制文件?
更新
我只是改变了一点我的意外:
data = pd.DataFrame({'x' : x, 'y' : y})
pd.options.mode.chained_assignment = None
formula = 'y ~ x'
glm_Nbinomial = smf.glm(formula=formula, data=data,
family=sm.families.NegativeBinomial())
res_Nbinom = glm_Nbinomial.fit()
在1和0中转换真假案例的方式似乎是可能的,尽管我只有80%肯定。如果我有,例如,值为1,2,3的自变量和我的例子中提到的相同的相关值,我怎样才能计算值1或3的β系数,而不是所有的整体值? 或者我应该使用另一种库吗?
亲切的问候
特隆