到底穿T恤、正裝還是道袍?數據挖掘師的定位
(圖為:劍網3 玩家Cosplay)
心態不夠平靜,晚上在小區里面逛了一圈又一圈、一圈又一圈、一圈又一圈。
最近看了《再次出發》,大意是講兩個失意的音樂人重振旗鼓再次出發,挺不錯。但是,總覺得在電影院里面看劇情片,節奏太慢受不了,個人偏好。倒是里面所有的音樂都很好聽。它會給你平靜、簡單、自然、祥和、空靈和穿透的感覺。適合寫這篇文章的時候循環播放。
大數據是什么?其實我也不太清楚。但是人們常常用四個關鍵詞去刻畫和描述它。即Volume、Variety、Value和Velocity。
什么樣的人在從事數據挖掘的工作?別人說:“T恤、正裝和道袍”。
做挖掘采用什么工具?開源、“眾人堆柴火焰高”。
(一)大數據的本質(4V)
(1)Volume(容量)
就是說數據規模和容量非常龐大。簡單來說,傳統的銀行數據倉庫中大概有小幾萬張表,記錄著各個系統的數據。拿其中一張表舉例(零售客戶金融資產表),一般而言,零售客戶都是非常海量的。股份制銀行至少有***的零售客戶。基本上,每天的零售客戶金融資產表,其產生的數據量就有幾個G。
銀行哪里來的大數據。有些人不太理解銀行里面記錄的都是什么數據,還是比較抽象,不夠具體清晰。假設你有一張借記卡。你轉賬、存款、取現、貸款、購買理財、基金、保險、刷卡、交易數據、你開戶時填寫的個人資料、辦理業務時填寫的個人資料,都會被記錄下來。簡而言之,你和銀行的每一次交互,在后臺系統都會存在記錄,這就是數據倉庫的原始數據來源。
(2)Variety(多樣性)
就是說數據類型非常多樣。但是,天下數據,基本上也就包括三種類型。
***種,結構化數據。就是常見的二維表。一條記錄代表一個客戶(行維度),列維度代表屬性和特征。例如,張三的定期余額、活期、理財、保險、國債余額等。
第二種,半結構化數據。需要通過一定的技術抽取關鍵的特征和變量。
例如簡歷,一般來說,都能夠從簡歷里面抽取一些通用的特征,如年齡、性別、工作單位、工作年限、教育背景等。例如,網絡日志分析,互聯網公司常常從用戶的瀏覽日志中抓取一些特征和變量,例如IP地址、瀏覽器類型、系統類型、登陸時間、登陸市場、登陸次數等等。有些做風控的公司,通過抓取全國所有法院的判決文書,抓取企業是否涉訴,涉訴金額,作為判斷還款能力的重要標準和依據。
第三種,非結構化數據。非結構化數據處理起來就比較復雜,這也是當前數據處理的一個前沿方向。例如圖像識別、人臉識別、視頻識別、音頻識別等。
(3)Value(價值)
就是說,海量數據意味著挖掘后產生的價值也是非常高的。通過數據挖掘去探索數據背后的規律和模式。
例如,通過挖掘,大致可以判斷客戶購買理財產品的概率有多大。如果比較大的話,就會向該客戶推薦該理財產品。例如,通過挖掘,可以識別客戶的交易圖譜,客戶關系網絡。
(4)Velocity(速度)
其實說實話,大數據之所以會為大眾所知,還是因為數據存儲和加工技術的進步,運算不再成為一個瓶頸。
(二)數據挖掘工種:T恤、正裝和道袍
因為業務的關系,最近聽一個人做介紹和分享,有個觀點還是挺有趣的。他說做大數據的,大概有三類人群。在此借用一下觀點。
***種是穿T恤的,這種人一般都在互聯網公司。
第二種人穿正裝,這種人一般在金融機構(例如銀行、證券)、金融相關的咨詢公司(SAS、FICO)。
第三種人是穿道袍的,到處忽悠,向非專業的layman傾銷觀點。例如一些第三方數據公司、或者一些動輒就扯大數據概念,從來不落地的公司等。其實銀行里面更多,很多時候呼喊大數據口號的都是做戰略管理和規劃的,估計壓根沒接觸過海量數據。
前兩種人都較為偏技術一些。他們的差別更多的來自行業形態的差異。比方說,互聯網是較為充分競爭的領域,因此,穿T恤的,一般都挺有幾把刷子的。銀行和金融領域,還是處于政策管制的領域,競爭不是特別充分,投入產出和效率意識并不強。數據挖掘更像是錦上添花、花拳繡腿的產物。由此表現出來非常明顯的差別就是,銀行永遠都是花最貴的錢,買最貴的技術、產品和外包服務,例如SAS。互聯網一般都是,怎么免費怎么來,數據庫和挖掘的軟件基本上都是開源的,例如R語言、python。
第三種穿道袍的人。雖然有些忽悠成分,但是,很多時候,也正是他們教育了普羅大眾,培育了整個市場,啟蒙了大環境。其實,想一想,T恤、正裝、道袍各自有各自的定位和受眾。廣義一點,其實穿道袍的人多了去了,任何行業,任何領域,夸夸其談扯不到一點專業實質的,都可以稱之為“道袍先生”。但是,存在,就是合理的。
(三)挖掘工具:開源的力量
接著上面的話題。
互聯網公司一般用免費開源的挖掘軟件,例如Mysql、R語言、Python。高大上的銀行一般花了數千萬采購TD、SAS,常常采購的都是各種閹割的版本。畢竟SAS是封閉的商業軟件。
我自己使用最為熟練是SAS和R。簡單進行比較一下。其他一些統計類軟件,例如SPSS、Eviews、AMOS、STATA,比較適合小樣本數據分析,適合高校科研環境,不展開。
(1)SAS的封閉
SAS base。側重大樣本數據分析,可以做千萬和上億樣本級別的數據分析。Base最擅長數據的加工、整理、匯總。然后,統計模塊部分,基本上能實現SPSS所有的功能。
SAS EM。和Modeler基本上一模一樣。傻瓜式的、拖拽風格的挖掘工具。它之所以能夠貼上挖掘的稱號,是因為其嵌入了很多成熟的統計和機器學習算法(聚類、貝葉斯、神經網絡、決策樹、SVM、隨機森林、集成學習、邏輯回歸等)。但是,他們卻是非常傻瓜式的挖掘工具,因為他們是基于圖標、節點和流程的。入手很快,結果較為粗糙,難以進行個性化、定制化的數據分析和挖掘,難以進行批量化的參數優化和調整。
初期入手還行,后期處處受限。
(2)R的開放
R語言。是目前遇到的最自由式的數據挖掘工具。因為是采用內存加工處理數據,限制了數據分析的體量,有時候樣本或者算法較復雜,內存會溢出報錯。但是,說實話,這是我非常喜歡的挖掘工具。
一方面,它有很多算法包,我可以很容易找到最前沿的算法和模塊。例如,做社會網絡分析igraph、例如做文本分析tm等。而這些對于SAS來說,都是收費模塊,很難獲取。
另一方面,你可以定制自己的算法和包。EM***的一個局限就是不能定制化自己的玩法,沒辦法修改模型算法,沒辦法對數據進行遍歷和加工。但是,R可以做到。
例如,做kmeans聚類時,R可以批量跑很多分組,但是EM每次只能run一個。例如,你可以用R同時循環50棵決策樹,從而找出***的決策樹。但是EM就做不到。
換言之,EM傻瓜操作的同時,就難以滿足熟練工的更高階的需求。魚和熊掌,難以兼得。
我的一個感受。常常有人說,統計軟件,你只要精通一個就行了。其實,我是比較不認同這種說法的。很多時候,你的挖掘能力完全受制于你的工具。做挖掘,你的想象空間與你的工具完全是相關的。每個工具之所以能存在,必然是因為,它能夠完成其他軟件不能夠完成的部分。這也是我當時熟練SAS后,接觸R語言的一個最基本的理由和出發點。