我在Python中使用norminv()
来计算正常的逆累积分布,但我发现它比Matlab中的for i in range(10000):
iri_next = norm.ppf(0.4, loc=0, scale=0.06)
慢得多。
for i=1:10000
IRI_next=norminv(0.4,0,0.06);
end
在Python中花费大约2秒,而
$.ajax({
url: "/family?idperson=1234",
dataType: 'json',
success: function(res) {
console.log(JSON.stringify(res, null, 4));
},
error: function(err) {
}
});
在Matlab中花费大约0.6秒
有没有一种有效的方法来计算Python中的正常逆累积分布?
答案 0 :(得分:2)
忽略使用相同的值调用函数10000次将为您提供相同返回值的10000倍的事实,您可以将数组作为第一个参数传递并一次获得10000个值
scipy.stats.norm.ppf(numpy.full(10000, 0.4), loc=0, scale=0.06)
在我的机器上0.006秒