數據挖掘及其在金融中的應用 - hhqiu的日志 - 網易博客
http://hengqiu0417.blog.163.com/blog/static/14230403120134133440110/


一個形象的比喻,數據挖掘就好比企業(yè)的診斷醫(yī)生和指南針,能從企業(yè)的業(yè)務數據中發(fā)現企業(yè)的問題所在,并輔助決策者指明決策的方向。
一、數據挖掘認識
1、數據挖掘的由來
我們今天面對的數據量已足夠大,數據類型也多種多樣,并且還在不增地增長,這點應該已經形成共識。比如高度結構化的關系數據庫、面向特定應用的事務數據庫和時間序列數據庫、半結構化或無結構的網絡數據……
如何去理解、去分析這些數據呢?傳統的人工整理與分析,或者是借助簡單地借助相關的數據軟件,都很難滿足實際需要。一個想法很自然地產生:能不能自動地或半自動地分析這些數據,提取出有用的知識呢?答案是肯定的,數據挖掘就是為此而生的

2、數據挖掘的定義
數據挖掘(Data Mining)就是從大量的、不完全的、有噪聲的、模糊的、隨機的實際應用數據中,提取隱含在其中的、人們事先不知道的、但又是潛在有用的信息和知識的過程。這個定義包括好幾層含義:數據源必須是真實的、大量的、含噪聲的;發(fā)現的是用戶感興趣的知識;發(fā)現的知識要可接受、可理解、可運用;并不要求發(fā)現放之四海皆準的知識,僅支持特定的發(fā)現問題。
簡單的講就是從大量實際的數據中挖掘非平凡知識的過程。平凡知識通常就是指哪些常識或大多數人都清楚的知識。一個形象的比喻,數據挖掘就好比企業(yè)的診斷醫(yī)生和指南針,能從企業(yè)的業(yè)務數據中發(fā)現企業(yè)的問題所在,并輔助決策者指明決策的方向。
數據挖掘的其他稱謂:從數據中挖掘知識、知識提取、數據庫中知識發(fā)現、數據/模式分析、商業(yè)智能
3、數據挖掘的知識類型
從定義我們看出,數據挖掘就是從大量的實際數據中挖掘出非平凡的有用的知識,哪些知識是非平凡的呢?哪些知識有用的呢?人見仁智,通常像三角形、勾股定理、北京上海是中國人口最多的兩個城市等一些常識或公認的知識是平凡的知識,沒有必要去挖掘。而能從數據中通過歸納等手段發(fā)現事物的本質特性、運動趨勢、變化規(guī)律、異常情況等,則被認為是非平凡的知識,是對決策有用的知識。數據挖掘就是要從數據中發(fā)現非平凡的對決策有用的知識,前輩們歸納起來,數據挖掘主要考慮以下兩種類型的知識:描述類和預測類

無論是挖掘數據中的描述類知識還是預測類知識,都是基于樣本數據的特征或指標作分析的,因此需要對數據作特征化或指標化處理。所謂特征化或指標化,就是根據分析的目標,用樣本所表現出來的特征或指標來表示對應的樣本,以供分析,比如要分析某只股票的收益情況,其利潤率、現金利潤率、毛利率等,可能是一些有用的特征或指標,其樣本格式如下:
股票id 利潤率 現金利潤率 毛利率,……
000001 10% 70% 20% ……
000002 20% 80% 40% ……
000003 5% 70% 30% ……
可視化
主要是對所考察的特征或指標,通過各種圖形來展示;
聚類
主要是根據所考察的特征或指標,對樣本進行類別劃分,使得同類樣本的特征差異盡可能小,不同類的差異盡可能大;
關聯規(guī)則
主要根據所考察的特征或指標,考慮不同樣本之間的并發(fā)頻率(概率),頻率(概率)越大,關聯性越強。
匯總
主要是根據所考察的特征或指標,對樣本作不同粒度(層次)的匯總。
分類
主要是從已知的不同類別樣本中提取特征或指標,訓練分類模型,從而對未知類別的樣本,根據提取的特征或指標自動歸類,屬于離散預測。
統計回歸預測
主要是確定某個考察的數值指標,尋找解釋特征或指標(自變量),構建統計預測模型,主要是一連續(xù)函數,以反映它們之間的統計相關關系,屬于數值預測。
統計時間序列預測
與統計回歸類似,也是確定某個考察的數值指標,尋找解釋變量,構建它們隨時間變化的統計函數,也屬于數值預測。
智能預測
主要是采用人工智能相關方法作出預測,它能夠實現統計回歸預測和統計時間序列預測的功能,并且假設條件要比統計預測要寬松得多,甚至有些沒有什么假設條件,精度上也與他們相當甚至比它們要好。
數據挖掘的類型,可能還不止這些,以上僅是一般的界定,正因為我們對數據挖掘的類型作出了界定,不同的類型也有對應的挖掘模型與算法,使得從海量的數據中自動地或半自動的挖掘知識成為了現實
4、數據挖掘原則
業(yè)務第一、技術第二
以商業(yè)目標為驅動,以獲取有用的決策知識為最終目的,以知識或模型的可解釋性至上
算法與模型的高效性與實用性為指導原則。
二、數據挖掘在金融領域的一些例子探討
1、描述類知識(聚類、關聯規(guī)則、異常檢測)
聚類分析
從收益方面對過去一年的股票作聚類分析。作為一個簡單的例子,我們選擇三個指標,如年收益率、年利潤率、年現金利潤率作為分析特征或指標,樣本格式如下:
股票代碼 年收益率 年利潤率 年現金利潤率
000001 10% 30% 80%
000002 12% 20% 60%
000003 8% 35% 90%
…… …… …… ……
最簡單的方法,就是以歐式距離為判斷標準,把它們聚為三類,使得每一類的股票,它們的歐式距離盡可能小,而每兩類之間的歐式距離盡可能大。取每類的中心,以權重0.5、0.2、0.3加權求和,按值的大小分別命名為“優(yōu)秀”、“良好”、“一般”以區(qū)分不同類別。

關聯規(guī)則
分析我們考察兩只股票之間,它們的漲跌趨勢是否在短期內關聯緊密,比如“工商銀行漲后,其三天內浦發(fā)銀行也跟著漲”,就是考察是否存在這樣或其他股票之間的聯動模式,樣本格式如下(生成3天關聯規(guī)則挖掘數據樣本,向后滾動地以3天間隔為基準,截取數據)
交易日期1 交易日期2 工商銀行 浦發(fā)銀行,……
1999-01-01 1999-01-02 漲 漲
1999-01-01 1999-01-03 漲 漲
1999-01-01 1999-01-04 漲 漲
1999-01-02 1999-01-03 跌 漲
1999-01-02 1999-01-04 跌 漲
1999-01-02 1999-01-05 跌 跌
……
以交易日期1作匯總統計,如果是標紅(即全漲),記1,否則,記0。從1999年到2012年這十多年來的記錄中,如果某兩只股票匯總得到的1占比達到90%,則說明他們的關聯性很強,具有非常好的投資指導意義。

異常檢測
關聯交易往往表現為母公司或控股公司為制造上市公司漂亮的利潤而輸送利益,直接的表現為低賣高買。通過同行業(yè)上市公司的毛利率指標作散點圖,作橫向和縱向對比,如果該指標突然提高,就可以將其作為疑似關聯交易公司,進一步考察

2、預測類知識(分類、智能預測)
分類識別
中國的證券市場上有ST股和非ST股,股票一旦被冠以ST,將會產生重大不利影響。雖然被冠以ST的原因有多種,但絕大部分是由于財務困境。公司財務在走向困境之前,一般都會有征兆,是一個從量變到質變的過程,取被冠以ST前一年或兩年或三年的財務指標、公司治理指標,并取非ST公司相對應的指標,作為分析指標。并以此為樣本,訓練分類模型,以便識別出未來可能被冠以ST的公司,提前預防風險,樣本格式如下
股票代碼 資產負債率 毛利率,……,對外擔保 獨立董事規(guī)模,……,公司標識
000001 60% 20% …… 有 8 非ST
000504 80% 5% 無 4 ST
……
一般地,ST公司與非ST公司,在財務指標與公司治理指標中,有部分指標是有顯著差別的,這為分析的意義提供了保障,以兩類樣本訓練分類模型,用訓練好的模型就可以對未識別的樣本作分類識別了

智能預測
大盤的走勢與漲跌幅度的影響因素非常廣泛,在數學上講更是一個復雜的非線性系統,預測難度大。智能預測方法,類似于模擬人的思維,也是一個復雜的非線性系統,并且不像統計方法那樣有諸多的假設,不失為一個好的預測方法。作為一個簡單的例子,比如選取標準普爾指數(X1)、大宗商品期貨指數(X2)、前期行情(X3)、國債債券指數(X4)指標為解釋變量,目標變量為大盤指數(Y),采用人工智能的方法。

首先,對輸入信息作加權處理

其次,加權處理的信息I,如果能觸發(fā),則產生輸出,否則不輸出。I>W0,則觸發(fā),否則不觸發(fā)
最后,若觸發(fā)成功,輸出
Y1=f(I-W0),f為一觸發(fā)輸出函數
求解目標為:通過min E[(Y-Y1)2]求參數W0-W4,求得參數后,代入模型,輸出值Y1便為Y的預測值
三、數據挖掘模型與算法
以上提到的基本都是一些分析思路或者分析目標,要自動地實現該思路或目標,有賴于數據挖掘的模型與算法。數據挖掘的模型與算法有來自人工智能學科的、有來自模式識別的、有來自統計學的、有來自決策與最優(yōu)化領域的,也有它自己的特色的,如關聯分析。數據挖掘,強調從海量的、實際的數據中挖掘知識,為了實現這個目標,它當然需要吸收來自各個學科的理論知識,但并不是照搬過來就能用的,一來是數據海量,需要提高他們的效率,改進算法,二來是放松或去掉相關的理論假設,以提高適應性。
數據挖掘的模型與算法,一個最大的特點是以人工智能的模擬人的思維去解決問題,理論上可以說是海納百川,更像是一個實驗性的學科。常用的模型與算法有:

四、數據挖掘與統計分析的區(qū)別與聯系
區(qū)別:數據挖掘基于數據,其模型與算法以人工智能思維為主,重在歸納,很少假設條件,數據不同,結果不同。統計分析基于數學模型,有嚴密的論證與推導,存在較強的假設,基本是基于正態(tài)分布、T分布、F分布等假設基礎上構建的模型
比如預測某只股票日內某個時刻的成交量(Y),假設它與前一個時刻的成交量(X1)、前兩個時刻成交量的改變量(X2)、前一個時刻的交易價格(X3)、前兩個時刻交易價格的改變量(X4)、大盤前兩個時刻成交量的改變量(X5)、大盤前兩個時刻的交易價格的改變量(X6)、大盤前一個時刻的交易量(X7)、大盤前一個時刻的交易價格(X8)有關,構建預測模型可能有多種,以下選擇比較經典的兩種:一種是基于統計學的多元線性回歸預測,一種是智能預測。
多元線性回歸預測

其中,X1-X8為自變量, 為服從標準正態(tài)分布的隨機變量,Y是隨機變量
智能預測方法(BP神經網絡)

通過極小化所有樣本的期望誤差 為目標,通過一些數學手段求取相應的參數,這里并不需要什么假設條件,但樣本量應該足夠大(在2000以上為好)
聯系:數據探索與評估,比如,前期的數據預處理、特征選擇、特征檢驗、模型評估等都需要用一些統計的方法作處理。如上例,無論是線性回歸還是智能預測,變量越多,模型越復雜。然而,不同的變量它們的解釋能力或重要性是不同的,甚至有些是多余的,多余的或不重要的變量不僅會影響預測的精度,還會增加復雜性??梢酝ㄟ^主成分分析或因子分析,使得它們綜合為幾個少數的變量,也可以通過顯著性統計檢驗剔除不重要的變量……
五、數據挖掘與數據倉庫的區(qū)別與聯系
區(qū)別:數據挖掘主要是一些模型與算法,更準確的說,它是一個數據的分析探索過程。數據倉庫是一個軟件系統,是基于多維數據模型設計的一個面向主題的數據集成與清洗系統。
股票交易行情主題數據倉庫模型(僅考慮成交量與成交金額兩個度量指標)

注意:這里的事實表與一般的數據表不同,它存放不同粒度(層次)的數據,數據倉庫中的數據立方體,其實際的數據及相關的數據展現就來自這張表。這張表的規(guī)模通常都很龐大,為了應付頻繁的查詢分析,其中的數據很多都是預先計算或預處理后直接存進去的。
聯系:數據倉庫,一是可以做多維分析,從不同角度去分析數據倉庫中的數據,以不同的層次與粒度作數據的聚集匯總,屬于描述性數據挖掘,一是可以作為進一步挖掘的數據源,在此基礎上,開發(fā)更高層次的數據挖掘模型。
對于描述性數據挖掘,比如多維分析及不同層次的聚集匯總,如果所有的維度及不同層次的度量值都能預計算好,并存入事實表,則相關的分析是極其容易與快捷的,因為那只需查詢該事實表并返回結果即可。然而,要全部預計算是不太現實的,一來計算量極大,二來可能用戶真正感興趣的僅是極少部分。例如,計算上例,固定品種維(A股),固定行業(yè)維(假設只選一個行業(yè),并且該行業(yè)僅有一只股票),計算一個年度的所有時間維的度量值,需要141225025046025046060*2個存儲單元存儲度量值。(假設每年有250個交易日,一天交易4個小時,平均每秒都產生一筆交易)。
對于在數據倉庫的基礎是開發(fā)數據挖掘模型,則是更為有利的,因為數據倉庫中的數據經過了集成和預處理,數據質量高、信息更全面,不惜為一個理想的數據源。

六、數據挖掘方法論
1、CRISP-DM (cross-industry standard process for data mining)—"跨行業(yè)數據挖掘過程標準",于1999年歐盟機構聯合起草. 通過近幾年的發(fā)展,CRISP-DM 模型在各種KDD過程模型中占據領先位置,采用量達到近60%,
該過程由六個步驟組成:
1)商業(yè)理解:確定商業(yè)目標、評析環(huán)境、確定數據挖掘目標、制定項目計劃
2)數據理解:收集原始數據、描述數據、探索數據、檢驗數據質量
3)數據準備:選擇數據、清洗數據、構造數據、整合數據、格式化數據
4)模型:選擇建模技術、生成測試計劃、構建模型、評估模型(參數設置等技術角度)
5)評估:評價結果、重審過程、確定下一步。
6)部署發(fā)布:規(guī)劃部署、規(guī)劃監(jiān)控與維護、產生最終報告、回顧項目
2、SEMMA
1)Sample──數據取樣
2)Explore──數據特征探索、分析和予處理
3)Modify──問題明確化、數據調整和技術選擇
4)Model──模型的研發(fā)、知識的發(fā)現
5)Assess──模型和知識的綜合解釋和評價
區(qū)別與聯系:
CRISP-DM是從一個數據挖掘項目執(zhí)行的角度談方法論,SEMMA 則是從對具體某個數據集的一次探測和挖掘的角度來談方法論, CRISP- DM的考慮的范圍比SEMMA 要大。CRISP-DM關注商業(yè)目標、數據的獲取和管理, 以及模型在商業(yè)背景下的有效性。CRISP- DM認為數據挖掘是由商業(yè)目標驅動的,同時重視數據的獲取、凈化和管理; SEMMA 不否認商業(yè)目標,但更強調數據挖掘是一個探索的過程, 在最終確定模式和模型前, 要經過充分的探索和比較。在數據挖掘的各個階段中, 數據挖掘的產品都要使所使用的數據和所將建立模型處于十分易于調整、修改和變動的狀態(tài), 這才能保證數據挖掘有效的進行。SAS在同類產品中這一方面尤其強大。SEMMA 是一個特別貼近算法的視角, SAS 將不同的數據挖掘算法放到了這個挖掘過程的不同階段( Explore, Modify,Model) , 而CRISP- DM是一個不依賴于具體算法的過程框架,CRISP-DM將所有算法放到過程的相同位置( Phase) 。SEMMA的體現了不同算法在項目過程的不同階段有不同的重要性。SAS 在技術上的另個特征是強調取樣( Sampling)。SEMMA 強調了SAS 本身產品的優(yōu)勢, SEMMA 沒有如同CRISP-DM一樣詳細而規(guī)范的文本, 作為項目管理的需要來看CRISP-DM更適用一些。由于CRISP- DM在階段間可以反饋,整個流程又是循環(huán)的, 在邏輯上CRISP- DM是可以實現SEMMA的, 它們互不矛盾。但由于強調的重點不同, 在實踐上則會有明顯的區(qū)別。(參見:http://blog.csdn.net/lpxuan151009/article/details/5274202
)
七、一些軟件介紹及參考資料
SPSS Clementine(CRISP-DM)
http://www.verycd.com/topics/2768317/
SAS EM(SEMMA)
SSAS(基于數據倉庫的多維分析與數據挖掘)
參考的網絡資料:
http://www.sas.com/offices/asiapacific/china/success/indexByIndustry.html#1000
http://wenku.baidu.com/view/e550f3ef5ef7ba0d4a733bc6.html
http://blog.csdn.net/lpxuan151009/article/details/5274202
八、國內數據挖掘進展
數據挖掘在國外較為成熟,而在國內還處于起步階段,可能由于認識的重要性或人才的力量還不夠。國內可能還主要是以數據庫為著眼點,主要還在數據倉庫的大量建設階段,真正深入去挖掘的可能還比較少。也許是由于公布的成功案例較少,或者是成功的案例有些不愿意公布,但是從收集的資料來看,目前國內的數據挖掘還主要是在建設數據倉庫階段。