張思思
(河北大學,河北 保定 071000)
數據已經成為企業的重要資產,如何將數據轉為有用價值信息是必須要做的事情。企業利用大數據進行分析挖掘,挖掘背后數據的價值,不僅能夠根據需要進行宏觀調整,還能提高企業運行效率。隨著數據的不斷積累和海量數據的產生,企業會有多種數據分析的需求,每次都需要進行單獨研究,即需要重新開發。由于需求的不同,這就導致之前已經擁有的模型難以得到復用,必須重新選擇數據集和構造數據分析模型。對企業多重數據的不合理存儲不僅耗費企業巨大的資源,同時缺失數據分析及預測服務,導致無法發現這些數據背后的價值,從而導致企業的管理水平及服務得不到提升。隨著大數據相關技術的日益成熟[1-3],以與大數據相關的技術來處理和挖掘企業數據,并對數據進行分析和預測,為企業的成本控制提供參考依據,已經越來越得到重視。
隨著越來越多的技術應用到大數據中,大數據方面出現了很多技術。以Hadoop生態圈為代表的分布式數據處理平臺以及計算框架解決了海量數據存儲與處理的問題[4],由于使用過程中,Hadoop需要技術人員關注實現細節,并且一些算法只適用于特定的應用場景,可復用性較差,已經無法滿足越來越復雜的大數據分析應用需求。本文主要對大數據分析流程配置進行研究,提出以業務為中心[5],使用戶專注于問題的業務邏輯進行分析和研究,不再關注具體技術實現細節問題,并設計流程化大數據分析模型,根據業務不同選擇不同的算法,通過參數優化配置,最終生成理想的預測模型。
針對業務需求的不同,并結合大數據分析的特點,設計分為以下步驟:數據準備、數據清洗、大數據算法、模型訓練、模型應用。根據實際應用中的特點,設計了以業務為中心的分析模型的方式,對于同一類型的數據集,采用統一的數據集管理方式、配置相應的數據清洗規則、分析算法選擇、參數配置、分析目標等。
由于模型訓練的復雜性和需求不同,根據實際需求設置了手動操作和自動任務調度兩種方式來進行模型的訓練。自動任務調度的處理,能夠保證批量定時執行,對選定數據集進行分析,挖掘有價值的信息等,最終大數據的分析結果以可視化圖形或圖像方式展示。大數據處理流程圖如圖1所示:

圖1 大數據分析總體設計圖
在企業應用中,數據是各項業務的基礎。由于業務數據是分開存儲的,數據很難得到共享。另外企業中的數據集來源不同、種類不同,有的是傳統的關系化數據,還有非關系化數據,如通過Sqoop、Flume等工具可分別獲得結構化數據和非結構化數據(如日志數據)。因此就需要整合各個不同的資源,基于數據多樣性和不確定性,需要將不同的業務數據及其他方面收集的非業務數據建立規范,依據規范所有數據集做到按分類進行處理,以此來達到數據共享。我們建立將數據同步到數據倉庫中,然后在數據倉庫上對集成后的數據進行統計和分析,如圖2所示:
由于企業數據及各個崗位需求的數據不同,首先數據分析人員需根據業務需求選取適合的數據,但如何確定數據是否合適還需要對數據進行初步的分析,比如通過匯總、均值、方差等操作來分析,經過對數據的初步分析,可以讓數據分析人員清楚認識數據,為數據選擇更實用的模型和配置。

圖2 數據倉庫的數據集成架構
3.2.1 配置分析模型
3.2.1.1 確定分析流程
通用的數據挖掘方法論主要有兩類,主要分為學術模型和工業模型,學術模型以Fayyad模型為代表,工業模型以CRISP-DM模型為代表,其中Fayyad模型是一個偏技術的模型[6],見圖3,CRISP-DM模型是一個綜合考慮數據挖掘技術與應用的模型,見圖4。

圖3 Fayyad模型

圖4 CRISP-DM模型
上述兩種模型都各具特點但都有局限性,一方面兩種模型無法支持目前分布式數據存儲,對海量數據分析高效執行無法支持;另一方面,存在大數據分析技術應用與業務契合度不高的問題。
因此,我們根據實際業務分析需求,結合大數據分析建模與業務領域應用,提出基于業務領域的分析模型。
3.2.1.2 選擇分析算法
根據分析模型需要,從算法庫中選擇線性回歸、邏輯回歸、決策樹、樸素貝葉斯、隨機森林、聚類算法(K均值等)、神經網絡、協同過濾等大數據算法模型。
依據業務分析需求,選擇分析算法,根據需求調整參數來幫助用戶合理配置模型。
3.2.1.3 選擇數據集
從企業數據集中,選擇與需求相關的數據表,并篩選出需要進行數據分析的列作為數據集,從多個維度分析數據。另外針對非結構化的數據,可以先采用統一方式將數據上傳至Hadoop分布式文件系統(HDFS),選擇需要的信息(比如檢索內容)作為數據集[7]。
3.2.1.4 設置數據預處理規則
數據采集過程中可能會出現臟數據,應篩選出只需要分析的數據記錄,去除或補全確實的數據,去除不需要的數據,對關鍵數據進行匯總等聚合處理。對于非結構化數據需要以文件的模式先上傳至HDFS;從HDFS讀取的數據中,存在一些臟數據,我們根據自定義的清洗規則對數據進行篩選清理。對于殘缺的一整條數據需要刪除。經過一系列數據描述操作把數據轉換為滿足數據挖掘的形式。
數據預處理的內容主要包括數據清理、數據集成、數據規約、數據變換4個功能[8],功能結構圖如圖5所示。
3.2.2 訓練模型
通過大數據分析,可生成與用戶需求相關的預測數據。建立好預測模型之后,用戶通過輸入歷史數據,依據模型生成與業務相關的預測信息。通過預測的數據,用戶可合理調整經營策略,并針對不同情況能夠作出快速響應。

圖5 數據預處理的內容
根據需要進行配置,再通過手動執行、自動任務調度執行兩種模式來對數據集進行多批次訓練。系統運行時,根據選定的數據集進行數據預處理、運行選擇的算法,最終生成分析模型。根據設置的指標參數對模型進行驗證,當產生的模型不符合預期效果時,可對參數進行優化修改,在此基礎上進行反復訓練,最終生成比較理想的分析模型。
設計訓練模型基于業務進行研發,要檢查建立模型的步驟,保證模型與業務目標的吻合度。訓練模型是基于已有機票、火車票、酒店等相關訂單的信息,另外針對用戶操作的數據(如用戶搜索信息、操作習慣等),必須校驗模型與不同業務數據吻合度。只有建立了理想的模型,才能提供更有的預測分析能力,能夠為用戶提供更優質的服務。
大數據預測是大數據最核心的應用。我們可以從海量數據中發挖掘數據背后的有用價值,在大數據分析模型建立之后,可以輸入新的數據預測未來的發展趨勢。在系統中設置手動和自動的任務調度,對海量數據進行業務劃分,根據不同需求分析出數據的發展趨勢。
可視化技術是將數據特點直觀呈現出來,以圖表、圖形等方式展示出來。實現可視化,分為以下幾個步驟,第一步通過對數據分析形成實際可用信息,第二步根據已形成的可用信息形成用戶易分析和明白的圖形或圖像,最后利用人機交互將第二步中的數據轉換為處理后的圖形或圖像顯示處理[9]。
可視化模型依靠圖形進行信息交互,直觀反映出數據之間的關系,能夠提升用戶對需求和業務的理解,并對問題求解過程有更深入的理解。用戶從定制的可視化界面中,可清晰地查看分析結果。靈活和簡單易操作的界面能夠提供契合用戶的操作方式。
從差旅服務角度來看,本文定義的針對差旅各項數據的預測分析模型,能夠給出客戶針對出行方式、出行指數、目的地、航空公司選擇等方面的數據,為平臺決策提供參數;另一方面也能為企業合理控制差旅成本和合理規劃差旅出行提供參考依據。
依據本文研究方法,建立了各個業務專業數據集。使用大數據分析方法,通過確定分析目標、數據預處理、數據集選擇、大數據分析算法選擇、數據分析預測等[10],完成大數據分析定制,并依托Hadoop、HBase、Hive等技術,進行數據分析。