一.大數據預處理技術
現實世界中的數據一般是不完整的、 帶有隨機性的、有噪聲的或不唯一、不一致的“臟數據”,數據質量不高,無法直接進行數據挖掘,或者挖掘的效果差強人意。為了以后的處理更加方便以及模型具有更好的效果,往往在使用模型之前需要對數據進行預處理,就產生了數據預處理技術。
數據預處理有多種方法:數據清理、數據集成、數據變換、數據歸約等。這些數據處理技術在數據挖掘之前使用,大大提高了數據挖掘分析的質量,降低了挖掘分析所需要的時間。
(1)數據清理: 一般包括對數據記錄的缺失屬性進行填充、對數據的噪聲進行光滑操作、識別並刪除數據中的異常或者離群點、解決不一-致性等,主要是將格式標准化.清除異常數據、糾正錯誤數據、清除重復數據等。
(2)數據集成: 是為了解決多個數據源可能帶來的數據不- -致問題,通過相關技術(如IDMapping)將多個數據源中的數據整合在--起並統--存儲,建立數據倉庫。
(3) 數據變換: 對數據的各個屬性通過平滑聚集、數據概化、數據規范化等方式,將數據轉換成適用於數據挖掘的形式。
(4)數據歸約: 數據挖掘時往往數據量非常大,在少量數據上進行挖掘分析需要很長的時間,數據歸約技術可以用來得到數據集的歸約表示,它小得多,但仍然接近於保持原數據的完整性,且結果與歸約前結果相同或幾乎相同。
在對收集的數據進行分類、分組前,數據預處理的工作還應包括審核、篩選、排序等必要的處理。
(5) 數據審核:對於原始數據應主要從數據的完整性、准確性和一 致性三個方面去審核。對於通過不同渠道獲得的二手資料,除了要對其完整性、准確性和一.致性進行審核外,還應該着重審核數據的適用性和時效性。
(6) 數據篩選:對審核過程中發現的錯誤應盡可能予以糾正。當發現的數據錯誤不能糾正,或有些數據不符合要求而又無法彌補時,就需要對數據進行篩選。數據篩選包括兩方面的內容:一是將某些不符合要求的數據或有明顯錯誤的數據予以剔除;二是將符合某種特定條件的數據篩選出來,對不符合特定條件的數據予以剔除。
(7)數據排序:數據排序是按照-定順序將數據排列,以便於研究者通過瀏覽數據發現一些明顯的特征或趨勢,找到解決問題的線索。排序還有助於對數據檢查糾錯,為重新歸類或分組等提供依據。
此外,還有一-種對具有多種結構和類型的數據進行抽取的過程,這個過程可以幫助大數據分析師將這些復雜的數據轉化為單--的或者便於處理的結構和類型,以達到快速分析處理的目的。
二.大數據存儲與管理技術
大數據存儲與管理是用計算機存儲設備把采集到的數據存儲起來,建立相應的數據庫,並進行管理和調用,重點要解決大數據的可存儲、可表示、可處理、可靠性及有效傳輸等幾個關鍵問題。
針對關系型數據庫、非關系型數據庫以及數據庫緩存系統,相關廠商和研發機構正在研發新型數據庫管理技術,其中:非關系型數據庫主要指的是NoSQL數據庫,關系型數據庫包含了傳統關系數據庫系統以及NewSQL數據庫。大數據的管理技術主要強調大數據安全技術的突破,完善分布式訪問控制、數據庫審計等技術,突破大數據脫敏及隱私保護、數據真偽識別和取證、數據持有完整性驗證等技術。
三、統計與分析
統計與分析主要利用分布式數據庫或分布式計算集群來對存儲於其內的海量數據進行普通的統計分析和分類匯總等,以滿足大多數常見的分析需求,結構化數據庫系統都提供相應的軟件來滿足--些實時性統計分析需求,而一些批處理或者基於半結構化數據的統計分析需求可以使用Hadoop這樣的非結構化數據庫系統。對於統計與分析來說,其主要特點和挑戰是分析所涉及的數據量很大,會占用大量的系統資源特別是1/O資源。
四、大數據建模
數據建模指的是對現實世界各類數據的抽象組織,確定數據庫需管轄的范圍、數據的組織形式等直至轉化成現實的數據庫。將經過系統分析后抽象出來的概念模型轉化為物理模型后,在Visio等工具建立數據庫實體以及各實體之間的關系(實體一般是表)。 這種數據建模方法多用於結構化數據庫的設計,在大數據熱潮之前是各類型管理信息系統的數據庫建設常用的方法,這里不作介紹。
(一)大數據建模的需求出發點
隨着互聯網技術及其產業的高速發展,大數據建模與分析挖掘技術已經逐步地應用到新興互聯網企業(如電子商務網站、搜索引擎、社交網站、互聯網廣告服務提供商等)、銀行金融證券企業、電信運營等行業,給這些行業帶來了顯著的數據價值增值作用。
數據分析建模需要先明確業務需求,然后再選擇是使用描述型分析、預測型分析還是使用生存分析。如果數據分析的目的是描述客戶行為模式,就采用描述型數據分析,描述型分析就考慮關聯規則、序列規則、聚類等模型。
預測型數據分析就是量化未來一段時間內, 某個事件的發生概率。 有分類預測和回歸預測兩大預測分析模型。 常見的分類預測模型中,目標變量通常都是二元分類變量,例如欺詐與否、流失與否、信用好壞等。 回歸預測模型中,目標變量通常都是連續型變量,常見的有股票價格預測、違約損失率預測等。
生存分析聚焦於將事件的結果和出現這一結果所經歷的時間進行分析,源於醫療領域,研究患者治療后的存活時間。生存分析也可以用於預測客戶流失時間、客戶下次購買時間、客戶違約時間、客戶提前償還貸款時間、客戶下次訪問網站時間等。
(二)大數據建模流程
第一步:選擇模型或自定義模式。這是建模的第一步,我們需要基於業.務問題,來決定可以選擇哪些可用的模型。 比如,如果要預測某類產品的銷量,則可以選擇數值預測模型( 如回歸模型、時序預測等);如果要預測核心員工是否離職,則可以選擇分類模型 (如決策樹、神經網絡)。所謂回歸模型,其實就是自變量和因變量的一個函數關系式,模型中可變的部分叫作參數,如回歸模型中的a、β等參數。
第二步:訓練模型。所謂訓練模型,其實就是要基於真實的業務數據來確定最合適的模型參數。模型訓練好了,也就意味着找到了最合適的參數。一旦找到最合適的參數,模型就基本可用了。要找到最合適的模型參數,就涉及算法。一個好的算法,既要運行速度快又要復雜度低,這樣才能實現快速的收斂,能夠找到全局最優的參數。
第三步:評估模型。評估模型就是要評估一下模型的質量,判斷模型是否有用。一個模型是否有用,需要放在特定的業務場景下來評估,也就是要基於特定的數據集才能判斷模型的質量是否達到滿意的結果。這就需要有--些評價指標。比如,數值預測模型中,評價模型質量的常用指標有:平均誤差率、判定系數R2,等等。評估分類預測模型質量的常用指標有:正確率、查全率、查准率、ROC曲線和AUC值,等等。對分類預測模型,-般要求正確率和查全率等越大越好,越接近100%,表示模型質量越好。在真實的業務場景中,評估指標是基於測試集的,而不是訓練集。所以,在建模時,一般要將原始數據集分成兩部分,一部分用於訓練模型,叫訓練集。另一部分用於評估模型 ,叫測試集或驗證集。如果發現在訓練集和測試集上的預測效果差不多,就表示模型質量尚好,應該可以直接使用了。
第四步:應用模型。就是將模型應用於真實的業務場景。構建模型的目的,就是要用於解決工作中的業務問題,如預測客戶行為、划分客戶群,等等。如果評估模型質量在可接受的范圍內,就可以開始應用模型了。 通常的做法是將可用的模型開發出來,並部署在數據分析系統中,然后可以形成數據分析的模板和可視化的分析結果,以便實現自動化的數據分析報告。在應用模型的過程中,還需要收集業務預測結果與真實的業務結果,以檢驗模型在真實的業務場景中的效果,同時用於后續模型的優化。
第五步:優化模型。優化模型一般發生在兩種情況下:一是在評估模型中,如果發現模型欠擬合,或者過擬合,說明這個模型待優化。 二是在真實應用場景中,定期進行優化,或者當發現模型在真實的業務場景中效果不好時,也要啟動優化。
模型優化可以有以下幾個方法:
①重新選擇一個新的模型;
②模型中增加新的考慮因素;
③嘗試調整模型中的閾值到最優;
④嘗試對原始數據進行更多的預處理,比如派生新變量。
不同的模型,其模型優化的具體做法也不--樣。 比如回歸模型的優化,可能要考慮異常數據對模型的影響,也要進行非線性和共線性的檢驗; 再比如分類模型的優化,主要是一些閾值的調整,以實現精准性與通用性的均衡。
實際上,模型優化不僅僅是對模型的優化,還包含了對原始數據的處理優化。因此,當發現所有模型效果都不太好的時候,有可能是數據集沒有得到有效的預處理,沒有找到合適的關鍵因素(自變量)。
(三)數據分析場景和模型應用
1.市場營銷
(1) 營銷響應分析建模(邏輯回歸、決策樹)。
(2) 凈提升度分析建模(關聯規則)。
(3) 客戶保有分析建模(卡普蘭梅爾分析、 神經網絡)。
(4) 購物籃分析( 關聯分析Apriori)。
(5) 自動推薦系統(協同過濾推薦、基於內容推薦、基於人口統計推薦、基於知識推薦、組合推薦、關聯規則)。
(6) 客戶類別細分(聚類)。
(7) 客戶流失預測(邏輯回歸)。
2.風險管理
(1)客戶信用風險評分(SVM、 決策樹、神經網絡)。
(2)市場風險評分建模( 邏輯回歸、決策樹)。
(3)運營風險評分建模(SVM)。
(4) 欺詐檢測(決策樹、聚類、社交網絡)。