大數據建模需要學習什么?

一. 先簡單說說什麼是大數據?

大數據一般指在資料量在10TB以上的資料集, 通常有以下5個特點(5V)

  1. 容量(Volume):資料量大,資料量的大小決定所考慮的資料的價值和潛在的資訊;
  2. 種類(Variety):資料型別多,包括但不僅限於文字,音訊,影片以及圖片;
  3. 速度(Velocity):指資料產生和獲取的速度快;
  4. 低價值密度(Value):資料中的有價值資料量級較小;
  5. 真實性(Veracity):資料質量因資料來源以及記錄方式等影響因素的不同,會出現較大的差異,而這種差異性會極大程度地影響資料分析的精確性;

簡單說來,大數據建模就是指利用相關的計算機技術從大數據中挖掘資料特徵,並用量化理論數學化資料特徵關係以描述業務需求和模式的一種方法體系。

DATA MODELING — 數據建模

二. 我們要如何學習並掌握這個方法體系呢?

首先是豐富的理論知識儲備。

必須掌握和了解:

  • 計算機基礎;
  • 資料分析軟體;
  • 機器學習演算法基礎/進階;
  • 統計分析基本方法;
  • 計量模型體系以及資料庫基礎。

建模資料的抽取,清洗和加工以及建模演算法的訓練和優化會涉及大量的計算機語言和技術。比如:資料查詢語言SQL;資料環境Hadoop和Spark;資料作業系統Linux; 資料分析軟體R、Python、SAS、Matlab等。

特徵工程涉及到統計/數學/資訊理論/計量等學科的基本概念。比如:變數的均值;分位數;峰度;譜;資訊熵;cosi;衰退速率以及馬氏距離等。

建模階段涉及多種量化模型,比如:統計模型;計量模型;機器學習模型;複雜網路等。比較常見的模型有:迴歸分析模型;隨機森林;時間序列;神經網路;SVM等。

想要在實際的專案中自如的運用這些模型演算法,不僅僅需要了解基本的數學原理,還需要深入掌握對應的計算機語言實現。至少要會在主流的分析軟體中呼叫演算法包,更高階的要求是能自己實現演算法的編寫和精進。只有這樣才能相對正確地設計並依據實際資料結構優化演算法,得到各方面表現都相對優異的模型。

其次是積累實戰技能。

實戰是將理論和現實結合重要一環,對於那些無法在實際工作中積累大數據建模經驗的同學來說,參加各平臺的數據建模競賽也許是個不錯的選擇。已被谷歌收入旗下的美國著名大數據建模競賽平臺Kaggle、Analytics Vidhya平臺上的Hackatons、國內天池大數據競賽、DataCastle等都是比較不錯的競賽平臺。

大數據建模競賽

最後來說一說那些恐怕書本上較少能夠直接獲取,需要大量實踐以及專案經驗中獲取知識。

比如特徵工程中缺失值處理、特徵構建、變換等等,取決於模型方法、資料、業務目標等。除了基於之前提到過的量化指標構造的特徵,最後對模型表現貢獻最多的特徵往往是那些構造邏輯和業務邏輯掛鉤非常緊密的特徵。

這裡舉兩個例子來說明。

例1:異常的交易風險,通常表明客戶存在違約或者欺詐的風險,那麼如何去構造特徵來描述異常交易風險呢?可以是統計指標方差、變異度、數學指標馬氏距離;也可以是業務邏輯“過去3天的交易金額相較於歷史水平漲幅大於100%”。後者顯然不專屬於任何一門學科,它來自於對業務的理解和消化。例2:在構建線性模型時通常會對變數間的非線性關係做線性數學變換(Log),而在實際的操作中,需不需要做變換以及如何變換是與具體的模型形式有關的。神經網路,隨機森林等模型,是不需要做線性變換的,反而會傾向於對特徵做離散化處理。模型訓練調整引數,需要在心中有一杆bias variance的秤,揣著一把奧卡姆剃刀,方能建一手好模。

同樣,模型演算法的選擇需要考慮的不僅僅是模型表現,還需要考慮成本。因為建模是一方面,模型能夠實施生產是另一方面。結構複雜和特徵量大的模型往往意味著背後需要大量的計算資源,人力資源和時間資源支援。模型的現有表現和未來可能的衰減速度值不值得耗費大量人力物力去生產部署,部署後模型帶來的效益是否能在長期內沖銷成本也是建模人員需要去考慮的事情。

最重要的是,需要意識到大數據建模只是解決問題的一種方法,與其他任何一種解決問題的途徑手段在本質上並無不同。

建模前對業務目標的瞭解,對建模必要性的分析,對模型目標變數的刻畫以及對建模樣本的選取等問題反而比建模本身更值得引人關注。

以前端風控業務中的反欺詐識別為例,如何精確地定義欺詐行為是建模前需要解決的第一要事。如果對欺詐的定義有偏差,即使後續的演算法表現優良,模型也無法最大程度地服務需求,基於不準確的定義識別出的“欺詐行為”不再符合對業務的定義,整個建模工作在某種程度上也失去了本來的意義。

就像是本來要找臉上有斑的人,由於錯誤的認為“斑”就是“痣”,最後找了臉上有痣的人,雖然臉上都有東西,但卻再也不是對的人。

對於專業的modeler來說,真正花費在建模上時間恐怕不會超過他們日常工作的40%。

畢竟建模技術的實現容易,而讓模型最大程度地的滿足業務需求,發揮商業價值則需要花費非常多的心血。

原作者:del alex連結:https://www.zhihu.com/question/266716340/answer/312150872來源:知乎著作權歸作者所有。商業轉載請聯絡作者獲得授權,非商業轉載請註明出處。

--

--

基於CIO知識分享的人際圈

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store