张芷铭的个人博客

独立同分布

独立同分布

定义

独立同分布(Independent and Identically Distributed,简称i.i.d.)是概率论与统计学中的核心概念,描述一组随机变量的两个基本特性:

  1. 独立性:任意两个随机变量的取值互不影响
  2. 同分布性:所有随机变量服从相同的概率分布

数学表达为: 对于随机变量序列$X_1,X_2,…,X_n$,满足: $$ \begin{cases} P(X_1 \leq x_1,…,X_n \leq x_n) = \prod_{i=1}^n P(X_i \leq x_i) & \text{(独立性)} \ F_{X_1}(x) = F_{X_2}(x) = \cdots = F_{X_n}(x) & \text{(同分布性)} \end{cases} $$ 其中$F_{X_i}(x)$表示$X_i$的累积分布函数。

历史发展

i.i.d.概念的形成经历了几个关键阶段:

  • 17世纪:雅各布·伯努利在《猜度术》中隐含使用独立同分布假设
  • 19世纪:泊松首次明确区分"独立"与"同分布"概念
  • 1920年代:罗纳德·费希尔在农业实验中系统应用i.i.d.假设
  • 现代:成为机器学习(如[[PAC学习理论]])和计量经济学的基础假设

[[概率论史]]研究表明,i.i.d.的严格数学定义直到20世纪测度论发展后才完全确立。

数学原理

独立性本质

两个随机变量$X$和$Y$独立意味着它们的联合分布可分解: $$ P(X \in A, Y \in B) = P(X \in A)P(Y \in B) $$ 对于连续型变量,等价于: $$ f_{X,Y}(x,y) = f_X(x)f_Y(y) $$

同分布特性

同分布不意味着样本值相同,而是指: $$ E[X_i] = \mu, \quad \text{Var}(X_i) = \sigma^2 \quad \forall i $$ 且各阶矩(如果存在)都相同。

重要定理

i.i.d.序列是许多极限定理的基础:

大数定律: $$ \frac{1}{n}\sum_{i=1}^n X_i \xrightarrow{a.s.} \mu \quad \text{当} \quad E|X_1| < \infty $$

中心极限定理: $$ \frac{\sum_{i=1}^n X_i - n\mu}{\sigma\sqrt{n}} \xrightarrow{d} N(0,1) $$

格列汶科定理(经验分布收敛): $$ \sup_x |F_n(x) - F(x)| \xrightarrow{a.s.} 0 $$

应用场景

机器学习

  • 监督学习的训练数据通常假设为i.i.d.采样
  • [[交叉验证]]技术依赖数据独立性假设
  • 神经网络参数初始化常用i.i.d.分布(如Xavier初始化)

统计推断

  • 参数估计的相合性依赖i.i.d.假设
  • 假设检验中的p值计算
  • 回归分析的误差项假设

金融工程

  • 资产收益率建模
  • 风险价值(VaR)计算
  • 蒙特卡洛模拟

检验方法

独立性检验

  1. 自相关函数检验: $$ \hat{\rho}(h) = \frac{\sum_{t=h+1}^T (x_t - \bar{x})(x_{t-h} - \bar{x})}{\sum_{t=1}^T (x_t - \bar{x})^2} $$
  2. 卡方检验:构建列联表检验变量关联
  3. 互信息法:估计$I(X,Y) = D_{KL}(P_{XY}||P_XP_Y)$

同分布检验

  1. Kolmogorov-Smirnov检验: $$ D_n = \sup_x |F_n(x) - F(x)| $$
  2. Anderson-Darling检验:改进的EDF型检验
  3. 两样本t检验(当正态性假设成立时)

Python实现示例:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
from scipy import stats
import numpy as np

# 生成两组数据
x = np.random.normal(0, 1, 100)
y = np.random.normal(0.1, 1, 100)

# KS检验
print(stats.ks_2samp(x, y)) 

# 独立性检验(距离相关)
from dcor import distance_correlation
print(distance_correlation(x, y))

常见误区

  1. 时间序列误用:金融数据常具有自相关性,不满足独立性
  2. 聚类数据忽视:组内相关的数据会低估方差
  3. 概念混淆:i.i.d.不同于"随机抽样"
  4. 分布误判:假设正态性而实际存在厚尾

前沿进展

弱化i.i.d.假设

  1. 混合序列:允许一定程度的依赖性 $$ \alpha(n) = \sup |P(A \cap B) - P(A)P(B)| \to 0 $$
  2. 鞅差分序列:$E[X_{n+1}|X_1,…,X_n] = 0$
  3. 自正则极限理论:处理方差可能不存在的情况

机器学习中的发展

  1. 域适应:处理训练/测试分布差异
  2. 元学习:从非i.i.d.任务中学习
  3. 联邦学习:处理设备间的非i.i.d.数据分布

最新研究可参考Journal of Machine Learning Research的相关论文。

代码实践

生成i.i.d.序列

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
import numpy as np
import matplotlib.pyplot as plt

# 生成i.i.d.正态样本
np.random.seed(42)
iid_samples = np.random.normal(loc=5, scale=2, size=1000)

# 验证独立性
from statsmodels.tsa.stattools import acf
acf_values = acf(iid_samples, nlags=20)
plt.stem(acf_values)
plt.axhline(y=1.96/np.sqrt(len(iid_samples)), linestyle='--')

自助法(Bootstrap)应用

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
# R语言实现
library(boot)

# 定义统计量函数
mean_func <- function(data, indices) {
  sample <- data[indices]
  return(mean(sample)) 
}

# 对i.i.d.数据执行bootstrap
results <- boot(data=iid_samples, statistic=mean_func, R=1000)
plot(results)

总结

独立同分布假设是现代统计学和机器学习的基石,虽然实际应用中常被违反,但理解其数学本质和适用范围对正确建模至关重要。随着[[因果推断]]等领域的发展,研究者正在开发更灵活的框架来处理非i.i.d.数据,但i.i.d.理论仍为分析复杂问题提供了重要基准。

💬 评论