昨天那篇發的有點着急,因為手上的書都沒看完就開始K字,感覺不太完整
今天又趕着要出門(和朋友約了吃飯啦嘻嘻嘻),所以沒準備新内容,僅對昨天提到的公式做些補充解釋
昨天的重點内容:
以似然值取自然對數的數值作為試算的目标值,要求目标值最大
操作截圖:
計算公式:{=SUM(LN(NORMDIST(殘差列,0,STDEV(殘差列),FALSE)))}
請容我先把這個公式稍稍分解一下:
步驟一:假設殘差列數據的分布形狀
這裡因為我們做的是個線性拟合,所以會希望殘差值是随機的,沒有規律的,這樣的話X對Y的解釋程度會比較好,而且,我們會希望這個殘差數列的中心接近0,這樣的話直線的截距就比較準
基于這個理由,這個公式裡假設了殘差是符合平均值為0的正态分布,但由于不知道整個完整分布的标準差是多大,所以直接使用了現有的所有殘差的标準差
因此就有了中間那段:NORMDIST(殘差,0,STDEV(殘差),FALSE),意思是當我們有了一個殘差值時,把它放到一個平均值為0的正态分布裡看它的出現概率
對每個殘差值計算概率,就會形成一串概率值(我随便标識下,比如叫p1到pn好了)
步驟二:數學書上在這裡給的定義是,似然值為所有概率值連乘起來的結果
所以按理論上來講,這個公式該寫成=PRODOUT(p1,p2,... ... pn),其中PRODOUT是連乘,p1到pn=NORMDIST(殘差,0,STDEV(殘差),FALSE)
但是這裡有點小小的風險,就是這個數值算出來的結果有可能非常大,達到什麼程度呢?可能會超過Excel一個格子能容納的最大數值上限
不要以為這是開玩笑哦,你要是自己嘗試下在一個格子裡輸入一串超級長又不太規律的數字,用等于号開頭,可以試得出來這個軟件支持的上限是多少位數字的(有圖有真相)
所以這裡有個變通的方法,因為我們要的僅僅是似然值達到最大這個目的,但又不需要真的知道它的計算結果,所以,對似然值取對數(這裡用了自然對數LN)就可以把它轉換成一個相對小一點的數值,同時又可以把連乘轉變成加和,像這樣:
LN(PRODOUT(p1,p2,... ... pn))=SUM(LN(p1),LN(p2),... ...LN(pn))
為了方便,于是把它寫成了數組公式的形式:{=SUM(LN(p1:pn))}
代入中間正态分布那一截就成了完整公式:
{=SUM(LN(NORMDIST(殘差列,0,STDEV(殘差列),FALSE)))}
---------------------------小小的分割下---------------------------
但是請注意一下,這裡使用正态分布隻是基于需求的一種假設,如果是其他類型的問題,比如涉及到時間序列,或者是隻有Yes or No的二分類結果,在似然值估計的過程中使用泊松分布或二項分布也是可以的
這樣的話,似然值取對數公式的形式也有可能變化成這樣:
泊松分布:{=SUM(LN(POISSON(殘差列,平均值,FALSE)))}
二項分布:{=SUM(LN(BINOMDIST (殘差列,總次數,先驗概率,FALSE)))}
以上僅供參考,實際應用時的可能性比我上面列出來的恐怕要多得多了,具體什麼時候适合用什麼公式終歸是要因時因地制宜的
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!