python高斯求和_基于python的二维散射图高斯求和

我试图建立一个人们通常所说的自制KDE——我想。我试图评估一组相当大的数据点的密度。特别是,对于一个散点有很多数据点,我想用颜色渐变来表示密度(见下面的链接)。在

为了举例说明,我在下面提供了一对随机的(x,y)数据。实际数据将以不同的比例分布,因此X和Y网格点间距不同。在import numpy as np

from matplotlib import pyplot as plt

def homemadeKDE(x, xgrid, y, ygrid, sigmaX = 1, sigmaY = 1):

a = np.exp( -((xgrid[:,None]-x)/(2*sigmaX))**2 )

b = np.exp( -((ygrid[:,None]-y)/(2*sigmaY))**2 )

xweights = np.dot(a, x.T)/np.sum(a)

yweights = np.dot(b, y.T)/np.sum(b)

return xweights, yweights

x = np.random.rand(10000)

x.sort()

y = np.random.rand(10000)

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

yGrid = np.linspace(0, 10, 11)

newX, newY = homemadeKDE(x, xGrid, y, yGrid)

我一直坚持的是,如何将这些值投影回原始的x和y向量,以便我可以使用它来绘制2D散点图(x,y),其中密度的z值由给定的颜色贴图着色,如下所示:

^{pr2}$

绘图和KDE方法实际上是受到了这个伟大的answer的启发

编辑1

为了消除一些混乱,我们的想法是做一个高斯KDE,它将在一个更粗糙的网格上。sigy和sigy分别反映了sigy和max的方向。在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值