Python 이 실현 하 는 확률 분포 연산 작업 예제
1.두 가지 분포(이산)
import numpy as np
from scipy import stats
import matplotlib.pyplot as plt
'''
# (binomial distribution)
# : 、 、
# , A p, n k A :
# f(n,k,p) = choose(n, k) * p**k * (1-p)**(n-k)
'''
# ①
p = 0.4 # A 0.4
n = 5 # 5
k = np.arange(n+1) # 6
#k = np.linspace(stats.binom.ppf(0.01,n,p), stats.binom.ppf(0.99,n,p), n+1) #
# ② (probability mass function)
# , , ( ) 1
# P(X=x) -->
probs = stats.binom.pmf(k, n, p)
#array([ 0.07776, 0.2592 , 0.3456 , 0.2304 , 0.0768 , 0.01024])
#plt.plot(k, probs)
# ③ (cumulative density function)
# P(X<=x) -->
cumsum_probs = stats.binom.cdf(k, n, p)
#array([ 0.07776, 0.33696, 0.68256, 0.91296, 0.98976, 1. ])
# ④ k, , cumsum_probs
k2 = stats.binom.ppf(cumsum_probs, n, p)
#array([0, 1, 2, 3, 4, 5])
# ⑤ (random variates)
X = stats.binom.rvs(n,p,size=20)
#array([2, 3, 1, 2, 2, 2, 1, 2, 2, 3, 3, 0, 1, 1, 1, 2, 3, 4, 0, 3])
#⑧ ( group by)
plt.hist(X)
#⑨
plt.hist(X, normed=True)
plt.show()
2.정상 분포(연속)
'''
:f(x) = exp(-x**2/2)/sqrt(2*pi)
'''
x = np.linspace(stats.norm.ppf(0.01), stats.norm.ppf(0.99), 100)
# (Probability density function)
# , , 0
# f(x) -->
probs = norm.pdf(x)
# plt.plot(x, probs, 'r-', lw=5, alpha=0.6, label='norm pdf')
# Cumulative density function
# ∫_-oo^a f(x)dx -->
cumsum_probs = stats.norm.cdf(x)
# X
# loc scale 。 , :
X = stats.norm.rvs(loc=1.0, scale=2.0, size=1000)
#⑨
plt.hist(X, normed=True, histtype='stepfilled', alpha=0.2)
plt.legend(loc='best', frameon=False)
plt.show()
# 。 , X
mean, std = stats.norm.fit(X)
#array(1.01810091), array(2.00046946)
첨부:NumPy,Scipy,MatPlotLib 모듈 다운로드 주소:NumPy: http://sourceforge.net/projects/numpy/files/NumPy/1.9.2/
SciPy: http://sourceforge.net/projects/scipy/files/scipy/0.15.1/
MatPlotLib: http://matplotlib.org/downloads.html
더 많은 파 이 썬 관련 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있다.
본 논문 에서 말 한 것 이 여러분 의 Python 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성 같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.