一、正态分布介绍

这是在统计学中大名鼎鼎的一种分布,最早由德国的天文学家Moivre提出。

后来,德国数学家高斯(Gauss)首先将其应用于天文学研究,故正态分布也叫“高斯分布”。

高斯的这项工作对后世的科学研究影响极大,以至于德国10马克的钞票上印的是高斯头像和正态分布。

img

二、正态分布怎么来的

现在我们统计一个班级全部人的身高,为了直观把它们画在数轴上:

mark

然后,把身高分为不同区间

mark

看起来数据点太挤,把它们堆叠起来

mark

将条形图趋势绘制为曲线

mark

上面的曲线就是正态分布,正态分布在这个世界很常见,这会在后面的文章中谈到。

三、举个栗子

下图展示了婴儿和成人身高分布曲线。

mark

曲线形状的不同代表,成年人的身高差异的可能性比婴儿更多。

有两种形状:曲线越宽越低(矮胖型),越窄越高(高瘦型)。这种两种形状反映到生活中的话,婴儿的身高一般差不多,主要集中在20英寸。长大成人后,由于基因和后天的影响,不同人的身高差异开始显现,身高分布就较为广泛,主要在60到80英寸间。

可以直观的看到:不管曲线长相如何,正态分布总是集中在平均值区域,也就是数值集中在中间。

有意思的是,正态分布有个特点:95% 的测量值介于均值±两个标准差。比如,婴儿的95%在20±1.2英寸,成人的介于70±8英寸。

也就是说,只要符合正态分布,未来的测量值,极大的概率(95%)会出现在均值±两个标准差这个区间内。

这个值决定着我们常常听到的置信区间和P值,这个在后面会详细来谈。

三、数学表示

现在看下,正态分布的函数表达式:

img

可以描述为,随机变量X服从一个位置参数μ,尺度参数σ的概率分布,记做

img

,或X服从正态分布。一般,μ和σ都是常数,μ代表数据的均值,σ代表数据的标准差。

根据这个上面的正态分布形状,在正态曲线的绘制时,需要知道两个值:

  • 告诉曲线的中心在哪:测量值的均值,μ
  • 告诉曲线有多宽:测量值的标准差,σ

四、R语言绘制

img

我们可以从图中看到,均值μ决定正态分布的峰值位置,标准差σ决定分布的矮胖,σ越大越胖。

R代码:

set.seed(1)
x <- seq(-10,15,length.out = 1000)
# 计算N~(-2,1)
y1 <- dnorm(x, -2,1)
# 计算N~(2,1)
y2 <- dnorm(x, 2, 1)
# 计算N~(2,4)
y3 <- dnorm(x, 2, 2)
# 绘图
plot(x, y1, type = "l", col="#f0932b", ylab = "Density", lwd=2, xlim = c(-8,10))
lines(x, y2, lwd=2, col="#4834d4")
lines(x, y3, lwd=2, col="#95afc0")
legend("topright", c("X~N(-2,1)", "X~N(2,1)", "X~N(2,4)"), col = c("#f0932b", "#4834d4", "#95afc0"), lty = c(1),text.font = 12set.seed(1)
x <- seq(-10,15,length.out = 1000)
# 计算N~(-2,1)
y1 <- dnorm(x, -2,1)
# 计算N~(2,1)
y2 <- dnorm(x, 2, 1)
# 计算N~(2,4)
y3 <- dnorm(x, 2, 2)
# 绘图
plot(x, y1, type = "l", col="#f0932b", ylab = "Density", lwd=2, xlim = c(-8,10))
lines(x, y2, lwd=2, col="#4834d4")
lines(x, y3, lwd=2, col="#95afc0")
legend("topright", c("X~N(-2,1)", "X~N(2,1)", "X~N(2,4)"), col = c("#f0932b", "#4834d4", "#95afc0"), lty = c(1),text.font = 12)

致谢:

https://www.youtube.com/channel/UCtYLUTtgS3k1Fg4y5tAhLbw