📌  相关文章
📜  均值 =[0,0] 协方差 = [[1,0],[0,100]] ds = np.random.multivariate_normal(mean,covariance,500) dframe = pd.DataFrame(ds, columns=['col1', ' col2']) fig = sns.kdeplot(dframe).get_figure() fig.savefig('kde1.png') - Python (1)

📅  最后修改于: 2023-12-03 15:37:47.648000             🧑  作者: Mango

数据可视化示例:高斯分布的核密度估计

本示例代码使用 Python 的 NumPy 和 Pandas 库生成服从指定均值和协方差的高斯分布样本,并使用 Seaborn 库绘制其核密度估计图。

以下是示例程序的代码片段:

import numpy as np
import pandas as pd
import seaborn as sns

# 定义高斯分布的均值和协方差
mean = [0, 0]
covariance = [[1, 0], [0, 100]]

# 生成 500 个服从指定分布的样本
ds = np.random.multivariate_normal(mean, covariance, 500)

# 将样本转换成 Pandas 数据帧
dframe = pd.DataFrame(ds, columns=['col1', 'col2'])

# 绘制核密度估计图并输出到文件
fig = sns.kdeplot(dframe).get_figure()
fig.savefig('kde1.png')

该程序生成 500 个服从均值为 [0, 0]、协方差矩阵为 [[1, 0], [0, 100]] 的高斯分布样本,将其转换成 Pandas 数据帧后,使用 Seaborn 库绘制其核密度估计图并输出到文件 kde1.png。

运行该程序得到的结果如下图所示:

高斯分布的核密度估计图

可以看到,数据在坐标系原点附近的密度很高,随着距离原点的远离,密度逐渐变低,且沿着坐标轴的密度值上升得非常快。这是由协方差矩阵中的 100 引起的,该矩阵表明样本在 y 轴方向上的方差要比在 x 轴方向上的方差大 100 倍,因此 y 轴方向上的密度值变化得非常迅速。

该示例程序展示了如何使用 Python 和相关库进行可视化分析,并通过核密度估计图反映数据的分布特征。借助这些工具,程序员可以更加直观地理解数据,发现潜在的规律和趋势。