n元高斯模型概率密度函python实现
时间: 2023-09-01 15:04:38 浏览: 47
高斯模型概率密度函数在统计学中被广泛应用,用于描述连续型变量的概率分布。n元高斯模型是高斯模型的一种拓展形式,适用于多维数据。下面是用Python实现n元高斯模型概率密度函数的代码:
```python
import numpy as np
def gaussian_pdf(x, mean, cov):
"""
计算n元高斯模型的概率密度函数值
参数:
x:输入的n维数据点
mean:均值向量,长度为n
cov:协方差矩阵,维度为(n, n)
返回值:
p:概率密度函数值
"""
n = len(x)
exponent = -0.5 * np.dot(np.dot((x - mean).T, np.linalg.inv(cov)), (x - mean))
coefficient = 1 / np.sqrt((2 * np.pi) ** n * np.linalg.det(cov))
p = coefficient * np.exp(exponent)
return p
# 示例用法
x = np.array([1, 2])
mean = np.array([0, 0])
cov = np.array([[1, 0.5], [0.5, 1]])
p = gaussian_pdf(x, mean, cov)
print(p)
```
在上述代码中,我们首先导入了NumPy库,它提供了用于处理向量和矩阵的功能。然后,我们定义了一个名为`gaussian_pdf`的函数,该函数接受输入的n维数据点、均值向量和协方差矩阵,并计算概率密度函数的值。最后,我们给出了一个示例用法,通过传入一个n维数据点、均值向量和协方差矩阵,计算并打印出了概率密度函数的值。
注意,在实际应用中,我们可能需要对输入的数据进行预处理、验证协方差矩阵的合法性等。这里仅提供了基本的实现供参考。