最初是看到這個網站,決心把全部統計分佈梳理一遍:Univariate distribution relationships - WMhtml
伯努裏分佈 | Bernoulli distributionnode
二項分佈 | Binomial distributionios
Βeta分佈 | beta distributiongit
泊松分佈 | Poisson Distributiongithub
指數分佈 | Exponential Distributionapp
伽瑪分佈 | Gamma distribution機器學習
正態分佈 | Normal Distribution | Gaussian distribution ide
卡方分佈 | chi-squared distributionwordpress
t分佈 | Student t Distribution函數
F分佈 | F Distribution
負二項分佈 | Negative binomial distribution
幾何分佈 | Geometric Distribution
超幾何分佈 | Hypergeometric distribution
連續均勻分佈 | Continuous Uniform Distribution
Βeta二項分佈 | Beta-binomial distribution
多維高斯分佈
狄利克雷分佈
帕累託分佈
柯西分佈
參考:An R Introduction to Statistics
density | cumulative | ||
discrete | PMF | CDF | PDF requires an interval P(x1<X<x2) |
continuous | CDF | PMF is exact value P(X=x) |
舉例:拋一次硬幣的結果服從伯努利分佈。
最基礎的分佈之一,但仍是要明確它的定義。
只有一次試驗,結果只有兩種(這裏就是0或1),已知其中一個出現的機率(好比1爲θ),那麼伯努利分佈就是一次試驗下某個結果出現的機率。
看似簡單,但伯努利分佈確是統計分佈的基石。以伯努利分佈的角度來看待二項分佈:n次伯努利試驗「成功」次數的離散機率分佈。
舉例:拋N次硬幣的結果(m次正面,N-m次反面)就服從二項分佈。
分佈的簡寫,寫出其PMF公式,解釋每一項的含義,分佈的性質,生物信息學案例,R代碼實現。
X ~ B(n, p) - 說明該分佈只由這兩個參數決定
n次二項獨立重複試驗中,出現x次成功的機率,其中p爲成功的機率。
分佈的性質: 指望np和方差npq
二項分佈與正態分佈的關係
以DNA序列舉例,100bp的DNA序列,其中A出現得機率爲0.14,求A正好出現20次的機率。(假設:鹼基間獨立,這道題仍是玩具,這個科學問題過於膚淺)
R的dbinom()函數能夠直接給出某個值得PMF值;
dbinom(20, size = 100, prob = 0.14)
n和p都已知,分佈已經肯定,能夠直接畫出PMF和CDF圖。(顯然n決定bar的數量,p決定其PMF的形狀,小於0.5就向左偏)
R代碼:
N <- 100; p <- 0.14 g1 <- ggplot2::ggplot(data=data.frame(x=1:N, probability=dbinom(1:N, N, p)), aes(x=x, y=probability)) + geom_bar(stat="identity") g2 <- ggplot2::ggplot(data=data.frame(x=1:N, probability=pbinom(1:N, N, p)), aes(x=x, y=probability)) + geom_line() + labs(y="cumulative probability") cowplot::plot_grid(g1,g2)
接下來是一些腦經急轉彎:
至少觀察到28個A的機率?請用CDF來求解
等價於1-最多27個A,由於是離散的整數
1 - pbinom(27, size = 100, prob = 0.14)
還能夠模擬,機率是什麼?不就是事件發生的次數除以總的事件數嗎?
rbinom有點難理解,第二第三個是二項分佈的參數,第一個是整個實驗的次數;好比第一次100個鹼基裏只有1個A,第二次沒有,作100w次,由於是小几率事件,若是你只作100次,獲得的機率幾乎爲0!!!
x <- rbinom(1000000, 100, 0.14) sum(x>=28) / length(x)
額外閱讀:Compositional Heterogeneity within, and Uniformity between, DNA Sequences of Yeast Chromosomes
部分參考:Using the binomial distribution in R for bioinformatics
超前沿實例:
在motif enrichment分析時,某個motif在flanking area裏出現的頻率能夠看作是二項分佈。能夠這樣來作統計推斷,假設背景裏是二項分佈,咱們再在interested area裏算機率。
舉例:
如何通俗理解 beta 分佈? - 講得很是好
beta分佈重要的性質?共軛,屬於指數函數族。
beta分佈最常出如今貝葉斯推斷的先驗估計中。
beta分佈的寫法以下:,能夠看到其只有兩個參數,α和β,它們都是shape parameters,對於beta分佈,它的定義域就是0到1,剛好是機率的區間,因此beta能夠被用做是描述機率的機率分佈。
因爲beta分佈的公式比較晦澀,有和gamma有很強的聯繫,暫時就不深刻了。
接下來須要用R把beta分佈可視化一下:
x <- seq(0, 1, length = 100) dbeta(x, 81, 219) library(ggplot2) g1 <- ggplot2::ggplot(data=data.frame(x=x, probability=dbeta(x, 81, 219)), aes(x=x, y=probability)) + geom_bar(stat="identity") g2 <- ggplot2::ggplot(data=data.frame(x=x, probability=dbeta(x, 181, 419)), aes(x=x, y=probability)) + geom_bar(stat="identity") cowplot::plot_grid(g1,g2)
beta分佈很適合做爲二項分佈模型的先驗機率估計,由於它有着共軛的優秀性質。
用一句話來講,beta分佈能夠看做一個機率的機率分佈,當你不知道一個東西的具體機率是多少時,它能夠給出了全部機率出現的可能性大小。
泊松分佈看似簡單,只有一個參數λ,其實仍是有點難以理解的。
最好以二項分佈爲切入點,來理解泊松分佈。The Connection Between the Poisson and Binomial Distributions
當二項分佈X ~ B(n, p) 的n無限大、p無限小,且np=λ時,二項分佈和泊松分佈就是等價的。這就是爲何說泊松分佈是用來描述rare event的。
大部分狀況下,咱們只是拿泊松分佈來近似描述咱們的數據。
舉例1:隨機抽取一個家庭,調查家裏孩子的數量n,n服從均值爲λ的泊松部分。近似而已。
只要隨機變量是離散的,且其有一個明顯的均值,那就能夠用泊松分佈來模擬隨機變量的分佈。
舉例2:每次拋n次硬幣,隨機變量爲獲得正面的次數爲m,顯然在屢次試驗後m有個均值λ,那m就能夠用均值爲λ的泊松分佈來模擬了。
一句話總結:泊松分佈是二項分佈的一個特例,n無限大且np極限爲lambda。
分佈的簡寫,寫出其PMF公式,解釋每一項的含義,分佈的性質,生物信息學案例,R代碼實現。
X ~ Po(λ) - 泊松分佈只與lambda有關,記發比較多有π(),也有P()
單位時間/空間內事件發生次數的機率,lambda就是單位時間/空間內的平均次數,k就是次數;
分佈的性質:指望方差相等;兩個泊松分佈變量之和仍然爲泊松分佈;
R代碼可視化:
library(ggplot2) N <- 1000; g1 <- ggplot(data=data.frame(x=1:N*100, probability=dpois(1:N, 1)), aes(x=x, y=probability)) + geom_bar(stat="identity") + labs(title="lambda=1") g2 <- ggplot(data=data.frame(x=1:N*100, probability=dpois(1:N, 10)), aes(x=x, y=probability)) + geom_bar(stat="identity") + labs(title="lambda=10") g3 <- ggplot(data=data.frame(x=1:N*100, probability=dpois(1:N, 100)), aes(x=x, y=probability)) + geom_bar(stat="identity") + labs(title="lambda=100") g4 <- ggplot(data=data.frame(x=1:N*100, probability=dpois(1:N, 500)), aes(x=x, y=probability)) + geom_bar(stat="identity") + labs(title="lambda=500") cowplot::plot_grid(g1,g2,g3,g4)
進階:
泊松分佈和二項分佈的關係,參考文章,比較分析會極大地加深你對統計的總體理解。
首先經過繪圖來直觀地理解結論:
爲了把二項分佈和泊松分佈聯繫起來,二項分佈的n必須無限大(由於泊松分佈描述的就是無限狀況下的指望問題),爲了得到同指望,則 np 存在有極限 λ,因此纔會要求p無限小。
R函數裏的第一個參數1:N就是bar的個數,泊松分佈只要lambda不變,第一個參數不會改變圖的性狀。
library(ggplot2) N <- 1000; lambda <- 10; p <- lambda/N g1 <- ggplot(data=data.frame(x=1:N, probability=dbinom(1:N, N, p)), aes(x=x, y=probability)) + geom_bar(stat="identity") + labs(title="Binomial distribution") g2 <- ggplot(data=data.frame(x=1:N, probability=dpois(1:N, lambda)), aes(x=x, y=probability)) + geom_bar(stat="identity") + labs(title="Poisson Distribution") cowplot::plot_grid(g1,g2)
怎麼理解這兩張圖?只是從不一樣的角度來描述同一個東西。
二項分佈:個體角度,做了n次試驗,n接近無限大,成功(發生)k次的機率分佈;
泊松分佈:整體角度,單位時間的指望已知(次數無窮或不可知),單位時間內發生k次的機率;(對每一次而言是服從特定二項分佈的,也就是泊松分佈確定能夠被轉換成二項分佈)
進階2:一個lambda就能夠肯定泊松分佈嗎,還有其餘限定條件嗎?由於同lambda下有無限種可能,他們都是同種泊松分佈嗎?
比較泊松分佈和二項分佈:
字面形式:泊松和二項都是描述某一事件發生n次的機率,可是前提卻不同。仍是以經過學校大門爲例,泊松分佈的描述是每一個人獨立經過大門(每一個人獨立,但並不知道每一個人經過的機率),一段事件內經過n人的機率,咱們知道的是平均數。二項分佈是我知道每一個人經過的機率(也必需要獨立),我能夠知道N人選擇後,其中有n我的選擇經過的機率。
因此,重要的區別是每一個事件究竟是不是等機率發生的!!!
泊松分佈性質:數學指望與方差相等,同爲參數λ:E(X)=V(X)=λ
在RNA-seq中,技術偏差是知足泊松分佈的,由於指望和方差差很少。可是生物學重複之間的偏差不能用泊松分佈來描述,由於他的方差可能很大,因此要用負二項分佈,加了一個額外的偏差項。
生物信息中的舉例:
1. 單位長度內DNA序列的變異數;
2. 必定時間內細胞里正在表達的基因的個數;
3. 快速估算測序量,若是要保證基因組上95%的區域覆蓋深度在30x以上的話,那麼最低的測序深度應該是多少? / 文章2
參考:書籍 - Statistical Bioinformatics with R 直達案例
泊松分佈的現實意義是什麼,爲何現實生活多數服從於泊松分佈? - 知乎 案例
要等到一個隨機事件發生,須要經歷多久時間。必須在泊松分佈以後講,由於它就是基於泊松過程Poisson point process的;必須在gamma分佈以前講,由於它是gamma分佈的一個特例。
兩次事件之間的時間間隔大於t 的機率,等同於t 時間內沒有發生一件事的機率,所以就能夠根據泊松分佈來推導出指數分佈。
具體參考這個:指數分佈公式的含義是什麼?
指數分佈描述的是事件的時間間隔的機率。指數分佈的公式能夠從泊松分佈推斷出來。(連續型機率分佈)
舉例:嬰兒出生的時間間隔;來電的時間間隔;奶粉銷售的時間間隔;網站訪問的時間間隔。
能夠看到,隨着間隔時間變長,事件的發生機率急劇降低,呈指數式衰減。
怎麼來理解伽瑪(gamma)分佈? - 知乎上的統計和機器學習氛圍很好
要等到n個隨機事件都發生,須要經歷多久時間
gamma分佈有兩個參數:一個形狀參數α,一個inverse scale parameter:β.
知乎曾博的熱評:α 表明一件事發生的次數;β表明它發生一次的機率(或者叫速率)。那麼gamma 分佈就表明這麼一件事發生α 次所須要時間的分佈。例如α=1 就是指數分佈。
曾博的答案已經很是接近了,可是beta並非機率,而是平均發生的時間。
再令,即從頭開始到第次事件的發生的時間,該隨機變量分佈即爲Gamma分佈。即。
接下來的四個分佈屬於一個系列:正態分佈的前世此生(3)-三大分佈(卡方分佈、t分佈、F分佈)。
這三個的機率密度最終都得寫成基於gamma分佈的形式:三大抽樣分佈:卡方分佈,t分佈和F分佈的簡單理解。
最先出現,三大分佈出現後更加捧出了它的大哥地位。
最先發現這個分佈的實際上是物理學家麥克斯韋,他在推導空氣分子的運動速度的分佈時,發現分子速度在三個座標軸上的份量是正態分佈,而分子運動速度的平方v^2符合自由度爲3的χ2分佈。麥克斯韋雖然發現了這個分佈,可是真正把他完善並推廣的是皮爾遜。
以前咱們都是考慮一個隨機變量X的分佈,很直觀,但有考慮隨機分佈的運算嗎?好比X ~ X12 + X22,這又是個什麼分佈?怎麼理解這個相加?
卡方分佈只有一個參數,自由度。指望:n,方差:2n。
如何將卡方分佈、卡方檢驗、卡方擬合優度檢驗聯繫在一塊兒?
卡方檢驗的用途
應用案例:
麻蛋,歷來就搞不清楚什麼是負二項分佈!!!
「負二項分佈」與「二項分佈」的區別在於:「二項分佈」是固定試驗總次數N的獨立試驗中,成功次數k的分佈;而「負二項分佈」是全部到成功r次時即終止的獨立試驗中,失敗次數k的分佈。
是否是有點繞口,很差理解。
舉例:若咱們擲骰子,擲到一即視爲成功。則每次擲骰的成功率是1/6。要擲出三次一,所需的擲骰次數屬於集合{ 3, 4, 5, 6, ... }。擲到三次一的擲骰次數是負二項分佈的隨機變數。
就是咱們必定要成功r次,不管作多少次實驗。這個分佈描述的是失敗k次的機率。當r=1時,咱們只需成功1次,因此失敗0次的機率就等於一次成功的機率,就是p,失敗一次就是第一次失敗,再作一次實驗,第二次成功。
Why do we use the negative binomial distribution for analysing RNAseq data?
搞清楚:負二項分佈適用於描述重複樣本之間某個基因的counts的分佈,而不是不一樣處理之間的分佈(不一樣處理之間不獨立)。
Question: What Makes One Probability Distribution Better For Rna-Seq Than Another?
每個reads計數是一個事件,計到該基因則爲成功,計到其餘基因則爲失敗。(哈哈,千萬不要這麼去理解負二項分佈,負二項分佈還有一種解釋!!!)
Single-gene negative binomial regression models for RNA-Seq data with higher-order asymptotic inference
The technical variability in RNA-Seq read counts has been demonstrated to be near Poisson [9], but RNA-Seq reads from independent biological samples commonly show extra-Poisson variation (i.e., overdispersion) and practically useful models must also incorporate this biological variability.
The second definition sounds more intimidating but is much more useful. The NB distribution can be defined as a Poisson-Gamma mixture distribution. This means that the NB distribution is a weighted mixture of Poisson distributions where the rate parameter (i.e. the expected counts) is itself associated with uncertainty following a Gamma distribution. This sounds very similar to our earlier definition as a 「Poisson distribution with extra variance」.
WHY SEQUENCING DATA IS MODELED AS NEGATIVE BINOMIAL (講得是真的好,必定要看)
千萬不要用百度、維基上的解釋來套RNA-seq。
就簡單的把負二項分佈理解爲泊松分佈的變種就行了,它可以有效地度量數據的誤差(不是技術重複的誤差,而是生物學重複的誤差)。
就這個當即就OK了。
卡方分佈
以前厭惡統計學,尤爲是假設檢驗裏面的各類莫名其妙的分佈,老師就講一些枯燥的公式理論,我都不知道有個屌用。
強烈要求中國的教學改革,因材施教,根據學生的背景知識來教學,而不是講一些脫離實際的公式符號,這真的是在消耗某些學生的興趣,將人才扼殺於搖籃之中。
其實教學是最昂貴的資源,發達國家早就作到了,因材施教,只是學費昂貴罷了。中國如今的脫離實際的應試教育也是國情所迫的,誰又能改變呢?AI吧!
普通個體要想真實掌握本身的命運就必定要會自學,還好有互聯網,自學的人才能抱團取暖。致敬互聯網的分享精神。
k個獨立的標準正態分佈變量的平方和服從自由度爲k的卡方分佈。卡方分佈是一種特殊的伽瑪分佈。
Chi-Square Statistic: How to Calculate It / Distribution
三大抽樣分佈通常是指卡方分佈(χ2分佈)、t分佈和F分佈,是來自正態整體的三個經常使用的分佈。
正文:二項分佈和泊松分佈的關係
二項分佈:P(X=k)=Cnkpk(1-p)(n-k)
拋硬幣,假設硬幣不平整,拋出正面的機率爲p,那麼在n次拋硬幣的實驗中,出現k次正面的機率
泊松分佈: p(X=k)=λke-λ/k!
公共汽車站在單位時間內,來乘車的乘客數爲k 的機率。假定平均到站乘客數爲λ
n很大,p很小時泊松分佈能夠用來近似二項分佈,此時 λ=np
兩者關係的直觀解釋:
從泊松分佈提及。把單位時間分紅n等分,稱爲n個時間窗口。那麼在某個時間窗口來一個客人的機率爲λ/n.(稍後解釋,其實這是不對的)那麼咱們能夠將泊松分佈和二項分佈對應起來:在某個時間窗口裏來了乘客 對應 拋出正面硬幣;來了k個客人 對應 拋出k個正面。所以,泊松分佈和二項分佈近似了。
二項分佈的典型例子是扔硬幣,硬幣正面朝上機率爲p, 重複扔n次硬幣,k次爲正面的機率即爲一個二項分佈機率。(嚴格定義見伯努利實驗定義)。把二項分佈公式推廣至多種狀態,就獲得了多項分佈。例如在上面例子中1出現k1次,2出現k2次,3出現k3次的機率分佈狀況。
題外話:
最近學習了基因組組裝的課程,其中在使用kmer估算基因組大小時,講到了二項分佈和泊松分佈,課程把它們的由來和關係講得十分透徹,同時與具體實例相結合,本文再對它作一個總結。
經過這個例子也會真實的感覺到數學的神奇,數學公式的變換,奇妙的證實,最神奇的是它的應用,讓我想起了一本頗有名但我一直都沒有去看的書 --《數學之美》
參考:
泊松分佈和指數分佈:10分鐘教程 - 阮一峯
統計學是否是數學? - 知乎