我在 Python 中使用 statsmodels 进行逻辑回归分析。例如:
import statsmodels.api as sm
import numpy as np
x = arange(0,1,0.01)
y = np.random.rand(100)
y[y<=x] = 1
y[y!=1] = 0
x = sm.add_constant(x)
lr = sm.Logit(y,x)
result = lr.fit().summary()
但我想为我的观察定义不同的权重。我正在组合 4 个不同大小的数据集,并希望对分析进行加权,以便来自最大数据集的观察结果不会支配模型。
最佳答案
我花了一些时间来解决这个问题,但实际上很容易在 statsmodels 中创建一个带有加权行/每行多个观察值的 logit 模型。这是它是如何完成的:
import statsmodels.api as sm
logmodel=sm.GLM(trainingdata[['Successes', 'Failures']], trainingdata[['const', 'A', 'B', 'C', 'D']], family=sm.families.Binomial(sm.families.links.logit)).fit()
关于python - 有没有办法实现样本权重?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23339416/