正态分布的二维概率密度函数·
时间: 2024-12-29 16:16:39 浏览: 125
### 二维正态分布的概率密度函数
对于二维正态分布,其概率密度函数可以描述为:
\[ f(x,y) = \frac{1}{2\pi\sigma_x\sigma_y\sqrt{1-\rho^2}}\exp{\left(-\frac{z}{2(1-\rho^2)}\right)}, \]
其中 \( z=\frac{(x-\mu_x)^2}{\sigma_x^2}+\frac{(y-\mu_y)^2}{\sigma_y^2}-\frac{2\rho(x-\mu_x)(y-\mu_y)}{\sigma_x\sigma_y} \),\( \mu_x \) 和 \( \mu_y \) 是各自维度上的均值,而 \( \sigma_x \) 和 \( \sigma_y \) 则代表各自的标准差;参数 \( \rho \) 表示两变量间的相关系数[^5]。
下面是一个简单的 Python 实现例子,用来展示如何定义并绘制这样的二维正态分布的概率密度函数图像:
```python
import numpy as np
from scipy.stats import multivariate_normal
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
# 定义均值向量和协方差矩阵
mean_vector = [0, 0]
covariance_matrix = [[1, .8], [.8, 1]]
# 创建网格数据集
X, Y = np.meshgrid(np.linspace(-3, 3, 50), np.linspace(-3, 3, 50))
pos = np.dstack((X, Y))
# 初始化多元正态分布对象
rv = multivariate_normal(mean=mean_vector, cov=covariance_matrix)
# 计算PDF值
Z = rv.pdf(pos)
# 绘制三维图形
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.plot_surface(X, Y, Z, cmap='viridis')
plt.show()
```
此代码片段创建了一个具有特定均值向量 `mean_vector` 和协方差矩阵 `covariance_matrix` 的二元正态分布实例,并通过 Matplotlib 库将其可视化出来。这里使用的协方差矩阵指定了两个分量之间的线性关系强度——在这个案例里设置为了相对较高的正值 `.8` 来体现较强的正关联[^3]。
阅读全文
相关推荐

















