首页 技术 正文
技术 2022年11月23日
0 收藏 829 点赞 4,825 浏览 947 个字

从多元正态分布中抽取随机样本。

多元正态分布,多正态分布或高斯分布是一维正态分布向更高维度的推广。这种分布由其均值和协方差矩阵来确定。这些参数类似于一维正态分布的平均值(平均值或“中心”)和方差(标准差或“宽度”,平方)。

np.random.multivariate_normal方法用于根据实际情况生成一个多元正态分布矩阵,其在Python3中的定义如下:

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

mean:多元正态分布的维度。(长度为N的一维数组)

示例:mean = [0, 0]  # 1行2列的一维数组,numpy.ramdom.randn()可以生成一维矩阵。

cov:多元正态分布的协方差矩阵,且协方差矩阵必须是对称矩阵和半正定矩阵(形状为(N,N)的二维数组)。

示例:cov = [[1. 0.],  [0. 1.]]  # 可以使用numpy.eye()生成对角矩阵。

size: 数组的形状(整数或者由整数构成的元组)。如果该值未给定,则返回单个N维的样本(N恰恰是上面mean的长度)。

示例:size = (3, 3) # 生成的数组的每一个元素是3行3列的矩阵。

check_valid: 当协方差(上面的cov)矩阵不是半正定矩阵时,程序的处理方式(一共有三种方式:{ ‘warn’, ‘raise’, ‘ignore’ })。igore:忽略协方差矩阵不是半正定矩阵的问题,生成数组。warn:输出警告,但是还是会生成数组。raise:程序报错,且不会生成数组,。

tol:当协方差矩阵只有一个值时,生成的公差(浮点数)。

函数示例:

# -*- coding:utf-8 -*-
import numpy as npmean = np.random.randn(2)
cov = np.eye(2)
size = (2, 2)
result = np.random.multivariate_normal(mean, cov, size)
print(result)
"""
[[[ 0.90692543 0.62903795]
[ 0.82555536 1.50642889]]
[[-0.93568255 1.34735664]
[-1.26203814 0.37840301]]]"""
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,183
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,644
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,488
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,260
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,897
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:5,062