官术网_书友最值得收藏!

2.3 數據分析

數據分析是設計機器學習算法模型的準備性工作。數據分析是一種統計方法,通過多個維度或角度呈現數據的關系或趨勢,可以通過一些幾何圖形方法展示分析的結果,輔助揭示不同數據之間的關系。數據分析的本質依然是理解數據,為決策提供數據依據。

2.3.1 基本理念

在很多年前,在數據分析領域有個有趣的榨菜指數,它通過涪陵榨菜在全國的銷量情況,分析出人口遷徙情況。榨菜指數的理論依據有兩個:一方面,榨菜屬于經濟學中的低值易耗品,人均收入的增長與榨菜的消費沒有直接關系。假定沒有人口流動,則榨菜在各省市的銷量是相對穩定的;另一方面,通過統計發現,一個省市的涪陵榨菜的銷量與其外來務工人員的數量呈正相關關系。

或許隨著消費水平的變化,榨菜指數已經逐漸失效,不再是一種絕對科學規范的分析方法,但其隱藏的是數據之間的潛在關系。類似的指數有啤酒氣象指數、漢堡指數、撲克指數、口紅指數等,它們都可以用來揭示數據背后之間的關系。

早期的數據分析方法大多是借助簡單的工具,結合統計理論、數據挖掘等方式實現對數據的分析,例如Excel中的統計分析。總之,數據分析是將數據整合為信息,再將信息轉變為知識,底層依賴數學理論基礎、豐富的行業經驗及計算機工具。

數據分析的目的是集中分析、理解隱藏在大量看似雜亂無章的數據中的信息,找出研究對象的內在規律。在實踐中,數據分析既可以幫助決策者或者系統做出判斷,也可以輔助機器學習算法進行特征理解。

2.3.2 體系結構

數據分析是理解數據的重要一步,根據分析的目的,可以把數據分析分為探索性數據分析、定性數據分析和定量數據分析;根據分析的服務類型,可以把數據分析分為在線數據分析和離線數據分析。非專業技術領域和技術領域對于數據分析的定義并不相同,本書暫且將非專業技術人員使用的數據分析稱之為傳統數據分析,傳統數據分析和數據挖掘結合在一起形成了完整的數據分析,如圖2-9所示。

圖2-9

從圖2-9可知,數據分析包含兩部分,一部分是以指標統計量為輸出的傳統數據分析,即對收集來的數據進行處理與分析,提取有價值的信息,發揮數據的作用,得到一個特征統計量結果;另一部分是以模型或規則為輸出的數據挖掘,從大量的、不完全的、有噪聲的、模糊的、隨機的實際數據中,通過應用數據推薦、關聯規則、分類模型、聚類模型和決策模型等技術,挖掘數據的潛在價值。

傳統數據分析更注重分析,而當前廣義的數據分析則囊括了數據挖掘的范疇,傳統數據分析更關注的是結果,現在的數據分析更關注的是價值,數據分析和數據挖掘的邊界已經逐步趨于融合,尤其是在實際工作中,大多數數據分析工程師的工作職責實則已包含數據挖掘。

2.3.3 傳統數據分析方法與示例

1.傳統數據分析的基本方法

傳統數據分析相對容易理解,大致可以總結為八種常用的分析方法,如表2-14所示。

表2-14

上述是常用的傳統數據分析方法,除此之外,在不同的行業或者細分領域還有其他數據分析方法,它們都是為解決某一類問題而產生的。

2.聚類分析方法應用示例

本示例基于最短距離法對數值進行聚類,屬于傳統數據分析中非常易于理解的示例。假定有一維樣本數據:1、2、5、7、9、10,下面用最短距離法對這組樣本數據進行聚類,步驟如下。

第一步,把數值相減的絕對值作為距離,通過計算兩兩之間的距離得到如表2-15所示的距離矩陣。

表2-15

第二步,將距離最短的樣本合并為一個新的樣本。例如,樣本“1”和“2”、樣本“9”和“10”的距離均為1,因此可以分別合并為一個新樣本。對于新樣本,依然選擇最短距離進行距離矩陣計算。合并后的樣本數據之間的距離矩陣如表2-16所示。

表2-16

第三步,可以發現樣本“5”和“7”、“{9,10}”和“7”的距離最小為2,因此將“5”和“7”合并,但是由于樣本“{9,10}”和“7”也是距離最小的樣本,因此把“5”、“7”、“{9、10}”合并為新樣本“{5,7,{9,10}}”,然后繼續對新樣本進行距離矩陣計算。二次合并后的樣本數據之間的距離矩陣如表2-17所示。

表2-17

由于表2-17中僅剩下兩個樣本{1,2}、{5,7,{9,10}},因此最終將兩者合并即可得到最終的樣本“{{1,2},{5,7,{9,10}}}”,至此樣本聚類過程結束。

在上述過程中,也可以約定當聚類的數量達到一定量之后即可終止,聚類的數量可根據實際情況進行定義。例如,在上例中如果將樣本“1、2、5、7、9、10”聚類為兩部分,則分別是{1,2}與{5,7,9,10}。

2.3.4 基于數據挖掘的數據分析方法與示例

基于數據挖掘的數據分析方法的基本思路和原理來源于傳統數據分析方法,只是技術手段不同?;跀祿诰虻臄祿治龇椒ㄅc傳統數據分析方法相比,在數據層面已有一些差異,例如,數據挖掘中使用的數據可能是有噪聲的、非結構化的、量級更大的。除此之外,傳統數據分析方法一般都是先給出一個假設,然后通過數據驗證,在一定意義上是假設驅動的;與之相反,基于數據挖掘的數據分析方法在一定意義上是發現驅動的,模式都是通過大量的搜索工作從數據中自動提取出來的。

1.方法介紹

基于數據挖掘的數據分析方法如表2-18所示,它們均是需要通過大量的數據運算或機器總結規律的方式進行的數據分析方法。

表2-18

當然,隨著各類技術的不斷突破,數據分析的定義范疇已經越來越廣泛,數據分析的方法也變得更加豐富,甚至會采用深度學習的方式。

2.基于關聯規則挖掘的應用示例

關聯規則挖掘是一種基于規則的機器學習算法,它利用一些度量指標來判斷數據中存在的隱藏規則。關聯規則挖掘可以很好地用于知識發現,屬于比較典型的無監督機器學習方法。

Apriori算法是關聯規則挖掘中的經典算法,應用非常廣泛,例如,超市商品關聯分析、消費習慣分析等。它利用頻繁項集的先驗知識,不斷按照層次進行迭代,計算數據集中所有可能的頻繁項集,主要包括兩個核心部分的分析:根據支持度找出頻繁項集,根據置信度產生關聯規則。其中,頻繁可以理解為數據的頻率,所篩選出的項集頻率不得低于支持度。如果滿足最小支持度的頻繁項集中包含k個元素,則被稱作頻繁k項集。

例如,某公益書店為了鼓勵大家閱讀,希望從讀者的歷史借閱記錄中發現某些圖書之間的關系,然后盡可能使相關圖書靠得更近,從而間接提升大家的閱讀積極性?,F有部分借閱記錄如圖2-10所示。

圖2-10

對圖2-10所示的借閱記錄進行掃描,并對每一個類別的圖書進行頻率計數,得到候選項集C1,并計算支持度,如表2-19所示。

表2-19

設定候選項集的最小支持度為0.5,通過對候選項集C1與最小支持度進行比較,可以篩選出低于最小支持度的“居家美食類”,得到頻繁項集L1,如表2-20所示。

表2-20

對頻繁項集L1的不同圖書類別進行相互連接,可形成新的候選項集C2,如表2-21所示。

表2-21

依然對候選項集C2進行最小支持度的過濾,過濾掉“計算機類、醫藥類”和“計算機類、歷史類”,產生如表2-22所示的頻繁項集L2

表2-22

重復上述構建候選項集和頻繁項集的過程,并結合最小支持度,得到最終頻繁項集L,如表2-23所示。

表2-23

至止,我們就通過關聯規則找出了頻繁項集,即該公益書店可以將醫學類、歷史類、文學類的書放到同一區域。

上述過程介紹了Apriori算法的基本思路,如果是其他應用場景,則有可能需要輸出強關聯規則。針對此例中頻繁項集L的非空子集{醫藥類}、{歷史類}、{文學類}、{歷史類、文學類}、{醫藥類、文學類}、{醫藥類、歷史類},強關聯規則的計算規則如表2-24所示。

表2-24

若定義75%的置信度,則強關聯規則僅輸出兩項,即“{歷史類、文學類}?{醫藥類}”和“{醫藥類、文學類}?{歷史類}”,而“{醫藥類、歷史類}?{文學類}”不是輸出的強規則。

至此,用Apriori算法實現關聯規則挖掘的流程全部結束。Apriori算法需要生成大量的候選項集,每次生成頻繁項集的同時都要生成候選項集,并且需要一直迭代重復的掃描事物數據來計算支持度,因此效率較低。在應用過程中,通常會基于不同的條件采用Apriori算法的衍生版。

2.3.5 工作流程

數據分析是一種有方法、有目的地收集和分析數據并將其轉化為信息的過程,其工作流程可分為兩方面。一方面是從業務的角度形成的業務流程;另一方面是從技術實施的角度形成的技術實施流程。數據分析工作流程如圖2-11所示。

(1)需求分析:數據分析中的需求分析是整個分析環節的第一步,也是最重要的步驟之一,它決定了后續分析的方向和方法。需求的內容來自業務部門、市場運營部門或其他部門,對他們提出的需求進行需求分析和技術可行性分析等。

圖2-11

(2)數據獲?。簲祿菙祿治龉ぷ鞯幕A,數據獲取是根據需求分析的要求提取、收集數據。部分數據來自業務沉淀的歷史記錄,部分業務需求可能需要通過爬蟲抓取非本地數據等。

(3)數據預處理:數據預處理是指對數據進行數據合并、數據清洗、數據標準化和數據變換,使得整體數據變得干凈、整齊。

(4)分析與建模:分析與建模是指通過對比分析、分組分析、交叉分析、回歸分析等分析方法,以及聚類模型、分類模型、關聯規則、數據推薦等發現數據中有價值的信息,并得出結論的過程。

(5)模型評價與優化:模型評價是指對已經建立的一個或多個模型,根據其模型的類別,使用不同的指標評價其性能優劣的過程。模型不同,類別評價方式也不同。若業務場景不同,則評價指標也不同。

(6)部署:部署是指將數據分析結果與結論應用至實際生產系統的過程,以便長期在業務部門使用。

從技術實施的角度來看,基于數據挖掘的數據技術實施流程較為復雜,大體可以分為建模流程和模型驗證流程。

(1)建模流程。首先將獲得的原始數據整理劃分為訓練數據、驗證數據和測試數據,然后建立模型、訓練模型,最后輸出模型文件或模型表達式。

(2)模型驗證流程?;跍y試數據對模型文件或模型表達式進行評估驗證,若驗證未通過,則不斷重復建立模型、訓練模型、驗證模型的流程。

數據挖掘的技術實施流程屬于機器學習模型,詳細的研發流程可參見本書第4章。

2.3.6 數據分析技巧

1.分析的理論方法

前文提到的傳統數據分析和數據挖掘都屬于技術方法,但是在實際進行數據分析過程中,還涉及如何分析的問題。例如,如何使數據分析的邏輯符合需求方對它的理解等。

理論方法是從宏觀出發,從管理和業務的角度提出分析框架,指導具體的數據分析方向。較為經典的分析方法有5W 2H分析法、PEST分析法、SWOT分析法、4P理論等,如表2-25所示。

表2-25

不同的分析方法適用不同的分析場景,當然,這些分析方法已經在一些非數據分析領域得到了廣泛應用,對數據分析領域有較好的借鑒作用。一份完整的數據分析報告,應不僅僅是簡單的數值呈現,而是包含系統的分析體系和可靠的數據結論支撐,這樣才能獲得更多的認可。

以5W2H分析法為例,假定某超市連續出現業績虧損,已知客戶的歷史購買記錄、商品的采購記錄等基礎數據,現通過5W2H分析法分析業務下滑的原因及改進的有效措施,分析角度如表2-26所示。

表2-26

續表

從數據的角度,可以通過一些數據結論支撐5W2H分析法,例如,通過“超市成本數據分析、收入、成本、虧損額等”說明“為什么要進行效果改進”,從“歷年、歷月業績數據對比情況、均值差異等”說明“何時業績出現下滑”等。當通過完整的數據支撐5W2H分析法之后,會形成完整的、有一定說服力的分析報告。

2.分析的思考角度

前面介紹了宏觀的分析方法,但在數據分析過程中,依然需要相當的數據敏感度。敏感度的差異歸根結底是思考角度不一致導致的。筆者總結了部分思考角度和場景問題,如表2-27所示。

表2-27

上述僅僅是一些總結,我們需要通過不斷地積累和沉淀,才能逐步完善數據分析的思考角度,甚至根據不同的業務場景整理總結出不同的思考角度。

3.存在的誤區

在數據分析過程中難免存在一些誤區,導致在數據分析過程中產生差異。比如,初學者有時候會認為數據分析需要大量的數據,其實不然,業務場景不同及分析難易程度也會決定數據的依賴,數據分析中常見的思考誤區如表2-28所示。

表2-28

上述僅是比較淺顯的誤區,在實際工作中還會遇到更多的思考誤區,我們應盡量避開誤區,以業務目標為導向來呈現一份數據分析報告。此外,在數據分析過程中,還存在以下三類比較常見的現象。

(1)過多的重視算法模型設計。正所謂“巧婦難為無米之炊”,算法是“炊”,數據本身和數據特征是“米”,優秀的算法固然重要,但是如果能夠通過大量數據解決的,則可以嘗試從數據層面解決,而非固執在算法層面。擁有大量的樣本數據和有效的數據特征提取是解決問題的方法之一,把過多的精力集中在算法模型本身,效果可能并不明顯,且成本非常高。

(2)過于堅信模型是有效的。模型是建立在當前數據基礎之上的,僅對當前樣本數據有效。模型在線上使用后,線上的環境會逐漸發生變化,因此應該從數據的差異性變化開始,逐步考慮迭代新版本的模型,在模型和數據層面都適當調整,尤其是涉及線上劃分地域、時效等相關的業務。

(3)忽視了數據分析的基礎平臺。數據分析是算法工程師或數據工程師的基礎工作之一,做數據分析的基礎平臺是數據分析師需要關注的,高性能的數據分析平臺不僅可以提升效率,效果也更好。技術管理者應當重視數據分析平臺,甚至可以嘗試推動數據分析平臺的建設。

2.3.7 數據可視化

數據可視化可以使數據結論更有效地呈現??梢暬倪^程通常被認為是一個生成圖形圖像的過程,實際上是數據的表達過程。數據可視化一方面可以形成對某個數據的感知,另一方面可以用圖像強化對認知的理解。

有實驗表明,人類視網膜能以大約10Mb/s的速度傳達信息,而聽覺、觸覺等信息傳遞速度遠低于視覺。因此通過可視化的方式,能夠使得眾多信息在盡可能短的時間內傳達給受眾,清晰簡單的可視化效果會使數據結論更具說服力。

1.可視化圖表

可視化圖表的類型非常多,除了傳統的餅圖、柱狀圖、折線圖等,還有氣泡圖、面積圖、省份地圖、詞云、瀑布圖、漏斗圖等,甚至還有GIS地圖。這些種類繁多的圖形可以滿足不同的展示和分析需求。

表2-29是柱狀圖、餅圖、折線圖、散點圖的優點、缺點、適用數據和適用場景的簡述,它們是最常用的可視化圖表。

表2-29

上述大部分是靜態數據的可視化,在一些復雜領域,可能還會涉及動態數據的可視化。例如,呈現數據的形成和變化過程與時間的關系。除此之外,還有網絡圖的可視化、時空數據可視化、多維數據可視化等。

2.可視化的選擇

在一個復雜的數據理解中,選擇一個合適的可視化圖表非常重要,簡單的柱狀圖、餅圖、折線圖、散點圖不能覆蓋完整的場景選擇。圖2-12展示了在數據可視化過程中圖表選擇的一般方法。

圖2-12

主站蜘蛛池模板: 清远市| 尼木县| 剑阁县| 卓尼县| 友谊县| 南陵县| 禄丰县| 巴马| 建瓯市| 江安县| 九龙坡区| 电白县| 呈贡县| 湟源县| 临潭县| 山阳县| 阜城县| 富锦市| 德惠市| 沛县| 观塘区| 红安县| 获嘉县| 济阳县| 肇东市| 永德县| 藁城市| 崇州市| 辽源市| 青川县| 隆化县| 布拖县| 兰溪市| 瓮安县| 长宁区| 清新县| 阜康市| 偃师市| 永登县| 中宁县| 讷河市|