2020年7月14日 星期二

找死

延續上文的討論,若用現在手上的model賭馬不能贏錢,是否做一個更強的、統計指標更漂亮的model就能扭轉乾坤?個人觀點是,不宜過度關注及追求model的統計指標,而應該好好了解一下自認為有效model的“效果”從何而來。

如果用來砌model的那堆data叫D1,未開跑那堆data叫D2,池某所接觸過的model使用者,不論是用logit model的還是用AI的,無一例外,都總會全副心思放在D1,費盡精力尋找有效factors,絞盡腦汁令model的統計指標看起來更“靚”,認為只要將model做到越強越有效就行,而從不理會D2的分佈會有怎樣的可能。

然而,實際上贏錢與否無關model的強弱,反而與D1、D2的分佈是否一致的關係更大。若D2的分佈遠遠偏離D1,用D1的regression結果去“預測"D2顯然是找死,而且model越強越有效就死得越慘烈。

又由於D2相對於D1是小樣本,即使是random的因素,也會令其分佈偏離於D1成為大概率事件。最常見的就是兩、三個月不贏馬的騎師、練馬師突然一日贏兩、三場;或者一條一向利放頭的跑道突然轉向大利後上等等,涉及方方面面各個factor的例子不勝枚舉。

我們做過regression都知道,如果data的分佈是random的,factors就會無效,做出來的model也會沒什麼效果;data分佈極端且趨向明顯,做出來的model效果才好,統計指標才“靚”。因此,一個model看起來統計效果好、factors看起來有效,多數是因為data分佈極端偏離所致。用這樣一個本來就分佈偏離的D1的regression結果,去“預測"一個分佈偏離幅度更大且無定向的D2,不輸錢才怪。

但人們一旦輸了錢,首先想到的就係個model唔夠勁、factors唔夠有效,於是搜索枯腸,將同一堆data左配右搭,搓圓撳扁,生搬硬砌,以期砌出一個統計指標更好的、看起來更有效的model,結果是統計指標越“靚",偏離就越大,輸得越慘,然後,重來,砌一個更“勁"的model……,陷入死完再找死的循環之中。



Overfitting的問題,不是不懂,但人們總是會自然而然地踏上這條死路而不自知。找出不為人知的有效factors,固然是令model取得或保持優勢的最好方法。問題是,一旦聽聞或心裡覺得某個factor會有效,或有了factor A定會比factor B更有效之類的執念,經過一輪死砌爛砌之後,這些主觀想法是一定能自我實現的,於是就不經不覺地自掘墳墓,墮入自找的overfitting陷阱。