為什麼完全相似的數據會有 0 互信息?
我不是統計學專業的,所以我的統計學知識非常有限,但我發現自己需要學習和使用互信息。我相信我理解這個概念和公式,但是完全相似的數據會有 0 互信息似乎違反直覺。我希望兩組具有完全相似性的數據的互信息為 1。
我正在編寫一個程序,它計算成對蛋白質序列中兩列(i 和 j)之間的互信息,如果兩列完全相同,我不確定是否應該手動將 MI 固定為 1。例如,如果兩列(寫成行)是:
CLLYFFDTTQGILMIGCL IILLIIIIFLIVILVIFV
然後我手動計算 MI 等於 0.8384。但是,如果兩列(寫成行)是:
GGGGGGGGGG GGGGGGGGGG
互信息將等於 0,因為公式將導致:
在我的程序中,我檢查列是否相同(i = j)並手動分配 Mi = 1。所以我想知道:這是不好的做法嗎?它只考慮許多可能的情況嗎?我根本不應該這樣做嗎?與我一起工作的教授建議我為所有其他不存在的氨基酸加入一個偽計數,並忽略 i = j 時的手動修復。
偽計數會解決這個問題嗎?將每個現有氨基酸計為 1.1,將其他所有氨基酸計為 0.1,還是會產生相同的互信息?再說一次,我離統計學專業還很遠,所以如果你能簡單地解釋一下,那將是最好的。謝謝。
相互信息可以被認為是減少不確定性的措施觀察後:
然而,變量與自身的互信息等於該變量的熵
並稱為自我信息。這是真的,因為如果值為完全由這是真的. 之所以如此,是因為熵是對不確定性的度量,並且在推理值時不存在不確定性 給定的值, 所以
如果您按照如下所示的維恩圖來考慮,這一點立即顯而易見。
您還可以使用互信息公式並替換條件熵部分來顯示這一點,即
通過改變進入和回憶起來 , 所以. [請注意,這是一個非正式的論證,因為對於連續變量 不會有密度函數,但有累積分佈函數。]
所以是的,如果你知道一些關於,然後再次學習沒有給你更多信息。
查看 Cover 和 Thomas 撰寫的 Elements of Information Theory 的第 2 章,或Shanon 1948年的原始論文本身以了解更多信息。
關於您的第二個問題,這是一個常見問題,即在您的數據中您確實觀察到一些可能出現的值。在這種情況下,概率的經典估計量,即
在哪裡是出現的次數th 值(出類別),給你如果. 這稱為零頻率問題。正如您的教授告訴您的那樣,簡單且常用的修復方法是添加一些常量到你的數目,所以
的共同選擇是,即基於拉普拉斯繼承規則應用統一先驗,對於 Krichevsky-Trofimov 估計,或用於 Schurmann-Grassberger (1996) 估計器。但是請注意,您在這裡所做的是在模型中應用數據外(先驗)信息,因此它具有主觀的貝葉斯風格。使用這種方法,您必須記住您所做的假設並將其考慮在內。
這種方法很常用,例如在 R熵包中。您可以在以下論文中找到更多信息:
Schurmann, T. 和 P. Grassberger。(1996)。符號序列的熵估計。混亂, 6,41-427。