统计机器学习中的重要分布及其代码和图例

在统计学和机器学习领域,概率分布是非常核心的概念,它们用于描述数据的不确定性和变化性。概率分布可以分为两大类:离散概率分布和连续概率分布。下面是一些最重要和最常见的概率分布:

离散概率分布

  1. 伯努利分布(Bernoulli Distribution)
    • 描述的是一个只有两种可能结果的单次随机试验(例如抛硬币)。
  2. 二项分布(Binomial Distribution)
    • 描述的是固定次数的独立重复试验中成功的次数,其中每次试验的成功概率是固定的。
  3. 泊松分布(Poisson Distribution)
    • 用于描述在固定时间或空间内发生某事件的次数,特别适用于描述稀有事件。
  4. 几何分布(Geometric Distribution)
    • 描述在第一次成功之前进行的独立伯努利试验次数。
  5. 负二项分布(Negative Binomial Distribution)
    • 可以看作是几何分布的推广,描述在达到固定数量的成功之前进行的伯努利试验次数。
  6. 离散均匀分布(Discrete Uniform Distribution)
    • 所有可能结果发生的概率都是相等的。

连续概率分布

  1. 正态分布(Normal Distribution)
    • 也称为高斯分布,是最常见的连续概率分布之一,描述的是自然界中许多随机变量的分布情况。
  2. 均匀分布(Uniform Distribution)
    • 在给定的范围内,任何值发生的概率是相等的。
  3. 指数分布(Exponential Distribution)
    • 描述独立随机事件发生的时间间隔,常用于可靠性分析和排队理论。
  4. 伽马分布(Gamma Distribution)
    • 指数分布的推广,用于描述多个独立随机事件发生的总时间。
  5. 贝塔分布(Beta Distribution)
    • 描述在固定区间内的连续随机变量,常用于概率的概率分布。
  6. t-分布(t-Distribution)
    • 用于小样本数据的均值分析,特别是在标准差未知的情况下。
  7. 卡方分布(Chi-Squared Distribution)
    • 主要用于统计推断,尤其是假设检验和置信区间的估计。
  8. F分布(F-Distribution)
    • 用于比较两个样本的方差,常用于方差分析(ANOVA)。

这些分布在统计学和机器学习中都非常重要,它们用于建模各种数据和问题,也是很多高级方法的基础。

连续数据分布

1. 正态分布(Normal Distribution)

公式定义

正态分布(Normal distribution),也称“常态分布”,又名高斯分布(Gaussian distribution)。若随机变量X服从一个数学期望为 μ \mu μ、方差为 σ 2 \sigma ^2 σ2的正态分布,记为 N ( μ , σ 2 ) N(\mu,\sigma^2) N(μσ2)。其概率密度函数为正态分布的期望值 μ \mu μ决定了其位置,其标准差 σ \sigma σ决定了分布的幅度。当 μ = 0 , σ = 1 \mu = 0,\sigma = 1 μ=0,σ=1时的正态分布是标准正态分布。 f ( x ∣ μ , σ ) = 1 σ 2 π exp ⁡ ( − ( x − μ ) 2 2 σ 2 ) f(x | \mu, \sigma) = \frac{1}{\sigma \sqrt{2\pi}} \exp\left(-\frac{(x - \mu)^2}{2\sigma^2}\right) f(xμ,σ)=σ2π 1exp(2σ2(xμ)2)其中, μ \mu μ 是均值, σ \sigma σ 是标准差。

python代码及其概率密度函数可视化
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import norm

mu, sigma = 0, 1  # 均值和标准差
x = np.linspace(mu - 3*sigma, mu + 3*sigma, 100)
pdf = norm.pdf(x, mu, sigma)

plt.plot(x, pdf)
plt.title('Normal Distribution PDF')
plt.xlabel('x')
plt.ylabel('Probability Density')
plt.show()

在这里插入图片描述

2. 均匀分布(Uniform Distribution)

公式定义

也叫矩形分布,它是对称概率分布,在相同长度间隔的分布概率是等可能的。 均匀分布由两个参数 a a a b b b定义,它们是数轴上的最小值和最大值,通常缩写为 U ( a , b ) U(a,b) U(a,b)

f ( x ∣ a , b ) = 1 b − a for  x ∈ [ a , b ] f(x | a, b) = \frac{1}{b - a} \quad \text{for } x \in [a, b] f(xa,b)=ba1for x[a,b]
其中, a a a b b b 是分布的最小值和最大值。

python代码及其概率密度函数可视化
from scipy.stats import uniform

a, b = 0, 1  # 最小值和最大值
x = np.linspace(a, b, 100)
pdf = uniform.pdf(x, a, b-a)

plt.plot(x, pdf)
plt.title('Uniform Distribution PDF')
plt.xlabel('x')
plt.ylabel('Probability Density')
plt.show()

在这里插入图片描述

3. 指数分布(Exponential Distribution)

公式定义

指数分布(也称为负指数分布)是描述泊松过程中的事件之间的时间的概率分布,即事件以恒定平均速率连续且独立地发生的过程。

这是伽马分布的一个特殊情况。 它是几何分布的连续模拟,它具有无记忆的关键性质。 除了用于分析泊松过程外,还可以在其他各种环境中找到。指数函数的一个重要特征是无记忆性(Memoryless Property,又称遗失记忆性)。这表示如果一个随机变量呈指数分布,当 s , t > 0 s,t>0 s,t>0时有 P ( T > t + s ∣ T > t ) = P ( T > s ) P(T>t+s|T>t)=P(T>s) P(T>t+sT>t)=P(T>s)。即,如果 T T T是某一元件的寿命,已知元件使用了 t t t小时,它总共使用至少 s + t s+t s+t小时的条件概率,与从开始使用时算起它使用至少 s s s小时的概率相等。 f ( x ∣ λ ) = λ e − λ x for  x ≥ 0 f(x | \lambda) = \lambda e^{-\lambda x} \quad \text{for } x \geq 0 f(xλ)=λeλxfor x0
其中, λ \lambda λ是率参数(事件发生的平均速率)。

python代码及其概率密度函数可视化
from scipy.stats import expon

lambda_ = 1  # 事件发生的平均速率
x = np.linspace(0, 10, 100)
pdf = expon.pdf(x, scale=1/lambda_)

plt.plot(x, pdf)
plt.title('Exponential Distribution PDF')
plt.xlabel('x')
plt.ylabel('Probability Density')
plt.show()

在这里插入图片描述

4. 伽马分布(Gamma Distribution)

公式定义

伽马分布(Gamma Distribution)是统计学的一种连续概率函数,是概率统计中一种非常重要的分布。“指数分布”和“ χ 2 \chi^2 χ2分布”都是伽马分布的特例。

假设随机变量 X X X为等到第 k k k件事发生所需的等候时间, 密度函数为 f ( x ∣ k , θ ) = x k − 1 e − x θ θ k Γ ( k ) for  x ≥ 0 f(x | k, \theta) = \frac{x^{k-1} e^{-\frac{x}{\theta}}}{\theta^k \Gamma(k)} \quad \text{for } x \geq 0 f(xk,θ)=θkΓ(k)xk1eθxfor x0
其中, k k k 是形状参数, θ \theta θ 是尺度参数。

伽马函数的均值和方差为 μ = k θ σ 2 = k θ 2 \mu = k \theta \\ \sigma^2 =k \theta^2 μ=kθσ2=kθ2

python代码及其概率密度函数可视化
from scipy.stats import gamma

k, theta = 2, 1  # 形状参数和尺度参数
x = np.linspace(0, 10, 100)
pdf = gamma.pdf(x, k, scale=theta)

plt.plot(x, pdf)
plt.title('Gamma Distribution PDF')
plt.xlabel('x')
plt.ylabel('Probability Density')
plt.show()

在这里插入图片描述

5. 贝塔分布(Beta Distribution)

公式定义

贝塔分布(Beta Distribution) 是一个作为伯努利分布和二项式分布的共轭先验分布的密度函数,在机器学习和数理统计学中有重要应用。Beta分布可以看做一个概率的概率分布,当你不知道一个东西的具体概率是多少时,它可以给出所有的概率出现的可能性大小 f ( x ∣ α , β ) = x α − 1 ( 1 − x ) β − 1 B ( α , β ) for  x ∈ [ 0 , 1 ] f(x | \alpha, \beta) = \frac{x^{\alpha-1} (1-x)^{\beta-1}}{B(\alpha, \beta)} \quad \text{for } x \in [0, 1] f(xα,β)=B(α,β)xα1(1x)β1for x[0,1]
其中, α \alpha α β \beta β 是形状参数,可以当做成功、失败的次数, B ( α , β ) B(\alpha, \beta) B(α,β) 是贝塔函数, B ( α , β ) = Γ ( α ) Γ ( β ) Γ ( α + β ) Γ ( n ) = ( n − 1 ) ! B(\alpha,\beta)=\frac{\Gamma(\alpha)\Gamma(\beta)}{\Gamma(\alpha+\beta)}\\\Gamma(n)=(n-1)! B(α,β)=Γ(α+β)Γ(α)Γ(β)Γ(n)=(n1)!

python代码及其概率密度函数可视化
from scipy.stats import beta

alpha, beta_val = 2, 2  # 形状参数
x = np.linspace(0, 1, 100)
pdf = beta.pdf(x, alpha, beta_val)

plt.plot(x, pdf)
plt.title('Beta Distribution PDF')
plt.xlabel('x')
plt.ylabel('Probability Density')
plt.show()

在这里插入图片描述

6. t-分布(t-Distribution)

公式定义

t-分布(t-distribution)用于根据小样本来估计呈正态分布且方差未知的总体的均值。如果总体方差已知(例如在样本数量足够多时),则应该用正态分布来估计总体均值。 t t t分布曲线形态与 n n n(确切地说与自由度 n n n)大小有关。与标准正态分布曲线相比,自由度 n n n越小, t t t分布曲线愈平坦,曲线中间愈低,曲线双侧尾部翘得愈高;自由度 n n n愈大, t t t分布曲线愈接近正态分布曲线,当自由度 n = ∞ n=\infty n=时, t t t分布曲线为标准正态分布曲线。

假设X服从标准正态分布 N ( 0 , 1 ) \mathrm{N}(0,1) N(0,1) ,Y服从 χ 2 ( n ) \chi^{2}(n) χ2(n)分布,那么 Z = X Y / n Z=\frac{X}{\sqrt{Y / n}} Z=Y/n X的分布称为自由度为 n \mathrm{n} n的分布,记为 Z ∼ t ( n ) Z \sim t(n) Zt(n)。分布密度函数 f Z ( x ∣ n ) = Γ ( ( n + 1 ) / 2 ) n π Γ ( ν / 2 ) ( 1 + x 2 n ) − ( n + 1 ) / 2 f_Z(x | n) = \frac{\Gamma((n+1)/2)}{\sqrt{n\pi} \Gamma(\nu/2)} \left(1 + \frac{x^2}{n} \right)^{-(n+1)/2} fZ(xn)= Γ(ν/2)Γ((n+1)/2)(1+nx2)(n+1)/2
其中, n n n 是自由度, Γ \Gamma Γ是伽马函数。

python代码及其概率密度函数可视化
from scipy.stats import t

nu = 10  # 自由度
x = np.linspace(-5, 5, 100)
pdf = t.pdf(x, nu)

plt.plot(x, pdf)
plt.title('t-Distribution PDF')
plt.xlabel('x')
plt.ylabel('Probability Density')
plt.show()

在这里插入图片描述

7. 卡方分布(Chi-Squared Distribution)

公式定义

k k k个标准独立正态分布变量的平方和服从自由度为 k k k的卡方分布。常用于假设检验与置信区间。 f ( x ∣ k ) = 1 2 k / 2 Γ ( k / 2 ) x k / 2 − 1 e − x / 2 for  x ≥ 0 f(x | k) = \frac{1}{2^{k/2} \Gamma(k/2)} x^{k/2 - 1} e^{-x/2} \quad \text{for } x \geq 0 f(xk)=2k/2Γ(k/2)1xk/21ex/2for x0
其中, k k k 是自由度。

python代码及其概率密度函数可视化
from scipy.stats import chi2

k = 2  # 自由度
x = np.linspace(0, 10, 100)
pdf = chi2.pdf(x, k)

plt.plot(x, pdf)
plt.title('Chi-Squared Distribution PDF')
plt.xlabel('x')
plt.ylabel('Probability Density')
plt.show()

在这里插入图片描述

8. F分布(F-Distribution)

公式定义

f ( x ∣ d 1 , d 2 ) = ( d 1 x ) d 1 d 2 d 2 ( d 1 x + d 2 ) d 1 + d 2 x B ( d 1 / 2 , d 2 / 2 ) for  x ≥ 0 f(x | d_1, d_2) = \frac{\sqrt{\frac{(d_1 x)^{d_1} d_2^{d_2}}{(d_1 x + d_2)^{d_1 + d_2}}}}{x B(d_1/2, d_2/2)} \quad \text{for } x \geq 0 f(xd1,d2)=xB(d1/2,d2/2)(d1x+d2)d1+d2(d1x)d1d2d2 for x0
其中, d 1 d_1 d1 d 2 d_2 d2 是两个独立卡方分布的自由度。

python代码及其概率密度函数可视化
from scipy.stats import f

d1, d2 = 5, 2  # 两个独立卡方分布的自由度
x = np.linspace(0.01, 10, 100)  # 避免除以零
pdf = f.pdf(x, d1, d2)

plt.plot(x, pdf)
plt.title('F-Distribution PDF')
plt.xlabel('x')
plt.ylabel('Probability Density')
plt.show()

在这里插入图片描述

离散数据分布

1. 伯努利分布(Bernoulli Distribution)

公式定义

描述的是一个只有两种可能结果的单次随机试验(例如抛硬币)。 P ( X = x ) = p x ( 1 − p ) 1 − x for  x ∈ { 0 , 1 } P(X=x) = p^x(1-p)^{1-x} \quad \text{for } x \in \{0, 1\} P(X=x)=px(1p)1xfor x{0,1}

其中 p p p是事件发生的概率。

python代码及其概率分布函数可视化
import matplotlib.pyplot as plt
from scipy.stats import bernoulli

p = 0.5  # 事件发生的概率
x = [0, 1]
pmf = bernoulli.pmf(x, p)

plt.bar(x, pmf)
plt.title('Bernoulli Distribution PMF')
plt.xlabel('Outcome')
plt.ylabel('Probability')
plt.xticks(x)
plt.show()

在这里插入图片描述

2. 二项分布(Binomial Distribution)

公式定义

描述的是固定次数的独立重复试验中成功的次数,其中每次试验的成功概率是固定的 P ( X = k ) = ( n k ) p k ( 1 − p ) n − k P(X=k) = \binom{n}{k} p^k (1-p)^{n-k} P(X=k)=(kn)pk(1p)nk
其中 n n n 是试验次数, p p p 是每次试验成功的概率。

python代码及其概率分布函数可视化
from scipy.stats import binom

n, p = 10, 0.5  # 试验次数和成功概率
x = range(n+1)
pmf = binom.pmf(x, n, p)

plt.bar(x, pmf)
plt.title('Binomial Distribution PMF')
plt.xlabel('Number of Successes')
plt.ylabel('Probability')
plt.show()

在这里插入图片描述

3. 泊松分布(Poisson Distribution)

公式定义

用于描述在固定时间或空间内发生某事件的次数,特别适用于描述稀有事件。 P ( X = k ) = λ k e − λ k ! P(X=k) = \frac{\lambda^k e^{-\lambda}}{k!} P(X=k)=k!λkeλ
其中 λ \lambda λ 是单位时间(或单位面积)内平均发生的次数。

python代码及其概率分布函数可视化
from scipy.stats import poisson

lambda_ = 3  # 平均发生次数
x = range(0, 10)
pmf = poisson.pmf(x, lambda_)

plt.bar(x, pmf)
plt.title('Poisson Distribution PMF')
plt.xlabel('Number of Events')
plt.ylabel('Probability')
plt.show()

在这里插入图片描述

4. 几何分布(Geometric Distribution)

公式定义

描述在第一次成功之前进行的独立伯努利试验次数。 P ( X = k ) = ( 1 − p ) k − 1 p P(X=k) = (1-p)^{k-1} p P(X=k)=(1p)k1p
其中 p p p 是每次试验成功的概率。

python代码及其概率分布函数可视化
from scipy.stats import geom

p = 0.5  # 成功概率
x = range(1, 11)
pmf = geom.pmf(x, p)

plt.bar(x, pmf)
plt.title('Geometric Distribution PMF')
plt.xlabel('Number of Trials')
plt.ylabel('Probability')
plt.show()

5. 负二项分布(Negative Binomial Distribution)

公式定义

可以看作是几何分布的推广,描述在达到固定数量的成功之前进行的伯努利试验次数。 P ( X = k ) = ( k − 1 r − 1 ) p r ( 1 − p ) k − r P(X=k) = \binom{k-1}{r-1} p^r (1-p)^{k-r} P(X=k)=(r1k1)pr(1p)kr

其中 r r r 是在停止试验前需要达到的成功次数, p p p 是每次试验成功的概率。

python代码及其概率分布函数可视化
from scipy.stats import nbinom

r, p = 5, 0.5  # 成功次数和成功概率
x = range(r, r+15)
pmf = nbinom.pmf(x, r, p)

plt.bar(x, pmf)
plt.title('Negative Binomial Distribution PMF')
plt.xlabel('Number of Trials')
plt.ylabel('Probability')
plt.show()

在这里插入图片描述

6. 离散均匀分布(Discrete Uniform Distribution)

公式定义

所有可能结果发生的概率都是相等的。 P ( X = x ) = 1 n for  x = 1 , 2 , … , n P(X=x) = \frac{1}{n} \quad \text{for } x = 1, 2, \ldots, n P(X=x)=n1for x=1,2,,n
其中 n n n是可能结果的数量。

python代码及其概率分布函数可视化
from scipy.stats import randint

low, high = 1, 7  # 最小值和最大值(不包含)
x = range(low, high)
pmf = randint.pmf(x, low, high)

plt.bar(x, pmf)
plt.title('Discrete Uniform Distribution PMF')
plt.xlabel('Outcome')
plt.ylabel('Probability')
plt.xticks(x)
plt.show()

在这里插入图片描述


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值