【发布时间】:2020-09-11 16:08:04
【问题描述】:
我现在使用scipy 进行一些norm.pdf 和norm.cdf 计算。我想知道为什么cdf 比pdf 快?
我知道norm.cdf 有一些渐近方法,而在scipy 中似乎使用了norm.pdf 的集成。这就是为什么我无法想象cdf 比pdf 快。如果是集成的话,cdf 应该比pdf 慢很多(也许并行计算能帮上大忙?);如果应用渐近方法,我仍然认为cdf 可能比pdf 慢一点。
下面是一些简单的示例:
import scipy.stats as st
from datetime import datetime
import numpy as np
num_iter = 100000
x_lower = 0.25
x_upper = 0.75
time_start = datetime.now()
for x in np.arange(x_lower, x_upper, (x_upper - x_lower) / (num_iter - 1)):
y = st.norm.pdf(x)
time_end = datetime.now()
print(time_end - time_start)
time_start = datetime.now()
for x in np.arange(x_lower, x_upper, (x_upper - x_lower) / (num_iter - 1)):
y = st.norm.cdf(x)
time_end = datetime.now()
print(time_end - time_start)
以下是运行结果:
0:00:05.736985
0:00:04.896390
【问题讨论】:
标签: python scipy statistics normal-distribution