lU5*_*5er 6 statistics r probability-distribution
我是统计学和R的新手.也许这是一个非常微不足道的问题,但我真的不明白这是如何工作的.
假设我使用dnorm(5, 0, 2.5).那是什么意思?
我看到了一些资源,他们告诉我这个函数计算密度曲线中点的高度.
现在我再次读到连续分布中数字的确切概率为0.所以,我的问题是,如果我能找出某个值的高度或概率,那怎么会是0呢?
我知道我混淆了一些概念.但我无法找到我错的地方.如果你有空的时间让我理解这一点,那将是很棒的.提前致谢.
密度返回的数字本身并不直接转换为概率.但它给出了曲线的高度,如果在整个可能的数字范围内绘制,则其下方的面积加起来为1.
考虑一下.如果我将矢量x均匀间隔的数字从-7.5到7.5,相隔0.1,并获得正常变量的密度,其中每个值的平均值为0,标准差为2.5 x.
x <- seq(from = -7.5, to = 7.55, by = 0.1)
y <- dnorm(x, 0, 2.5)
Run Code Online (Sandbox Code Playgroud)
由那些密度(我存储为y)形成的曲线下面积的近似值乘以它们的距离(0.1)接近1:
> sum(y * 0.1)
[1] 0.9974739
Run Code Online (Sandbox Code Playgroud)
如果你用微积分正确地做了这个,而不是用数字逼近它,它就是一个.
为什么这有用?曲线部分下方的累积面积可用于估计变量在特定范围内任何位置出现的概率,即使您的某个来源指出,对于连续变量,任何精确数字的概率在技术上为零.
考虑这个图形.阴影空间的区域显示了正态分布(平均零,标准差2.5)的变量在-7.5和4之间的可能性.这导致了许多有用的应用.
制造:
library(ggplot2)
d <- data.frame(x, y)
ggplot(d, aes(x = x, y = y)) +
geom_line() +
geom_point() +
geom_ribbon(fill = "steelblue", aes(ymax = y), ymin = 0, alpha = 0.5, data = subset(d, x <= 4)) +
annotate("text", x= -4, y = 0.13, label = "Each point is an individual density\nestimate of dnorm(x, 0, 2.5)") +
annotate("text", x = -.3, y = 0.02, label = "Filled area under the curve shows the cumulative probability\nof getting a number as high as a given x, in this case 4") +
ggtitle("Density of a random normal variable with mean zero and standard deviation 2.5")
Run Code Online (Sandbox Code Playgroud)