【问题标题】:R: How to get the p-value (for getting x < 2) for a population (modeled by a combination of three normal distributions)?R:如何获得总体的 p 值(用于获得 x < 2)(由三个正态分布的组合建模)?
【发布时间】:2011-06-27 21:50:59
【问题描述】:

感谢我之前帖子的精彩回答,我使用下面链接中提供的程序,将我的数据与三个正态分布拟合:

https://stats.stackexchange.com/questions/10062/which-r-package-to-use-to-calculate-component-parameters-for-a-mixture-model

拟合我的数据后,三个正态分布的参数如下:

      pi      mu sigma
1 0.5552 -0.4868 2.044
2 0.2739  8.3846 1.399
3 0.1709 12.5317 1.036

为了检查我的数据 (x) 和模型分布 (ee) 之间的一致性,我执行了以下步骤:

e1 <- rnorm(5552, mean=-0.4868, sd=2.044)
e2 <- rnorm(2739, mean=8.3846, sd=1.399)
e3 <- rnorm(1709, mean=12.5317, sd=1.036)
ee <- c(e1,e2,e3)
qqplot(x, ee)

我得到的qqplot如下:(http://i.stack.imgur.com/3favy.png)

看起来还不错,所以,我想计算这个模型总体获得等于或小于 2.0 的值的 p 值。你能教我如何使用 R 计算这个 p 值吗?

此处附上模型种群ee的密度图(http://i.stack.imgur.com/pExhF.png)。

【问题讨论】:

  • 这类问题你应该在crossvalidated.com
  • 这不是一个真正的统计问题。这只是如何在 R 中做某事。尽管具体内容不是 100% 清楚。

标签: r distribution probability


【解决方案1】:

我想你只是想用类似的东西来计算尾部区域的概率。

> sum(ee <= 2) / length(ee)
> [1] 0.4936

【讨论】:

  • 这是来自数据的经验 p 值。我认为张贴者想从拟合的三正态混合模型中计算值。
  • 我将其解读为“ee”,它是来自拟合模型的模拟数据集。因此,尾部区域近似应该是合适的。
【解决方案2】:

假设您的参数位于数据框中,param(也许这适用于具有命名列的矩阵)。

对“2的左边”的个人贡献:

> probs <- with(param, pi*pnorm(2, mu, sigma) )
> probs
[1] 4.930888e-01 6.883473e-07 2.409615e-25

总数:

> prob <- with(param, sum(pi*pnorm(2, mu, sigma)) )
> prob
[1] 0.4930895

只要看一下输出,您就会猜到几乎所有的贡献都来自第一个分量,因为其他两个分量的平均值都在右边。第一个贡献的值由 pi(比例)估计支配,因为它的大部分质量都在“2 的左边”。

【讨论】:

    猜你喜欢
    • 2016-03-14
    • 2020-04-26
    • 1970-01-01
    • 2016-12-16
    • 2021-02-13
    • 2023-03-08
    • 1970-01-01
    • 1970-01-01
    • 2023-03-13
    相关资源
    最近更新 更多