2015年2月5日星期四

撕下大数据下的数据挖掘面纱

一、大數據沒那麼神秘
最近一年來談大數據的很火,到處都在說大數據,各種的以大數據為名頭的會議、活動也比比皆是,你方唱罷我登台,好不熱鬧。
有網友問我,好多科技公司言必稱自己是大數據,實際情況呢?我回答:什麼樣的數據叫大,是G級還是T級、E級、Z級,乃至B級?這個真不好定義,既然無法定義,那麼反覆強調自己的大數據,未免滑稽。據我的觀察,在必稱自己是大數據的公司中,很多甚至連T級都達不到,我曾開玩笑說過,一塊硬碟可以打包的數據這叫硬碟公司,對應一個皮包可以裝載公司一切的皮包公司。
那麼所謂的大數據是什麼呢?我曾經這樣批判過所謂的大數據:雲計算忽悠過了,大數據上了。於是全世界都是大數據了,然後領導開會,找機會撥款,又可以撈了。本來就一數據倉庫與數據挖掘,看看1991年定義:Data Warehouse是一個面向主題、集成的、反映歷史變化的數據集合,用於支持管理決策。跟所謂雲一樣,老掉牙的技術,活生生包裝成新潮。所謂數據倉庫,並沒有數據量和範圍的限制。廣義的基於數據倉庫的決策支持系統由三個部件組成:數據倉庫技術,聯機分析處理技術和數據挖掘技術,目的就是為企業管理好這些海量數據,進一步發掘其內在的價值。這跟所謂大數據概念有何區別?
很多時候,很多人提到大數據,是用來唬人的,展現自己所謂的高深莫測。想想吧,大數據啊,普通人一輩子都接觸不到啊,他居然能輕鬆自如呢,牛人啊、大神啊!
 很多人都在宣傳,所謂大數據給相關公司帶來業績上翻天覆地的變化,而我認為,如果不能很好地做數據挖掘的話,大數據不但不能能給相關公司帶來業績上的任何變化,反而還會因為大量冗餘數據給公司運維帶來麻煩。數據只是死的,如果你不能從中找出有價值的內容,再「大」也沒意義。其實數據無論大小,如果能夠很好地做數據挖掘,帶來有意思的知識發現,都有意義。
 所以說,我給大家的定義就是,大數據確實有,但是並不是那麼神秘,只是數量級別不同而已。數據是體現現實的,數據挖掘也是給現實找方法的,所以,扯數據大小,除了資料庫管理員,真沒啥意思!
 二、數據是會說話的
接下來,我們說說數據挖掘。很多人會問,數據挖掘能夠做什麼?
 有一個很多數據挖掘書籍都會提到的經典案例:
 "尿布與啤酒"的故事。在一家超市裡,有一個有趣的現象:尿布和啤酒赫然擺在一起出售。但是這個奇怪的舉措卻使尿布和啤酒的銷量雙雙增加了。這不是一個笑話,而是發生在美國沃爾瑪連鎖店超市的真實案例,並一直為商家所津津樂道。沃爾瑪擁有世界上最大的數據倉庫系統,為了能夠準確了解顧客在其門店的購買習慣,沃爾瑪對其顧客的購物行為進行購物籃分析,想知道顧客經常一起購買的商品有哪些。沃爾瑪數據倉庫里集中了其各門店的詳細原始交易數據。在這些原始交易數據的基礎上,沃爾瑪利用數據挖掘方法對這些數據進行分析和挖掘。一個意外的發現是:"跟尿布一起購買最多的商品竟是啤酒!經過大量實際調查和分析,揭示了一個隱藏在"尿布與啤酒"背後的美國人的一種行為模式:在美國,一些年輕的父親下班後經常要到超市去買嬰兒尿布,而他們中有30%~40%的人同時也為自己買一些啤酒。產生這一現象的原因是:美國的太太們常叮囑她們的丈夫下班後為小孩買尿布,而丈夫們在買尿布後又隨手帶回了他們喜歡的啤酒。按常規思維,尿布與啤酒風馬牛不相及,若不是藉助數據挖掘技術對大量交易數據進行挖掘分析,沃爾瑪是不可能發現數據內在這一有價值的規律的。
 看到沒,這就是數據挖掘,從常人的知識外找到線索。通俗說,數據挖掘可以做到以下幾點:
 1、  找到沒有意識到的問題
2、  找到未來發展的趨勢
3、  找到過去存在的問題
4、  把定性的問題定量化
5、  數據對象關聯的規則問題
 這五塊能夠產生的效應,我就不用廢話了吧?
 當然還有能挖出其他一些隱藏的資料。比如最近我們做的一項全網數據挖掘,就是通過對新浪、阿里巴巴、淘寶等十餘個網站做關聯數據分析,整理出了近3000萬個微信賬號和手機號碼的對應數據包出來了。
 這裡順便說到我們自己的數據挖掘,我們的數據挖掘最初其實是從找名人八卦來的,很多人只知道我是去年王石等地產三劍客事件的策劃者,可是他們沒想到的是,我這邊是通過對新浪微博的數據分析中知道王石和田朴珺關係密切,然後通過其他方式確定的。我們曾經從新浪微博的數據分析中知道了一堆名人和他們關係曖昧的女粉絲(姑且這麼叫)的消息,比如某某大V喜歡情趣內衣的事情也知道!
 在實踐中,數據挖掘有兩類:
第一類是面向宏觀規律的數據挖掘,所謂面向宏觀規律,就是從一堆數據中,通過一定的數據分析方法,得出一個綜合性的知識結論。舉例來說,一個網站的宏觀數據等。比如淘寶可以知道哪些款式是所謂的爆款等
 第二類是面向微觀規律的數據挖掘,所謂面向微觀規律,就是從一堆數據中,通過一定的數學方法,找出單個或者部分個體的有關知識結論。比如單個用戶的未來發展等。比如可以知道某個用戶可能的購買商品等。
 就目前的學術界而言,面向微觀的數據挖掘理論,基本上是空白。面向宏觀規律的,更多只需要憑的統計學知識就可以解決。
 三、數據挖掘的流程
 這塊其實很多地方都介紹過,也不廢話了,我就引用下:
 數據挖掘完整的步驟如下:
① 理解數據和數據的來源(understanding)。
② 獲取相關知識與技術(acquisition)。
③ 整合與檢查數據(integration and checking)。
④ 去除錯誤或不一致的數據(data cleaning)。
⑤ 建立模型和假設(model and hypothesis development)。
⑥ 實際數據挖掘工作(data mining)。
⑦ 測試和驗證挖掘結果(testing and verification)。
⑧ 解釋和應用(interpretation and use)。
 這是網上搜索的知識百科。而我有我自己的看法,基本方法一致,但是還是有些區別。
 第一步、領域專家討論、預建模。
第二步、小範圍採集、分析
第三步、領域專家討論、修正模型
第四步、大範圍採集、分析
第五步、得出結果
第六步、驗證
第七步、應用
 我的步驟跟常見步驟相比,就是突出了領域專家。
 數據挖掘重點和難點是從現實中抽象出數學模型,數學模型包括有哪些參數,目標值,計算方法等,一堆數據,盲目去做統計分析,得出一個模型並不難,難的是有多大意義。從現實中抽象出數學模型是難點,也是必須的,做法是先讓領域專家對相關領域作出基本的人為模型,然後做小範圍分析,對比結果和領域常態特徵再來調整,多次這樣不斷擴大樣本的調整,才能建立真正有意義的模型。
 在沒有模型的前提下去分析,並以此為模型,那無異於盲人摸象,然後拼湊一個東西出來,一堆數據,盲目去做統計分析,得出一個模型並不難,難的是這個模型有多大意義。從現實中抽象出數學模型是難點,但是也是必須的,這個的做法是先讓領域專家設定人為模型,然後做小範圍分析,再來調整
 當前業界數據挖掘最大的問題,就是過分看重數學處理,這種觀點是基於一個基礎:只要數據間有聯繫,通過統計學就可以看到變化,所以數學可以解決一切。產生這種的原因,在於早期的數據挖掘來源是統計分析,面對大量的數據,作出統計報表,然後去人為理解,這就是最原始的數據分析。也是因為這個,導致現在數學工具是越用越複雜,其實絕大多數數據挖掘,只需要基本的統計學知識而已。
 數據挖掘是把現實的事物變化,抽象提取為數據,然後用數據來處理。從理論上說,如果能夠掌握所有要素,純粹數學的分析是可以找出這些數據間的關係的。但是掌握所有數據,在複雜問題的數據挖掘實踐中,特別是社會化問題的分析中,只能是異想天開。因此,在複雜問題條件下,要儘可能依賴的關鍵所謂領域專家。
 一個人看到一組數據,會對這組數據作出解讀,這就是最原始、最本能的數據分析。但是我們也會發現,同樣一組數據,不同人去看,會產生不同的解讀。而在採集數據的時候,甚至也會有類似的變化,比如同樣的對象,不同人去調查採集,會產生不同的結果。實際上,數據分析過程中的數學部分,是絕對理性的。但是產生這樣的問題,關鍵在於背景專家身上。
 所謂的領域專家,就是這些數據所在的領域的專業人士。因為不同專業差異化很大,單純的數學和計算機背景的數據分析人員是無法處理、甚至是完全無法理解不同領域的數據的。一個領域專家,影響他的判斷包括他的性格是否偏激、他對所涉及數據是否有利害關係。經過我們的總結,一名偏激的領域專家,更容易固執堅持自己的看法,在數據建模時候,有意或者無意去弱化不喜歡的數據、強化自己認可的數據。而利害關係更是可以強化這點。
 四、核心之一:領域專家建模
 說到領域專家,不得不說關聯規則挖掘問題。
 按定義:所謂數據關聯是資料庫中存在的一類重要的可被發現的知識。若兩個或多個變數的取值之間存在某種規律性,就稱為關聯。關聯可分為簡單關聯、時序關聯、因果關聯。關聯分析的目的是找出資料庫中隱藏的關聯網。有時並不知道資料庫中數據的關聯函數,即使知道也是不確定的,因此關聯分析生成的規則帶有可信度。關聯規則挖掘發現大量數據中項集之間有趣的關聯或相關聯繫。

FineReport報表免費下——零編碼做報表、多維圖表、多源填報、許可權管理,完美兼容excel。官網:http://www.finereport.com/tw/

没有评论:

发表评论