python生成高斯分布,python生成高斯分布随机数
我在尝试打造人们通常所说的自制KDE——,我想。我正试图评估一组相当大的数据点的密度。特别是对于一个有很多数据点的散乱点,我想用颜色渐变来表示密度(见下面的链接)。在
为了说明,我在下面提供了一对随机(x,y)数据。实际数据会以不同的比例分布,所以X和Y网格点的间距是不一样的。将numpy作为np导入时
从matplotlib导入pyplot作为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)
返回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的方法实际上是受了这个伟大答案的启发。
1编辑
为了消除一些混乱,我们的想法是做一个大眼睛的外套KDE,这将是一个更粗糙的网格。Sigy和sigy分别反映了sigy和max的方向。在
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。