Python에서 누적 분포 함수 계산
용어 누적 분포 함수 또는CDF
는 함수y=f(x)
입니다. 여기서y
는 분포에서 무작위로 선택되는 정수x
또는x
보다 낮은 숫자의 확률을 나타냅니다.
NumPy
라이브러리의 다음 함수를 사용하여 Python에서 계산됩니다.
- 균등 한 간격 값의
ndarray
를 반환하는numpy.arange()
함수. - 주어진 간격 내에서 균일 한 간격의 값의
ndarray
를 반환하는numpy.linspace()
함수.
numpy.arange()
를 사용하여 Python에서 CDF를 계산합니다
NumPy
표준 라이브러리에는 Python에서 CDF를 결정하는 데 사용되는arange()
함수가 포함되어 있습니다.
이를 위해 먼저NumPy
라이브러리를 가져 오십시오.
arange()
함수는 균등 한 간격 값의ndarray
를 반환합니다.
다음은 Python에서numpy.arange()
함수를 사용하여 CDF 함수를 구현하는 방법을 보여주는 예입니다.
import matplotlib.pyplot as plt
import numpy
data = numpy.random.randn(5)
print("The data is-", data)
sorted_random_data = numpy.sort(data)
p = 1.0 * numpy.arange(len(sorted_random_data)) / float(len(sorted_random_data) - 1)
print("The CDF result is-", p)
fig = plt.figure()
fig.suptitle("CDF of data points")
ax2 = fig.add_subplot(111)
ax2.plot(sorted_random_data, p)
ax2.set_xlabel("sorted_random_data")
ax2.set_ylabel("p")
여기서randn()
함수는 표준 정규 분포를 사용하여 데이터 샘플을 반환하는 데 사용됩니다. randn(5)
이 언급되었으므로 1Darray는 5 개의 임의 값으로 빌드됩니다.
다음으로sort()
함수를 사용하여 데이터를 정렬 한 다음arange()
함수를 사용하여 CDF를 계산합니다.
출력 :
The data is- [ 0.14213322 -1.28760908 0.94533922 0.82004319 1.08232731]
The CDF result is- [0. 0.25 0.5 0.75 1. ]
그래프는 CDF 기능에 따라 표시됩니다.
numpy.linspace()
를 사용하여 Python에서 CDF를 계산합니다
NumPy
표준 라이브러리에는 Python에서 CDF를 결정하는 데 사용되는linspace()
함수가 포함되어 있습니다. 이를 위해 먼저NumPy
라이브러리를 가져옵니다.
linspace()
함수는 지정된 간격 동안 균등 한 간격의 숫자의ndarray
를 반환합니다.
다음은 Python에서numpy.linspace()
를 사용하여 CDF 함수를 구현하는 방법을 보여주는 예입니다.
import matplotlib.pyplot as plt
import numpy as np
data = np.random.randn(5)
print("The data is-", data)
sorted_random_data = np.sort(data)
np.linspace(0, 1, len(data), endpoint=False)
print("The CDF result using linspace =\n", p)
fig = plt.figure()
fig.suptitle("CDF of data points")
ax2 = fig.add_subplot(111)
ax2.plot(sorted_random_data, p)
ax2.set_xlabel("sorted_random_data")
ax2.set_ylabel("p")
여기서randn()
함수는 표준 정규 분포를 사용하여 데이터 샘플을 반환하는 데 사용됩니다. 다음으로sort()
함수를 사용하여 데이터를 정렬 한 다음arange()
함수를 사용하여 CDF를 계산합니다.
출력:
The data is- [-0.92106668 -0.05998132 0.02102705 -0.84778184 0.90815869]
The CDF result using linspace =
[0. 0.25 0.5 0.75 1. ]
그래프는 CDF 기능에 따라 아래와 같이 표시됩니다.