给定一个样本,然后将其拟合到正态分布中,我将如何找到落在 10% 尾部的观测值?
假设我有以下 10 个观察结果:
x = c(68.9322859175383, 87.9226602406337, 118.63064982191, 63.9906406656306,
181.510804700138, 188.910377786055, 96.9295278315884, 86.2770354338514,
95.1169692997219, 82.1328861776944)
我将它们拟合到正态分布中:
MASS::fitdistr(x, 'normal')
返回mean
和sd
,但我不确定如何使用此信息来查找 10% 尾部中的点。
if
y <- MASS::fitdistr(x, 'normal')
然后下 10% 的尾部由下式给出
tail <- qnorm(0.1, y$estimate[1], y$estimate[2])
tail
[1] 53.65485
然后您可以选择x[x<tail]
- 尽管在这种情况下没有
你需要正态分布的分位数函数。它被称为qnorm
.使用参数mu
和sd
作为参数。
x = c(68.9322859175383, 87.9226602406337, 118.63064982191, 63.9906406656306,
181.510804700138, 188.910377786055, 96.9295278315884, 86.2770354338514,
95.1169692997219, 82.1328861776944)
p <- MASS::fitdistr(x, 'normal')
这是 10% 分位数:
q10 <- qnorm(0.1, mean = p$estimate["mean"], sd = p$estimate["sd"])
哪些值最多在 10% 分位数中?
x <= q10
这是 90% 分位数:
q90 <- qnorm(0.9, mean = p$estimate["mean"], sd = p$estimate["sd"])
哪些值大于 90% 分位数?
x >= q90
使用pnorm
获取估计估计分布下的累积概率。
pnorm(x,mean(x),sd(x))
[1] 0.1927437 0.3316693 0.6041455 0.1634492 0.9550798 0.9688933 0.4089801
[8] 0.3181819 0.3930217 0.2852975
目前尚不清楚你对左尾还是右尾感兴趣,没有一个适合 10% 的下尾(即 p<=0.1(,但 2 适合上尾(p>=0.9(。