什么是 KDE?
什么是 KDE?
- KDE 的作用是什么?
- KDE 是怎么工作的?
- 如何用 Python 绘制 KDE?(代码示例)
- 结果解读
- 小结
KDE 是 Kernel Density Estimation 的缩写,中文叫作“核密度估计”。它是一种用来估计数据分布的方法。简单来说,KDE 可以帮助我们画出一条平滑的曲线,告诉我们数据在哪里比较多,在哪里比较少。
比如,如果我们统计班级同学的身高分布,KDE 能用一条漂亮的曲线直观地展示出哪个范围的身高人数最多。
KDE 的作用是什么?
- 看分布:KDE 能帮我们直观了解数据的分布规律,比用柱状图更平滑。
- 找高峰:通过 KDE 曲线,我们可以轻松找到数据的集中区域(高峰)。
- 对比数据集:如果有多个数据集,KDE 能让我们快速对比它们的分布。
KDE 是怎么工作的?
KDE 的原理是:
- 每一个数据点周围都会生成一个小“山丘”。
- 把所有的“山丘”加起来,得到一条平滑的曲线。
- 山丘的宽度由一个叫 “核宽度” 的参数控制,宽度大时曲线更平滑,宽度小时曲线更贴近数据。
如何用 Python 绘制 KDE?(代码示例)
下面用一个简单的例子展示如何画 KDE 图:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# 生成模拟数据
np.random.seed(42)
data = pd.DataFrame({
"Group1": np.random.normal(0, 1, 1000), # 第一组数据
"Group2": np.random.normal(1, 1, 1000), # 第二组数据
"Group3": np.random.normal(0.5, 1, 1000), # 第三组数据
"Group4": np.random.normal(-1, 1, 1000), # 第四组数据
})
# 绘制 KDE 子图
fig, axes = plt.subplots(2, 2, figsize=(10, 6), sharex=True, sharey=True)
for ax, (col_name, values) in zip(axes.ravel(), data.items()):
values.plot.kde(ax=ax, title=col_name, ylim=(0, 0.5))
# 设置整体布局
plt.tight_layout()
plt.show()
结果解读
运行代码后,你会看到一个 2x2 的子图布局,每一张子图展示了一个数据组的 KDE 曲线。你可以从中看到:
- 曲线的高峰代表数据集中的值最多的地方。
- 曲线的宽度反映了数据的分布范围。
小结
KDE 是一种很方便的工具,它可以帮助我们快速了解数据的分布规律。它适用于:
- 想要观察数据集中趋势时。
- 希望对比多个数据分布情况时。