貝葉斯定理簡介
貝葉斯方法:所謂的貝葉斯方法源于解決一個“逆概”的問題熙卡。那什么是“逆概”呢而柑?如“假設(shè)袋子里面有N個白球寻馏,M個黑球,你伸手進(jìn)去摸一把杖爽,摸出黑球的概率是多大”,這是我們熟知的“正向概率”紫皇。而一個自然而然的問題是:如果我們事先并不知道袋子里面黑白球的比例慰安,而是閉著眼睛摸出一個(或好幾個)球,觀察這些取出來的球的顏色之后聪铺,那么我們可以就此對袋子里面的黑白球的比例作出什么樣的推測化焕?這個問題,就是所謂的逆概問題铃剔。
貝葉斯解決這個問題的基本思想是:可以先假定一個概率(先驗概率)撒桨,根據(jù)不斷發(fā)生的新事實,調(diào)整相似度键兜,得到接近實際的概率(后驗概率)凤类。可以表述成:后驗概率 = 相似度*先驗概率普气。貝葉斯網(wǎng)絡(luò)則是這種思想的應(yīng)用谜疤。
具體的描述可以參考:貝葉斯定理?? 貝葉斯網(wǎng)絡(luò)
本文討論了在一個故障背景下,根據(jù)歷史數(shù)據(jù)现诀,使用貝葉斯網(wǎng)絡(luò)建立系統(tǒng)故障模型的過程茎截。
系統(tǒng)故障背景
針對過往系統(tǒng)故障數(shù)據(jù),引起系統(tǒng)故障的原因有系統(tǒng)缺陷赶盔、人為操作兩大類企锌。對于系統(tǒng)缺陷,有80%的缺陷能夠在QA階段發(fā)現(xiàn)于未,20%的缺陷會遺留到生產(chǎn)環(huán)境撕攒。人為操作在90%的情況下是沒問題陡鹃,10%會發(fā)生操作失誤。當(dāng)系統(tǒng)有缺陷抖坪,若是操作失誤萍鲸,系統(tǒng)發(fā)生故障的概率為90%;操作不發(fā)生失誤時擦俐,系統(tǒng)發(fā)生故障的概率為70%脊阴。當(dāng)系統(tǒng)沒有缺陷,若是發(fā)生操作失誤蚯瞧,系統(tǒng)發(fā)生故障的概率為20%嘿期;若是沒有操作失誤,系統(tǒng)發(fā)生故障的概率為10%埋合。其他引發(fā)故障的原因未知备徐。
系統(tǒng)故障模型
根據(jù)背景,我們可以將引發(fā)故障的情況使用以下形式化的模型進(jìn)行表達(dá):
系統(tǒng)發(fā)生故障的概率 = 各種條件情況下甚颂,系統(tǒng)故障的概率之和蜜猾。
代碼實現(xiàn)
概率:
某條件及其發(fā)生的概率:
一組條件下,事件發(fā)生的概率:
所有條件下蹭睡,結(jié)果發(fā)生的概率:
故障網(wǎng)絡(luò)模型:
根據(jù)歷史數(shù)據(jù),統(tǒng)計的概率:
運行模型赶么,得出的系統(tǒng)故障概率(保留5位小數(shù)):0.23200
新的知識
隨著新數(shù)據(jù)的更新棠笑,發(fā)現(xiàn)導(dǎo)致系統(tǒng)故障的原因還有一類:基礎(chǔ)設(shè)施故障∏菪鳎基礎(chǔ)設(shè)施發(fā)生故障的概率是0.001蓖救。當(dāng)基礎(chǔ)設(shè)施發(fā)生故障時,系統(tǒng)一定發(fā)生故障印屁。重新建立系統(tǒng)故障模型如下:
概率描述:
代碼實現(xiàn):
更新概率數(shù)據(jù):
更新模型的定義:
運行模型循捺,得出的系統(tǒng)故障概率(保留5位小數(shù)):0.23277
進(jìn)一步應(yīng)用
除了不斷有新知識的加入,更新模型之外雄人。根據(jù)已建立的模型从橘,我們也可以進(jìn)行一些分析。
情況一:通過增強(qiáng)測試手段或者代碼走查評審础钠,系統(tǒng)缺陷的檢出提高到了85%恰力。運行模型可以得出系統(tǒng)故障的概率為0.20230。降低了0.0297旗吁,即降低了12.8%踩萎。
情況二:在情況一下,由于配置管理或者運營人員變動很钓,操作人員是新手香府,導(dǎo)致人為操作失誤的概率提升為0.15董栽。運行模型可以得出系統(tǒng)故障的概率為0.20804。提升了0.00574企孩,即提高了2.84%锭碳。
這樣,根據(jù)不同的情況勿璃,隨著新數(shù)據(jù)的不斷出現(xiàn)擒抛,來預(yù)測系統(tǒng)發(fā)生故障的概率。
禪定
貝葉斯方法补疑,需要大量計算 ……? 已算暈歧沪。本文存在多處錯漏之處。