Python使用numpy.random.multivariate_normal生成多维正态分布随机样本
import numpy as np
# 定义均值向量
mean = [0, 0]
# 定义协方差矩阵
cov = [[1, 2], [2, 5]]
# 生成100个样本的二维正态分布随机样本
X = np.random.multivariate_normal(mean, cov, 100)
print(X)
这段代码使用numpy.random.multivariate_normal函数来生成一个多维正态分布的随机样本。
- 导入numpy库: 首先,需要导入
numpy库,并使用别名np方便后续使用。 - 定义均值向量:
mean = [0, 0]定义了一个均值向量,它是一个包含两个元素的列表,表示在两个维度上的均值都为0。 - 定义协方差矩阵:
cov = [[1, 2], [2, 5]]定义了一个2x2的协方差矩阵,表示各个维度之间的协方差关系。具体地,cov = [[1, 2], [2, 5]]表示第一个维度与自身的方差为1,第二个维度与自身的方差为5,而两个维度之间的协方差为2。 - 生成随机样本:
np.random.multivariate_normal(mean, cov, 100)根据指定的均值向量mean和协方差矩阵cov,生成了一个100x2的二维数组X,其中每一行都代表一个从指定的多维正态分布中采样得到的样本点。每个样本点都有两个维度的值,符合指定的均值和协方差。
通过这段代码,你可以轻松地获取一个具有指定均值和协方差的多维正态分布样本,用于数据分析、模拟或其他应用。
原文地址: https://www.cveoy.top/t/topic/RsW 著作权归作者所有。请勿转载和采集!