'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)

在这个示例中:

  1. 我们首先导入必要的库:'numpy' 用于数值计算,'scipy.stats' 中的 'multivariate_normal' 用于生成多维正态分布样本。
  2. 我们定义了均值向量 'mean' 和协方差矩阵 'cov',它们定义了所需的多维正态分布。
  3. 使用 'multivariate_normal.rvs(mean, cov, size=100)' 生成 100 个来自指定分布的随机样本,并将结果存储在 'X' 中。
  4. 最后,我们打印 'X' 的形状,它应该是 (100, 2),表示我们生成了 100 个二维样本。

请确保你已安装 SciPy 库。如果未安装,可以使用 'pip install scipy' 命令进行安装。

rand.multivariate_normal 函数在哪?用 Python 生成多维正态分布样本

原文地址: https://www.cveoy.top/t/topic/RtO 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录