統計分布匯總 | 生物信息學應用 | R代碼 | Univariate distribution relationships


最初是看到這個網站,決心把所有統計分布梳理一遍:Univariate distribution relationships - WM

伯努里分布 | Bernoulli distribution

二項分布 | Binomial distribution

Βeta分布 | beta distribution

泊松分布 | Poisson Distribution

指數分布 | Exponential Distribution

伽瑪分布 | Gamma distribution

正態分布 | Normal Distribution | Gaussian distribution 

卡方分布 | chi-squared distribution

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 PDF CDF PMF is exact value P(X=x)

伯努里分布 | Bernoulli distribution 

舉例:拋一次硬幣的結果服從伯努利分布。

最基礎的分布之一,但還是要明確它的定義。

只有一次試驗,結果只有兩種(這里就是0或1),已知其中一個出現的概率(比如1為θ),那么伯努利分布就是一次試驗下某個結果出現的概率。

看似簡單,但伯努利分布確是統計分布的基石。以伯努利分布的角度來看待二項分布:n次伯努利試驗「成功」次數的離散概率分布。

 

二項分布 | binomial distribution

舉例:拋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里算概率。 

 

Βeta分布 | beta distribution 

舉例:

如何通俗理解 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分布可以看作一個概率的概率分布,當你不知道一個東西的具體概率是多少時,它可以給出了所有概率出現的可能性大小。

參考:如何通俗理解beta分布?

 

泊松分布 | Poisson Distribution

泊松分布看似簡單,只有一個參數λ,其實還是有點難以理解的。

最好以二項分布為切入點,來理解泊松分布。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 直達案例

泊松分布的現實意義是什么,為什么現實生活多數服從於泊松分布? - 知乎  案例

 

指數分布 | Exponential Distribution

要等到一個隨機事件發生,需要經歷多久時間。必須在泊松分布之后講,因為它就是基於泊松過程Poisson point process的;必須在gamma分布之前講,因為它是gamma分布的一個特例。

兩次事件之間的時間間隔大於t 的概率,等同於t 時間內沒有發生一件事的概率,因此就可以根據泊松分布來推導出指數分布。

具體參考這個:指數分布公式的含義是什么?

指數分布描述的是事件的時間間隔的概率。指數分布的公式可以從泊松分布推斷出來。(連續型概率分布)

舉例:嬰兒出生的時間間隔;來電的時間間隔;奶粉銷售的時間間隔;網站訪問的時間間隔。

可以看到,隨着間隔時間變長,事件的發生概率急劇下降,呈指數式衰減。

 

伽瑪分布 | Gamma distribution 

怎么來理解伽瑪(gamma)分布? - 知乎上的統計和機器學習氛圍很好

要等到n個隨機事件都發生,需要經歷多久時間

gamma分布有兩個參數:一個形狀參數α,一個inverse scale parameter:β. 

 

知乎曾博的熱評:α 代表一件事發生的次數;β代表它發生一次的概率(或者叫速率)。那么gamma 分布就代表這么一件事發生α 次所需要時間的分布。例如α=1 就是指數分布。

曾博的答案已經非常接近了,但是beta並不是概率,而是平均發生的時間。

再令S_{n}=\sum_{i=1}^{n}{T_{i}} ,即從頭開始到第n次事件的發生的時間,該隨機變量分布即為Gamma分布。即S_{n} \sim Gamma(n,\lambda )

參考:怎么來理解伽瑪(gamma)分布?


 

接下來的四個分布屬於一個系列:正態分布的前世今生(3)-三大分布(卡方分布、t分布、F分布)

這三個的概率密度最終都得寫成基於gamma分布的形式:三大抽樣分布:卡方分布,t分布和F分布的簡單理解

正態分布 | Normal Distribution | Gaussian distribution 

最早出現,三大分布出現后更加捧出了它的大哥地位。

 

卡方分布 | chi-squared distribution

最早發現這個分布的其實是物理學家麥克斯韋,他在推導空氣分子的運動速度的分布時,發現分子速度在三個坐標軸上的分量是正態分布,而分子運動速度的平方v^2符合自由度為3的χ2分布。麥克斯韋雖然發現了這個分布,但是真正把他完善並推廣的是皮爾遜。

之前我們都是考慮一個隨機變量X的分布,很直觀,但有考慮隨機分布的運算嗎?比如X ~ X12 + X22,這又是個什么分布?怎么理解這個相加?

卡方分布只有一個參數,自由度。期望:n,方差:2n。

如何將卡方分布、卡方檢驗、卡方擬合優度檢驗聯系在一起?

卡方檢驗的用途

應用案例:

結合日常生活的例子,了解什么是卡方檢驗

t分布 | Student t Distribution

 

F分布 | F Distribution

 


 

負二項分布  | Negative binomial distribution

NB

麻蛋,從來就搞不清楚什么是負二項分布!!!

“負二項分布”與“二項分布”的區別在於:“二項分布”是固定試驗總次數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 \lambda (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次的概率分布情況。

 

高斯分布和多維高斯分布

多維高斯分布是如何由一維發展而來的?

 

狄利克雷分布 | dirichlet distribution

參考:什么是狄利克雷分布?狄利克雷過程又是什么?

 

題外話:

最近學習了基因組組裝的課程,其中在使用kmer估算基因組大小時,講到了二項分布和泊松分布,課程把它們的由來和關系講得十分透徹,同時與具體實例相結合,本文再對它做一個總結。

通過這個例子也會真實的感受到數學的神奇,數學公式的變換,奇妙的證明,最神奇的是它的應用,讓我想起了一本很有名但我一直都沒有去看的書 --《數學之美》

 

 

參考:

泊松分布和指數分布:10分鍾教程 - 阮一峰

統計學是不是數學? - 知乎

泊松分布的現實意義是什么,為什么現實生活多數服從於泊松分布?


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM