python 概率分布_python實現概率分布

伯努利分布

from scipy import stats

import numpy as np

import matplotlib.pyplot as plt

x=np.arange(0,2,1)

x

array([0, 1])

# 求對應分布的概率:概率質量函數 (PMF)

p=0.5# 硬幣朝上的概率

df=stats.bernoulli.pmf(x,p)

df

array([0.5, 0.5])

#繪圖

'''vlines用于繪制豎直線(vertical lines),參數說明:vline(x坐標值, y坐標最小值, y坐標值最大值)我們傳入的X是一個數組,是給數組中的每個x坐標值繪制豎直線,豎直線y坐標最小值是0,y坐標值最大值是對應pList中的值'''

plt.plot(x,df,marker='o',linestyle='None')

plt.vlines(x,0,df)

plt.xlabel('隨機變量:拋硬幣1次')

plt.ylabel('概率')

plt.title('伯努利分布:p=%.2f' % p)

plt.show()

二項分布

'''

arange用于生成一個等差數組,arange([start, ]stop, [step, ]

'''

#第1步,定義隨機變量:5次拋硬幣,正面朝上的次數

n = 5 # 做某件事情的次數

p = 0.5 # 做某件事情成功的概率

X = np.arange(0, n+1,1)

X

array([0, 1, 2, 3, 4, 5])

#第2步,#求對應分布的概率:概率質量函數 (PMF)

#它返回一個列表,列表中每個元素表示隨機變量中對應值的概率

pList = stats.binom.pmf(X, n, p)

pList

array([ 0.03125, 0.15625, 0.3125 , 0.3125 , 0.15625, 0.03125])

#第3步,繪圖

'''

plot默認繪制折線,這里我們只繪制點,所以傳入下面的參數:

marker:點的形狀,值o表示點為圓圈標記(circle marker)

linestyle:線條的形狀,值None表示不顯示連接各個點的折線

'''

plt.plot(X, pList, marker='o',linestyle='None')

'''

vlines用于繪制豎直線(vertical lines),

參數說明:vline(x坐標值, y坐標最小值, y坐標值最大值)

我們傳入的X是一個數組,是給數組中的每個x坐標值繪制豎直線,

豎直線y坐標最小值是0,y坐標值最大值是對應pList中的值

'''

plt.vlines(X, 0, pList)

plt.xlabel('隨機變量:拋硬幣正面朝上次數')

plt.ylabel('概率')

plt.title('二項分布:n=%i,p=%.2f' % (n,p))

plt.show()

幾何分布

'''

arange用于生成一個等差數組,arange([start, ]stop, [step, ]

'''

'''

第1步,定義隨機變量:

首次表白成功的次數,可能是1次,2次,3次等

'''

#第k次做某件事情,才取到第1次成功

#這里我們想知道5次表白成功的概率

k = 5

# 做某件事情成功的概率,這里假設每次表白成功概率都是60%

p = 0.6

X = np.arange(1, k+1,1)

X

array([1, 2, 3, 4, 5])

'''

幾何分布官方使用文檔:

'''

#第2步,#求對應分布的概率:概率質量函數 (PMF)

#它返回一個列表,列表中每個元素表示隨機變量中對應值的概率

#分別表示表白第1次才成功的概率,表白第2次才成功的概率,表白第3次才成功的概率,表白第4次才成功的概率,表白第5次才成功的概率

pList = stats.geom.pmf(X,p)

pList

array([ 0.6 , 0.24 , 0.096 , 0.0384 , 0.01536])

#第3步,繪圖

plt.plot(X, pList, marker='o',linestyle='None')

'''

vlines用于繪制豎直線(vertical lines),

參數說明:vline(x坐標值, y坐標最小值, y坐標值最大值)

我們傳入的X是一個數組,是給數組中的每個x坐標值繪制豎直線,

豎直線y坐標最小值是0,y坐標值最大值是對應pList中的值

'''

plt.vlines(X, 0, pList)

plt.xlabel('隨機變量:表白第k次才首次成功')

plt.ylabel('概率')

plt.title('幾何分布:p=%.2f' % p)

plt.show()

泊松分布

'''

第1步,定義隨機變量:

已知某路口發生事故的比率是每天2次,

那么在此處一天內發生k次事故的概率是多少?

'''

mu = 2 # 平均值:每天發生2次事故

k=4 #次數,現在想知道每天發生4次事故的概率

#包含了發生0次、1次、2次,3次,4次事故

X = np.arange(0, k+1,1)

X

array([0, 1, 2, 3, 4])

#第2步,#求對應分布的概率:概率質量函數 (PMF)

#它返回一個列表,列表中每個元素表示隨機變量中對應值的概率

#分別表示發生1次,2次,3次,4次事故的概率

pList = stats.poisson.pmf(X,mu)

pList

array([ 0.13533528, 0.27067057, 0.27067057, 0.18044704, 0.09022352])

#第3步,繪圖

plt.plot(X, pList, marker='o',linestyle='None')

'''

vlines用于繪制豎直線(vertical lines),

參數說明:vline(x坐標值, y坐標最小值, y坐標值最大值)

我們傳入的X是一個數組,是給數組中的每個x坐標值繪制豎直線,

豎直線y坐標最小值是0,y坐標值最大值是對應pList中的值

'''

plt.vlines(X, 0, pList)

plt.xlabel('隨機變量:某路口發生k次事故')

plt.ylabel('概率')

plt.title('泊松分布:平均值mu=%i' % mu)

plt.show()

正態分布

'''

arange用于生成一個等差數組,arange([start, ]stop, [step, ]

'''

'''

第1步,定義隨機變量:

'''

mu=0 #平均值

sigma= 1 #標準差

X = np.arange(-5, 5,0.1)

X

array([ -5.00000000e+00, -4.90000000e+00, -4.80000000e+00,

-4.70000000e+00, -4.60000000e+00, -4.50000000e+00,

-4.40000000e+00, -4.30000000e+00, -4.20000000e+00,

-4.10000000e+00, -4.00000000e+00, -3.90000000e+00,

-3.80000000e+00, -3.70000000e+00, -3.60000000e+00,

-3.50000000e+00, -3.40000000e+00, -3.30000000e+00,

-3.20000000e+00, -3.10000000e+00, -3.00000000e+00,

-2.90000000e+00, -2.80000000e+00, -2.70000000e+00,

-2.60000000e+00, -2.50000000e+00, -2.40000000e+00,

-2.30000000e+00, -2.20000000e+00, -2.10000000e+00,

-2.00000000e+00, -1.90000000e+00, -1.80000000e+00,

-1.70000000e+00, -1.60000000e+00, -1.50000000e+00,

-1.40000000e+00, -1.30000000e+00, -1.20000000e+00,

-1.10000000e+00, -1.00000000e+00, -9.00000000e-01,

-8.00000000e-01, -7.00000000e-01, -6.00000000e-01,

-5.00000000e-01, -4.00000000e-01, -3.00000000e-01,

-2.00000000e-01, -1.00000000e-01, -1.77635684e-14,

1.00000000e-01, 2.00000000e-01, 3.00000000e-01,

4.00000000e-01, 5.00000000e-01, 6.00000000e-01,

7.00000000e-01, 8.00000000e-01, 9.00000000e-01,

1.00000000e+00, 1.10000000e+00, 1.20000000e+00,

1.30000000e+00, 1.40000000e+00, 1.50000000e+00,

1.60000000e+00, 1.70000000e+00, 1.80000000e+00,

1.90000000e+00, 2.00000000e+00, 2.10000000e+00,

2.20000000e+00, 2.30000000e+00, 2.40000000e+00,

2.50000000e+00, 2.60000000e+00, 2.70000000e+00,

2.80000000e+00, 2.90000000e+00, 3.00000000e+00,

3.10000000e+00, 3.20000000e+00, 3.30000000e+00,

3.40000000e+00, 3.50000000e+00, 3.60000000e+00,

3.70000000e+00, 3.80000000e+00, 3.90000000e+00,

4.00000000e+00, 4.10000000e+00, 4.20000000e+00,

4.30000000e+00, 4.40000000e+00, 4.50000000e+00,

4.60000000e+00, 4.70000000e+00, 4.80000000e+00,

4.90000000e+00])

#第2步,概率密度函數(PDF)

y=stats.norm.pdf(X,mu,sigma)

#第3步,繪圖

'''

plot默認繪制折線

'''

plt.plot(X, y)

#x軸文本

plt.xlabel('隨機變量:x')

#y軸文本

plt.ylabel('概率:y')

#標題

plt.title('正態分布:$\mu$=%.1f,$\sigma^2$=%.1f' % (mu,sigma))

#網格

plt.grid()

#顯示圖形

plt.show()

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/258655.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/258655.shtml
英文地址,請注明出處:http://en.pswp.cn/news/258655.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

CodeForces 7D Palindrome Degree 字符串hash

題目鏈接&#xff1a;點擊打開鏈接 #include<stdio.h> #include<iostream> #include<string.h> #include<set> #include<vector> #include<map> #include<math.h> #include<queue> #include<string> #include<stdlib…

程序清單8-9 回送所有命令行參數和所有環境字符串

1 /*2 3 Name : test.c4 Author : blank5 Version :6 Copyright : Your copyright notice7 Description : 程序清單8-9 回送所有命令行參數和所有環境字符串8 9 */ 10 11 #include "ourhdr.h" 12 13 int main(int argc, char *argv[]) 14…

SQL快速入門

關系化數據庫保存關系模式數據的容器關系模式是對業務對象實體&#xff0c;屬性以及關系的抽象&#xff0c;提煉需求的名詞是建立實體關系模型常用的方法。要了解E-R實體關系圖的繪制。常用關系數據庫Microsoft SQL Server&#xff1b;微軟公司產品&#xff0c;中等規模數據庫&…

Faster RCNN minibatch.py解讀

minibatch.py 的功能是&#xff1a; Compute minibatch blobs for training a Fast R-CNN network. 與roidb不同的是&#xff0c; minibatch中存儲的并不是完整的整張圖像圖像&#xff0c;而是從圖像經過轉換后得到的四維blob以及從圖像中截取的proposals&#xff0c;以及與之對…

oracle精簡版_使用Entity Framework Core訪問數據庫(Oracle篇)

前言哇。。看看時間 真的很久很久沒寫博客了 將近一年了。最近一直在忙各種家中事務和公司的新框架 終于抽出時間來更新一波了。本篇主要講一下關于Entity Framework Core訪問oracle數據庫的采坑。。強調一下&#xff0c;本篇文章發布之前 關于Entity Framework Core訪問oracl…

interrupt、interrupted 、isInterrupted 區別

interrupt&#xff1a;調用方法&#xff0c;是線程處于中斷狀態&#xff0c;但是這個方法只是讓線程設置為中斷狀態&#xff0c;并不會真正的停止線程。支持線程中斷的方法就是在堅持線程中斷狀態&#xff0c;一旦線程中斷狀態被設置為中斷&#xff0c;就會拋出異常。interrupt…

java String部分源碼解析

String類型的成員變量 /** String的屬性值 */ private final char value[];/** The offset is the first index of the storage that is used. *//**數組被使用的開始位置**/private final int offset;/** The count is the number of characters in the String. *//**String中…

python在材料模擬中的應用_基于Python的ABAQUS二次開發及在板料快速沖壓成形模擬中的應用...

2009doi:1013969/j1issn1100722012120091041013基于Python的ABAQUS二次開發及在板料快速沖壓成形模擬中的應用(北京航空航天大學飛行器制造工程系,北京100191)吳向東劉志剛萬敏王文平黃霖摘要:采用Python腳本語言對ABAQUS的前處理模塊進行二次開發,討論了Python腳本在ABAQUS二次…

Doxygen簡介

&#xff08;轉自&#xff1a;http://www.cnblogs.com/liuliunumberone/archive/2012/04/10/2441391.html&#xff09; 一&#xff0e;什么是Doxygen? Doxygen 是一個程序的文件產生工具&#xff0c;可將程序中的特定批注轉換成為說明文件。通常我們在寫程序時&#xff0c;或多…

javascript之閉包理解以及應用場景

1 function fn(){2 var a 0;3 return function (){4 return a;5 } 6 }如上所示&#xff0c;上面第一個return返回的就是一個閉包&#xff0c;那么本質上說閉包就是一個函數。那么返回這個函數有什么用呢&#xff1f;那是因為這個函數可以調用到它外部的a…

faster rcnn學習之rpn、fast rcnn數據準備說明

在上文《 faster-rcnn系列學習之準備數據》,我們已經介紹了imdb與roidb的一些情況&#xff0c;下面我們準備再繼續說一下rpn階段和fast rcnn階段的數據準備整個處理流程。 由于這兩個階段的數據準備有些重合&#xff0c;所以放在一起說明。 我們并行地從train_rpn與train_fas…

sql server規范

常見的字段類型選擇 1.字符類型建議采用varchar/nvarchar數據類型2.金額貨幣建議采用money數據類型3.科學計數建議采用numeric數據類型4.自增長標識建議采用bigint數據類型 (數據量一大&#xff0c;用int類型就裝不下&#xff0c;那以后改造就麻煩了)5.時間類型建議采用為dat…

關于標準庫中的ptr_fun/binary_function/bind1st/bind2nd

http://www.cnblogs.com/shootingstars/archive/2008/11/14/860042.html 以前使用bind1st以及bind2nd很少&#xff0c;后來發現這兩個函數還挺好玩的&#xff0c;于是關心上了。在C Primer對于bind函數的描述如下&#xff1a;“綁定器binder通過把二元函數對象的一個實參綁定到…

CSS偽類

一、首字母的顏色字體寫法 p:first-letter 二、文本的特殊樣式設置 first-line css偽類可與css類配合使用 偽元素只能用于塊級元素 轉載于:https://www.cnblogs.com/boyblog/p/4623374.html

php 結構體_【開發規范】PHP編碼開發規范下篇:PSR-2編碼風格規范

之前的一篇文章是對PSR-1的基本介紹接下來是PSR-2 編碼風格規范&#xff0c;它是 PSR-1 基本代碼規范的繼承與擴展。PSR-1 和PSR-2是PHP開發中基本的編碼規范&#xff0c;大家其實都可以參考學習下&#xff0c;雖然說每個開發者都有自己熟悉的一套開發規范&#xff0c;但是我覺…

faster rcnn學習之rpn訓練全過程

上篇我們講解了rpn與fast rcnn的數據準備階段&#xff0c;接下來我們講解rpn的整個訓練過程。最后 講解rpn訓練完畢后rpn的生成。 我們順著stage1_rpn_train.pt的內容講解。 name: "VGG_CNN_M_1024" layer {name: input-datatype: Pythontop: datatop: im_infotop: …

BitMapData知識 轉

Bitmap和BitmapData 2010.5.25 smartblack整理 一、flash.display.Bitmap類及其兩個子類 1、繼承自DisplayObject&#xff0c;和InteractiveObject平級&#xff0c;所以無法調度鼠標事件&#xff0c;可以使用額外的包裝容器(Sprite)來實現偵聽。 2、只支持GIF、JPEG、PNG格式&a…

Android學習之高德地圖的通用功能開發步驟(二)

周一又來了&#xff0c;我就接著上次的開發步驟&#xff08;一&#xff09;來吧&#xff0c;繼續把高德地圖的相關簡單功能分享一下 上次寫到了第六步&#xff0c;接著寫第七步吧。 第七步&#xff1a;定位 地圖選點 路徑規劃 實時導航 以下是我的這個功能NaviMapActivity的…

Oracle中分區表中表空間屬性

Oracle中的分區表是Oracle中的一個很好的特性&#xff0c;可以把大表劃分成多個小表&#xff0c;從而提高對于該大表的SQL執行效率&#xff0c;而各個分區對應用又是透明的。分區表中的每個分區有獨立的存儲特性&#xff0c;包括表空間、PCT_FREE等。那分區表中的各分區表空間之…

期刊論文格式模板 電子版_期刊論文的框架結構

最近看到很火的一句話&#xff0c;若不是生活所迫&#xff0c;誰愿意把自己弄得一身才華。是否像極了正想埋頭苦寫卻毫無頭緒的你&#xff1f;發表期刊論文的用途 &#xff1a;1: 學校或者單位評獎&#xff0c;評優&#xff0c;推免等2&#xff1a;申領學位證(如畢業硬性要求&a…