【问题标题】:How to identify the distribution of the given data using r [closed]如何使用 r 识别给定数据的分布
【发布时间】:2015-10-22 20:54:52
【问题描述】:

我有如下数据,我需要确定数据的分布。请帮忙。

 x <-  c(37.50,46.79,48.30,46.04,43.40,39.25,38.49,49.51,40.38,36.98,40.00,38.49,37.74,47.92,44.53,44.91,44.91,40.00,41.51,47.92,36.98,43.40)

【问题讨论】:

  • 请定义(在统计语言方面有些严格)您所说的“确定数据的分布”究竟是什么意思。
  • “识别分布”是什么意思...你可以使用hist(x)查看它的形状。就“严谨的证明”而言(其实从不严谨……),做假设检验……
  • 这似乎更像是一个统计数据而不是一个编程问题。请 OP 澄清您要做什么。
  • 我认为 OP 正在寻找一种工具来识别哪个已知分布最能描述数据。
  • 有没有可以自动识别给定数据分布的函数/代码/包?

标签: r


【解决方案1】:

首先,您可以做的是绘制直方图并叠加密度

hist(x, freq = FALSE)
lines(density(x))

然后,您会看到分布是双峰分布,它可能是两种分布的混合或任何其他分布。

一旦您确定了候选分布,“qqplot”可以帮助您直观地比较分位数。

【讨论】:

  • 有没有其他方法可以自动识别分布?
【解决方案2】:

一个简洁的方法是使用提供分布拟合工具的fitdistrplus 包。以您的数据为例。

library(fitdistrplus)
descdist(x, discrete = FALSE)

现在您可以尝试适应不同的分布。例如:

normal_dist <- fitdist(x, "norm")

abs 随后检查是否合身:

plot(normal_dist)


一般来说,我建议您查看 Cross Validated 上的 this discussion,该主题已详细讨论。如果您有兴趣更详细地解释如何使用使用 Cullen 和 Frey 图。

【讨论】:

  • CV 讨论的链接是这个答案的一个非常重要的部分。 (+1)
  • 如何解释这个卡伦和弗雷图
  • @VanathaiyanS CF 图将给定分布的偏斜和峰度与指定分布进行比较。我建议您查看 CV、帮助文件和链接文件中的链接讨论。用几句话总结/过度简化: * 对于某些分布,如正态分布,偏度和峰度只有一个可能的值,因此图上有一个点。对于其他分布,表示可能值的区域。这是一个非常简化的答案,您还应该考虑其他方法,但 CF 图是一个好的开始。
猜你喜欢
  • 2018-07-05
  • 1970-01-01
  • 1970-01-01
  • 2017-10-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-11-09
相关资源
最近更新 更多