Machine learning statsmodel poisson预测返回浮点数而不是整数

Machine learning statsmodel poisson预测返回浮点数而不是整数,machine-learning,regression,poisson,Machine Learning,Regression,Poisson,所以我使用statsmodel包对我的数据集进行泊松回归,我确保我的训练y确实是计数和整数。但是,当我打印预测值(下面的testmodely)时,它们是浮点数 我非常困惑,我希望它们是整数,因为输入数据和模型拟合的是整数,而泊松输出计数数据。你知道我哪里出了错吗?事先非常感谢 import statsmodels.api as sm poi_model = sm.GLM(trainingy,trainingx, family=sm.families.Poisson()) poi_results

所以我使用statsmodel包对我的数据集进行泊松回归,我确保我的训练y确实是计数和整数。但是,当我打印预测值(下面的testmodely)时,它们是浮点数

我非常困惑,我希望它们是整数,因为输入数据和模型拟合的是整数,而泊松输出计数数据。你知道我哪里出了错吗?事先非常感谢

import statsmodels.api as sm
poi_model = sm.GLM(trainingy,trainingx, family=sm.families.Poisson())
poi_results = poi_model.fit()
paramet = poi_results.params
testmodely = poi_model.predict(paramet, testx, linear=False)

泊松模型预测平均值,即泊松随机变量的期望值或强度。这通常不是一个整数。利用泊松强度,我们可以得到新观测值的完整分布,假设分布假设是正确的

这与logistic回归或logit相似,其中预测是观察事件或类别的概率。这也是相应随机变量的平均值或期望值。
在分类问题中,概率被分配给最可能的类别所取代,该类别是二进制0,1,而不是实数。

谢谢您的回答。问题是,当我打印poi_result.mu时,我得到了您刚才描述的每个样本的速率(通常是一个浮点)。然而,当我打印预测时,我会得到另一组浮动(这意味着它们不能是相同的东西,即每个样本的泊松分布的平均值)。我假设第二组是样本的实现,因此应该是整数。如果两者都是费率(可能不同!),我应该如何实现它们?非常感谢。poi_result.mu仅用于训练样本,与FittedValue相同。predict可用于带有新exog的样本外预测。您可以使用scipy.stats.poisson的预测平均值来访问所有分布方法,如pmf、cdf和rvs。感谢您的帮助,这是完全正确的。可惜我看到你的答案太晚了。对于将来的参考,您必须在拟合模型而不是原始模型上应用predict(在poi_结果上而不是在poi_模型上,正如我上面所做的)。另外,正如您所指出的,statsmodel只能生成mu(平均值),对于实现,您需要转到Spicle.stats。我想知道是否有人可以详细说明如何使用scipy.stats.poisson将mu(平均值)转换为实现的真实值。我对如何将statsmodels中的泊松模型的强度与scipy相结合感到困惑。