1. 程式人生 > >第八九章 正態分佈與超越正態

第八九章 正態分佈與超越正態

正態分佈

對於正態分佈,首先補充其理論知識,然後我們根據<深入淺出統計學>中的計算步驟,進行程式設計實現.

正態分佈(Normal distribution),也稱“常態分佈”,又名高斯分佈(Gaussian distribution),最早由A.棣莫弗在求二項分佈的漸近公式中得到。C.F.高斯在研究測量誤差時從另一個角度匯出了它。P.S.拉普拉斯和高斯研究了它的性質。是一個在數學、物理及工程等領域都非常重要的概率分佈,在統計學的許多方面有著重大的影響力。
正態曲線呈鍾型,兩頭低,中間高,左右對稱因其曲線呈鐘形,因此人們又經常稱之為鐘形曲線。
若隨機變數X服從一個數學期望為μ、方差為σ^2的正態分佈,記為N(μ,σ^2)。其概率密度函式為正態分佈的期望值μ決定了其位置,其標準差σ決定了分佈的幅度。當μ = 0,σ = 1時的正態分佈是標準正態分佈。

定理

由於一般的正態總體其影象不一定關於y軸對稱,對於任一正態總體,其取值小於x的概率。只要會用它求正態總體在某個特定區間的概率即可。
為了便於描述和應用,常將正態變數作資料轉換。將一般正態分佈轉化成標準正態分佈。

服從標準正態分佈,通過查標準正態分佈表就可以直接計算出原正態分佈的概率值。故該變換被稱為標準化變換。(標準正態分佈表:標準正態分佈表中列出了標準正態曲線下從-∞到X(當前值)範圍內的面積比例。)

標準正態分佈

當 時,正態分佈就成為標準正態分佈

正態分佈公式

分佈曲線的圖形特徵

集中性:正態曲線的高峰位於正中央,即均數所在的位置。
對稱性:正態曲線以均數為中心,左右對稱,曲線兩端永遠不與橫軸相交。
均勻變動性:

正態曲線由均數所在處開始,分別向左右兩側逐漸均勻下降。
曲線與橫軸間的面積總等於1,相當於概率密度函式的函式從正無窮到負無窮積分的概率為1。即頻率的總和為100%。

關於μ對稱,並在μ處取最大值,在正(負)無窮遠處取值為0,在μ±σ處有拐點,形狀呈現中間高兩邊低,正態分佈的概率密度函式曲線呈鐘形,因此人們又經常稱之為鐘形曲線

正態分佈

正態概率計算三步走

  1. 確定分佈與範圍
    如果正態分佈適用於遇到的情況,則看看是否能求出均值和標準差.只要先得知這些資訊,才能求出概率;還需要弄清楚要求的是哪一部分面積
  2. 資料標準化
    使資料標準化,從而得到一個標準正態曲線.下面我會給出相應的程式碼.
  3. 查詢概率
    在原書中所寫的是在概率表中直接查詢相應的概率,但是在這裡我們只需要程式設計求得即可,不再需要這麼麻煩的操作.

例題與程式碼

能不能找到心上人-朱莉的相親問題

問: 朱莉有一個問題,她希望理想中的伴侶能夠比她高,最好能夠比穿上五英寸高跟鞋的她還要高,這樣她就可以自在的穿高跟鞋了。我們查詢資料,統計邦的男生身高服從於N(71,20.25),而朱莉身高64英寸,那麼在穿和不穿高跟鞋的兩種情況下,朱莉的約會者比她高的概率是多少呢?

答: 此處我們使用scipy.stats中的norm類解決該問題,在預設情況下norm為X~N(0,1)的標準正態分佈,如果有需要的話,比如我們想要直接計算X~N(3,4^2)的正態分佈,我們也可以使用norm_34=norm(3,4)類似的語法來建立我們需要的norm類,要注意的是前面的3 為 期望μ,而方差σ = 4 。

from scipy.stats import norm
# 對於不服從標準正態分佈的函式我們需要先進行標準化,也就是Z = (X - μ) / σ 
# math.sqrt(20.25) = 4.5 
print("約會者比朱莉高的概率為:{0:.3f}".format(1 - norm.cdf((64-71)/4.5)))
print("約會者比穿五英寸高根鞋的朱莉高的概率為:{0:.3f}".format(1 - norm.cdf((69-71)/4.5)))
約會者比朱莉高的概率為:0.940
約會者比穿五英寸高根鞋的朱莉高的概率為:0.672

看來我們的朱莉能夠很快找到符合擇偶標準的心上人的,既然如此,我們還是回到語法上來,更加深入的學習一下語法問題吧.更多語法問題請參考scipy的norm 模組,不過鑑於我們不需要知道這麼多,所以列出常用函式如下:

# 計算負無窮到x的概率
print(norm.cdf(-0.15))
# 計算負無窮到點的概率
print(norm.cdf([-0.15,0.5]))
print(norm.cdf([-0.15,0.15]))
# 概率密度函式
print(norm.pdf(0.15))
0.4403823076297575
[0.44038231 0.69146246]
[0.44038231 0.55961769]
0.39447933090788895

愛情就像過山車-不止一個事件

最近婚禮籌辦市場辦的紅火,德克推出了”愛情過山車”專案,可是過山車載重超過380磅就會有危險.我們的新郎和新娘還能順利的坐上過山車嗎?

對於之前朱莉的相親問題,她的相親物件只有一個,因此我們只要計算一個獨立事件的正態分佈就可以了.但是現在我們要計算的是新郎和新娘兩個人體重的正態分佈,來確保他們的綜合體重不超過380磅,這個時候又要這麼辦呢?

對於計算兩個事件的綜合概率,我們首先要搞清楚的是這兩個事件是否獨立,然後要計算的概率分佈型別.首先對於新郎和新娘的體重這兩個事件而言,應該屬於兩個獨立事件.我們需要按照兩個獨立變數去求解.而綜合體重也屬於連續資料,而且也是符合正態分佈的.那麼我們要求解的就是兩個獨立變數的綜合正態分佈.對於兩個獨立事件的正態分佈,其期望與方差的計算方式與之前四五章的離散概率的計算是一樣的

E(X+Y) = E(X)+E(Y)
E(X-Y) = E(X)-E(Y)
Var(X+Y) = Var(X)+Var(Y)
Var(X-Y) = Var(X)+Var(Y)

現在已知新郎的體重:Y~N(190,500),新娘體重:X~N(150,400),那麼兩者綜合體重小於380的概率為:

根據上面的雙獨立變數的期望與方差計算,已知新郎和新娘兩人體重的正態分佈,那麼可以得到,兩人綜合體重的正態分佈為 (X+Y)~N(340,900),由程式碼計算得到:

import math
print("第一種計算方式先化為標準分,然後計算",norm.cdf((380-340)/math.sqrt(900)))
print("第二種計算方式:直接宣告一個(X+Y)~N(340,900)的norm類")
norm_340_30 = norm(340,30)
print(norm_340_30.cdf(380))
第一種計算方式先化為標準分,然後計算 0.9087887802741321
第二種計算方式:直接宣告一個(X+Y)~N(340,900)的norm類
0.9087887802741321

替代計算

泊松分佈與正態分佈

當二項分佈的n很大而p很小時,泊松分佈可作為二項分佈的近似,其中λ為np。通常當n≧20,p≦0.05時,就可以用泊松公式近似得計算。
事實上,泊松分佈正是由二項分佈推導而來的,具體推導過程可參見百度百科-泊松分佈詞條相關部分。其對應關係如下:

X ~ Po(λ)
X ~ N(λ ,λ)
μ = λ  = σ^2

二項分佈與正態分佈

僅僅從數學角度上來講,當np,nq雙雙大於 5 時,二項分佈也可以通過近似正態分佈來計算。但是因為兩者一個為連續性分佈,一個為離散型分佈,所以必須要進行連續性修正。

劃分方式十分簡單,當需要計算二項分佈的整數時,只需要計算該整數上下0.5的連續變數即可。換句話也就數說,正態分佈中[n-0.5,n+0.5]這一連續區間的概率即為 二項分佈中 n這一整數所對應的概率。

踏破鐵鞋無覓處-只因沒有計算機?

對於程式設計計算的我們而言,使用正態分佈近似來簡化二項分佈的計算其實已經是一種得不償失的方法。對於計算機而言,即使很大的正態分佈也可以在一秒鐘之內算完。不過這並不代表著我們就不需要了解正態分佈近似二項分佈這一數學性質了。所以即使是已經有計算機,不再需要簡化運算,而更求精度與編寫效率的我們,基本數學知識也是必不可少的。

參考

相關推薦

分佈超越

正態分佈 對於正態分佈,首先補充其理論知識,然後我們根據<深入淺出統計學>中的計算步驟,進行程式設計實現. 正態分佈(Normal distribution),也稱“常態分佈”,又名高斯分佈(Gaussian distribution),最早由A

“全棧2019”Java十三:內部類介面詳解

難度 初級 學習時間 10分鐘 適合人群 零基礎 開發語言 Java 開發環境 JDK v11 IntelliJ IDEA v2018.3 文章原文連結 “全棧2019”Java第八十三章:內部類與介面詳解 下一章 “全棧2019”Java第八十四章:介面中巢狀介面詳解

《C++primer(五版)》學習之路-:特殊工具技術

【宣告:版權所有,轉載請標明出處,請勿用於商業用途。聯絡信箱:[email protected]】 19.1 控制記憶體分配 1. 當我們使用一條new表示式時: string *sp

、文件文件系統的壓縮打包

一個 and cpio ora 自己 align node filename ace 第九章、文件與文件系統的壓縮與打包 1. 壓縮文件的用途與技術 2. Linux 系統常見的壓縮命令   2.1 compress   2.2 gzip, zcat   2.3 bzip2

科學、技術工業

第九章 科學、技術與工業 回顧三大內容 18世紀法國啟蒙運動與數理精神的傳播 數理傳統在法國的傳播,一方面與啟蒙運動的精神是一致的;另一方面,與笛卡爾的“宇宙觀”是相沖突的。 物理科學中的兩大傳統 數學傳統 培根傳統 生命科學的實驗化與分析化 生命科學的兩大分支  &nb

c++ primer 特殊工具技術

c++ primer 第十九章特殊工具與技術 19.1 控制記憶體分配 19.1.1 過載new和delete 19.1.2 定位new表示式 19.2 執行時型別識別 19.2.1 dyna

“全棧2019”Java五十:抽象類抽象方法詳解

難度 初級 學習時間 10分鐘 適合人群 零基礎 開發語言 Java 開發環境 JDK v11 IntelliJ IDEA v2018.3 文章原文連結 “全棧2019”Java第五十九章:抽象類與抽象方法詳解 下一章 “全棧2019”Java第六十章:如何定義介面

網路作業系統 DHCP 伺服器管理配置

習題 1.DHCP的主要用途是什麼? DHCP(Dynamic Host Configuration Protocol,動態主機配置協議) 通過在網路中配置DHCP伺服器,可以為網路內的計算機自動分配指定網段的IP地址,並配置一些重要的IP選項,如預設閘道器、DSN伺服器、WINS伺服器、WWW代理伺服器

網路作業系統 DHCP伺服器管理配置

         本章小結     本章介紹了DHCP伺服器的基本概念,基本原理和主要功能,詳細說明了Window是下DHCP伺服器的安裝配置和Linux下DHCP 伺服器的安裝配置,通過本章的學習。讀者能夠理解動態主機配置協議,熟練掌握DHCP在不同作業系統下的安裝和配置豐富,掌握如何利用DGCP動態地址

分佈中心極限定理

正態分佈 定義 正態分佈(英語:normal distribution)又名高斯分佈(英語:Gaussian distribution),是一個非常常見的連續概率分佈。正態分佈在統計學上十分重要,經常用在自然和社會科學來代表一個不明的隨機變數。 也就是說,正態分佈一種分佈形式,它實際上有很多表示

慕課-程式設計演算法(大學先修課)-郭煒-周練習題

1.下面程式片段的輸出結果是 Hello ,請填空 #include <iostream> using namespace std; int main() { char s[] = "Hello"; char * p;

鳥哥的Linux私房菜——:例行命令的建立

crontab bsp 鳥哥 onf ges fig 什麽 執行 inux   視頻鏈接: 1. 什麽是例行性命令                (分為兩種,一種是周期性的,一種是突發性的)1.1 Linux 工作排程的種類: at, cron        (

十二:查找處理文件

路徑 完整 管理員 arc 數據庫 保存 查詢 執行 處理 目標 使用 locate 使用 find 使用 Gnome Search tool locate 基於預先定義的數據庫定義,這個數據庫保存了所有文件的路徑和權限 非實時查詢

從零開始的linux (mv命令詳解)

mv移動文件從零開始的linux 第十九章hello~~又到了一周一更新博客的時候啦~~這周51CTO成功將博客功能升級~~給我們帶來了全新的體驗~全新的界面~全新的視感~~不過,在編輯器上~小編還是習慣用原來的編輯器,感謝工作人員在內測時候廣泛采納用戶的建議~對博客進行一次又一次的修改,嗯,最辛苦的還是我們

JAVA-初步認識-十二-多線好處弊端

提高 有一個 多個 bsp log 運行 spa 時間片 es2017 一. 看著多線程技術很好,為什麽不全都用多線程來解決問題呢? 多線程是有弊端的,在下圖當中真的是在同時執行嗎? Windows本身就是一個多任務同時執行的操作系統,誰在負責程序的執行,cpu。Cpu在

Python之路【篇】:sysos模塊

改變 python 隱藏 post 系統 rmdir 最大的 mman 就是 與解釋器相關的一些操作在sys模塊中,與系統相關的一些操作在os模塊中 sys模塊 sys.argv 命令行參數List,第一個元素是程序本身路徑 sys.exit(n)

十五 FTP服務搭建配置

linux15.1 FTP介紹FTP是File Transfer Protocol(文件傳輸協議,簡稱文傳協議)的英文簡稱,用於在Internet上控制文件的雙向傳輸。FTP的主要作用就是讓用戶連接一個遠程計算機(這些計算機上運行著FTP服務器程序),並查看遠程計算機中的文件,然後把文件從遠程計算機復制到本地

周讀書筆記《黑客畫家》

程序 gif 這就是 藝術家 成功 過程 的人 智力 黑客與畫家 這周我閱讀的書目是《黑客與畫家》,感覺這本書是一本極其有趣味並值得我們深思的書,它主要介紹了現在社會一個特別但又重要的群體——黑客,講述了他們的特點,以及他們的能力和這份能力為社會為自己帶來了什麽。 黑客

os模塊

tel line dirname sta back cal arc src -s OS模塊 os.path.abspath() :返回path規範化的絕對路徑 import sys import os BASE_DIR = os.path.dirname(os.pat

文本處理流編輯器:awk編程

並不是 文本 取模 用戶自定義函數 taf linu man align 邏輯運算 第十九章 文本處理流編輯器:awk編程 名詞解釋 awk 是一種編程語言,用於linux/unix下對文本和數據進行處理。數據可以來自標準輸入(stdin)、一個或多個文件、或其它命令的輸出