發表文章

目前顯示的是有「大資料庫」標籤的文章

[掃雷]你的資料真的是來自常態分配嗎?

圖片
 有模擬器的人肯定會知道這件事情,那就是資料檢定後是常態分配,但未必真的是! 為什麼我會如此說呢?有很多因素影響著數據看起來像常態分配,例如序列相關[註1]。當你依著順序輸入資料時,就產生了順序感。這個順序感會讓數字之間產生關係,當然也可能不會。一旦產生關係後,你的資料可能在檢定時就是常態分配。

人工智能?人工智慧?大數據?巨量資料?大資料?

最近發現總有人會用名詞來針對。這就像寫論文時,有的人總說不能使用We 或是 I,一定要使用the paper, the article或this study之類的。可是,我所看的期刊論文,全部都有人使用,沒有一定要強制讓We變成the study之類的情況。這應該是個人在寫作時的風格才對。 所以,我就在這篇網誌的標題上以這些常見的名詞來說明一下吧。

意向大數據分析_資料視覺化_聯合機率法

圖片
意向大數據分析方法可以適用於同時出現文字與數字的資料。然後透過計算每個層次的機率與每個層次之間所形成的條件機率,我們可以繪製出樹狀圖來顯示每個可能路徑。樹狀圖會因為層次的排序不同而不同,所以這樣的樹狀圖會非常龐大的,計算起來也非常麻煩。 下面,我用三個層次的例子來說明意向大數據分析方法的使用。 資料內容 隨機調查一萬個人,記錄他的性別、居住區域、年所得(萬元) 男   北          52.4863746029 男   南         123.4805768599 女   北         331.9074010055 男   北         243.1755663228 男   南         180.8876075778 男   北         158.3195187234 男   北         193.4245893981 男   北         236.3479604666 男   南         146.9041270653 女   北         228.9483905483 男   北         187.6686910211 女   北         358.9686625266 男   南         14...

大數據 (big data) 分析的困境

從蒐集資料開始 #大數據 ( #bigdata ) 的起源是採用網路蒐集資料,但是資料的代表性與正確性沒有一套方法做比對和分析,自然就不能做時間性的變動狀況分析或是資料來源不同的差異性分析,只能呈現蒐集資料的狀態。 資料蒐集與測定是此部分必須要做的工作,目前台灣的大數據分析都以資料蒐集為主,至於資料特性都是以數字型態做說明,並且至今無有效方法做有分析方法與軟體做測定。當資料特性無法確定時,無法確定進一步分析的方法和分析後所得結果就無法確定結果符合分析的目標。其實蒐集後的資料就是「資料礦( #datamining )」,要使用分析方法探討資料的特性才能進行分析資料。 蒐集資料的困難及資料特性是否一致,(1)不能簡單的假設所有蒐集的資料是同一特性,因為有假設就必須檢定。(2)分析不同資料來源的特性與差異性分析和相關係分析。(3)「 #數字科學 」不是說明資料而是反應資料的內容,並且必須採用數學模型解釋資料。 分析資料的理論 大數據的分析方法是「八仙過海各顯神通」,但是都是針對別性狀況且都是個別的方法並無系統的分析方法,同時分析的理論與方法都是「祕而不宣」,其實就是沒有一系列的分析方法形成科學。 既然大數據分析是科學方法,就必須採用科學或數學方式建立一套分析的理論與方法並提供大眾做驗證與批評。 #統計學 ( #statistics )就是分析資料的方法。只要將統計學中的分析對象與資料量做擴充與修正,就可以有系統的分析資料與採用統計學的角度說明分析的結果,並且可以使得教育時間縮短有利用分析方法的推展。 然而,統計學方法擴展到「大數據分析」的困境有其以下問題: 母體分配必需為常態分配,無法擴展到其他母體分配。 統計的檢定臨界值受到樣本的限制(數值分析無法有效獲得),無法提供大數據分析的樣本個數的臨界值。 「大數法則」與「中央極限定理」並無數學與計算方法發展正確的「極限分配」。 沒有精確的檢定統計量的抽樣分配作為基礎。 目前市售的「統計學套裝軟體」是以目前統計學的樣本個數與方法所發展,無法解決統計學方法擴展到「大數據分析」的困境, 自然無法使用於大數據分析。想解決上述的問題就是得採用其他的數學方法。「 #機率分配模擬器 」 可以克服「 #微積分 」與「 #數值分析 」的限制,可以提供以上問題的解決方法。 目前已經完成統計學分析大數據的公式與方法,可以處理 1,0...

大數據分析方法論(1)

無論中文如何翻譯Big data為大數據或巨量資料,實際上,這些資料的目的就只有一個,那就是找出資料特徵,告訴我們一些規則(Rule)、規律(Regularity)或模式(Pattern)。 過去的研究方法對於模式的認定上,首先萃取出的即是線性趨勢。 受限於線性,偏離線性的部分都歸納在離差(Deviation)上,這產生了變異數(Variance)。於是,線性迴歸模型延伸出ARCH與GARCH模型,這也是事件研究法的根基。 但是,當我們使用這些方法時,對於資料特徵的檢測卻是不足的。例如,研究者有沒有先檢查原始資料的分配為何?還是直接跑完迴歸或實驗設計,再用殘差去檢查誤差分配呢? 如果想要做到資料分析,並從資料當中取得有意義的真實現象,那麼原始資料的分配理當先驗證出來。 讓我們舉一個最直接的例子,那就是股票市場的股價指數,在過去的分析方法發現,全球的股價指數皆是滿足隨機漫步(Random Walk),也就是誤差的一階自我相關誤差模型的係數為1,也就是完全自我相關,因此,這時使用差分,非常合適,所以誤差模型就會變成白噪音(Whate Noise)。 問題發生在 那是哪個模式的誤差? 答案是 線性 ! 所以,時間序列分析的資料,第一步就是做 定態分析 。 然而,對所有資料分析人員而言,資料取得後,第一件事情就是要做定序!定序了解資料性質後,再依資料特性進行分析,得到資料告知的變數規則、規律或模式。這些規則、規律或模式對所有人而言可能從來沒有看過。 我們所能得到的模式未必會是線性,而是特殊,可能從未見過的規律或模式。再了解這些資料特性後,才開始討論資料之間的關係,所以,可以從線性關係,轉成非線性的多項式函數關係。是哪種關聯,我們無法知道,而是需要去測試,取得最小的MSE條件的估計函數,才能確定是哪種模式,以及相互之間的影響關係。 所以,若僅使用線性模式,即使是ARCH、GARCH或VAR模型,都是屬於這範疇,那麼,最終資料特性的了解就永遠都是線性模式。 如果真改為多項式函數去尋找資料特性,那麼,股價指數是否真的是隨機漫步嗎? 答案可參考 連結 的股價分析附錄。

開放性資料的估計

過去傳統的計量經濟學、迴歸分析或甚至博士班之相關課程都是建構在抽樣分配、假設檢定與配適出適切的模型,因此,延伸出因分析所需的 Tobit 、 Probit 模型,而在時間序列上則由AR模型延伸出 VAR 等系列模型。 觀察這些模型特徵,不外乎都是建構在線性概念上,換句話說,無論有無前後期關係,模型首先就是展現分類法(可以二分、三分....)以及資料區分出線性可解釋與不可解釋部分。 在「 為何使用曲線化線性迴規模型 」已經提到了重要的兩個觀念後,曲線化線性迴歸模型的特色上,確實與眾不同,同時也難以用紙筆來運算。即使如此,我們不得不說微積分當中的一個觀念是非常有用的,那就是 無論哪種數學模式都可以用泰勒展開式去逼近,其後再加上一個誤差即可代表那個數學模式。 通常經濟學家喜歡用兩階展開來代表,例如,名目與實質利率之間的關係。 問題是真實的資料是否用兩階展開就可以了呢?最後的那個誤差項,又被控制多少呢? 如果遇到的是研究者最常使用的開放性資料,每天(或每分鐘)都在更新的資料來說,愈細微的資料就可以用線性來衡量產生趨勢,預測下一期就會更為精準。所以,若使用的是每分鐘的資料,等於是將一天的資料切割成1440筆資料,然後由1440筆資料估計出線性規則,再由此規則,估計出明天的平均數字。 如此做,好嗎? 這問題就出在於既然是每分鐘更新的開放性資料,那麼研究者想要預測明天第一筆資料就必須將分分鐘鐘的新資料再次的放入,重跑估計與預測。好玩的是,有哪種軟體可以在一分鐘內跑完所有開放性資料,估計出來,並讓其他人使用,或者去買賣股票、網路上進行交易? 所以,當我們遇到開放性資料時,每次新的資料生成後就需要放入資料集內,重跑估計,再比對過去的實際值與估計值,每次都再調整。 而曲線化線性迴歸模型其實很像再使用細微的資料產生線性,再由線性產生曲線。 例如:某股票股價可以反映基本面,所以,先用基本面的財務比率估計股價,再由此股價以曲線方式估計真實股價。 對於開放性資料的估計不一定只能用時間變數(趨勢變數)來估計,當然也可以如上面所言的曲線化線性方式來估計。 而指數的數字則可以呈現出股價的轉折現象,這也是其他模型無法做到的部分,更是捕捉出規律性的方法之一。

台灣95汽油大數據分析

圖片
我國汽油的訂價策略是根據每週原油價格加權指數的變化,此指數包括70%的杜拜原油與30%的布蘭特原油。 若不考慮原油價格,純粹就95汽油的訂價來看,從CMoney資料庫內,選擇自2000年1月3日到2015年12月31日的日資料視為母體資料,進行強大數法則(SLLN)規則控制誤差,由資料展現出分配函數。 95油價機率函數 上圖的第一圖為機率密度函數,第二圖則為累積機率密度函數。其中,最低的95油價為15.6655元,而最貴的95油價為33.7745元 由於我國對汽油價格嚴格管制,2008年中華民國消費者文教基金會針對我國油價不透明的浮動油價機制提出質疑。可到了 2012 年,中油說明虧損嚴重的原因之一就是國際油價上漲與政府管制所致。另外,曾志超( 2011 )提到台灣油價未完全反映成本,凍漲反而造成成本分攤不均問題。特別是在春節前後,政府為了討好選民就會運用油價凍漲的政策( 2014 , 2015 )。 眾多的新聞內容再再說明我國對汽油價格的嚴格管制,然而,上述所言之新聞並沒有辦法提出有效的證據來證實我國對汽油價格管制之嚴格程度。因此,上圖可發現,我國95油價會有特別常出現的油價,28.1325元。有多常出現呢?圖形顯示45.9159%的經常性出現28.1325元價位。 你可能懷疑,45.9159%,這樣的出現機率算是很高嗎? 布蘭特原油現貨價機率函數 看看,上圖的布蘭特原油價格的機率密度函數,最常出現價位的機率也僅有2.9996%而已。這也難怪我國國民對於油價訂價公式的不理解。因為95油價的機率密度函數最常出現價位之機率太高了,若真的是依照浮動油價公式定價,那麼在公告前一定還會有微調,使得95油價常可維持在同一個價位。當然這也有可能是因為遠期期貨契約的因素所致。 透過大數據分析,可以很明顯地看出我國95油價的特性。 詳情可參考 李玫郁 、李堯賢、林哲揚,2016,「國際油價與中油油品價格之大數據特徵分析」,台灣銀行季刊,67(2),53-78.

從巨量資料分析方法找台日韓兌美元匯率機率密度函數

圖片
話說台灣是以出口為導向的國家,新台幣匯率的穩定與否與國際情勢深深地影響台灣出口狀況。所以在匯率相關文獻上,例如,王泓仁( 2005 )使用結構式自我迴歸模型探討央行持有國外資產淨額變動率、銀行隔夜拆款利率、M2變動率、自然對數下之CPI、自然對數下之工業生產指數、新台幣兌美元匯率、外貿比例、貿易條件為內生變數進行匯率與其他變數關係討論,另外使用GARCH討論新台幣匯率成長率之波動。 蔡聰勇( 2006 )以ARCH模型分析日本央行干預日元兌美元匯率對新台幣匯率波動影響。何棟欽( 2001 )則是建立誤差校正模型(ECM),使用隔夜拆款利率、基本放款利率、存款利率與10年期中央公債次級市場利率,發現台灣央行的存放款利率調整無僵固性,短期利率傳遞至公債利率效果不佳,但長天期存款利率則較為理想。傅澤偉、黃國安、林曼莉( 2014 )比較僵固型價格貨幣理論模型、資產組合平衡模型與行為均衡匯率模型,認為僵固型價格貨幣理論模型為佳。 不過這些分析匯率之模型多仍建構在 線性模型上,即使是GARCH模型也是一樣。 誤差是常態分配上。 事實上,在資料定序的基礎上,各國匯率不太可能是常態分配,即使解釋變數放入後的迴歸模型也是一樣。這不只是假迴歸問題,而需要從根本討論起。 在巨量資料分析下,若選擇1779/1/1至2015/04/17期間的日資料,可發現新台幣匯率之機率密度函數是可以被找到的。 左圖為日元兌美元匯率之機率密度函數圖、中間圖為韓元兌美元匯率之機率密度函數圖、右圖為新台幣兌美元匯率之機率密度函數圖。觀察圖形可知, 從全距與變異數來看,新台幣兌美元匯率 < 日元兌美元匯率 < 韓元兌美元匯率 從偏態、峰態與變異係數來看,新台幣兌美元匯率 < 韓元兌美元匯率 < 日元兌美元匯率 從機率密度函數圖來看,台日韓匯率都有雙峰傾向 從特定匯率值出現機率來說,台灣有39.83%最大機率盯住特定匯率值、日本有3.87%最大機率盯住特定匯率值、南韓僅有0.58%最大機率盯住特定匯率值 南韓在外匯市場上的干預是最少的,這是起源於1997年南韓為了度過東南亞金融風暴而向IMF借款救經濟時,要求依據國際組織之外匯管制規範,不再高度干預外匯市場。因此,在匯率的機率密度函數圖表當中特別明顯可以看到這樣的結果。 詳情參考 李堯賢、王譯賢、 李玫郁 ,2015,大數據資料下新台幣匯率...

資料如何算巨量?

圖片
巨量資料顧名思義即是大量的資料,然而資料量多大才算是巨量呢? 誰能說得清?1個億?10個億? 現階段的開放資料(open data),哪個是有上億資料?若整個資料庫來說確實有,但對於分析人員來說,特定幾個資料表才是重點。例如,貨幣政策的研究員在意利率、貨幣供給量、國內生產毛額、發行定期存單量。若由最大時間單位的變數決定(季),且假設從1955年至2014年皆有資料,則60年*4,此時,每個變數有240筆資料,本例有4個變數,所以共計960筆資料。 這不算是巨量資料,但可視為母體資料,並且資料量會隨時間而增加,所以每次估算就需納入最新資料。這無法預測非常準確,但可以增加準確性。 不過,這可否使用巨量資料分析呢? 答案是可以的!王冠先與李玫郁(2015)提出之巨量資料分析方法可以應用在此分析上。 步驟1:建立各變數之機率分配 步驟2:由各分配生成1億筆資料,共計4億筆資料 步驟3:跑數學模型,得到資料特徵之數學模式 在這過程中,對軟體商來說, 資料要讀得進; 能為資料定序。 對分析人員來說, 資料代表性與正確性; 能為資料檢測。 總而言之,巨量資料方法的應用將不侷限樣本大小或僅能模擬出來的資料。 另一種資料就是財務金融資料,例如,股票現階段的記錄上可細分至20秒一筆記錄值,累積資料起來就相當驚人,動輒上百萬筆資料,更近似於巨量資料概念。於是,在分析與研究上,更需要巨量資料分析方法。 巨量資料分析方法的免費電子書已經在  PUPU電子書商城  上架。對巨量資料來說,定序是非常重要的,這樣才能從中找到資料的數學模式,繼續從事相關研究分析,提供策略參考。

大資料庫三問

熱門中的熱門議題之一就是大資料庫。 從Google、微軟、Facebook到各家公司都在想盡辦法從過去累積出來的巨量資料內尋找出他們想要的答案,作為決策依據。 有趣的是聽到、看到那麼多大資料庫的消息,連台灣知名的龍頭公司都說他們是用大資料庫解決公司問題。看完相關的 新聞 報導後,大資料庫用來做預警功用是結果,而使用的方法是用統計分析去分析資料,那麼我想提出第一個問題: 大資料庫的數據資料是被用來當作「小」來看「大」嗎? 你認為大資料庫是樣本,才會用統計分析方法去分析那些資料,去找出迴歸模型。那麼,巨量資料是屬於母體?還是樣本?這總得先弄清楚才行。而且,我們還得注意下面的延伸問題: 資料是線性嗎? 運作過程中有將資料轉換以符合線性嗎? 能確定轉換後資料保有「原始」(母體)特性嗎? 資料是非線性時,系統用哪種方法估算?準度多少? 每次新資料進入後,有沒有重新估算預測模型? 有沒有剔除異常值?異常值也是現象之一,該被踢除嗎? 我想他們會說這些都是機密(笑)。 其實,光是看到使用統計分析方法去大資料庫內找規則(模型或模式)就已經令人有點困惑了。因為這違反大數法則概念,換句話說,他們始終都將巨量資料視為樣本,即使已經是巨量了,還是樣本,所以使用樣本的方式估算模型。 那接著,我想問 巨量資料就是呈現常態嗎? 這引發了另一個問題那就是:「 資料有進行測定嗎?有沒有確認資料的分配為何? 」 可別說是使用QQ plot這種方法是用來測定巨量資料的。 若只測定資料是否為常態分配,那僅是冰山一角。 至少也要檢定15種的分配,甚至更多才能夠真正測定資料。有時候那些已知的機率分配不足以告訴我們資料的分配為何,還得用Curve-fitting估算出分配形式,或更進一步確認那種數學模式適合資料。 既然前面問題試圖定義出大資料庫的基本概念,以及大資料庫內的巨量資料規則,那麼我想問的最後第三個問題是 大資料庫要多少資料才算大? 有人可以明確說出大資料庫內的資料要有多少才算是大? 給個例子,如果我將巨量資料視為樣本,進行檢定後發現,10萬筆資料與1億筆資料得到相同拒絕虛無假設的結果。 那麼是10萬筆資料為巨量資料,還是1億筆資料為巨量資料? 若從數量來看,當然要選擇1億筆資料,只是由資料分析角度來看,10萬筆資料就可以知道母體特性,我何必用1億筆資料來知道母體特性呢? 這時候,是資料量的問題,還是分析...