Python 没有SciPy的PDF和CDF

Python 没有SciPy的PDF和CDF,python,statistics,scipy,Python,Statistics,Scipy,我需要在我正在编程的Python应用程序中使用概率和累积密度函数。SciPy同时提供了这两个功能,但对于这两个功能来说,依赖性似乎太大了。没有SciPy,PDF似乎很容易实现 范数的概率密度函数为: norm.pdfx=exp-x**2/2/sqrt2*pi 有没有一种方法可以在不使用SciPy的情况下获得CDF?您正在查找错误函数,请参阅。它没有封闭形式的表示形式 请注意,math.erfx是在Python2.7中引入的。如果您使用的是早期版本,则必须使用 您正在查找错误函数,请参阅。它没有封

我需要在我正在编程的Python应用程序中使用概率和累积密度函数。SciPy同时提供了这两个功能,但对于这两个功能来说,依赖性似乎太大了。没有SciPy,PDF似乎很容易实现

范数的概率密度函数为:

norm.pdfx=exp-x**2/2/sqrt2*pi


有没有一种方法可以在不使用SciPy的情况下获得CDF?

您正在查找错误函数,请参阅。它没有封闭形式的表示形式


请注意,math.erfx是在Python2.7中引入的。如果您使用的是早期版本,则必须使用

您正在查找错误函数,请参阅。它没有封闭形式的表示形式

请注意,math.erfx是在Python2.7中引入的。如果您使用的是早期版本,则必须使用

见:

见:


手工集成!这有一个简单的公式。。。正当[提示:否]手动集成!这有一个简单的公式。。。正当[提示:否]
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))