我需要在我正在编程的 Python 应用程序中使用概率和累积密度函数。SciPy 两者都提供,但对于这两个函数来说似乎过于依赖了。没有 SciPy,PDF 似乎很容易实现。(来自文档:)
范数的概率密度函数是:
norm.pdf(x) = exp(-x**2/2)/sqrt(2*pi)
有没有办法在不使用 SciPy 的情况下获得 CDF?
我需要在我正在编程的 Python 应用程序中使用概率和累积密度函数。SciPy 两者都提供,但对于这两个函数来说似乎过于依赖了。没有 SciPy,PDF 似乎很容易实现。(来自文档:)
范数的概率密度函数是:
norm.pdf(x) = exp(-x**2/2)/sqrt(2*pi)
有没有办法在不使用 SciPy 的情况下获得 CDF?
看到这个帖子:
from math import *
def erfcc(x):
"""Complementary error function."""
z = abs(x)
t = 1. / (1. + 0.5*z)
r = t * exp(-z*z-1.26551223+t*(1.00002368+t*(.37409196+
t*(.09678418+t*(-.18628806+t*(.27886807+
t*(-1.13520398+t*(1.48851587+t*(-.82215223+
t*.17087277)))))))))
if (x >= 0.):
return r
else:
return 2. - r
def ncdf(x):
return 1. - 0.5*erfcc(x/(2**0.5))