rand.multivariate_normal 函数在哪?用 Python 生成多维正态分布样本
'rand.multivariate_normal' 函数并不是 Python 或 NumPy 库中的内置函数,你可能将其与其他函数混淆了。
想要在 Python 中生成多维正态分布的随机样本,你需要使用 SciPy 库中的 'scipy.stats.multivariate_normal' 函数。
以下是如何使用 'scipy.stats.multivariate_normal' 函数的示例:
import numpy as np
from scipy.stats import multivariate_normal
# 定义均值向量和协方差矩阵
mean = [0, 0]
cov = [[1, 2], [2, 5]]
# 生成 100 个样本
X = multivariate_normal.rvs(mean, cov, size=100)
print(X.shape) # 输出 (100, 2)
在这个示例中:
- 我们首先导入必要的库:'numpy' 用于数值计算,'scipy.stats' 中的 'multivariate_normal' 用于生成多维正态分布样本。
- 我们定义了均值向量 'mean' 和协方差矩阵 'cov',它们定义了所需的多维正态分布。
- 使用 'multivariate_normal.rvs(mean, cov, size=100)' 生成 100 个来自指定分布的随机样本,并将结果存储在 'X' 中。
- 最后,我们打印 'X' 的形状,它应该是 (100, 2),表示我们生成了 100 个二维样本。
请确保你已安装 SciPy 库。如果未安装,可以使用 'pip install scipy' 命令进行安装。
原文地址: https://www.cveoy.top/t/topic/RtO 著作权归作者所有。请勿转载和采集!