使用Python计算方差,协方差和相关系数
[TOC]
数学定义
期望
设随机变量$X$只取有限个可能值$a_i (i=0, 1, …, m)$,其概率分布为$P (X = a_i) = p_i$. 则$X$的数学期望,记为$E(X)$或$EX$,定义为:
$$E(X) = \sum\limits_ia_ip_i$$
方差
设$X$为随机变量,分布为$F$,则
$$Var(X) = E(X-EX)^2 $$
称为$X$(或分布$F$)的方差,其平方根$\sqrt{Var(X)}$称为$X$(或分布$F$)的标准差.
方差和标准差是刻画随机变量在其中心位置附近散布程度的数字特征。
注意:样本方差和总体方差的区别
统计学上对于样本方差的无偏估计使用如下公式计算:
$$s^2 = \frac{1}{n-1} \sum\limits_{i=1}^n(x_i -\bar{x})^2 $$
前面有一个系数$\frac{1}{n-1}$,当时当样本数量很大的时候,$\frac{n}{n-1}$近似为1,可以直接使用总体方差公式进行计算。
协方差
协方差用来刻画两个随机变量$X, Y$之间的相关性,定义为
$$Cov(X, Y) = E[(X - EX)(Y-EY)]$$
如果协方差为正,说明X,Y同向变化,协方差越大说明同向程度越高;如果协方差为负,说明X,Y反向运动,协方差越小说明反向程度越高
相关系数
相关系数可以理解为标准化以后的协方差,设$X$的标准差为$\sigma_x$,$Y$的标准差为$\sigma_y$定义为
$$\rho = \frac{Cov(X, Y)}{\sigma_x\sigma_y}$$
相关系数消除了两个变量变化幅度的影响,而只是单纯反应两个变量每单位变化时的相似程度
协方差矩阵
协方差只能表示两个随机变量的相关程度(二维问题),对于大于二维的随机变量,可以使用协方差矩阵表示.
协方差矩阵的每一个值就是对应下标的两个随机变量的协方差
对于三维协方差矩阵,$C=\begin{bmatrix}Cov(X, X) & Cov(X, Y) & Cov(X, Z) \ Cov(Y, X) & Cov(Y, Y) & Cov(X, Y) \ Cov(Z, X) & Cov(Z, Y) & Cov(Z, Z)\end{bmatrix}$
使用NumPy包计算
1 | import numpy as np |
一组可能的输出结果:
1 | [[6.83907508 0.10925926] |