大數據和人工智慧研究分享 === ###### tags: `機率分配模擬` `大數據` `人工智慧` `建模` [TOC] 1. Probability distribution simulator --- 在大數據分析和人工智慧建模的過程中,機率分配模擬器扮演著非常重要的角色。如果沒有數據模擬,分析人員或建模研究人員都在「瞎子摸象」。他們的分析和建模都將建立在「自我主觀認定」的前提,依循數學、機率或統計模型的分析方法得到特定的結果。然而,錯誤的假設(或前提)雖然經過正確的分析流程,其結果為「偽」^[1]。那麼,正確的前提該如何尋找呢?通常我們得先對數據的來源進行解析,包含敘述統計、適合度檢定找機率分配、是否有隨機性、是否有序列相關等。 而後三者需要對**各種的機率分配先行模擬找出檢定用的臨界值**。過去統計套裝軟體已經將使用者訓練成只看「P值」進行判斷即可。P值的基礎就是機率分配的累積機率對應之臨界值。**電腦模擬數據的機率分配就可直接得到臨界值**。當然,你也可以讓電腦幫你換算成P值。無論你使用臨界值或P值都可以得到相同的檢定結果。 讓我們回到正題的機率分配模擬上。目前在網文或Excel、程式語言的教學上都脫離不了常態分配(有的稱為正態分配),並且使用指令生成常態分配,你或許可以看到一個隨機變數的常態分配圖,但兩個隨機變數的聯合常態分配圖呢?一個底面積應該為圓的二維常態分配圖,你見過嗎?這個底面積就是判斷隨機生成數字是否來自特定的分配,也是檢測亂數生成器和公式是否正確的方法。 由於數學、機率、統計相關軟體已經被使用數多年,變成眾人自動認定他們的亂數生成器和公式不會錯,再也不自己去驗證,並視為對的。這樣的認知等於前述的「假」前提得到「真」結果,整句為「偽」的結果。 ### 1.1. 為何是高端技術 各種機率分配模擬是非常高端的知識和技術,而機率分配之間的變數轉換更是高端中的高端知識和技術。在微積分中也有變數轉換,但教科書上的例子和習題都是已經設計好,可以求得解答的完美情況。現實情況通常都會遇到無解。 數值分析成為數學做不到時的輔助工具。但數值分析能夠做到機率分配模擬和機率分配的變數轉換嗎?數值分析的侷限在於 * 要能切出愈小愈好的等分區間 * 要先知道數據的函數 這如同概似函數(likelihood function)。在數學、機率、統計的領域中,使用概似函數進行分析都是屬於較難的研究方法。所以很多人都會對它的景仰如滔滔江水連綿不絕,又如黃河氾濫一發不可收拾(笑)。不過,使用概似函數真的就是最棒最好的嗎? 想使用它,得先知道函數形式。如果不知道函數形式你就無法使用在分析上。那為什麼期刊論文都可以用概似函數呢?因為學者專家只是提供理論概念,他們使用符號表示,不管真實數字帶入的情況。特別是概似函數的機率密度函數中還可能有不同的參數,其影響不能因為曾使用常態分配得到之結果去適用所有機率密度函數。而這點卻是多數學者已經發表的論文中犯的錯誤。至於你看到可解的,通常都是帶入特定的常見分配並且已經設計好可以求得解答。 另外,概似函數是求解出眾數(Mode)。注意到這點,不是平均數,不是中位數,而是眾數。如果特定機率分配特性沒有眾數,而你寫了個概似函數去進行一般性論證,那真是給人看心酸的,自我安慰用。 所以大數據分析或人工智慧建模非常依賴數字,而數字需要找出機率分配,這時機率分配模擬器扮演吃重角色,為大數據分析或人工智慧建模解決一開始的「偽前提」問題。 目前常見的「偽前提」是讓使用者選擇二項式分配、波松分配、指數分配、羅吉斯分配、常態分配等。但你的數據是不是來自這些分配?學者專家和研究人員們自我催眠的理由有這些: * 過去別人也這樣用,所以可以當作經驗法則,我也可以跟著使用,然後每個都用一次,挑解釋力最高的。 * 軟體就提供這些可以選,我看很多人論文都選某個分配,我也跟著選。 * 有總比沒有好。總比做不出來還要好。 上述第三個心態是最常見,也是目前最能說服人的。因為根本做不到,那就用一個看起來比較合適的去跑數據結果。至於自己模擬出機率分配來比對?算了!太耗費時間,而且可能因為跨領域而選擇以自身可以掌握的知識及技術做出結果即可。 所以,機率分配模擬技術是高端的技術,被排在高等教育內進行學習。 ### 1.2. 高端技術解決方法之一:亂數表 這是高端技術嗎?若說數值分析或許是,因為你得認識很多函數,還要能數據的規律配到函數。數字的模擬也是找數字規律,除了走尋找函數的路子外,還有沒有別的客觀辦法? 這個方法很早的中學教育就有教了,那是「亂數表」。亂數表是生成亂數的方法。用亂數表隨機抽取數字,形成數據集(Data set)就能從數據集中尋找規律。 你可能認為這應該就是隨機數字而已。是的沒錯!這時的數據集只是來自均勻分配的亂數。有了這個數據集或你生成多個這種數據集,就能開始做加減乘除了。 我們可能從理論的機率分配去推導出隨機變數和均勻分配之間的關係,然後用此數學式得到隨機變數的數值。這個數值形成的數據集就是隨機樣本。 如果只是數百個或數千個隨機樣本或許沒辦法顯示出隨機變數的機率分配特性,但更多隨機樣本呢?總能夠反映出特性吧?! 「[Excel calculating the probability distribution simulated data](https://www.amazon.com/dp/B09PFFN622)」一書雖然是英文教科書,但屬於工具書,一步步教學如何生成隨機樣本。此外,還有多少樣本才能顯示出機率分配特性,以及如何做變數轉換。對於需先知道數據函數的數值分析更能使用在大數據和人工智慧的數據建模上。 要做數據分群時,透過數據的機率分配或機率分配轉換達到間斷或連續型的變化,如此會比「主觀認定」機率分配更加客觀且合理。 ### 1.3. 高端技術解決方法之二:用數字做變數轉換 現實世界中太多的數據無法建構數學函數,或是用單純的數學函數可以代表。此時數值分析很難被應用上。但我們仍要尋找數字的規律進行建模時,該怎麼做呢? 延續1.2節的內容,既然數字的變化性比函數形式還要來得多元且多變,那就以「數字」為主,用數字找尋規律,和變數變換後的結果。這有可能達到嗎? 想用「數字」幫助人們找出規律或經由變數變換後的結果,就需要先研究多少個數字才能趨近我們要討論對象的特性。例如, * 我們的前提:隨機樣本來自特定機率分配。 * 過程:樣本個數足夠多並且可計算出樣本平均數、樣本變異數、樣本平均數的標準化。 * 結果:樣本平均數標準化後趨近標準常態分配。 於是,我們就能夠用這樣的概念去進行統計分析。而這前提、過程、結果中,唯一不清楚的有二:一為隨機樣本來自哪種分配,二為「樣本個數足夠多」是指多少。 所以我們需要去研究數字來自哪種機率分配,以及數字量要多少才能讓樣本平均數標準化後趨近標準常態分配。而這個研究過程須保證數字是隨機的。 ### 1.4. 高端技術可以低階化 大數據和人工智慧是現在與未來的科技基礎,因其高端技術限制很多人學習。你得要會數學、機率、統計、電腦程式語言等,這相當需要花費近10年時間都在學習上。上述的教科書則先用99%以上人都會的Excel做為學習工具,學習機率分配、機率分配轉換、機率建模或統計建模等。 Excel降低了學習大數據和人工智慧的模擬技術門檻,不需要侷限在一定要先會程式語言,然後自己融會貫通數學、機率、統計、特定領域的專業學科等。而是在Excel上操作產生數字,用數字帶出機率和統計的整套學習,例如,機率分配為什麼可以透過參數改變產生互通性、為什麼X_bar_bar是X的抽樣分配(=X_bar的分配)等。 到了後面還可以自己配置出機率模型或統計模型。例如書中的串並聯模型,這是極大極小函數轉換的應用。招呼計程車問題,哪輛計程車來,為何是某計程車來的因素探討都能夠使用機率分配模擬器進行情境分析。 ## 2. 機率分配模擬器在建模後成為可驗證模型真偽的工具 大數據和人工智慧現在的問題之一就是不能驗證,而且強調精準度,而不考慮精確度。既然可以從前述當中得到機率模型或統計模型,那麼大數據和人工智慧得到的結果就能夠用機率分配模擬器去驗證。 ### 2.1. 如何驗證 想驗證大數據和人工智慧的模型就是使用機率分配模擬器將模型轉為數字後,重新建模。再由機率分配模擬器模擬出來的數據模型與大數據和人工智慧的原始模型進行比對。 比對的方法可使用強大數法則(Strong Law of Large Number)。相當於來自兩個模型的機率分配,在特定誤差下進行機率值計算。強大數法則的應用可參考「[Demythologize Durbin-Watson test statistic](https://www.amazon.com/dp/B09QT7YF1S)」一書。 ## 3. 總結 現行看到的大數據分析或人工智慧建模多是使用既有的模型套用後建立的演算法,亦即基礎模型並沒有改變。另外,對數據的機率分配假設通常沒有檢定,無從得知是否符合數據的機率分配特性。在此情況下,因為嶺迴歸設計特性(降低自變數對應變數影響),以調整參數方式達到精準度,而其結果只能用精準度數字進行比對,無法形成圖形或數學式代表最後結果。這對研究的嚴謹度是大打折扣的。另外,若有比對過程也需要依賴資料庫內的資料量是否足夠大,同時延伸出來資料庫愈大比對時間愈長的問題。 資料庫搜尋的時間比直接找出數據的數學模型進行分析更加耗時但因較為簡單而被廣泛使用,而且數據的數學模型常找不到,這也是為何資料庫反而大盛其行的理由。這同時對未來的技術發展上卻同樣限制其進步空間。 現階段已經有機率分配模擬器的公開發表,並且降低學習難度下,若能切割更加細的專案流程,透過不同領域的人員共同合作,或許逐步通往更加有效率且正確的大數據分析和人工智慧建模是指日可待。 ^[1]真值表Wiki:[連結](https://zh.wikipedia.org/wiki/真值表)。