multivariate_normal 多元正态分布
多元正态分布
正态分布大家都非常熟悉了,多元正态分布就是多维数据的正态分布,其概率密度函数为

上式为 x 服从 k 元正态分布,x 为 k 维向量;|Σ| 代表协方差矩阵的行列式
二维正态分布概率密度函数为钟形曲面,等高线是椭圆线族,并且二维正态分布的两个边缘分布都是一维正态分布,如图

np.random.multivariate_normal
生成一个服从多元正态分布的数组 【适用于 python3,但在 python2 中也能用】
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类型;
示例
mean = (1, 2)
cov = [[1, 0], [0, 1]]
x = np.random.multivariate_normal(mean, cov, (2, 2), 'raise') # 2x2x2
print(x)
直接生成数组
scipy.stats.multivariate_normal
生成一个多元正态分布
def __call__(self, mean=None, cov=1, allow_singular=False, seed=None)
示例-生成多元正态分布
import numpy as np
import scipy.stats as st
import matplotlib.pylab as plt x, y = np.mgrid[-1:1:.01, -1:1:.01]
pos = np.empty(x.shape + (2,))
pos[:, :, 0] = x; pos[:, :, 1] = y
rv = st.multivariate_normal([0, 0], [[1, 0], [0, 1]]) # 生成多元正态分布
print(rv) # <scipy.stats._multivariate.multivariate_normal_frozen object at 0x08EDDDB0> 只是生成了一个对象,并没有生成数组
plt.contourf(x, y, rv.pdf(pos))
plt.show()
示例-概率密度函数
x = np.linspace(0, 5, 10, endpoint=False) # 样本
y = st.multivariate_normal.pdf(x, mean=2.5, cov=.5) # 样本的概率密度函数 plt.plot(x, y)
plt.show()
生成了概率密度曲线

可用方法
pdf(x, mean=None, cov=1) :概率密度函数
logpdf(x, mean=None, cov=1) :概率密度函数日志
rvs(mean=None, cov=1) :从多元正态分布中随机抽取样本
entropy() :计算多元法线的微分熵
参考资料:
https://www.cnblogs.com/21207-iHome/p/8039741.html 多元正态分布
https://blog.csdn.net/zch1990s/article/details/80005940 np.random.multivariate_normal方法浅析
https://www.cnblogs.com/wanghui-garcia/p/10763418.html scipy.stats.multivariate_normal的使用
multivariate_normal 多元正态分布的更多相关文章
- Multivariate normal distribution | 多元正态分布
现在终于需要用到了.
- scipy.stats.multivariate_normal的使用
参考:https://docs.scipy.org/doc/scipy-0.14.0/reference/generated/scipy.stats.multivariate_normal.html ...
- np.random.multivariate_normal方法浅析
从多元正态分布中抽取随机样本. 多元正态分布,多正态分布或高斯分布是一维正态分布向更高维度的推广.这种分布由其均值和协方差矩阵来确定.这些参数类似于一维正态分布的平均值(平均值或"中心&qu ...
- Hotelling T2检验和多元方差分析
1.1 Hotelling T2检验 Hotelling T2检验是一种常用多变量检验方法,是单变量检验的自然推广,常用于两组均向量的比较. 设两个含量分析为n,m的样本来自具有公共协方差阵的q维正态 ...
- SPSS数据分析—多元方差分析
之前的单因素方差分析和多因素方差分析,都在针对一个因变量,而实际工作中,经常会碰到多个因变量的情况,如果单纯的将其拆分为多个单因变量的做法不妥,需要使用多元方差分析或因子分析 多元方差分析与一元方差分 ...
- 正态分布(Normal distribution)又名高斯分布(Gaussian distribution)
正态分布(Normal distribution)又名高斯分布(Gaussian distribution),是一个在数学.物理及project等领域都很重要的概率分布,在统计学的很多方面有着重大的影 ...
- 多元高斯分布(The Multivariate normal distribution)
在数据建模时,经常会用到多元高斯分布模型,下面就这个模型的公式并结合它的几何意义,来做一个直观上的讲解. 1, 标准高斯函数 高斯函数标准型: $f(x) = \frac{1}{\sqrt{2π}}e ...
- ML—R常用多元统计分析包(持续更新中……)
基本的R包已经实现了传统多元统计的很多功能,然而CRNA的许多其它包提供了更深入的多元统计方法,下面要综述的包主要分为以下几个部分: 1) 多元数据可视化(Visualising multivaria ...
- 使用正态分布变换(Normal Distributions Transform)进行点云配准
正态分布变换算法是一个配准算法,它应用于三维点的统计模型,使用标准优化技术来确定两个点云间的最优的匹配,因为其在配准过程中不利用对应点的特征计算和匹配,所以时间比其他方法快.下面是PCL官网上的一个例 ...
随机推荐
- nginx配置服务
在nginx中的conf的文件夹里面的nginx.conf文件中 server { listen 8888; server_name localhost; location / { root C:/P ...
- Hbase Bulkload
前言 Apache HBase 是目前大数据系统中应用最为广泛的分布式数据库之一.我们经常面临向 HBase 中导入大量数据的情景,通常会选择使用标准的客户端 API 对 HBase 进行直接的操作, ...
- SNOI2017炸弹
这个东西其实我是不太会的……但是勉强卡过去了. 首先肯定是建有向图,然后求每个节点能访问的节点个数,最裸的打法就是按照题意枚举建边然后tarjan缩点,用bitset记录一下访问节点,但是bitset ...
- JSP自定义标签的执行原理
当浏览器发来请求后,会将这个请求交给JSP翻译成的servlet来处理,自定义标签对应servlet中一个方法的调用,这个方法主要步骤如下 1,产生标签处理类的实例对象 2,将pageContext传 ...
- Linux远程连接工具 Shell Xshell6 XFtp6 绿色破解免安装版
百度云下载链接: https://pan.baidu.com/s/1HMkuxv1yaAM1yhtz09zpfQ 关注以下公众号,回复xshell,获取提取码 关注公众号githubcn,免费获取更多 ...
- Nginx事件管理之核心模块ngx_events_module
1. ngx_events_module核心模块的功能介绍 ngx_events_module 模式是一个核心模块,它的功能如下: 定义新的事件类型 定义每个事件模块都需要实现的ngx_event_m ...
- iframe 跨域传参
parent-index.html: (本地起服务,放在5000端口上) <div class="content"> <iframe src="http ...
- PMML辅助机器学习算法上线
在机器学习用于产品的时候,我们经常会遇到跨平台的问题.比如我们用Python基于一系列的机器学习库训练了一个模型,但是有时候其他的产品和项目想把这个模型集成进去,但是这些产品很多只支持某些特定的生产环 ...
- openerp学习笔记 搜索视图(自己创建的、自己的、本部门的、本部门及下属部门的、今日的、日期从,日期至、多条件模糊搜索、or、and)
自己创建的: domain="[('create_uid','=',uid)]" 自己的: domain="[('employee_id','=','#kl_user_e ...
- Host x.x.x.x not found in /root/.ssh/known_hosts
候解决办法是,只要找到电脑里“.ssh” 文件夹,将文件夹里的文件”known_hosts”删除掉或者担心删除了会有风险,改个名字,然后在重新提交的时候,就能正确提交了 将known_hosts删掉或 ...