今天抽空翻了下概率論的內容,突然發現大學學的東西都忘光了。原來概率論第一課就學了貝葉斯公式,但是我感覺離我好遙遠,於是本著認真學習的態度,以實踐應用出發鞏固了下自己的基礎。
要看概率的內容,需要明確的一點是對於如下的關係要首先能夠理解,這個和資料庫裡學習的集合的概念是很相似的,截圖如下:
要說到貝葉斯公式,需要兩部分的內容,全概率公式和貝葉斯公式。
說得通俗一點,做一件事情有很多的維度,比如我們考慮的四象限維度,重要緊急的,重要不緊急之類的。
我們把做事情的時間分配和準點率做一些分配,比如事情A要10個小時,按時完成的概率為0.4,可能要依賴於歷史資料。
有了這些基礎的資料,我們把各種因素都考慮起來,一個完整的因素的組合就是全概率公式。
而貝葉斯公式是對某個維度,事件的一個抽取。抽象點看是這樣的。
我們來舉個例子,運維開發中有幾個主要的環節,產品設計,後端開發,前端開發。
說得都比較通泛,比如產品設計涉及到產品的的功能架構和原型設計,後端開發涉及到架構設計和後端技術實現,前端開發涉及到前端的展現和視覺化。
假設有11個人投入這個工作。
我們打個比方,人員投入和難度係數(需求溝通,產品迭代)的分類,比例分別為:
部門1:產品設計: 3人 0.8
部門2:後端開發: 5人 0.5
部門3:前端開發: 2人 0.7
我們根據經驗來推算,難度係數越大,返工的概率越高。
假設功能和人員分配是混合均勻的,那麼我有兩個需求:
1)一個是在運維平臺中隨機抽取出一個功能,求它的返工概率是多少?
2)從系統中隨機抽取出一個功能,如果這個功能是需要返工的,求不同的維度(產品設計,後端開發,前端開發)的返工概率各是多少。
如果能夠得到這些,那麼我們做一些專案管理和風險規劃的時候,其實能夠得一些更加客觀和理性的分析。
解答:
假設A是“產品功能返工”,Bi(i=1,2,3)表示“返工的產品功能是由第i個部門提供的,所以按照樣本空間的概念,B1,B2,B3都是樣本空間的一個劃分。
部門1:產品設計: 3人,人員比例 0.3 難度係數 0.8 返工概率 0.8/2=0.4
部門2:後端開發: 5人,人員比例0.5 難度係數 0.5 返工概率 0.5/2=0.25
部門3:前端開發: 2人,人員比例0.2 難度係數 0.7 返工概率0.7/2=0.35
所以P(B1)=0.3, P(B2)=0.5, P(B3)=0.3
那麼P(A|B1)=0.4,P(A|B2)=0.25 , P(A|B3)=0.35
全概率公式得到:
P(A)=P(A|B1)P(B1)+P(A|B2)P(B2)+P(A|B3)P(B3)=0.3*0.4+0.5*0.25+0.3*0.35=0.35
貝葉斯公式:
P(B1|A)=P(A|B1)P(B1)/P(A)=0.3*0.4/0.35=0.342857
P(B2|A)=P(A|B2)P(B2)/P(A)=0.5*0.25/0.35=0.3571429
P(B2|A)=P(A|B2)P(B2)/P(A)=0.3*0.35/0.35=0.3
所以整體來說,後端要返工的概率要更大一些,其次是產品設計的工作,而前端看起來投入較大,其實返工的概率相對要低一些。