我正在尝试使用scipy将自定义分布适合大型(〜O(500,000)个测量值)数据集。我已经基于其他一些因素得出了理论上的PDF,但是无论是手工操作还是使用符号集成软件,我都无法找到CDF的确切形式。
当前,仅从我的自定义分布中评估1000个随机样本是很昂贵的,我认为这是由于需要反转未知的CDF。如果我找不到CDF的显式形式并且它是相反的,那么我还能采取其他措施来加快CDF的使用速度吗?
我已经使用过maple,matlab和Sympy来尝试确定CDF,但是都没有给出结果。我还尝试了对数据进行下采样,同时仍然保留了tail属性,但这仍然需要大量数据,以至于在分发过程中执行任何操作都很缓慢。
我的发行版是SciPy的rv_continuous类的子类。
谢谢您的建议。
答案 0 :(得分:0)
听起来您想从Kernel Density Estimation的概率分布中取样。尽管Scipy确实提供了高斯内核程序包,但对于许多测量,使用sklearn's implementation会更好。可以在Jake VanderPlas的blog上找到带有代码示例的好资源。