我试图使用Seaborn的联合绘图功能来创建2D内核密度估计。我过去使用过R'''包计算插件带宽并按如下方式计算KDE(我不想使用"经验法则"方法):
library(ks)
data(unicef)
x_vals <- unicef[sample(nrow(unicef), 10), 1]
y_vals <- unicef[sample(nrow(unicef), 10), 1]
mydf <- data.frame(x_vals, y_vals)
H <- Hpi(mydf)
fhat <- kde(x=mydf, H=H)
plot(fhat)
上面的代码片段为带宽H返回2 x 2矩阵。
我想在Seaborn的jointplot功能中使用相同的带宽计算。两个问题:i)是否有一种以Python为中心的方法来计算带宽,如上面的R方式? ii)一旦我有带宽,我如何将它传递给joinpoint,因为它接受一个值列表而不是一个矩阵?
由于