gpt4 book ai didi

python - statsmodel.formula.api python 中的线性回归

转载 作者:行者123 更新时间:2023-11-28 22:26:46 25 4
gpt4 key购买 nike

我正在使用 statsmodels.formula.api 来执行线性回归。我使用了三个自变量进行预测。在某些情况下,我得到的是负值,但所有输出都应该是正数。

有没有办法告诉模型输出不能为负数?

import statsmodels.formula.api as smf

output1 = smf.ols(formula= 'y ~A+B+C', data= data).fit()
output = output.predict(my_data)

最佳答案

对正或非负相关(或响应或输出)变量建模的一种标准方法是假设指数均值函数。

给定协变量的响应的预期值为 E(y | x) = exp(x b)。

对此建模的一种方法是使用泊松回归,statsmodels Poisson 或 GLM with family Poisson。鉴于泊松不是连续变量的正确似然,我们需要调整参数估计值的协方差以应对错误指定,使用 cov_type='HC0'。那就是我们使用的是准最大似然法。

output1 = smf.poisson(formula= 'y ~A+B+C', data= data).fit(cov_type='HC0')

另一种方法是记录响应变量,它隐含地假设一个对数正态模型。

http://blog.stata.com/2011/08/22/use-poisson-rather-than-regress-tell-a-friend/ https://stats.stackexchange.com/questions/8505/poisson-regression-vs-log-count-least-squares-regression

请注意,statsmodels 并未强制要求泊松、二项式、Logit 等中的响应变量为整数,因此我们可以使用这些模型对连续数据进行准最大似然估计。

关于python - statsmodel.formula.api python 中的线性回归,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44544386/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com