
标准差,方差,协方差,正态分布
描述数据。
·
一、方差 (Variance)
1️⃣ 定义
-
描述数据偏离均值的程度
-
总体方差:
σ 2 = 1 N ∑ i = 1 N ( x i − μ ) 2 \sigma^2 = \frac{1}{N}\sum_{i=1}^N (x_i - \mu)^2 σ2=N1i=1∑N(xi−μ)2
-
样本方差(无偏估计, x ˉ \bar{x} xˉ为样本均值):
s 2 = 1 n − 1 ∑ i = 1 n ( x i − x ˉ ) 2 s^2 = \frac{1}{n-1}\sum_{i=1}^n (x_i - \bar{x})^2 s2=n−11i=1∑n(xi−xˉ)2
$$
$$
2️⃣ Python计算
import numpy as np
data = [2, 4, 6, 8]
var_pop = np.var(data) # 总体方差 → 5.0
var_sample = np.var(data, ddof=1) # 样本方差 → 6.666...
二、标准差 (Standard Deviation)
1️⃣ 定义
- 方差的平方根,保持量纲一致性
σ = σ 2 \sigma = \sqrt{\sigma^2} σ=σ2
2️⃣ 应用场景
- Z-score标准化:
z = x − μ σ z = \frac{x - \mu}{\sigma} z=σx−μ - 正态分布的参数:68-95-99.7法则
3️⃣ Python实现
std_pop = np.std(data) # 总体标准差 → 2.236...
std_sample = np.std(data, ddof=1) # 样本标准差 → 2.581...
三、协方差 (Covariance)
1️⃣ 定义
- 衡量两个变量的总体误差:
Cov ( X , Y ) = 1 n ∑ i = 1 n ( x i − x ˉ ) ( y i − y ˉ ) \text{Cov}(X,Y) = \frac{1}{n}\sum_{i=1}^n (x_i-\bar{x})(y_i-\bar{y}) Cov(X,Y)=n1i=1∑n(xi−xˉ)(yi−yˉ)
2️⃣ 性质
- 正值 → 变量同向变化
- 负值 → 变量反向变化
- 绝对值越大 → 线性相关性越强
3️⃣ Python计算
x = [1, 2, 3]
y = [4, 5, 6]
cov_matrix = np.cov(x, y) # 协方差矩阵
print(cov_matrix[0,1]) # 协方差值 → 1.0
四、正态分布 (Normal Distribution)
1️⃣ 概率密度函数
f ( x ) = 1 σ 2 π e − ( x − μ ) 2 2 σ 2 f(x) = \frac{1}{\sigma\sqrt{2\pi}} e^{-\frac{(x-\mu)^2}{2\sigma^2}} f(x)=σ2π1e−2σ2(x−μ)2
2️⃣ 参数意义
- μ \mu μ:均值(分布中心位置)
- σ \sigma σ:标准差(分布宽度)
3️⃣ 重要特性
- 对称性:均值=中位数=众数
- 3σ原则:
- 68%数据在 μ ± σ \mu \pm \sigma μ±σ
- 95%数据在 μ ± 2 σ \mu \pm 2\sigma μ±2σ
- 99.7%数据在 μ ± 3 σ \mu \pm 3\sigma μ±3σ
4️⃣ Python可视化
import matplotlib.pyplot as plt
from scipy.stats import norm
x = np.linspace(-3, 3, 100)
plt.plot(x, norm.pdf(x, 0, 1)) # 标准正态分布
plt.fill_between(x, norm.pdf(x,0,1), where=(x>1)&(x<2), alpha=0.5)
plt.show()
五、关键概念对比
概念 | 描述对象 | 计算公式 | 应用场景 |
---|---|---|---|
方差 | 单个变量 | 1 n ∑ ( x i − μ ) 2 \frac{1}{n}\sum (x_i-\mu)^2 n1∑(xi−μ)2 | 数据离散程度评估 |
标准差 | 单个变量 | 方差 \sqrt{\text{方差}} 方差 | 数据标准化、异常检测 |
协方差 | 两个变量 | 1 n ∑ ( x i − μ x ) ( y i − μ y ) \frac{1}{n}\sum (x_i-\mu_x)(y_i-\mu_y) n1∑(xi−μx)(yi−μy) | PCA、特征选择 |
相关系数 | 两个变量 | Cov ( X , Y ) σ X σ Y \frac{\text{Cov}(X,Y)}{\sigma_X\sigma_Y} σXσYCov(X,Y) | 量化线性相关性强度 |
六、工业级应用案例
1️⃣ 异常检测 (3σ原则)
def detect_outliers(data):
mu = np.mean(data)
sigma = np.std(data)
return [x for x in data if abs(x - mu) > 3*sigma]
2️⃣ 数据标准化 (Z-score)
def z_score_normalize(data):
return (data - np.mean(data)) / np.std(data)
3️⃣ 特征选择 (协方差矩阵)
import pandas as pd
df = pd.DataFrame({'X': x, 'Y': y})
cov_matrix = df.cov() # 计算特征间协方差
七、常见误区解析
-
方差 vs 标准差
- 误区:认为标准差一定比方差小
- 事实:当数据值 <1 时标准差可能更小
-
协方差 vs 相关系数
- 协方差受量纲影响,相关系数范围[-1,1]
-
正态分布检验
- 使用Q-Q图或统计检验(如K-S检验)
from scipy.stats import probplot probplot(data, plot=plt) plt.show()
更多推荐
所有评论(0)