99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
首頁精彩閱讀Python實現的概率分布運算操作示例
Python實現的概率分布運算操作示例
2017-09-16
收藏

Python實現的概率分布運算操作示例

這篇文章主要介紹了Python實現的概率分布運算操作,涉及Python概率運算與圖形繪制相關操作技巧,需要的朋友可以參考下


本文實例講述了Python實現的概率分布運算操作。分享給大家供大家參考,具體如下:

1. 二項分布(離散)

importnumpy as np
fromscipyimportstats
importmatplotlib.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. 正態(tài)分布(連續(xù))



'''
密度函數: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)
# 之所以稱為密度,是因為連續(xù)的點,默認體積為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)
# 偽造符合正態(tài)分布的隨機變量X
# 通過loc和scale參數可以指定隨機變量的偏移和縮放參數。對于正態(tài)分布的隨機變量來說,這兩個參數相當于指定其期望值和標準差:
X=stats.norm.rvs(loc=1.0, scale=2.0, size=1000)
#⑨作出上面正態(tài)分布隨機變量的頻率分布直方圖
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)



數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
客服在線
立即咨詢
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機數防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調用 initGeetest 進行初始化 // 參數1:配置參數 // 參數2:回調,回調的第一個參數驗證碼對象,之后可以使用它調用相應的接口 initGeetest({ // 以下 4 個配置參數為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺檢測極驗服務器是否宕機 new_captcha: data.new_captcha, // 用于宕機時表示是新驗證碼的宕機 product: "float", // 產品形式,包括:float,popup width: "280px", https: true // 更多配置參數說明請參見:http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計時完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }