高斯分布可能是最常听到也熟悉的分布。 它有几个名字:有人称它为钟形曲线,因为它的概率图看起来像一个钟形,有人称它为高斯分布,因为首先描述它的德国数学家卡尔·高斯命名,还有一些人称它为正态分布,因为早期的统计学家 注意到它一遍又一遍地再次发生。
正态分布的概率密度函数如下:
σ 是标准偏差,μ 是分布的平均值。 要注意的是,在正态分布中,均值、众数和中位数都是相等的。
当我们绘制正态分布的随机变量时,曲线围绕均值对称——一半的值在中心的左侧,一半在中心的右侧。 并且,曲线下的总面积为 1。
mu = 0
variance = 1
sigma = np.sqrt(variance)
x = np.linspace(mu - 3*sigma, mu 3*sigma, 100)
plt.subplots(figsize=(8, 5))
plt.plot(x, stats.norm.pdf(x, mu, sigma))
plt.title("Normal Distribution")
plt.show()
对于正态分布来说。 经验规则告诉我们数据的百分比落在平均值的一定数量的标准偏差内。 这些百分比是:
68% 的数据落在平均值的一个标准差内。
95% 的数据落在平均值的两个标准差内。
99.7% 的数据落在平均值的三个标准差范围内。
对数正态分布对数正态分布是对数呈正态分布的随机变量的连续概率分布。 因此,如果随机变量 X 是对数正态分布的,则 Y = ln(X) 具有正态分布。
这是对数正态分布的 PDF:
对数正态分布的随机变量只取正实数值。 因此,对数正态分布会创建右偏曲线。
让我们在 Python 中绘制它:
X = np.linspace(0, 6, 500)
std = 1
mean = 0
lognorm_distribution = stats.lognorm([std], loc=mean)
lognorm_distribution_pdf = lognorm_distribution.pdf(X)
fig, ax = plt.subplots(figsize=(8, 5))
plt.plot(X, lognorm_distribution_pdf, label="μ=0, σ=1")
ax.set_xticks(np.arange(min(X), max(X)))
std = 0.5
mean = 0
lognorm_distribution = stats.lognorm([std], loc=mean)
lognorm_distribution_pdf = lognorm_distribution.pdf(X)
plt.plot(X, lognorm_distribution_pdf, label="μ=0, σ=0.5")
std = 1.5
mean = 1
lognorm_distribution = stats.lognorm([std], loc=mean)
lognorm_distribution_pdf = lognorm_distribution.pdf(X)
plt.plot(X, lognorm_distribution_pdf, label="μ=1, σ=1.5")
plt.title("Lognormal Distribution")
plt.legend()
plt.show()