科學家必會的10個數據統計分析方法


導讀:
本文站在統計學家的角度對數據科學常用的一些技術方法進行總結,幫助讀者建立直觀印象。內容對應的R代碼可以在作者的GitHub上找到。

無論你在數據科學中是何種立場,你都無法忽視數據的重要性,數據科學家的職責就是分析組織應用這些數據。

著名求職網站Glassdoor根據龐大的就業數據和員工反饋信息,將數據科學家排名為美國最佳的25個工作之首。雖然名頭不小,但毫無疑問,數據科學家所做的具體工作是不斷髮展變化的。隨著機器學習等技術越來越普及,像深度學習這樣的新興領域在研究人員、工程師以及聘用他們的公司中成為新寵,數據科學家們將繼續在創新浪潮和技術進步中嶄露頭角。


科學家必會的10個數據統計分析方法


儘管具有強大的編程能力很重要,但數據科學家不需要都是軟件工程師(實際上會用Python你就可以上路了)。數據科學家處於編程、統計學和批判性思維的交叉區域。正如Josh Wills所說:“數據科學家是這樣一種人,他比任何程序員都更懂統計,並且他比任何統計學家都更懂編程”。


我認識很多想轉行數據科學家的軟件工程師,他們盲目地使用TensorFlow或者Apache Spark等機器學習框架去處理數據,卻沒有深入理解背後的統計理論。因此本文要談一談統計學習(statistical learning),它是源於統計學和泛函分析的一個機器學習理論框架。


為什麼要學習統計學習?


首先,為了知道如何以及何時使用各種分析方法,理解各種分析方法背後的思想很重要。要想掌握更精巧複雜的方法,你必須先理解較簡單的方法;

其次,當你想準確地評估一種分析方法的效果時,你得知道其運行的多好或者多麼不好;

第三,這是一個令人興奮的研究領域,在科學、業界和金融領域有重要的應用。最後,統計學習也是一名現代數據科學家的重要素養。一些統計學習的代表性問題包括:


  • 找出前列腺癌的高危因素
  • 根據對數週期圖對一個音位進行分類
  • 根據人口統計學資料、飲食和臨床測量數據預測某人是否會得心臟病
  • 自定義一個垃圾郵件檢測系統
  • 識別手寫的郵政編碼數字
  • 確定一個組織樣本屬於哪一類癌症
  • 建立人口調查數據中工資和人口統計學變量之間的關係


在大學的最後一個學期,我完成了一門數據挖掘的獨立學習課程。該課程涵蓋了來自3本書的大量材料:《Intro to Statistical Learning》(Hastie, Tibshirani, Witten, James), 《Doing Bayesian Data Analysis》 (Kruschke),和《Time Series Analysis and Applications》 (Shumway, Stoffer)。我們在貝葉斯分析、馬爾科夫鏈、蒙特卡洛、層次建模、監督學習和非監督學習方面做了大量的練習。


這些經歷加深了我對數據挖掘的興趣,並使我確信要在此領域進一步專注。最近我完成了Stanford Lagunita的統計學習在線課程,它涵蓋了我在獨立學習課程中讀過的《Intro to Statistical Learning》的全部內容。在接觸了這本書兩次之後,我想分享這本書中的10個統計分析方法,我相信任何數據科學家,若想更有效的處理大數據集,都應該學習這些方法。


在介紹這10個分析方法之前,我想先對統計學習和機器學習做一個區分。我曾經寫過一篇關於機器學習的很受歡迎的文章,所以我相信我有專業能力來區分二者:


  • 機器學習是人工智能的一個子領域,統計學習是統計學的一個子領域;
  • 機器學習強調大規模應用和預測準確性,統計學習強調模型及其可解釋性(interpretability),精度(precision)和不確定性(uncertainty)。


但是這種區別已經越來越模糊,並且存在大量交叉。此外,機器學習的市場營銷做的更好。


科學家必會的10個數據統計分析方法


1 線性迴歸


在統計學中,線性迴歸是一種通過擬合因變量(dependent)和自變量(independent variable)之間最佳線性關係來預測目標變量的方法。最佳擬合是通過確保每個實際觀察點到擬合形狀的距離之和儘可能小而完成的。最佳擬合指的是沒有其他形狀可以產生更小的誤差了。

線性迴歸的兩種主要類型是:簡單線性迴歸(Simple Linear Regression)和多元線性迴歸(Multiple Linear Regression)。簡單線性迴歸使用單一的自變量,通過擬合出最佳的線性關係來預測因變量。而多元線性迴歸使用多個自變量,擬合出最佳的線性關係來預測因變量。

選擇任意兩個你日常生活中使用的相關的東西。比如,我有過去3年中自己每月開支、每月收入、每月旅行次數的數據,現在我想回答下列問題:


  • 明年我每月的開支會是多少?
  • 哪個因素(每月收入還是每月旅行次數)在決定我的每月開支時更重要?
  • 每月收入、每月旅行次數是如何與每月支出相關的?


2 分類

分類是一種數據挖掘技術,通過確定一組數據所屬的類別以實現更準確的預測和分析。分類有時候也稱為決策樹,是對大型數據集進行分析的利器之一。常用的分類方法有兩種:邏輯迴歸判別分析(Discriminant Analysis)。

邏輯迴歸適合於因變量為二元變量時。像所有的迴歸分析一樣,邏輯迴歸是一種預測性分析。邏輯迴歸用於描述數據並解釋一個二元因變量與一個或多個名義、序列、時間間隔或比率獨立變量之間的關係。邏輯迴歸可以回答的問題有:


  • 每增加一磅體重和每天吸菸的包數如何影響患肺癌的概率?
  • 卡路里攝入、脂肪攝入和年齡是否對心臟病發作有影響?


在判別分析中,先驗知道兩個或多個分組或類別(clusters),然後基於已測量的特徵將1個或多個新觀測對象分類到一個已知類別中去。判別分析在每個類別下分別對預測變量X的分佈進行建模,然後使用貝葉斯定理將這些變量轉換為給定X值的對應類別的概率估計。這些模型可以是線性的或者二次方的:

線性判別分析(Linear Discriminant Analysis)為每個觀測值計算“判別分數”來判斷它應該屬於哪個類別。判別分數是通過尋找自變量的線性組合得到的。它假設每個類別中的觀測值都來自於多元高斯分佈,並且預測變量的協方差在響應變量Y的所有k個水平上都相同。


二次判別分析(Quadratic Discriminant Analysis)提供了一個替代方法。與線性判別分析一樣,二次判別分析假設每個Y類別的觀察值都來自於高斯分佈。然後,與線性判別分析不同的是,二次判別分析假設每個類都有自己的協方差矩陣。換句話說,預測變量並未假設在Y中的所有k個水平上都具有共同的方差。


3 重採樣方法(Resampling Methods)


重採樣是從原始數據中重複採集樣本的方法。這是一種非參數統計推斷方法。換句話說,重採樣方法不涉及使用通用分佈表來計算近似的p概率值。


重採樣根據實際數據生成一個唯一的採樣分佈它使用實驗方法而不是分析方法來生成唯一的樣本分佈。它產生的是無偏估計,因為它是基於研究人員研究的數據的所有可能結果生成的無偏樣本。為了理解重採樣的概念,你需要理解術語Bootstrapping和交叉驗證(Cross-Validation)。


Bootstrapping 在很多情況下是一種有用的方法,比如評估模型性能、模型集成(ensemble methods)、估計模型的偏差和方差等。它的工作機制是對原始數據進行有放回的採樣,並將“沒被選上”的數據點作為測試用例。我們可以這樣操作多次,並計算平均得分作為模型性能的估計。


交叉驗證是評估模型性能的一種方法,它通過將訓練數據分成k份,使用k-1份作為訓練集,使用保留的那份作為測試集。以不同的方式重複整個過程k次。最終取k個得分的平均值作為模型性能的估計。


對於線性模型而言,普通最小二乘法是擬合數據的主要標準。不過,接下來的3種方法可以為線性模型提供更好的預測準確性和模型可解釋性。


4 子集選擇(Subset Selection)


這種方法先確定與因變量相關的p個自變量的一個子集,然後使用子集特徵的最小二乘擬合模型。


  • 最優子集法(Best-Subset Selection)
    對p個自變量的所有可能組合分別做最小二乘法迴歸,查看最終的模型擬合效果。該算法分為2個階段:


    • 擬合所有包含k個自變量的模型,其中k是模型的最大長度;
    • 使用交叉驗證誤差來選出最佳模型。


使用測試誤差或者驗證誤差而不是訓練誤差來評估模型很重要,因為RSS和R2會隨著變量的增加而單調增加。最好的方式是交叉驗證並選擇測試誤差上R2最高而RSS最低的模型。


  • 向前逐步選擇(Forward Stepwise Selection)使用一個更小的自變量子集。它從一個不包含任何自變量的模型開始,將自變量逐個加入模型中,一次一個,直到所有自變量都進入模型。每次只將能夠最大限度提升模型性能的變量加入模型中,直到交叉驗證誤差找不到更多的變量可以改進模型為止。


  • 向後逐步選擇(Backward Stepwise Selection)在開始時包含全部p個自變量,然後逐個移除最沒用的自變量。
  • 混合方法(Hybrid Methods)遵循向前逐步選擇原則,但是在每次添加新變量之後,該方法也可能移除對模型擬合沒有貢獻的變量。


科學家必會的10個數據統計分析方法


5 特徵縮減(Shrinkage)


這種方法使用所有p個自變量擬合模型,但相對於最小二乘估計,該方法會讓一些自變量的估計係數向著0衰減。這種衰減又稱正則化(Regularization),具有減少方差的作用。根據所使用的縮減方法,一些係數可能被估計為0。因此這個方法也用於變量選擇。最常用的兩種縮減係數方法是嶺迴歸(Ridge regression)和L1正則化(Lasso)。


嶺迴歸(Ridge regression)與最小二乘類似,但在原有項的基礎上增加了一個正則項。和最小二乘法一樣,嶺迴歸也尋求使RSS最小化的參數估計,但當待估參數接近於0時,它會有一個收縮懲罰。這個懲罰會促使縮減待估參數接近於0。您無需深入數學海洋,僅需要知道嶺迴歸通過減小模型方差來縮減特徵就可以了。就像主成分分析一樣,嶺迴歸將數據投影到d維空間,然後對比低方差(最小主成分)和高方差(最大主成分)的係數進行剔除和篩選。


嶺迴歸至少有一個缺點:它的最終模型中包含全部p個自變量。懲罰項會讓許多係數接近於0但永遠不為0。這一點通常對預測準確性而言並不是問題,但它可能會使模型更難解釋。正則化克服了這個缺點,只要s足夠小,它能強迫某些係數為0。S=1就是常規的最小二乘法迴歸,當s接近於0時,係數朝著0縮減。因此正則化也相當於進行了變量選擇。


6 降維(Dimension Reduction)

降維將估計p+1個係數減少為M+1個係數,其中M

主成分迴歸(Principal component regression)和偏最小二乘法(Partial least squares)。


可以將主成分迴歸描述為從大量變量中導出低維特徵集的方法。數據的第一主成分方向是觀測值變化最大的方向。換句話說,第一主成分是一條儘可能擬合數據的直線。可以擬合p個不同的主成分。第二主成分是與第一主成分不相關的變量的線性組合,且方差最大。主成分分析的思想是使用正交方向的數據的線性組合來捕獲數據中的最大方差。通過這種方式可以組合相關變量的影響,從可用數據中提取更多信息,而在常規最小二乘中我們必須丟棄其中一個相關變量。


主成分分析法識別最能代表預測變量X的線性組合。這些組合(方向)以無監督的方式被識別,響應變量Y並未用於幫助確定主成分方向,因此不能保證最能解釋預測變量的方向在預測上也是最好的(儘管通常都這樣假定)。偏最小二乘法是主成分分析法的一種監督學習替代方式。它也是一種降維方法,首先識別一個新的較小的特徵集,這些特徵是原始特徵的線性組合,然後通過對新的M個特徵最小二乘擬合成線性模型。與主成分分析法不同的是,偏最小二乘法會利用響應變量來識別新特徵。


科學家必會的10個數據統計分析方法


7 非線性模型(Nonlinear Models)


在統計學中,非線性迴歸是迴歸分析的一種形式,觀測數據是通過一個或多個自變量的非線性組合函數來建模。數據用逐次逼近的方法進行擬合,下面是一些處理非線性模型的重要方法:


如果一個實數域上的函數可以用半開區間上的指示函數的有限次線性組合來表示,則它被稱為階躍函數(step function)。換一種不太正式的說法就是,階躍函數是有限段分段常數函數的組合。


分段函數是由多個子函數定義的函數,每個子函數應用於主函數域的某一個區間上。分段實際上是表達函數的一種方式,而不是函數本身的特性,但是加上額外的限定條件,它也可以描述函數的性質。例如,分段多項式函數是這樣一個函數,它是每個子域上的多項式,但每個子域上可能是不同的函數。


樣條曲線(spline)是由多項式分段定義的特殊函數。在計算機圖形學中,樣條是指分段多項式參數曲線。因為它們的結構簡單,擬合簡易而準確,可以近似曲線擬合和交互式曲線設計中的複雜形狀,樣條曲線是很流行的曲線。


廣義可加模型(Generalized additive model)是一種廣義線性模型,其中線性預測變量依賴於某些預測變量的未知光滑函數,側重於這些光滑函數的推理。


8 樹形方法(Tree-Based Methods)


樹形方法可以用於迴歸和分類問題。這涉及到將預測空間分層或分割成若干簡單區域。由於用於分割預測空間的分裂規則集可以概括成樹形,因此這類方法被稱為決策樹方法。下面的方法都是先生成多棵樹,然後將這些樹組合在一起以產生單個共識預測。


Bagging是一種通過從原始數據生成額外的訓練數據從而減少預測方差的方法,它通過使用重複的組合來生成與原始數據相同的多樣性。通過增加訓練集的大小,雖然不能提高模型的預測力,但可以減小方差,將預測調整到預期結果。


Boosting是一種使用多個不同模型計算輸出的方法,然後使用加權平均法對結果進行平均。通過改變加權公式,結合這些模型的優點和缺陷,使用不同的微調模型,可以為更廣泛的輸入數據提供良好的預測力。


隨機森林算法非常類似於Bagging。先採集訓練集的隨機bootstrap樣本,然後採集特徵的隨機子集來訓練單棵樹;而在bagging時是給每一棵樹全部特徵。由於隨機特徵選擇,與常規bagging相比,樹彼此之間更加獨立,這通常會導致更好的預測性能(因為更好的方差偏差權衡),而且訓練速度更快,因為每棵樹只從特徵的一個子集學習。


9 支持向量機

支持向量機是一種分類技術,屬於機器學習中的監督學習模型。通俗地說,它通過尋找超平面(二維中的線,三維中的平面和更高維中的超平面,更正式地,超平面是n維空間的n-1維子空間)以及最大邊界(margin)來劃分兩類點。從本質上講,它是一個約束優化問題,因為其邊界最大化受到數據點分佈的約束(硬邊界)。


“支持”這個超平面的數據點被稱為“支持向量”。在上圖中,填充的藍色圓圈和兩個實心方塊是支持向量。對於兩類數據不能線性分離的情況,這些點將被投影到一個更高維的的空間中,在這個空間裡可能會線性可分。多分類問題可以分解為多個一對一或者一對其餘類的二分類問題。


10 無監督學習


到目前為止,我們只討論了監督學習,即數據類別是已知的,算法的目標是找出實際數據與它們所屬的類別之間的關係。當類別未知時,我們使用另一種方法,叫做無監督學習,因為它讓學習算法自己去找出數據中的模式。聚類是無監督學習的一個例子,其中不同的數據被聚類為密切相關的分組。下面是最廣泛使用的無監督學習算法的列表:


  • 主成分分析:通過識別一組具有最大方差和相互不相關的特徵的線性組合來生成低維表示的數據集。這種方法有助於理解變量在無監督環境下的潛在的相互作用。
  • k-Means聚類:根據聚類中心點的距離將數據分為k個不同的聚蔟。
  • 層次聚類:通過創建一棵聚類樹來構建多級分層結構。


以上是一些基本的統計技術概要,可以幫助數據科學項目經理/執行人員更好地理解他們的數據科學團隊運作的內容背後隱藏著什麼。事實上,一些數據科學團隊純粹通過python和R庫運行算法。他們中的大多數甚至不必考慮背後的數學原理。但是,理解統計分析的基礎知識可以為你的團隊提供更好的方法。深入瞭解一小部分就可以更輕鬆地進行操作和抽象。我希望這篇基礎的數據科學統計指南能給你一個不錯的理解!

我司提供服務有:職稱論文、畢業論文 等文章代寫代發服務;健康管理師。教師資格證 ,執業醫師,著作,初,中,高級職稱辦理業務, 歡迎諮詢!

我個人朋友圈會定期分享各省市評職稱論文的最新政策,職稱晉升技巧,如果您需要可加我微信或關注我司公眾號。


分享到:


相關文章: