总结了 scipy、numpy、pandas的高斯分布、pdf、方差、协方差比较。
multivariate_normal 是联合高斯分布
- n*m的数据,均值是m*1,协方差是m*m
- multivariate_normal.pdf 是 1*1
normal 是独立的高斯分布,即每列为独立的一元高斯分布。
- n*m的数据,均值是m*1,方差是m*1,
- normal.pdf(x,mu,var)是m*1,每个元素是该列的概率
Pandas
- n*m的数据,data.mean()均值是m*1
- data.cov()方差是m*m,
Numpy
- n*m的数据,np.mean(data)均值是m*1
- np.cov(data)协方差是n*n; 要变成特征的协方差np.cov(np.array(data).T)
- np.var(data)方差:axis=1 n*1 ,axis=0 m*1