書名: 從零進階!數據分析的統計基礎(第2版)作者名: 經管之家主編 曹正鳳編著本章字數: 7216字更新時間: 2021-10-29 11:59:48
1.3 數據分析方法簡介
1.1節講到了數據分析的概念,在數據分析的三個方面中,最重要的一個方面就是方法,即數據分析方法。在某些特殊的時刻,選擇不同的數據分析方法,會使數據分析得出意想不到的結果。數據分析方法根據使用的工具和理論的難度分成四個層次:單純的數據加工方法;數理統計分析方法;數據挖掘方法和大數據分析方法。
1.3.1 單純的數據加工方法
這種數據分析方法側重于數據的加工和預處理,使用的工具一般是SQL和Excel,這是現在市場上大部分企業所使用的數據分析工具,有的公司干脆就僅使用Excel。該種方法一般是從企業的管理信息數據庫系統或數據倉庫中,對相關數據進行提取、加工、衍生處理和生成各種業務報表。在我們的經濟生活中,經??吹疥P于同比發展速度、環比發展速度、今年比去年凈增加了多少等新聞報道,這些統計數據計算起來比較簡單,理論難度很低。這種方法最典型的代表就是描述性統計分析和相關分析。
1.描述性統計分析
描述性統計分析是通過圖表或數學方法,對數據資料進行整理、分析,并對數據的分布狀態、數字特征和隨機變量之間的關系進行估計和描述的方法。通俗地講,描述性統計就是當數據分析師需要分析一萬個數時,他僅需要用八個數就把這一萬個數說清楚了,這樣進行決策管理時才不用再看一萬個數,而只看這八個數就能解決問題。描述性數據分析的關鍵就是要看明白這八個數,能解釋清楚其背后的含義。描述性統計分析分為集中趨勢分析、離中趨勢分析和數據分布分析三大部分。
集中趨勢分析主要靠平均數、中數、眾數等統計指標來表示數據的集中趨勢,例如測試班級的平均成績是多少。離中趨勢分析主要靠全距、四分位距、方差、標準差等統計指標來研究數據的離中趨勢。例如,當我們想知道兩個教學班的語文成績哪個班級的成績分布更分散時,就可以用兩個班級的方差來比較。數據分布分析是指和正態分布相比,所得數據的直方圖從形態上看是左偏的還是右偏的,從峰度上看是尖峰的還是扁平的,這些內容會在第2章詳細介紹。
2.相關分析
相關分析是研究現象之間是否存在某種依存關系,并對具體有依存關系的現象進行相關方向及相關程度的研究。這種關系既包括兩個數據之間的單一相關關系一一例如年齡與個人領域空間之間的關系,也包括多個數據之間的多重相關關系一一例如年齡、抑郁癥發生率和個人領域空間之間的關系;既可以是A大B就大(?。?,A小B就?。ù螅┑闹本€相關關系,也可以是復雜相關關系;既可以是A、B變量同時增大的正相關關系,也可以是A變量增大時B變量減小的負相關關系,還包括兩變量共同變化的緊密程度一一相關系數。
1.3.2 基于數理統計的數據分析方法
數理統計的理論基礎比較復雜,也就是概率論和高等數學中的微積分。當然這里的微積分只是簡單的一元函數積分,即根據概率論和微積分引出數據的分布,從數據的分布出發,進行數據的抽樣推斷和假設檢驗,由此引出方差分析、回歸分析、因子分析等基于數理統計的數據分析方法。此種分析方法一般使用SPSS Statistics、SAS EG等分析工具就可以實現。
1.方差分析
方差分析(Analysis of Variance,ANOVA)又稱“變異數分析”、“F檢驗”,它是R.A.Fisher發明的分析方法,用于兩個及兩個以上樣本均數差別的顯著性檢驗。由于受各種因素的影響,方差分析研究所得的數據呈現波動狀。造成波動的因素可分成兩類,一類是不可控的隨機因素,另一類是研究中施加的對結果形成影響的可控因素。方差分析是從觀測變量的方差入手,研究諸多控制變量中哪些變量是對觀測變量有顯著影響的變量。
2.回歸分析
回歸分析(Regression)是確定兩個或兩個以上變量之間相互依賴的定量關系的一種統計分析方法,它主要研究一個隨機變量Y對另一個變量(X)或一組(X1,X2,…,Xk)變量的相依關系,回歸分析按照涉及的自變量的數量,可分為一元回歸分析和多元回歸分析。按照自變量和因變量之間的關系類型,可分為線性回歸分析和非線性回歸分析。此處所講的回歸分析是指一元線性回歸,區別于數據挖掘方法里的多元線性回歸和邏輯斯蒂回歸。
3.因子分析
因子分析(FactorAnalysis)是指研究從變量群中提取共性因子的統計技術。因子分析就是從大量的數據中尋找內在的聯系,減輕決策困難的分析方法。因子分析的方法有十多種,例如重心法、影像分析法、最大似然解法、最小平方法、阿爾法抽因法、拉奧典型抽因法等。這些方法在本質上大都屬于近似方法,是以相關系數矩陣為基礎的,所不同的是相關系數矩陣對角線上的值,采用不同的共同性估值。在社會經濟統計研究中,因子分析常以主成分分析為基礎。
1.3.3 基于數據挖掘的數據分析方法
數據挖掘的理論淵源比較簡單,一般認為來源于機器學習和人工智能,也沒有統一、復雜的數學公式。各種不同的數據挖掘算法的數學模型都不一樣,復雜程度也不太一樣,但分析的基本思路一致。具體思路是根據歷史數據得出某種規則,根據規則進行判斷,例如分類。分類在日常生活中經常會遇到,例如某個商品該不該買,買和不買就是兩類結果,這個時候需要由你的大腦做出判斷。判斷的前提條件是根據你的某種經驗、商品的外觀、別人的評價。你會根據這些歷史數據,判斷是否買這個商品,這就是一個典型的分類過程。得出規則的過程,就是所謂的數據挖掘算法。有些數據挖掘算法不需要數學公式,例如關聯規則;而有些數據挖掘算法則需要比較復雜的公式,例如決策樹中的C4.5算法。在學習這些數據挖掘算法時,將算法原理學明白就可以了,至于公式的計算過程,都是由常用的數據分析工具完成的?;跀祿诰虻臄祿治龉ぞ哂蠸PSS Modeler、SAS EM和R軟件。
1.聚類分析
聚類分析(Cluster Analysis)指將物理或抽象對象的集合分組成為由類似的對象組成的多個類的分析過程。聚類是將數據分到不同的類或者簇的過程,所以同一個簇中的對象有很大的相似性,而不同簇之間的對象有很大的相異性。聚類分析是一種探索性的分析,在分類的過程中,人們不必事先給出一個分類的標準,聚類分析能夠從樣本數據出發,自動進行分類。由于聚類分析所使用的方法不同,常常會得到不同的結論。因此,不同的研究者對于同一組數據進行聚類分析,所得到的聚類數據未必一致。
2.分類分析
(1)決策樹
決策樹(Decision Tree)方法起源于概念學習系統CLS,然后發展到ID3方法而進入了研究的高潮,最后又演化為能處理連續屬性的C4.5。有名的決策樹算法還有CART和CHAID,這些算法的不同之處都是在生成決策樹過程中,樹干分支成多個枝葉時分枝規則的生成函數。決策樹是應用最廣的歸納推理算法之一,是一種逼近離散值目標函數的方法,對噪聲數據有很好的健壯性且能學習析取表達式。決策樹通過把實例從根節點排列到某個葉子節點來分類實例,葉子節點即為實例所屬的分類。樹上的每一個節點都說明了對實例的某個屬性的測試,并且該節點的每一個后繼分支對應于該屬性的一個可能值。
決策樹的優點:可以生成可理解的規則;計算量相對來說不是很大;可以處理連續和離散變量;決策樹可以清晰地顯示出哪些變量比較重要。
決策樹的缺點:對連續性的變量比較難預測;當類別太多時,錯誤可能會增加得比較快;一般的算法在分類時,僅根據一個屬性來進行分類;不是全局最優。
(2)人工神經網絡
人工神經網絡(ArtificialNeuralNetworks,ANNs)是一種應用類似于大腦神經突觸連接的結構進行信息處理的數學模型,它是數據挖掘中機器學習的典型代表。人工神經網絡是由人工建立的以有向圖為拓撲結構的動態系統,它通過對連續或斷續的輸入做狀態響應而進行信息處理。
簡單地講,“神經網絡”就是通過輸入多個非線性模型及不同模型之間的加權互聯(加權的過程在隱蔽層完成),最終得到一個輸出模型。其中,隱蔽層所包含的就是非線性函數。
目前最主流的“神經網絡”算法是反饋傳播(Backpropagation),該算法在多層前向型(Multilayer Feed-Forward)神經網絡上進行學習,而多層前向型神經網絡又是由一個輸入層、一個或多個隱蔽層及一個輸出層組成的,“神經網絡”的典型結構如圖1.2所示。

圖1.2 “神經網絡”典型結構
人工神經網絡的特點:可以充分逼近任意復雜的非線性關系;所有定量或定性的信息都等勢分布貯存于網絡內的各神經元中,故有很強的魯棒性和容錯性;采用并行分布處理方法,使得快速進行大量運算成為可能;可學習和自適應不知道或不確定的系統;能夠同時處理定量、定性知識。
(3)貝葉斯分類方法
貝葉斯分類(Bayesian Classification)方法是非常成熟的統計學分類方法,它主要用來預測類成員之間關系的可能性。例如通過一個給定觀察值的相關屬性來判斷其屬于一個特定類別的概率。貝葉斯分類方法是基于貝葉斯定理的,已經有研究表明,樸素貝葉斯分類方法作為一種簡單的貝葉斯分類算法甚至可以跟決策樹和神經網絡算法相媲美。
(4)支持向量機
支持向量機(Support Vector Machine)是由Vapnik等人于1995年率先提出的,是機器學習研究的一個重大成果。與傳統的神經網絡技術相比,支持向量機不僅結構簡單,而且各項技術的性能也明顯提升了,因此它成為機器學習領域的熱點之一。
作為一種新的分類方法,支持向量機以結構風險最小為原則。在線性的情況下,它在原空間尋找兩類樣本的最優分類超平面。在非線性的情況下,它使用一種非線性的映射,將原訓練集數據映射到較高的維上。在新的維上,它搜索線性最佳分離超平面,使用一個適當的方法對足夠高維的非線性映射,兩類數據總可以被超平面分開。
(5)隨機森林
隨機森林(Random Forest,RF)是一種組合分類器,它利用Bootstrap重抽樣方法從原始樣本中抽取多個樣本,對每個Bootstrap樣本進行決策樹建模,然后將這些決策樹組合在一起,通過投票得出最終分類或預測的結果,如圖1.3所示。

圖1.3 “隨機森林”算法示意圖
大量的理論和實證研究都證明了隨機森林算法具有較高的預測準確率,對異常值和噪聲具有很好的容忍度,且不容易出現過擬合。
3.關聯規則
關聯規則(Association Rule)是在數據庫和數據挖掘領域中被發明并被廣泛研究的一種重要模型,關聯規則數據挖掘的主要目的是找出數據集中的頻繁模式(Frequent Pattern,即多次重復出現的模式)和并發關系(Cooccurrence Relationships,即同時出現的關系),頻繁和并發關系也被稱作關聯(Association)。
應用關聯規則最經典的案例就是購物籃分析(Basket Analysis),通過分析顧客購物籃中商品之間的關聯,可以挖掘顧客的購物習慣,從而幫助零售商更好地制定有針對性的營銷策略。
關聯規則算法不但在數值型數據集的分析中有很大用途,而且在純文本文檔和網頁文件中也有著重要的用途。例如發現單詞之間的并發關系及Web的使用模式等,這些都是Web數據挖掘、搜索及推薦的基礎。
4.回歸分析
回歸(Regression)分析包括線性回歸(Linear Regression),這里主要是指多元線性回歸和邏輯斯蒂回歸(Logistic Regression)。其中,在數據化運營中更多使用的是邏輯斯蒂回歸,它包括響應預測、分類劃分等內容。
多元線性回歸主要描述一個因變量如何隨著一批自變量的變化而變化,其回歸公式(回歸方程)就是因變量與自變量關系的數據反映。因變量的變化包括兩部分:系統性變化與隨機變化,其中,系統性變化是由自變量引起的(自變量可以解釋的),隨機變化是不能由自變量解釋的,通常也被稱作殘值。
在用來估算多元線性回歸方程中自變量系數的方法中,最常用的是最小二乘法,即找出一組對應自變量的相應參數,以使因變量的實際觀測值與回歸方程的預測值之間的總方差減到最小。
1.3.4 基于大數據的數據分析方法
基于大數據的數據分析方法的理論基礎是數據挖掘和分布式計算原理。大數據具有海量、快速、多樣化和有價值四個方面的重要特征,其海量特性使得分析數據時不可能用單臺機器完成,而是需要多臺機器同時運算,也就是所謂的分布式計算。在大數據時代,以前一臺機器可以存儲的數據,現在一百臺機器都存儲不下,大數據技術要解決兩個重要的現實問題:一是要解決海量數據在多臺計算機上的存儲;二是要解決如何對多臺機器上存儲的數據進行分析。大數據技術的基本原理還是聚類、分類、主題推薦等數據挖掘的內容,在基于大數據的數據分析方法中,有很多方法都是對原有數據挖掘算法的改造,將原來的單機計算改成多臺機器同時計算。
簡單地說,基于大數據的數據分析方法就是分析工具不一樣的數據挖掘分析方法,有的也加入了數理統計的思想,它不能使用SPSS、SAS等單機數據分析工具來完成,其分析工具一般都需要具備分布式計算的能力。Hadoop是一個分布式的計算系統,由Yahoo的工程師Doug Cutting和Mike Cafarella在2005年合作開發。后來,Hadoop被貢獻給了Apache基金會,成了Apache基金會的開源項目。Doug Cutting也成了Apache基金會的主席,主持Hadoop的開發工作。Hadoop采用MapReduce分布式計算框架,并開發了HDFS分布式文件系統和HBase數據存儲系統。HDFS完成了將多臺機器組成一個巨大的開放式硬盤,安全地存放海量的數據,而MapReduce完成了讓多臺機器同時計算,由此Hadoop完成了大數據的存儲和分析。并且由于Hadoop具有開源特性從而成為分布式計算系統事實上的國際標準。Yahoo、Facebook、Amazon以及國內的百度、阿里巴巴等眾多互聯網公司都以Hadoop為基礎搭建自己的分布式計算系統。常用的大數據分析工具有基于分布式系統的Mahout、Spark和Storm,一般的分布式系統都是基于Hadoop架構的。
1.Mahout,大數據分析的利器
Mahout是Apache SoftwareFoundation(ASF)旗下的一個開源項目,提供一些可擴展的機器學習領域經典算法的實現,旨在幫助開發人員更加方便、快捷地創建智能應用程序。它通過和HDFS配合,實現在主題推薦、聚類和分類等領域中的大數據分析。此外,通過使用Apache Hadoop庫,Mahout可以有效地擴展到云中。
2.Spark,大數據分析的“瑞士軍刀”
Spark也是Apache基金會的開源項目,它由加州大學伯克利分校的實驗室開發,是另外一種重要的分布式計算系統。它在Hadoop的基礎上進行了一些架構上的改良。Spark與Hadoop最大的不同點在于,Hadoop使用硬盤來存儲數據,而Spark使用內存來存儲數據,因此Spark可以提供超過Hadoop100倍的運算速度。但是,由于內存斷電后數據會丟失,Spark不能用于處理需要長期保存的數據。目前Spark完成了大部分的數據挖掘算法由單機到分布式的改造,并提供了較方便的數據分析可視化界面。
3.Storm,實時大數據處理工具
Storm是Twitter主推的分布式計算系統,它由BackType團隊開發,是Apache基金會的孵化項目。它在Hadoop的基礎上提供了實時運算的特性,可以實時地處理大數據流。不同于Hadoop和Spark,Storm不進行數據的收集和存儲工作,它直接通過網絡實時地接收數據并且實時地處理數據,然后直接通過網絡實時地傳回結果。
數據分析師應對上述每種不同的數據分析方法都要了解,因為不同的數據分析方法適用的場景是不一樣的,能解決的數據分析目標也是不一樣的,例如生物行業用數理統計最多,電商行業用數據挖掘較多,當電商行業的數據量很大時,就要用基于大數據的數據挖掘算法了。在學習具體的數據分析方法時,主要要了解其使用的場景,當你在做具體的數據分析時就知道選擇哪一種分析方法了。另外,在選擇數據分析方法時,不要熱衷于高深的方法,“不管白貓黑貓,抓住老鼠就是好貓”,要用最簡單方法把問題解決,有的時候用最簡單的描述性統計方法能解決問題,就不要用數據挖掘算法了。
對于是否使用大數據分析方法,這個需要看企業的性質和將來的發展方向,一般不是所有的企業都具有進行大數據分析的可能,企業管理者不應迷失在大數據面前,而應根據自己的實際業務確立商業目標,有選擇地獲取數據,然后進行分析。面對大數據時代的到來,國內的數據分析師們最需要做的是和企業的管理部一起,探討如何給企業的現在和未來做一個好的規劃,看自己是否具有大數據分析的可能,如果有,則如何實現從現有的小數據分析向大數據分析轉型,從人才到數據的準備,這些都需要有一個充分的思考過程才能確定。
1.3.5 數理統計與數據挖掘的區別和聯系
1.數理統計與數據挖掘的聯系
從兩者的理論來源來看,它們都來源于統計基礎理論,因此它們的很多方法在很多情況下都是同根同源的。例如,概率論和隨機事件是統計學的核心理論之一,統計分析中的抽樣估計需要應用該理論,而數據挖掘技術的樸素貝葉斯分類就是這些統計理論的發展和延伸。
有的時候兩者的一些方法還會出現混淆的情況,例如,主成分分析和回歸分析。從嚴格意義上講,這兩種分析方法都屬于數理統計分析方法,但在數據挖掘實戰應用中也常常會用到這種方式,從這個角度講,主成分分析和回歸分析也是數據挖掘商業實戰中常用的一種分析技術和數據處理技術。
2.數理統計與數據挖掘的區別
更普遍的觀點認為,數據挖掘是數理統計的延伸和發展,如果一定要加以區分,它們又有哪些區別呢?數據挖掘在如下幾個方面與數理統計存在比較明顯的差異。
數理統計的基礎之一就是概率論,在對數據進行數理統計分析時,分析人員常常需要對數據分布和變量間的關系作假設,確定用什么概率函數來描述變量間的關系,以及如何檢驗參數的統計顯著性。但是,在數據挖掘的應用中,分析人員不需要對數據分布做任何假設,數據挖掘中的算法會自動尋找變量間的關系。因此,相對于海量、雜亂的數據,數據挖掘技術有明顯的應用優勢。
數理統計在預測中的應用常表現為一個或一組函數關系式,而數據挖掘在預測應用中的重點在于預測的結果,很多時候并不會從結果中產生明確的函數關系式,有時候甚至不知道到底是哪些變量在起作用,又是如何起作用的。最典型的例子就是“神經網絡”挖掘技術,它里面的隱蔽層就是一個“黑箱”,沒有人能在所有的情況下讀懂里面的非線性函數是如何對自變量進行組合的。在實踐應用中,這種情況常會讓習慣數理統計公式的分析師或者業務人員感到困惑,這也確實影響了模型在實踐應用中的可理解性和可接受度。
在實踐應用中,數理統計常需要分析人員先作假設或判斷,然后利用數據分析技術來驗證該假設是否成立。但是,在數據挖掘中,分析人員并不需要對數據的內在關系做任何假設或判斷,而是會讓挖掘工具中的算法自動去尋找數據中隱藏的關系或規律。兩者的思維方式并不相同,這給數據挖掘帶來了更靈活、更寬廣的思路和舞臺。
雖然上面詳細闡述了數理統計與數據挖掘的區別,但是在企業的實踐應用中,我們不應該硬性地把兩者割裂開來,其實它們也無法割裂,沒有哪個分析師會說:“我只用數據挖掘技術來分析”或者“我只用數理統計技術來分析”。正確的思路和方法應該是:針對具體的業務分析需求,先確定分析思路,然后根據這個分析思路去挑選和匹配合適的分析算法、分析技術,而且一個具體的分析需求一般都會有兩種以上不同的思路和算法可以去探索,最后可以根據驗證的效果和資源匹配等一系列因素進行綜合權衡,從而決定最終的思路、算法和解決方案。