我如何知道我的数据是否符合泊松分布? [已关闭]

问题描述 投票:0回答:1

我有一个包含大约 30 个值的数据集,我想知道这些数据是否符合泊松分布。 我想对我的数据进行测试,例如 GLM,但我发现它们不遵循正态分布。我的猜测之一是它们遵循泊松分布,但我需要确保它是正确的。

r glm poisson
1个回答
4
投票

您可以尝试离散检验,它依赖于泊松分布的均值等于其方差这一事实,并且泊松分布中 n 个计数样本中方差与均值的比率应遵循 Chi - 自由度为 n-1 的平方分布。

你可以像这样在 R 中实现:

dispersion_test <- function(x) 
{
  res <- 1-2 * abs((1 - pchisq((sum((x - mean(x))^2)/mean(x)), length(x) - 1))-0.5)

  cat("Dispersion test of count data:\n",
      length(x), " data points.\n",
      "Mean: ",mean(x),"\n",
      "Variance: ",var(x),"\n",
      "Probability of being drawn from Poisson distribution: ", 
      round(res, 3),"\n", sep = "")

  invisible(res)
}

这允许您拒绝数据服从泊松分布的零假设,如果 p 值<0.05. If the p value is 高于 0.05,您可以接受数据服从泊松分布。

假设我有以下数据:

set.seed(1)
x <- rpois(30, 1)
x
# [1] 0 1 1 2 0 2 3 1 1 0 0 0 1 1 2 1 1 4 1 2 3 0 1 0 0 1 0 1 2 0

那么我可以这样做:

dispersion_test(x)
# Dispersion test of count data:
# 30 data points.
# Mean: 1.066667
# Variance: 1.098851
# Probability of being drawn from Poisson distribution: 0.841

不过有一句警告。当样本量小至 30 时,我们无法确信您的数据是泊松分布的。如果我的下一个数据点结果是 7,那么 p 值将低于 0.05,我将不得不拒绝我的数据服从泊松分布的原假设。

© www.soinside.com 2019 - 2024. All rights reserved.