因果、相關(guān)以及貝葉斯工具
事件總是孤立的
我們觀察到的事件其實(shí)都是孤立的,事件之間總有無(wú)法觸達(dá)的空隙和未知,不可能完全獲知。比如A事件“你轉(zhuǎn)賬給甲”,B事件“你少了一筆錢(qián),甲收到一筆錢(qián)”,如果抽離了我們的日常經(jīng)驗(yàn)和因果關(guān)系認(rèn)知,那么可以說(shuō)這兩個(gè)事件之間完全沒(méi)有關(guān)系,只是說(shuō)觀察到A事件之后,又觀察到B事件。
相似性、相關(guān)性還不能發(fā)出預(yù)言,還需要存在、充足理由和相似代換才有因果關(guān)系
但我們同樣觀察到了如下的事實(shí):A1事件”你轉(zhuǎn)賬給乙“,B1事件”你少了一筆錢(qián),乙收到一筆錢(qián)“,A1事件發(fā)生后,B1事件也發(fā)生了。
同時(shí)觀察到了如下的相似性:A1事件看起來(lái)很像A事件,B1事件看起來(lái)很像B2事件。
這能說(shuō)明什么呢?能說(shuō)明A2事件“你轉(zhuǎn)賬給丙”之后,就會(huì)發(fā)生B2事件”你少了一筆錢(qián),乙收到一筆錢(qián)“嗎?
我覺(jué)得其實(shí)并不能。因?yàn)?、你要相信過(guò)去真發(fā)生、現(xiàn)在正存在、未來(lái)會(huì)出現(xiàn),2、你要相信世界上存在”因果關(guān)系“、”有因就必然有果,有果就必然有因“,3、你要相信”因果關(guān)系看重的不是本質(zhì)而是屬性“、”相似的因會(huì)有相似的果“,4、你要相信A事件和B事件之間存在“因果關(guān)系”。
只有在有這些前提的情況下,才能判定B2事件發(fā)生。
這些前提具體是什么呢?
“過(guò)去真發(fā)生、現(xiàn)在正存在、未來(lái)會(huì)出現(xiàn)”,現(xiàn)在正存在是一切的根基,不需要討論;同樣如果未來(lái)不會(huì)出現(xiàn),那討論其實(shí)沒(méi)有意義,也不需要討論;過(guò)去發(fā)沒(méi)發(fā)生沒(méi)關(guān)系,只要我們認(rèn)為發(fā)生了就可以了,這其實(shí)并非理所當(dāng)然,我們可以認(rèn)為過(guò)去的一切都是神的偽造和精神灌輸,下一刻不會(huì)發(fā)生而會(huì)被神戛然而止,我們只生活在片段中。但從這種角度來(lái)看,任意一個(gè)事件發(fā)生的可能性可以是完全相等的,因?yàn)檎鎸?shí)和未來(lái)不會(huì)被我們知道。
只有相信“任何事情的發(fā)生都是有理由的”或者說(shuō)“一件事件不可能突兀地冒出來(lái)而沒(méi)有任何的前因事件、后果事件”,才能在事件之間建立關(guān)聯(lián)。
但到此還不夠,可能存在”A1事件可以是B事件的理由,A事件可以是B1事件的理由,因果由神隨機(jī)定義,沒(méi)有規(guī)律“的世界,這樣的世界對(duì)我們來(lái)說(shuō)可能非常詭異、非常扭曲混亂、甚至難以想象的。
因此還需要相信“任意一個(gè)過(guò)程的發(fā)生無(wú)關(guān)參與事物的本質(zhì),只跟參與事物的特定屬性有關(guān)”或者“如果事物A和B在過(guò)程所關(guān)心的屬性上絕對(duì)等同,在其他影響因素完全一致的情況下,用A替換B不影響過(guò)程的結(jié)果”。舉個(gè)例子,我們先用砝碼稱等質(zhì)量的物體,然后用等質(zhì)量的物體代替砝碼稱重,顯然“等質(zhì)量的物體”和“砝碼”的本質(zhì)是不同的(事物A不是事物B,他們的本質(zhì)不同;如果事物A是事物B,他們的本質(zhì)相同),但對(duì)于稱重這個(gè)過(guò)程來(lái)說(shuō),唯一關(guān)心的是物體的“質(zhì)量”屬性,所以上述的例子能夠work。這其實(shí)也并非理所當(dāng)然,我們完全可以認(rèn)為某個(gè)具體的砝碼被神賦予了這樣的本質(zhì)和定義:在稱重的場(chǎng)景下永遠(yuǎn)都比另外一邊重,即使我們無(wú)法從屬性上區(qū)分出它和其他砝碼。
到此,我們這個(gè)世界才是有因果、有規(guī)律、可重復(fù)、可預(yù)測(cè)的。
所以因果關(guān)系是一種信仰,幫助我們發(fā)出預(yù)言;因果關(guān)系是我們對(duì)世界如何運(yùn)行的構(gòu)建(虛構(gòu)),提供了對(duì)“觀察到的確定性“的解釋。
相信因果關(guān)系后,它能給我們提供那些確定性?
1、如果A事件和B事件有因果關(guān)系,那么當(dāng)作為因的A事件發(fā)生了,作為果的B事件也會(huì)發(fā)生。也就是說(shuō)任意一個(gè)事件發(fā)生其實(shí)都是確定的,當(dāng)前因事件確定了,該事件也跟著確定。
2、如果A事件和B事件有因果關(guān)系,那么當(dāng)作為果的B事件發(fā)生了,作為因的A事件也一定發(fā)生了。
3、如果A事件和B事件完全沒(méi)有因果關(guān)系,那么當(dāng)A事件確定已經(jīng)發(fā)生了,B事件發(fā)不發(fā)生其實(shí)完全不受影響。
即使我們相信有因果關(guān)系,現(xiàn)實(shí)世界中仍然不能推演到真實(shí),只能找到最大的可能性
1、我們很難足夠確切地知道真正發(fā)生過(guò)什么,只是觀察到一些孤立的事件。圍繞一件特定的孤立事件,我們能夠找到無(wú)數(shù)種可能的因或者說(shuō)能到達(dá)我們觀察到的事件的可能性非常多。還是轉(zhuǎn)錢(qián)的例子,可能你的錢(qián)轉(zhuǎn)錯(cuò)人了,恰好有人也轉(zhuǎn)錯(cuò)了同樣多的錢(qián)給他,概率非常地小,但是現(xiàn)實(shí)中確實(shí)有可能發(fā)生。
2、現(xiàn)實(shí)中事件之間的因果關(guān)系非常復(fù)雜,不是鏈?zhǔn)?、不是DAG而更接近"帶進(jìn)入判定的加權(quán)有向有環(huán)圖"。A事件發(fā)生后B事件也發(fā)生可能都是觀察不到的Z事件導(dǎo)致的,甚至只是到目前為止、一種概率上很小的巧合。
總的來(lái)說(shuō),對(duì)于觀察到的孤立事件們,他們之間的關(guān)系有很多可能性,甚至完全無(wú)關(guān)。
那么我們應(yīng)該怎么辦?
找到能夠解釋所有觀察的最大可能性即可。
具體要怎么做呢?
1、相關(guān)性、相似性是我們推演的依據(jù)。一些觀察到的、足夠強(qiáng)的相關(guān)性或者說(shuō)經(jīng)驗(yàn),可以處理成因果關(guān)系,基于此來(lái)展開(kāi);如果后續(xù)陷入矛盾,退回到這一步重新考慮可能性。
2、根據(jù)所有觀察擬合出能夠解釋的因果過(guò)程或者可能性。那么究竟是哪一種可能性呢?根據(jù)“奧姆剃刀經(jīng)驗(yàn)法則”選中過(guò)程最簡(jiǎn)單的那種可能性,到此遠(yuǎn)沒(méi)有結(jié)束,可能僅僅是可能,如何讓一種可能性更可能呢?或者說(shuō)如何增強(qiáng)一種可能性、削弱其他可能性呢?
3、如果這種可能性降得過(guò)低甚至到了足以否決的地步,退回到第二步,嘗試增強(qiáng)過(guò)程第二簡(jiǎn)單的那種可能性。
4、如果一種可能性被增強(qiáng)到足夠高的地步,對(duì)我們來(lái)說(shuō),往往就可以結(jié)案了;如果多種可能性勢(shì)均力敵,找不到任何證據(jù)來(lái)繼續(xù)增強(qiáng)任何一種可能性,只能說(shuō)我們追求的真實(shí)在目前條件下無(wú)法觸達(dá)。
概率的相關(guān)定理和貝葉斯公式提供了增強(qiáng)或者削弱可能性的依據(jù)
貝葉斯公式:
P(A|B) = [P(B|A) * P(A)] / P(B)
概率定理:
1、P(X) <= 1,X為任何事件。
2、P(A) >= P(A|B)P(B),A發(fā)生的可能性要大于等于AB同時(shí)發(fā)生的可能性。
3、P(A)+P(B) <= P(AB) + 1或者說(shuō)P(A)+P(B)-P(AB) = P(AUB) <= 1,A發(fā)生的可能性+B發(fā)生的可能性要小于AB同時(shí)發(fā)生的可能性+1。
這里貝葉斯公式的取值必須滿足概率定理,光等式配平是不行的。
其中:
P(A|B)稱為后驗(yàn)概率(posterior),這是我們需要結(jié)合先驗(yàn)概率和證據(jù)計(jì)算之后才能知道的。
P(B|A)稱為似然(likelihood),在事件A發(fā)生的情況下,事件B(或evidence)的概率有多大。
P(A)稱為先驗(yàn)概率(prior), 事件A發(fā)生的概率有多大。
P(B)稱為證據(jù)(evidence),即無(wú)論事件如何,事件B(或evidence)的可能性有多大。
以被處理為因果關(guān)系的相關(guān)關(guān)系來(lái)說(shuō),我們可以把P(A)看做“因”發(fā)生的概率,P(B)看成“果”發(fā)生的概率,P(B|A)是如果“因”發(fā)生,”果“發(fā)生的概率有多大,P(A|B)則是如果“果”發(fā)生,“因”發(fā)生的概率有多大,P(A|B)其實(shí)就是我們常見(jiàn)的一個(gè)問(wèn)題:我們不知道是否發(fā)生了“因”,但是如果我知道了發(fā)生了“果”,那么發(fā)生“因”的概率有多大?從P(A)到P(A|B)就是我們要找的增強(qiáng)或者削減可能性的方法,每次得到的后驗(yàn)概率P(A|B)都是下一次的先驗(yàn)概率P(A)。
在現(xiàn)實(shí)中我們很難具體知道P(A)、P(B)、P(B|A)的值具體是多少,有時(shí)候會(huì)直接知道A和B之間是正相關(guān)或者負(fù)相關(guān),也就是說(shuō)知道當(dāng)A發(fā)生時(shí)B發(fā)生的概率相對(duì)B單獨(dú)發(fā)生的概率會(huì)增加還是減少。反映到公式里其實(shí)就是知道P(B|A)/P(B)大于1還是小于1,這里是對(duì)稱的,P(A|B)/P(A)和P(B|A)/P(B)相等,可以直觀理解為“如果A發(fā)生阻礙B的發(fā)生,那么當(dāng)B發(fā)生時(shí)就更不可能受到阻礙作用,A發(fā)生的概率應(yīng)該減小“。如果該項(xiàng)大于1,那么A和B之間是正相關(guān),反之A和B是負(fù)相關(guān)。
我們把P(B|A)/P(B)定義為相關(guān)性M,那么P(A|B) = M * P(A),表示如果“果”B發(fā)生了那么“因”A發(fā)生的概率會(huì)以相關(guān)性M作為乘法系數(shù)變化。
類似可以將[1-P(B|A)]/[1-P(A)]定義為補(bǔ)比相關(guān)性N,可以推理出P(A|-B) = N * P(A),表示如果“果”B不發(fā)生了那么“因”A發(fā)生的概率會(huì)以補(bǔ)比相關(guān)性N作為乘法系數(shù)變化。
我們可以總結(jié)如下日常經(jīng)驗(yàn):
1、如果A發(fā)生和B發(fā)生之間的相關(guān)性非常強(qiáng),同時(shí)B發(fā)生的概率很低,那么當(dāng)B發(fā)生時(shí)A發(fā)生的概率就會(huì)很高。
2、如果A猜想成立時(shí)B發(fā)生的概率很小,而B(niǎo)又確實(shí)發(fā)生了,我們可以認(rèn)為此時(shí)A成立的概率非常小。
雖然度量這種相關(guān)性很難,但我們能否嘗試度量出這種相關(guān)性呢?
可以簡(jiǎn)單地度量一些現(xiàn)實(shí)場(chǎng)景的相關(guān)性M:我寫(xiě)一行代碼寫(xiě)一句日志到文件中,運(yùn)行之后,找到那個(gè)文件發(fā)現(xiàn)果然多了那一句日志。
1、我們可以定義一個(gè)”信仰概率“,這個(gè)概念代表”一個(gè)事件沒(méi)有任何前因后果被神創(chuàng)造、直接冒出來(lái)的可能性“。如果相信未來(lái)、相信因果,那么這個(gè)概率可以認(rèn)為是沒(méi)有的,如果不大相信因果,這個(gè)概率會(huì)隨之調(diào)整。個(gè)人認(rèn)為,這個(gè)概率對(duì)于生存在這個(gè)世界上的人基本是不用考慮的。
2、我們可以找一個(gè)”絕對(duì)出現(xiàn)概率“,這個(gè)就是根據(jù)經(jīng)驗(yàn)想象到的、總能夠出現(xiàn)當(dāng)前結(jié)果的那種可能性的概率,一般來(lái)講都是極其低極其低的。比如:一系列比特翻轉(zhuǎn)事件直接拼接出來(lái)這個(gè)結(jié)果;所有的代碼執(zhí)行都是假的,日志文件都是一個(gè)人在背后遠(yuǎn)程幫我們手寫(xiě)的,他非常偶爾地也會(huì)犯錯(cuò)誤。
3、我們還可以嘗試尋找一個(gè)“背景概率”,P(B|-A):如果A不發(fā)生,那么B發(fā)生的概率有多大。這里可以處理為在沒(méi)有“代碼執(zhí)行”時(shí),”只包含這句日志的同名文件”占”所有文件“的比例,如果當(dāng)前系統(tǒng)總是出現(xiàn)只包含這句日志的同名文件,也就是說(shuō)B的發(fā)生原本就有相當(dāng)?shù)牧?,那么其?shí)計(jì)算出來(lái)的相關(guān)性M可能不那么大。以生活經(jīng)驗(yàn)來(lái)說(shuō):如果”找到那個(gè)文件發(fā)現(xiàn)果然多了那一句日志“這個(gè)現(xiàn)象本來(lái)就很多,那么單純只是”找到那個(gè)文件發(fā)現(xiàn)果然多了那一句日志“這個(gè)事件,并不會(huì)那么顯著地增加”代碼執(zhí)行了“這個(gè)事件發(fā)生的可能性。
4、帶入公式 P(A|B) = [P(B|A) * P(A)] / [P(B|-A)P(-A) + P(B|A)P(A)] 中,關(guān)鍵是P(B|-A)這一項(xiàng)的處理,如果“背景概率”顯著的話就帶入“背景概率”,否則帶入“絕對(duì)出現(xiàn)概率”。
5、如果帶入的是“絕對(duì)出現(xiàn)概率”,一般來(lái)講“絕對(duì)出現(xiàn)概率”是非常非常小的,可以省略掉的。這個(gè)時(shí)候我們就發(fā)現(xiàn)整個(gè)貝葉斯公式可以消掉,變成P(A|B)=1,這也非常符合我們?nèi)粘5慕?jīng)驗(yàn):即如果一個(gè)“果”只可能在一個(gè)“因”的情況下出現(xiàn)且“果”真的出現(xiàn)了,那么不管“因”的概率有多小,“因”必然發(fā)生了。
6、當(dāng)背景概率比較顯著的時(shí)候,怎么辦呢?
P(A|B) = [P(B|A) * P(A)] / [P(B|-A)P(-A) + P(B|A)P(A)]可以處理為1 / [1 + P(B|-A)P(-A)/P(B|A)P(A)],我們定義P(B|-A)P(-A)/P(B|A)P(A)為概率發(fā)生比Q。
假設(shè)P(B|-A)為0.5,也就是說(shuō)“不知道怎么搞得,整個(gè)系統(tǒng)里面到處都是只包含這句日志的同名文件,概率大概有50%”;P(A)為0.99,也就是說(shuō)“除非我眼花或者手殘,否則代碼執(zhí)行的概率應(yīng)該是99%”,這個(gè)是我們的先驗(yàn)概率;P(B|A)為0.9999,也就是說(shuō)“如果代碼執(zhí)行,有極大的概率會(huì)有文件”,注意這里是“有文件”而不是“寫(xiě)文件”,因?yàn)锽事件是“出現(xiàn)那個(gè)文件”,而不是“代碼執(zhí)行寫(xiě)了文件”。
帶入計(jì)算得到P(A|B)為99.497%。以日常經(jīng)驗(yàn)理解:P(A)和P(B|A)本身就很大的情況下,增加強(qiáng)的證據(jù)也只帶來(lái)微不足道的提升。
那么P(A|-B)是多少呢?1.94%,這個(gè)其實(shí)要比想象中的要高,以日常經(jīng)驗(yàn)理解:既然B已經(jīng)不發(fā)生,要么是1%代碼沒(méi)執(zhí)行,要么是99%*0.01%代碼執(zhí)行了沒(méi)成功,怎么會(huì)差不多高出一倍呢?可以認(rèn)為“1%代碼”不執(zhí)行時(shí),有可能本來(lái)就已經(jīng)有文件了,只能拿出50%進(jìn)分母;”9%*0.01%代碼執(zhí)行了沒(méi)成功“也一樣,但因?yàn)榛鶖?shù)小,所以縮放造成的影響其實(shí)沒(méi)那么厲害。
7、日常經(jīng)驗(yàn)告訴我們:代碼出問(wèn)題的情況可能更大,我們很可能過(guò)度自信了。也就說(shuō)P(B|A)實(shí)際小很多。假如P(B|A)為60%,那么其實(shí)P(A|-B)會(huì)上升到98.75%。以日常經(jīng)驗(yàn)理解:代碼執(zhí)行的概率很高,并且代碼執(zhí)行之后成功的可能性很低,因?yàn)楸旧砭陀?0%的概率,A發(fā)生之后也就只有60%,所以出現(xiàn)這種結(jié)果很大概率是執(zhí)行了但沒(méi)成功導(dǎo)致的。
這給了我們一個(gè)警示:貝葉斯公式只是在我們當(dāng)前已有先驗(yàn)(認(rèn)知和經(jīng)驗(yàn))的情況下,幫我們估計(jì)發(fā)生“因”的概率到底有多大。如果起始的認(rèn)知出現(xiàn)錯(cuò)誤,那拿到的結(jié)果是沒(méi)有意義的。也就說(shuō)P(A|B)并不是真實(shí),只是根據(jù)公式演繹的結(jié)果,公式本身沒(méi)有問(wèn)題但是GIGO。
常用方法、經(jīng)驗(yàn)的底層邏輯
猜想、驗(yàn)證就是用日常的經(jīng)驗(yàn)或知識(shí),擬合出能夠囊括所有觀察的因果過(guò)程或者可能性,然后定義”猜想A正確“這個(gè)事件為G事件,尋找跟G事件相關(guān)性很高的J事件是否發(fā)生,可以增強(qiáng)或者削弱G事件的可能性。如果原本J事件發(fā)生的概率非常低,那么事件之間的相關(guān)性越強(qiáng)。
新證據(jù)的出現(xiàn)可能會(huì)增強(qiáng)或者降低當(dāng)前選定可能的可能性。
復(fù)現(xiàn)是利用”一種因果過(guò)程應(yīng)當(dāng)能夠重復(fù)發(fā)生“的強(qiáng)經(jīng)驗(yàn)帶來(lái)的相關(guān)性,如果“存在一個(gè)因果過(guò)程A”的事件被重現(xiàn)了,那重現(xiàn)的證據(jù)反過(guò)來(lái)能夠增強(qiáng)這種可能性。
單點(diǎn)破壞是現(xiàn)實(shí)中有時(shí)候會(huì)遇到一切都完美契合解釋,但是有一點(diǎn)怎么都無(wú)法自洽的場(chǎng)景。此時(shí)要么另尋其他假設(shè),要么增加單點(diǎn)改動(dòng)的假設(shè)然后尋找單點(diǎn)改動(dòng)的正相關(guān)事件。
關(guān)于討論的討論
1、本次討論可能無(wú)法排除對(duì)”邏輯、因果、相關(guān)“的使用,不知道用”邏輯、因果、相關(guān)“討論”邏輯、因果、相關(guān)“是否有意義。
2、有些名詞和概念純粹自己給自己編的,所以謹(jǐn)慎和別人交流時(shí)使用;純文本記錄風(fēng)格,所以公式就比較隨意。
3、個(gè)人水平有限,沒(méi)有錯(cuò)誤的自信程度不高,謹(jǐn)慎對(duì)待結(jié)論。
4、非常歡迎指出問(wèn)題,期待一起交流。