泊松回归:每个结果的期望与概率

机器算法验证 r 泊松回归
2022-03-18 01:26:08

泊松回归可用于预测期望计数。

例如:E(车数 | 男性 = 1 & 收入 = 40000) = 1.3

为此,我们可以使用 中的预测函数R,例如:

predict(poisson_model, data, type="response") 

问题:

  • 如何使用概率质量函数在 R 中获得特定收入的概率?这样做有特定的功能R吗?

例如:P(汽车数量 = 0 | 男性 = 1 & 收入 = 40000) = 13%

例如:P(汽车数量 = 1 | 男性 = 1 & 收入 = 40000) = 28%

2个回答

如果您有合适的期望(如您所展示的那样),那么将其用作泊松 pdf 中的参数应该可以工作。

也就是说,给定您可以使用它来计算您想要的任何概率:λ^i=E(Y=0|X=xi)

P^(Y=k|X=xi)=exp(λ^i)λ^ikk!

(在 R 中,您可以使用dpois()设置为拟合平均值的参数来进行这种计算。该过程在任何数量的其他包中应该一样简单。)

只是为了说明 Glen 的规范答案(并且放心地迟到,以至于对 OP答案已被正确裁定),让我在 R 中运行一个玩具示例,也将这篇文章归功于格伦。

而不是汽车和金钱,我会让它更美丽,并专注于渔业公司捕获的鱼的数量,与海中船只的数量相关 - 如果数字看起来很小,想象一下单位是在或别的什么。捕获的鱼的数量将遵循泊松分布,其速率参数与从10,000λ=1λ=14.

set.seed(0)
sam = 1000         # Random values from a Pois for each lambda.
lambda = c(1,4,7,10,13) # And these are the lambda values.
x = c(rep(lambda[1], sam), rep(lambda[2], sam), rep(lambda[3], sam), 
      rep(lambda[4], sam), rep(lambda[5],sam)) # These are the number of boats
peixos = rpois(length(x), x)  # And the number of fish caught.

在此模拟中,我们正在建立预期均值和轴之间的严格线性关系:x

E(Y|no. boats)=Xβ+ε

但是具有泊松分布的误差,该参数随解释变量的值而变化。

速率参数随着船的数量严格线性增加。在单艘船的情况下,预期均值附近的分布体现在下图中轴上接近的点的密度上——数据点由于离散而产生剥离模式泊松分布的性质。随着 lambda 值的增加,点的分布和相应的直方图呈现出更多的正常形状:λ(λ=1)1y

在此处输入图像描述

不同的速率参数,因此误差(或您想要的残差)的分布取决于船的数量。但是,一旦您知道解释变量的给定值的比率参数,就可以确定概率质量函数,从而允许您计算任何其他值的概率。5

如果我们试图恢复 lambdas ( ),我们只需要运行以下命令:λ={1,4,7,10,13}

> fit = glm(peixos ~ x, family = poisson(link = identity))
> unique(predict(fit))
[1]  1.038018  4.023809  7.009600  9.995391 12.981182

请注意,与玩具数据集的设置保持一致,速率参数与身份链接线性相关。如果我们运行了,输出就会关闭

> fit <- glm(peixos ~ x, "poisson")
> exp(unique(predict(fit)))
[1]  2.270660  3.602671  5.716065  9.069216 14.389387

隐式使用链接功能 -见这篇文章log


代码在这里