
使用R進行統計分析—概率計算
R語言中提供了很多概率函數,可以方便的計算事件發生的概率。如二項分布概率函數和泊松分布概率函數。本篇文章介紹如果使用R語言中的這些函數求解事件發生的概率。
概率函數和前綴
R語言中每個概率分布都有對應的函數名稱,例如二項分布是binmo,泊松分布是pois,正態分布是norm等等。每個函數都分別有四個不同的前綴,加上前綴可以生成隨機數,求解概率和臨界值等等。下面是四個前綴對應功能的說明。
r = random = 隨機
d= density = 密度
p= probability = 概率
q =quantile = 分位
二項分布概率
假設網站的Landingpage頁面中共有20個入口,那么我們預估每個入口被點擊的概率為1/20,即P=0.05。(實際情況會復雜一些,每個入口在頁面中的位置和展現的形式都 會不一樣,一般首屏的入口比后面的入口會獲得更多點擊,圖片和按鈕形式的入口比文字類的入口更容易受到關注,導航和焦點圖和Action按鈕比其他類型的入口更容易 被點擊。如有要獲得最真實的點擊概率,需要參考這個頁面中每個入口的歷史點擊概率數據,這里我們只是假設一種理想情況來說明計算過程。)那么在10000次點擊中, 關鍵按鈕獲得550次的概率是多少?
先來簡單介紹下R語言中的二項分布函數和其中參數的含義,二項分布函數為binom,前綴d表示求密度,前綴p表示求累計概率。參數中X表示實驗的成功次數,size表示實驗次數,prob表示概率值。在這個例子中成功次數是550,實驗次數是10000,概率為0.05。
#點擊率0.05的情況下10000次點擊中關鍵按鈕恰好被點擊550次的概率
> dbinom(x = 550,size = 10000,prob = 0.05)
[1] 0.001362855
經過計算10000次點擊中關鍵按鈕恰好被點擊550次的概率為0.0013,這只是550次這個事件發生的概率值,并不包含549次點擊和551次點擊。但實際情況中恰好獲得550并不是我們實際的目標。因此我們換一種計算方法再來看下。
#點擊率0.05的情況下10000次點擊中關鍵按鈕被點擊1-550次的概率
> sum(dbinom(x = 1:550,size = 10000,prob = 0.05))
[1] 0.9889429
在成功次數X中從之前的550變成了1:550,然后進行sum求和。獲得從1點點擊到550次點擊的累計概率。從結果中可以看到概率高達0.98。這能說明10000次點擊中關鍵按鈕獲得550次點擊的概率非常高嗎?我們能信心滿滿的說獲得550次點擊是個高概率事件嗎?恐怕還不行。因為這是一個累計概率值,是從1次到550次的匯總。但我們的目標是獲得550次或更多的點擊,那么550次以下的點擊量概率其實是我們不需要的。因此實際的概率值沒有這么高。
> pbinom(q = 550,size = 10000,prob = 0.05)
[1] 0.9889429
計算積累概率值還有一個更簡單的方法就是在二項分布概率函數的前面加前綴p,就可以自動獲得550次點擊的累計概率值了。結果與前面的方法一致。
#點擊率0.05的情況下10000次點擊中關鍵按鈕獲得500次到550次區間的點擊的概率
> sum(dbinom(x = 500:550,size = 10000,prob = 0.05))
[1] 0.4953496
前面兩種方法獲得的概率值一個太低,一個太高。還有一種方法是只計算某個區間的概率值,這里我們將獲得點擊的次數限定在500次——550次之間,來求這一區間的概率值。從結果來看10000次點擊中關鍵按鈕獲得500次——550次點擊的概率為0.49。
#點擊率0.05的情況下10000次點擊中關鍵按鈕分別獲得500次到550次點擊的概率
> dbinom(x = 500:550,size = 10000,prob = 0.05)
[1] 0.018301669 0.018265138 0.018190454 0.018078155 0.017929014 0.017744025 0.017524393 0.017271524 0.016987006 0.016672594 0.016330195
[12] 0.015961845 0.015569690 0.015155968 0.014722985 0.014273095 0.013808680 0.013332131 0.012845824 0.012352105 0.011853270 0.011351550
[23] 0.010849097 0.010347966 0.009850108 0.009357356 0.008871418 0.008393869 0.007926149 0.007469553 0.007025237 0.006594211 0.006177343
[34] 0.005775361 0.005388857 0.005018291 0.004663995 0.004326183 0.004004957 0.003700313 0.003412150 0.003140280 0.002884435 0.002644275
[45] 0.002419399 0.002209352 0.002013632 0.001831702 0.001662993 0.001506913 0.001362855
以上是點擊量500次——到550次分解的概率值,0.49的概率值由以上的各個概率匯總而來。
#點擊率0.05的情況下10000次點擊中關鍵按鈕獲得550次以上點擊的概率
> sum(dbinom(x = 551:10000,size = 10000,prob = 0.05))
[1] 0.01105708
再來看最開始的問題,10000次點擊中關鍵按鈕獲得550次點擊的概率。550次以下的點擊不是我們希望的結果,因此我們再來看下點擊量超過550次的概率有多少。從結果 來看獲得點擊量在551次——10000次的概率僅為0.011,因此獲得超過550次以上的點擊的概率比較低。
#點擊率0.05的情況下10000次點擊中關鍵按鈕獲得550次以上點擊的概率
> 1-pbinom(q = 550,size = 10000,prob = 0.05)
[1] 0.01105708
由于從0到10000次點擊的所有概率為1,因此用1減550次以下的概率值也能獲得相同的結果。
泊松分布概率
假設在一次市場活動中,上一個小時中有40個用戶注冊,那么下一個小時有50個用戶注冊的概率是多少?
這里需要使用泊松分布概率函數,泊松分布函數是pois,第一個參數x是下一個時間段事件發生的次數,lambda是上一個時間段事件發生的次數。在這個例子中x=50, lambda=40。
#上一小時產生40個注冊用戶,下一小時產生恰好50個注冊用戶的概率
> dpois(x =50,lambda=40)
[1] 0.01770702
經過計算,下一個小時恰好有50個注冊用戶的概率為0.017。與二項分布中的問題一樣,0.017是恰好50個用戶的概率。不是49個用戶也不是51個用戶的概率。
#上一小時產生40個注冊用戶,下一小時產生1-50個注冊用戶的概率
> sum(dpois(x =1:50,lambda=40))
[1] 0.947372
把下一小時注冊用戶的數量改為1:50,并進行求和,獲得了下一個小時獲得1-50個注冊用戶的累計概率值。這個值有0.94。但我們的目標是50個注冊用戶,雖然概率很高 但低于50的事件發生并不是我們的目標。
> ppois(q =50,lambda=40)
[1] 0.947372
這是另一種計算方法,把泊松分布函數的前綴換為p,計算50個注冊用戶的累計概率值,結果與前面的方法一致。
#上一小時產生40個注冊用戶,下一小時產生40-50個注冊用戶區間的概率
> sum(dpois(x =40:50,lambda=40))
[1] 0.4684008
前一小時40個注冊用戶,后一個小時目標50個注冊用戶,我們來看下下一個小時注冊用戶是40-50這個區間的概率是多少。經過計算這個區間發生的概率為0.46。
#上一小時產生40個注冊用戶,下一小時分別產生40-50個注冊用戶的概率
> dpois(x =40:50,lambda=40)
[1] 0.06294704 0.06141175 0.05848738 0.05440686 0.04946078 0.04396514 0.03823056 0.03253664 0.02711387 0.02213377 0.01770702
這里顯示了40-50個注冊用戶分別的發生概率,0.46的概率值由以上各個概率值匯總計算獲得。
#上一小時產生40個注冊用戶,下一小時產生50個注冊用戶以上的概率
>1-ppois(q =50,lambda=40)
[1] 0.05262805
最后再來看下下一個小時注冊用戶數量超過50的概率。用1減去50個用戶的累計概率值就是超過50個注冊用戶發生的概率,計算結果是0.052,因此下一個小時獲得超過50個注冊用戶的概率不高。文章來源:cda數據分析師官網
數據分析咨詢請掃描二維碼
若不方便掃碼,搜微信號:CDAshujufenxi
CDA數據分析師證書考試體系(更新于2025年05月22日)
2025-05-26解碼數據基因:從數字敏感度到邏輯思維 每當看到超市貨架上商品的排列變化,你是否會聯想到背后的銷售數據波動?三年前在零售行 ...
2025-05-23在本文中,我們將探討 AI 為何能夠加速數據分析、如何在每個步驟中實現數據分析自動化以及使用哪些工具。 數據分析中的AI是什么 ...
2025-05-20當數據遇見人生:我的第一個分析項目 記得三年前接手第一個數據分析項目時,我面對Excel里密密麻麻的銷售數據手足無措。那些跳動 ...
2025-05-20在數字化運營的時代,企業每天都在產生海量數據:用戶點擊行為、商品銷售記錄、廣告投放反饋…… 這些數據就像散落的拼圖,而相 ...
2025-05-19在當今數字化營銷時代,小紅書作為國內領先的社交電商平臺,其銷售數據蘊含著巨大的商業價值。通過對小紅書銷售數據的深入分析, ...
2025-05-16Excel作為最常用的數據分析工具,有沒有什么工具可以幫助我們快速地使用excel表格,只要輕松幾步甚至輸入幾項指令就能搞定呢? ...
2025-05-15數據,如同無形的燃料,驅動著現代社會的運轉。從全球互聯網用戶每天產生的2.5億TB數據,到制造業的傳感器、金融交易 ...
2025-05-15大數據是什么_數據分析師培訓 其實,現在的大數據指的并不僅僅是海量數據,更準確而言是對大數據分析的方法。傳統的數 ...
2025-05-14CDA持證人簡介: 萬木,CDA L1持證人,某電商中廠BI工程師 ,5年數據經驗1年BI內訓師,高級數據分析師,擁有豐富的行業經驗。 ...
2025-05-13CDA持證人簡介: 王明月 ,CDA 數據分析師二級持證人,2年數據產品工作經驗,管理學博士在讀。 學習入口:https://edu.cda.cn/g ...
2025-05-12CDA持證人簡介: 楊貞璽 ,CDA一級持證人,鄭州大學情報學碩士研究生,某上市公司數據分析師。 學習入口:https://edu.cda.cn/g ...
2025-05-09CDA持證人簡介 程靖 CDA會員大咖,暢銷書《小白學產品》作者,13年頂級互聯網公司產品經理相關經驗,曾在百度、美團、阿里等 ...
2025-05-07相信很多做數據分析的小伙伴,都接到過一些高階的數據分析需求,實現的過程需要用到一些數據獲取,數據清洗轉換,建模方法等,這 ...
2025-05-06以下的文章內容來源于劉靜老師的專欄,如果您想閱讀專欄《10大業務分析模型突破業務瓶頸》,點擊下方鏈接 https://edu.cda.cn/g ...
2025-04-30CDA持證人簡介: 邱立峰 CDA 數據分析師二級持證人,數字化轉型專家,數據治理專家,高級數據分析師,擁有豐富的行業經驗。 ...
2025-04-29CDA持證人簡介: 程靖 CDA會員大咖,暢銷書《小白學產品》作者,13年頂級互聯網公司產品經理相關經驗,曾在百度,美團,阿里等 ...
2025-04-28CDA持證人簡介: 居瑜 ,CDA一級持證人國企財務經理,13年財務管理運營經驗,在數據分析就業和實踐經驗方面有著豐富的積累和經 ...
2025-04-27數據分析在當今信息時代發揮著重要作用。單因素方差分析(One-Way ANOVA)是一種關鍵的統計方法,用于比較三個或更多獨立樣本組 ...
2025-04-25CDA持證人簡介: 居瑜 ,CDA一級持證人國企財務經理,13年財務管理運營經驗,在數據分析就業和實踐經驗方面有著豐富的積累和經 ...
2025-04-25