分類
所有筆記 精選筆記

隨機開彩賽事是無法被預測的

給所有熱愛彩券賽事的案主們:

這是一篇長文,但既然您都花這麼多時間研究算牌了,多看一篇文章又何妨呢?

無論大樂透、今彩539、3星彩4星彩……,或各類型網站賽事例如OA極速賽車,這我們稱為「純隨機過程開彩」的遊戲,它們每次開彩都是「獨立事件(Independent Events)」,這意思是:

【無法依據歷史結果,去預測未來發生事情】,

【無法依據前期開彩,預測未來樂透開幾號】。

 

這邊並不是指「樂透比較難預測」,而是這類型的所有純機率遊戲,永遠不存在「可被預測」這件事,就跟縱使骰子只有6點,我們也沒辦法做到「骰了500次骰子之後,可以預測第501次出現幾點」,也沒辦法做到「預測第501次某個點數出現的機率是否會大於1/6。」

第1次直到第501次,每次,骰出1~6點的各機率永遠都是1/6,不會因為我第20~30次連續骰了11次的五點,而有所改變。

 

這篇之所以重新拿出來改寫,是因小馬我已經遇到太多客戶,要我針對純機率遊戲去預測未來結果,而小馬我總是不厭其煩地重新講解什麼叫做「獨立事件(Independent Events)」。寫這篇的用意,即提供給有這類型需求的客戶,先請您們了解過,有任何覺得困惑不解的,我們再來詳聊無妨。

我知道很多人會建議我說:「哎呀幹嘛解釋呢?人家要給你錢讓你做,你還不賺這錢啊?」

但在我職業道德角度是:我明明知道,在純機率的遊戲裡,按照某個規則在歷史縱能有很高的勝率,假設85%好了,但這並不代表這個規則在未來仍然有85%的勝率,甚至會發現它就跟其他所有規則一樣,在未來仍是50%上下浮動……那我還去找這些規則,然後收錢?這我良心不安!

我們能做的只有,幫大家驗證,這個純機率遊戲是否客觀公正,是否有作弊,例如發現85%勝率的規則,是偶然於某個期間出現的(倖存者偏差)?還是有特定期間?或特定條件下會出現?只要拿到歷史資料,就能被統計檢定驗證,這才是珵式馬大數據能心安理得賺的錢,屬於數據分析的業務範圍。

先說結論:至今已有多起驗證案例,從未有任何純機率遊戲,存在著作弊現象。

事實上,這些機率遊戲已經靠著抽水(手續費)或讓玩家負期望值,只要玩家夠多,莊家(主辦官方)就能有穩定的盈利,完全不需要靠「在遊戲中作弊」,去取得更多的獲利,反而這只會冒著讓主辦自己有著信用破產的風險罷了。

「會不會有些作弊沒辦法靠統計學驗證出來?」

「這些規則幫我在過去賺很多錢,是運氣好?」

「很多人說透過AI能預測牌,不是嗎?」

當然,小馬我絕對能理解「算牌」可能已經是各位生活中一個很大的樂趣甚至重心,若以科學的角度無法說服各位,那我們姑且當作這是「信仰不同」吧。

以數據科學的信仰而言,我們依據數據實際呈現的角度去說話,那大家心中自有信仰,就像是有一部分人相信台彩是作弊的道理一樣,我們都不會刻意要去反駁,而僅以數據角度去說明。就像我們不會去對信仰基督教的人說「耶穌並不存在」一樣。

當然,各位也可以用「耶穌當然存在,你這無知的麻瓜!」的概念來反嘲我們這些只相信數據科學的人。簡言之,我們就是信仰不同罷了,不需要針鋒相對,也不需要劍拔弩張,各有各的信仰,彼此尊重包容。

 

以下舉例說明「獨立事件」。

當我丟一顆公正骰子,縱使連續丟出3次六點,我下一次(第4次)丟出六點的機率,一樣是1/6,不會高於1/6或低於1/6,這就叫做「獨立事件」。

但如果我「沒有獨立事件的概念」,我可能會覺得,連續丟出了3次六點,表示下一次丟出六點的機率會比1/6低,因為直覺上會覺得「沒道理又連續出現六點,該出現別種點數了吧」。但這樣的想法以數據而言是錯誤的。

還有一派是「懷疑非公正骰子」的玩家,當這類型的玩家丟出了3次六點,他會覺得下一次出現六點的機率會比1/6高,因為他覺得「這骰子肯定是被灌鉛了,才會連續出現六點」。

任何算牌、任何規則,即是上述認為機率會比1/6高的概念。

「這些規則幫我在過去賺了很多錢啊!」

這種置身偏誤機率的錯覺,並沒有想像中那麼難發生:有一個人,他丟一顆確認非常公正的公正骰子,連續3次丟到了六,於是這個人就相信,只要押注六,他就能賺錢;結果真的…他第4次也丟六、第5次也丟六…一直丟到第9次還是丟六,這個人賺了大錢,於是得意洋洋地跟周遭的人說:「你看吧,就跟你說押注六肯定沒錯,我的策略是正確的。」

但事實是,平均每一千萬人,就有一個這種運氣的人會出現,平均每六千萬人,就有一個可以連續丟出10次六點的武林奇才。那你要說,這個叫做「運氣好」,還是叫做「押注六的策略是正確」?

平均每一千萬人,就有一個能連續丟9次六點的人,平均每六千萬人,就有一個可以連續丟出10次六點的武林奇才。那你要說,這個叫做「運氣好」,還是叫做「押注六的策略是正確」?

(是的,這段重複了,因為很重要,建議可以細細思考。)

 

同理,任何的算牌,都可能在某段短期間內,得到很不錯的效果,例如:第二個位置+第五個位置的尾數,下一期會出現在第一個位置;如果這期出現01,11,21,五期後會出現,02,12,22……等等諸如此類的「規則」。

我絕對相信每個人自己的一套規則確實賺到了錢,只在於我們站在數據科學的角度,會傾向認為這仍屬於「運氣好」而非「此規則策略正確」,如同上面骰子的舉例一樣。

當然,我們並非拒各位於千里之外,「有案子要給你接你還不賺這錢」這種不識好歹。我們能承接的僅以下兩項服務:

  1. 驗證某賽事是否公正,以卡方檢定進行,最終提供驗證結果報告書,以pdf檔提供。
  2. 驗證某條規則與某賽事中的勝率,最終提供勝率結果,以Excel檔提供。但請容我們會補上近千字的但書說明:包括「此勝率結果僅純數學統計,本賽事經公正檢定確認公正,表示開彩過程為全隨機獨立事件,無法用於未來賽事參考」等字眼。

其他服務,請容我們說聲抱歉,站在職業道德及數據科學的角度,並不鼓勵研究純機率遊戲的歷史數據,故請容我們推辭,不好意思。

分類
所有筆記 精選筆記

資料庫管理工具,唯一推薦【Navicat】!

資料庫管理工具,小馬只推薦【Navicat】。

自從多年前同事推薦這套之後,大概就…回不去了,哈哈,看其他資料庫的原生介面,都會覺得…呃…不太好看,更別說操作了。

我猜原因是這樣,舉例來說各DB大廠自身的管理介面,My SQL的php MyAdmin、MS SQL的SSMS、PostgreSQL的pgAdmin,在當初,使用這介面作業的人,肯定是一個工程師,或肯定是一個相關背景的專業技術人員。

對他們來說,UI不是重點,重點是後面能讓資料庫怎麼去運作,能讓資料如何被處理且傳遞。十幾年發展下來,大家已經很熟悉這樣的UI,並不需要來個大改版、來個改頭換面,只為了讓小馬說一句:「哇,你的介面好好看。」沒必要。

 

只是,隨著時代改變,近年來資料科學興起,資料處理和數據分析已經越來越不是傳統資料庫技術人員的獨門秘方,有越來越多,非工程背景的「門外漢」(像是小馬)或「半路出家」(像是小馬)的人,開始需要往資料端去走,因為他們必須要有乾淨、清整完的資料,才足以讓他們做出好的數據分析。

當這事發生時,一個非常漂亮、進入門檻很低的UI,就非常關鍵且重要了。

Navicat 有非常平易近人的UI/UX,從資料匯入開始,一直到以SQL作業,接著看到我們在資料庫中存放的資料表(table),看到我們儲存於預設位置的SQL語法(.sql)。一切操作是那麼順其自然且輕鬆。

求職或徵人網站上,常看到限制例如:SSMS要幾年使用經驗、要熟悉哪套DB管理工具……。實際上當差異只在於SQL語法本身時,DB管理工具的使用,不該是進入障礙、不該是DB人員轉職間的限制,因為背後運作原理是完全相同的。

攜帶一套 Navicat Premium 在身上,走到哪不管遇上什麼SQL,都不會再有UI操作障礙的問題。

不單是SQL撰寫,Navicat也是一套可以做到簡易ETL的軟體,操作介面再次【0門檻!0負擔!】點下去你就知道該怎麼操作,根本不用看使用說明,完全人性化的介面設計。

重點是,這麼好用的軟體,竟然可以買斷版本,非商用版單一DB版只要119美金,多DB版(Premium版)599美金,對學生、個人分析師,負擔也不算大。

縱使是商用版單一DB版也只要299美金,多DB版(Premium版)1,299美金,對學校系所、公家機關、企業公司,能買斷的軟體,這點根本不算錢好嗎……一台主機就多少錢了……

有興趣的可以到Navicat官網去逛逛。

光看它的網站設計就覺得舒服,沒有那種傳統死板的UI介面,不會讓人一看就敬而遠之。真心推薦,小馬我已經用好幾年了。

附上3年前的個人非商用的購買收據,我這完全是死忠用戶啊!

#小馬閒聊系列文

#Navicat

分類
所有筆記 精選筆記

資料清洗:1個人記錄了2個性別怎辦?

#案件實例系列文

資料清洗的過程,除了之前提過的,將各種不同字樣(男性, 男姓, 男, M, m, Male, male…)收斂成相同(男)之外,我們也很常遇到,明明是同一個人,資料中卻有不同性別……

如圖是近期遇到的,會員資料庫中同一個會員編號,但卻有兩筆資料,性別分別是男和女;又例如同一個會員編號,但有兩個出生日期……。類似例子,不勝枚舉。

以出生日期來說,第一時間會想:會不會…是不同會員?但細看會發現這些資料大都有相同的特性,例如:日期的個位數和十位數互換、日期間的差是10的倍數、月日相同但年份差一年等等。所以這似乎較傾向是…不知怎麼記錄錯誤所導致,而非此會員編號是不同人。

 

面對這類型的資料問題,會隨著後續不同的資料運用,而有不同的處理方法,舉例常用的方法有四種:

1. 不處理:如果這資料問題,不是存在於會員資料表,而是存在於…例如交易資料表裡,同個會員編號在交易資料表中,出現兩筆以上是很正常的,換言之,縱使處理,也不會影響到此交易資料表中的資料筆數,這種時候通常會選擇不做任何調整。

從另外一個角度是,此會員編號在之前是以男性的身分來購物,後來是以女性的身分進來購物,此會員說不定是小A辣呀~ 有何不可?

2. 按照某個規則處理:若發生在會員資料表中,有日期時間可判斷則採最新一筆資料,但若二筆資料的會員編號、會員註冊日期時間、資料更新日期時間等,都是相同的,唯有性別一個是男一個是女,這只能看要取哪個值了。

例如這種狀況一律當作女生、或一律當作男生;若是出生日期不同,則取最大值或取最小值。總之按照某個規則處理,將整個會員資料表處理成一對一的相應才行。這會直接對資料筆數造成影響,資料經處理後筆數減少了。

3. 將此狀況列為「無法判斷」:如果覺得統一列為男生也不對、列為女生也不對,那此性別欄位的男,女,只好皆改為「無法判斷(或…null, 重複值)」等之類的標記,這對後續的數據分析使用最為公正。

4. 不處理,但新增欄位:例如我們慣用上會給個新的欄位,名稱叫做「key值檢驗」,把出現此狀況的資料標記成「X」,其餘正常的資料標記為「O」。至於使用時是否要把「X」資料排除,則由使用者每次運用時自行決定。

不過實際上會出現這類資料的占比都不高(0.1%以下),縱使採方法2,也不見得會對後續分析造成太過嚴重的影響,至於實際要怎麼處理,這就告知各案案主,再由案主來決定了。

 

當然,案主們看到這些資料,通常會先傻眼3秒就是了。????