【发布时间】:2021-11-24 00:51:43
【问题描述】:
我正在执行数据科学并正在计算到达时间的泊松分布的对数似然。
def LogLikelihood(arrival_times, _lambda):
"""Calculate the likelihood that _lambda predicts the arrival_times well."""
ll = 0
for t in arrival_times:
ll += -(_lambda) + t*np.log(_lambda) - np.log(factorial(t))
return ll
数学上,表达式在最后一行:
有没有更 Pythonic 的方式来执行这个求和?也许在一行?
【问题讨论】:
-
您可以使用推导式 (
ll = sum(... for t in arrival_times)) 来编写它,但这需要同样的时间,而且我不相信它更具可读性。
标签: python numpy data-science log-likelihood