我想做一个模拟目录。我可以访问两组真实数据,我想使用它们的属性来生成模拟目录:第一个包含来自幅度和红移( z
) 的信息。第二组包含有关星系大小和加权椭圆率的信息。
在我最终的模拟目录中,我想生成redshift和weighted ellipticity。我想使用幅度与红移和幅度与加权椭圆度的基本属性。但是,我也有一个定义明确的公式来描述红移的分布,其功能如下(GeneralRandom
是一个能够生成遵循给定分布的随机样本的类p(z)
):
ng=24000
def p(z):
z0=1./3.;eta=1.0
value=eta*(z**2)*np.exp(-1*(z/z0)**eta)/scipy.special.gamma(3./eta)/z0**3
return value
catalogue_generate=GeneralRandom(x=np.arange(0.0, 1.5, .001), p_func=p, Nrl=10000)
catalogue_generate.set_pdf(np.arange(0.0, 1.5, .001), catalogue_generate.p_val, 10000)
redshift=catalogue_generate.random( ng)[0]
redshift=random.sample(redshift, ng)
我使用定义的红移分布函数通过上述过程对红移进行采样。现在我很困惑如何将kde
两个分布的计算值结合起来并估计我感兴趣的参数,例如 weighted ellipticity
来自采样的模拟目录redshift
?该图说明了从两个已知的真实数据集估计的高斯 KDE 。我不知道如何独立使用 的输出stats.gaussian_kde
来插入计算redshift
并获得相应的magnitude
跟随2D kde
,然后从magnitude
上一步中的估计,估计 KDEmagnitude
并weight
估计weighted ellipticities
输入redshift
?说这个问题看起来像这样在统计上是否正确:
我也不知道计算,应该怎么做?!
如果有人能描述我如何解决我的问题以及一些 python 编程技巧或介绍有用的库,我将不胜感激。