Python 이 실현 하 는 확률 분포 연산 작업 예제

3112 단어 Python확률.운산
본 논문 의 사례 는 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 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기