【发布时间】:2020-04-23 05:59:48
【问题描述】:
我有数据
from scipy.stats.kde import gaussian_kde
import numpy as np
from scipy import integrate
data1 = np.linspace(0,1,50)
data2 = np.linspace(0.1,0.9,50)
data3 = np.linspace(0,0.7,50)
data4 = np.linspace(0.1,1,50)
我需要在所有变量上集成密度乘法
kde1 = gaussian_kde(data1)
kde2 = gaussian_kde(data2)
kde3 = gaussian_kde(data3)
kde4 = gaussian_kde(data4)
print(integrate.nquad(lambda x1,x2,x3,x4: kde1(x1)*kde2(x2)*kde3(x3)*kde4(x4),
[[-1,1],[-1,1],[-1,1],[-1,1]])[0])
我认为这是真正的解决方案,但它的工作速度非常慢(超过 10 分钟)。有没有可能让它更快?
【问题讨论】:
标签: python integration probability-density kernel-density