python numpy 生成一个服从多元正态分布的数组

标准正态分布的概率密度公式

正态分布概率密度公式

多元正态分布的概率密度公式

上式为 x 服从 k 元正态分布,x 为 k 维向量;|Σ| 代表协方差矩阵的行列式。

二维正态分布概率密度函数为钟形曲面,等高线是椭圆线族,并且二维正态分布的两个边缘分布都是一维正态分布,如图

 

numpy生成一个服从多元正态分布的数组

multivariate_normal(mean, cov, size=None, check_valid=None, tol=None) 

各参数含义:

  • mean:均值,维度为1,必选参数;
  • cov:协方差矩阵,必选参数;
  • size: 指定生成矩阵的维度,若size=(1, 1, 2),则输出的矩阵的 shape 即形状为 1X1X2XN(N为mean的长度);
  • check_valid:可取值 warn,raise以及ignore;
  • tol:检查协方差矩阵奇异值时的公差,float类型。

示例:

1
2
3
4
5
6
7
8
9
10
11
import numpy as np
import matplotlib.pyplot as plt
 
mean = (1, 1)
cov = np.array([[0.1, 0], [0, 1]])
x = np.random.multivariate_normal(mean, cov, (500,), 'raise')   # nx2
 
plt.scatter(x[:, 0], x[:, 1])
plt.xlim(-3, 5)
plt.ylim(-3, 5)
plt.show()

运行结果:

 

参考资料

[1] multivariate_normal 多元正态分布

 

posted @   Picassooo  阅读(7717)  评论(2编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示