gpt4 book ai didi

python - 如何绘制 seaborn 中两个分布的差异?

转载 作者:太空狗 更新时间:2023-10-30 02:53:27 24 4
gpt4 key购买 nike

我有以下代码来比较两个分布:

sns.kdeplot(df['term'][df['outcome'] == 0], shade=1, color='red')
sns.kdeplot(df['term'][df['outcome'] == 1], shade=1, color='green');

看起来像这样:

enter image description here

如何绘制两个分布的差异 (disA - disB)?当然,它可以包含负值。

最佳答案

由于两条 kde 曲线之间的差异不是 kde 曲线本身,您不能使用 kdeplot 来绘制该差异。

使用 scipy.stats.gaussian_kde 可以轻松计算出 kde。结果很容易用 pyplot 绘制。

import numpy as np; np.random.seed(0)
import matplotlib.pyplot as plt
import scipy.stats

a = np.random.gumbel(80, 25, 1000)
b = np.random.gumbel(90, 46, 4000)

kdea = scipy.stats.gaussian_kde(a)
kdeb = scipy.stats.gaussian_kde(b)

grid = np.linspace(0,500, 501)

plt.plot(grid, kdea(grid), label="kde A")
plt.plot(grid, kdeb(grid), label="kde B")
plt.plot(grid, kdea(grid)-kdeb(grid), label="difference")

plt.legend()
plt.show()

enter image description here

请注意,结果实际上只是曲线之间的差异(如所要求的那样);它根本没有统计相关性。

关于python - 如何绘制 seaborn 中两个分布的差异?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49487952/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com