數據科學中的統計學(第2版)_第1頁
數據科學中的統計學(第2版)_第2頁
數據科學中的統計學(第2版)_第3頁
數據科學中的統計學(第2版)_第4頁
數據科學中的統計學(第2版)_第5頁
已閱讀5頁,還剩237頁未讀 繼續免費閱讀

付費下載

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

\h數據科學中的實用統計學(第2版)目錄\h第1章探索性數據分析\h1.1結構化數據的要素\h擴展閱讀\h1.2矩形數據\h1.2.1數據框和索引\h1.2.2非矩形數據結構\h1.2.3擴展閱讀\h1.3位置估計\h1.3.1均值\h1.3.2中位數和健壯的估計\h1.3.3示例:人口和謀殺率的位置估計\h1.3.4擴展閱讀\h1.4變異性估計\h1.4.1標準差以及相關估計\h1.4.2基于百分位數的估計\h1.4.3示例:美國各州人口數量的變異性估計\h1.4.4擴展閱讀\h1.5探索數據分布\h1.5.1百分位數與箱線圖\h1.5.2頻數表和直方圖\h1.5.3密度圖和密度估計\h1.5.4擴展閱讀\h1.6探索二元數據和分類型數據\h1.6.1眾數\h1.6.2期望值\h1.6.3概率\h1.6.4擴展閱讀\h1.7相關性\h1.7.1散點圖\h1.7.2擴展閱讀\h1.8探索兩個及以上的變量\h1.8.1六邊形分箱圖和等高線圖(繪制數值型數據之間的關系)\h1.8.2兩個分類變量\h1.8.3分類型數據和數值型數據\h1.8.4多個變量的可視化\h1.8.5擴展閱讀\h1.9小結\h第2章數據與抽樣分布\h2.1隨機抽樣和樣本偏差\h2.1.1偏差\h2.1.2隨機選擇\h2.1.3數量和質量:什么時候數量更重要\h2.1.4樣本均值與總體均值\h2.1.5擴展閱讀\h2.2選擇偏差\h2.2.1均值回歸\h2.2.2擴展閱讀\h2.3統計量的抽樣分布\h2.3.1中心極限定理\h2.3.2標準誤差\h2.3.3擴展閱讀\h2.4Bootstrap方法\h2.4.1重抽樣與Bootstrap方法\h2.4.2擴展閱讀\h2.5置信區間\h擴展閱讀\h2.6正態分布\h標準正態分布與QQ圖\h2.7長尾分布\h擴展閱讀\h2.8學生的t分布\h擴展閱讀\h2.9二項分布\h擴展閱讀\h2.10卡方分布\h擴展閱讀\h2.11F分布\h擴展閱讀\h2.12泊松及其相關分布\h2.12.1泊松分布\h2.12.2指數分布\h2.12.3估計故障率\h2.12.4韋布爾分布\h2.12.5擴展閱讀\h2.13小結\h第3章統計實驗與顯著性檢驗\h3.1A/B測試\h3.1.1為什么要有對照組\h3.1.2為什么只有A/B,沒有C/D……\h3.1.3擴展閱讀\h3.2假設檢驗\h3.2.1零假設\h3.2.2備擇假設\h3.2.3單向假設檢驗與雙向假設檢驗\h3.2.4擴展閱讀\h3.3重抽樣\h3.3.1置換檢驗\h3.3.2示例:Web黏性\h3.3.3窮盡置換檢驗和Bootstrap置換檢驗\h3.3.4置換檢驗:數據科學的底線\h3.3.5擴展閱讀\h3.4統計顯著性和p值\h3.4.1p值\h3.4.2α\h3.4.3第一類錯誤和第二類錯誤\h3.4.4數據科學與p值\h3.4.5擴展閱讀\h3.5t檢驗\h擴展閱讀\h3.6多重檢驗\h擴展閱讀\h3.7自由度\h擴展閱讀\h3.8ANOVA\h3.8.1F統計量\h3.8.2雙向ANOVA\h3.8.3擴展閱讀\h3.9卡方檢驗\h3.9.1卡方檢驗:一種重抽樣方法\h3.9.2卡方檢驗:統計理論\h3.9.3費希爾精確檢驗\h3.9.4與數據科學的關聯\h3.9.5擴展閱讀\h3.10多臂老虎機算法\h擴展閱讀\h3.11檢驗力與樣本容量\h3.11.1樣本容量\h3.11.2擴展閱讀\h3.12小結\h第4章回歸與預測\h4.1簡單線性回歸\h4.1.1回歸方程\h4.1.2擬合值與殘差\h4.1.3最小二乘法\h4.1.4預測與解釋(分析)\h4.1.5擴展閱讀\h4.2多元線性回歸\h4.2.1示例:金縣房屋數據\h4.2.2模型評估\h4.2.3交叉驗證\h4.2.4模型選擇與逐步回歸\h4.2.5加權回歸\h4.2.6擴展閱讀\h4.3使用回歸進行預測\h4.3.1外推風險\h4.3.2置信區間與預測區間\h4.4回歸中的因子變量\h4.4.1虛擬變量的表示方法\h4.4.2多水平因子變量\h4.4.3有序因子變量\h4.5解釋回歸方程\h4.5.1相關的預測變量\h4.5.2多重共線性\h4.5.3混淆變量\h4.5.4交互作用與主效應\h4.6回歸診斷\h4.6.1離群點\h4.6.2強影響值\h4.6.3異方差、非正態與相關誤差\h4.6.4偏殘差圖與非線性\h4.7多項式回歸與樣條回歸\h4.7.1多項式回歸\h4.7.2樣條回歸\h4.7.3廣義可加模型\h4.7.4擴展閱讀\h4.8小結\h第5章分類\h5.1樸素貝葉斯算法\h5.1.1為什么進行精確貝葉斯分類是不現實的\h5.1.2樸素貝葉斯問題求解\h5.1.3數值型預測變量\h5.1.4擴展閱讀\h5.2判別分析\h5.2.1協方差矩陣\h5.2.2費希爾線性判別分析\h5.2.3一個簡單的例子\h5.2.4擴展閱讀\h5.3邏輯回歸\h5.3.1邏輯響應函數和logit函數\h5.3.2邏輯回歸和廣義線性模型\h5.3.3廣義線性模型\h5.3.4邏輯回歸的預測值\h5.3.5系數和優勢比的解釋\h5.3.6線性回歸與邏輯回歸:共性與差異\h5.3.7評估模型\h5.3.8擴展閱讀\h5.4分類模型評估\h5.4.1混淆矩陣\h5.4.2稀有類問題\h5.4.3精確度、召回率和特異度\h5.4.4ROC曲線\h5.4.5AUC\h5.4.6提升度\h5.4.7擴展閱讀\h5.5非平衡數據的處理策略\h5.5.1欠采樣\h5.5.2過采樣與上(下)加權\h5.5.3數據生成\h5.5.4基于成本的分類\h5.5.5探索預測結果\h5.5.6擴展閱讀\h5.6小結\h第6章統計機器學習\h6.1KNN\h6.1.1一個小例子:預測貸款違約\h6.1.2距離的度量\h6.1.3獨熱編碼\h6.1.4標準化(歸一化,z分數)\h6.1.5K的選擇\h6.1.6KNN作為特征引擎\h6.2樹模型\h6.2.1一個簡單的例子\h6.2.2遞歸分割算法\h6.2.3測量同質性或不純度\h6.2.4讓樹停止生長\h6.2.5預測連續的值\h6.2.6如何使用樹\h6.2.7擴展閱讀\h6.3裝袋法與隨機森林\h6.3.1裝袋法\h6.3.2隨機森林\h6.3.3變量的重要性\h6.3.4超參數\h6.4提升方法\h6.4.1提升算法\h6.4.2XGBoost\h6.4.3正則化:避免過擬合\h6.4.4超參數與交叉驗證\h6.5小結\h第7章無監督學習\h7.1主成分分析\h7.1.1一個簡單的例子\h7.1.2計算主成分\h7.1.3解釋主成分\h7.1.4對應分析\h7.1.5擴展閱讀\h7.2K-均值聚類\h7.2.1一個簡單的例子\h7.2.2K-均值算法\h7.2.3簇的解釋\h7.2.4選擇簇的數量\h7.3層次聚類\h7.3.1一個簡單的例子\h7.3.2樹狀圖\h7.3.3凝聚算法\h7.3.4測量相異度\h7.4基于模型的聚類\h7.4.1多元正態分布\h7.4.2混合正態分布\h7.4.3選擇簇的數量\h7.4.4擴展閱讀\h7.5數據縮放與分類變量\h7.5.1縮放變量\h7.5.2主導變量\h7.5.3分類數據和Gower距離\h7.5.4混合數據聚類中的問題\h7.6小結\h擴展閱讀注:原文檔電子版(非掃描),需要的請下載本文檔后留言謝謝。第1章探索性數據分析本章重點介紹所有數據科學項目中的第一個步驟:探索數據。經典統計學關注的幾乎只有推斷。推斷有時候是一系列非常復雜的過程,目的是由小樣本得出與大型總體相關的結論。1962年,約翰?圖基(見圖1-1)發表了一篇影響深遠的論文“TheFutureofDataAnalysis”[Tukey-1962],對統計學進行了一場革新。他創建了一門新的科學學科,稱為數據分析,并將統計推斷作為其中的一個組成部分。圖基融合了工程學和計算機科學[他創造了bit(比特)和software(軟件)這兩個術語,其中bit是binarydigit(二進制數字)的縮寫],他的理念也一直延續下來,并成為數據科學基礎的一個重要組成部分。1977年,隨著圖基經典著作《探索性數據分析》[Tukey-1977]的出版,探索性數據分析這個領域正式建立。在書中,他使用了簡單的統計圖(如箱線圖、散點圖)以及一些摘要統計量(均值、中位數、分位數等)來描繪一個數據集。圖1-1:約翰?圖基,杰出的統計學家,他在50多年前提出的思想奠定了數據科學的基礎隨著計算能力的提高以及一些功能強大的數據分析軟件的成熟,探索性數據分析迅速發展,現在已經遠遠超出了它的初始范圍。這門學科發展的主要驅動力在于新技術的快速發展、更多和更大規模數據的使用,以及定量分析在各種學科中的廣泛應用。斯坦福大學的統計學教授大衛?多諾霍在讀大學時曾經是圖基的學生,他在新澤西州普林斯頓舉行的圖基百年紀念活動中做了一次演講,并在此基礎上發表了一篇著名的文章[Donoho-2015],追溯了數據科學的起源,并將其歸功于圖基在數據分析領域所做的開創性工作。1.1結構化數據的要素數據可以來自多種數據源:傳感器測量、事件、文本、圖像和視頻,物聯網(InternetofThings,IoT)則源源不斷地噴涌出大量信息。多數數據是非結構化的。圖像是一組像素,每個像素中都包含RGB(紅、綠、藍)顏色信息。文本是一個由單詞和非單詞字符組成的序列,通常分為節、小節,等等。點擊流是用戶在與app或網頁進行交互時產生的一個操作序列。實際上,數據科學的一個主要挑戰就是將原始數據轉化為可以操作的信息。要使用本書中介紹的統計學概念,就必須通過各種處理和操作,將非結構化的原始數據轉換為結構化形式。結構化數據的一種最常見的形式就是帶有行和列的表,比如關系數據庫中的數據,或者為某項研究而收集的數據。結構化數據有兩種基本類型:數值型與分類型。數值型數據有兩種形式:連續型,比如風速和持續時間;離散型,比如某個事件的發生次數。分類型數據只能在一個固定集合中取值,比如電視屏幕類型(等離子、LCD、LED等)或州的名稱(阿拉巴馬、阿拉斯加等)。二元數據是分類型數據的一種重要特例,它只能在兩個值之間任取其一,比如0/1、是/否,或真/假。另一種有用的分類型數據是定序數據,其中的類別是有一定順序的,例如數值評分(1、2、3、4和5)。我們為什么要關心數據類型的分類呢?事實證明,對于數據分析和預測性建模,數據類型在幫助確定可視化、數據分析以及統計模型的類型方面有重要作用。實際上,像R和Python這樣的數據科學軟件就是在使用這些數據類型來提高計算性能。更重要的是,變量的數據類型決定了軟件如何計算這個變量。本節關鍵術語數值型數據在一個數值范圍內進行表示的數據。連續型數據可以在一個區間內任意取值的數據。同義詞區間數據、浮點數據、數值數據離散型數據只能取整數值的數據,比如計數。同義詞整數數據、計數數據分類型數據只能從一組特定值中取值的數據,這些值表示一組可能的分類。同義詞枚舉數據、因子、名義數據二元數據分類型數據的一種特殊情況,它只有兩個類別值,例如,0/1、真/假。同義詞二分類數據、邏輯數據、指示型數據、布爾型數據定序數據具有明確排列順序的分類型數據。同義詞有序因子軟件工程師和數據庫程序員可能會奇怪:為什么需要在分析中使用分類型數據和定序數據這兩個概念?畢竟,類別只是一組文本值(或數值),底層數據庫會自動處理它們的內部表示。然而,將數據明確地標識為分類型,使其區別于文本數據,確實有如下好處。如果知道數據是分類型的,可以將其作為一種信號,告訴軟件如何使用統計過程(如生成圖表或擬合模型)。具體而言,在R中,定序數據可以表示為一個ordered.factor,在圖形、表格和模型中都可以保持由用戶確定的固定順序。在Python中,scikit-learn可以使用sklearn.preprocessing.OrdinalEnconder來支持定序數據??梢詫Υ鎯退饕M行優化(就像在關系數據庫中那樣)。在軟件中,如果給定一個分類變量,那么它的可能取值就被限定了(比如枚舉類型)。第三條“好處”可能會導致一些出人意料的行為:在R中,數據導入函數(如read.csv)的默認行為是自動地將文本列轉換為factor。在這個列上的后續操作會假定該列的值只能是初始導入的那些值,所以如果向該列分配一個新的文本值就會觸發一條警告,并生成一個NA(缺失值)。Python中的pandas包不會自動地進行這種轉換,不過,你可以在read_csv函數中明確指定某一列為分類型數據。本節要點數據通常通過類型在軟件中進行分類。數據類型包括數值型(連續型、離散型)和分類型(二元數據、定序數據)。軟件中的數據類型可以作為一種信號,告訴軟化如何處理這種數據。擴展閱讀數據類型有時會令人迷惑,因為類型之間會有重疊,而且一種軟件中的分類會與另一種軟件中不同。R教程網站(RTutorial)介紹了R語言中的分類,pandas文檔也描述了Python中不同的數據類型以及對應的處理方式。數據庫有更詳細的數據類型分類,其中還包括了對精度級別、定長或變長字段等方面的考慮。參見W3Schools中對SQL的介紹。1.2矩形數據在數據科學分析中,典型的引用框架是矩形數據對象,比如電子表格或數據庫中的表。矩形數據是一個通用術語,表示二維矩陣,其中行表示記錄(事例),列表示特征(變量)。數據框是R和Python中矩形數據的一種具體形式。數據并不總是以這種形式開始的,非結構化數據(比如文本)必須經過一些處理,使得它們可以表示為矩形數據中的一組特征(參見1.1節)。對于多數數據分析和建模任務,關系數據庫中的數據必須被提取出來并放到一個單獨的表格中。本節關鍵術語數據框矩形數據(比如一個電子表格)是統計模型和機器學習模型的基本數據結構。特征表格中的一列通常稱為一個特征。同義詞屬性、輸入、預測器、變量結果很多數據科學項目需要預測一個結果,通常是“是”或“否”(在表1-1中,就是“拍賣是否需要競價”)。在實驗或研究中,有時會使用特征來預測結果。同義詞因變量、響應、目標、輸出記錄表格中的一行通常稱為一條記錄。同義詞事例、示例、實例、觀測、模式、樣本表1-1:一個典型的數據框格式CategoryCurrencysellerRatingDurationendDayClosePriceOpenPriceCompetitive?Music/Movie/GameUS32495Mon0.010.010Music/Movie/GameUS32495Mon0.010.010AutomotiveUS31157Tue0.010.010AutomotiveUS31157Tue0.010.010AutomotiveUS31157Tue0.010.010AutomotiveUS31157Tue0.010.00AutomotiveUS31157Tue0.010.011AutomotiveUS31157Tue0.010.011在表1-1中,既有測量數據或計數數據,如持續時間(Duration)和價格(Price),也有分類型數據,如類別(Category)和貨幣(Currency)。正如前面說過的,分類變量的一種特殊形式是二元變量(是/否或0/1)。表1-1中最后一列就是二元變量,它是一個指示變量,表示拍賣是競價的(有多個出價人)還是非競價的。在預測拍賣是否競價的情形中,這個指示變量恰好也是一個結果變量。1.2.1數據框和索引傳統數據庫表格會指定一列或多列作為索引,索引本質上是一個行編號,這樣做可以大大提高特定數據庫查詢的效率。在Python中,如果使用pandas庫,基本矩形數據結構就是DataFrame對象。默認情況下,會基于行的順序為DataFrame自動創建一個整數索引。在pandas中,還可以設置多級別和多層次的索引,以提高特定操作的效率。在R中,基本的矩形數據結構是data.frame對象,data.frame也有一個基于行順序的隱含整數索引。盡管通過s屬性可以創建一個自定義的鍵,但R原生的data.frame還是不支持用戶自定義索引或多級索引。為了克服這種缺陷,我們經常使用兩個新的包:data.table和dplyr,它們都支持多級索引,在處理data.frame對象時,速度會顯著提高。術語差異矩形數據的術語會令人迷惑。統計學家和數據科學家對同一事物使用不同的術語。統計學家在模型中使用預測變量來預測一個響應或因變量,數據科學家則使用特征來預測一個目標。還有一個詞尤其令人迷惑:計算機科學家使用樣本這個術語表示一個單行,而對統計學家來說,樣本則意味著一個行的集合。1.2.2非矩形數據結構除了矩形數據之外,還有其他一些數據結構。時間序列數據記錄了對同一變量的一組連續測量,它是統計預測方法的原始材料,也是物聯網設備所生成的數據的核心成分??臻g數據結構可用于地圖和定位分析,相比于矩形數據,它更復雜,也更多變。在對象表示中,數據的重點在于對象(例如一間房屋)和它的空間坐標。相反,域視圖關注的則是空間的一個小單元以及某個相關度量的值(例如像素亮度)。圖(或網絡)數據結構用于表示實際的、社會性的或抽象的關系。例如,像Facebook或LinkedIn這樣的社交網絡圖可以表示出網絡上人群之間的聯系,與多條道路相連的集散中心則是實際網絡的一個例子。圖結構對于特定的問題類型是非常有用的,比如網絡優化和推薦系統。在數據科學中,以上每種數據類型都有獨特的使用方法。本書重點介紹矩形數據,它是預測建模的基礎構件。統計學中的圖在計算機科學和信息技術中,圖這個術語通常用來表示實體之間的聯系,以及一種底層數據結構。在統計學中,圖用來表示各種統計圖和可視化結果,而不是實體之間的聯系;這個術語只用于可視化,不適用于數據結構。本節要點數據科學中的基本數據結構是一個長方形矩陣,其中的行表示記錄,列表示變量(特征)。數據科學中的術語非常令人迷惑。有很多同義詞來自不同學科,這些學科(統計學、計算機科學和信息技術)都對數據科學貢獻良多。1.2.3擴展閱讀R中關于數據框的文檔。Python中關于數據框的文檔。1.3位置估計表示測量數據或計數數據的變量會有成千上萬個不同的值。探索數據的一個基本步驟就是為每個特征(變量)得到一個“典型值”:對大多數數據所處的位置進行一個估計(也就是數據的集中趨勢)。本節關鍵術語均值所有數據值的和除以值的數量。同義詞平均數加權均值乘以權重后所有數據值的和再除以權重的總和。同義詞加權平均數中位數使得一半數據比它大,另一半數據比它小的值。同義詞第50個百分位數百分位數使得一定百分比的數據比它小的值。同義詞分位數加權中位數在排序數據中,使得它前面和后面的數據的權重之和是總權重一半的那個值。切尾均值去掉了一定數量的極端值之后,所有值的平均數。同義詞截尾均值健壯對極值不敏感。同義詞耐抗性離群值與多數數據截然不同的數據值。同義詞極端值乍一看,數據的摘要統計非常簡單:算出數據的均值即可。實際上,雖然均值容易計算也確實可用,但并不總是中心值最好的量度。正因如此,統計學家們研究并推廣了幾種均值的替代估計。度量和估計統計學家經常使用估計這個術語來表示根據當前數據計算出的某個值,以體現出從數據中得出的結果與理論上的真實結果或事物的真實狀態之間的區別。而數據科學家和商業分析師更喜歡將這個值稱為一個度量。這種差別反映出了統計學與數據科學所用方法的不同,因為統計學的核心任務是解釋不確定性,而數據科學關注的則是企業或組織的具體目標。因此,統計學家使用的是估計,數據科學家則使用度量。1.3.1均值最基本的位置估計就是均值,或稱平均值。用所有值的和除以值的數量,就可以得到均值??匆幌逻@個整數集合:{3,5,1,2}。它的均值就是(3+5+1+2)/4=11/4=2.75。符號(讀作“拔”)用來表示總體中一個樣本的均值。對于一個有個值()的集合來說,它的均值計算公式為:均值(或)表示記錄或觀測的總數。在統計學中,如果表示總體中觀測的總數,就使用大寫的;如果表示總體中的一個樣本,就使用小寫的。在數據科學中,這種區分無關緊要,所以大小寫均可。均值的一個變體是截尾均值,它的計算方法是先對數據進行排序,然后在兩端去掉一定數量的值,再對剩下的值計算平均數??梢詫⑴藕眯虻闹当硎緸?,其中是最小值,是最大值,那么去掉了個最小值和個最大值的截尾均值計算公式為:截尾均值截尾均值消除了極端值的影響。例如,在國際跳水比賽中,5名裁判中的最高分和最低分被去掉,最后得分是其余3名裁判給出的分數的平均數。這使得一名裁判很難操縱選手得分,即使他可能會偏向自己國家的運動員。截尾均值的用途非常廣泛,很多情況下,人們更傾向于使用截尾均值而非普通均值。參見1.3.2節,該節進行了進一步的討論。另外一種均值是加權均值,計算方法是將每個數據值乘以一個用戶定義的權重,再用它們的總和除以權重的總和。計算加權均值的公式如下:加權均值使用加權均值的兩個主要原因如下。有些值本質上就比其他值更多變,而高度可變的觀測應該被賦予更低的權重。例如,如果我們要計算來自多個傳感器的數據平均值,其中有一個傳感器的精確度更低,那么就應該降低來自這個傳感器的數據的權重。收集到的數據不能同等地代表我們想測量的不同群組。例如,因為某種在線實驗執行方法的問題,我們可能得不到一個能夠精確反映出用戶庫中所有群組的數據集合。為了對此進行修正,我們可以給代表性較差的群組中的值賦予較高的權重。1.3.2中位數和健壯的估計中位數是有序數據列表中的中間數值。如果數據值的數量是個偶數,那么中間值實際上不是數據集中的一個值,而是將有序數據分為上半部分和下半部分的兩個值的平均數。與使用了所有觀測的均值相比,中位數僅依賴于有序數據中心位置的那些值。雖然這似乎是一個劣勢,但因為均值對數據敏感得多,所以在很多實例中,中位數是一個更好的位置度量。假設我們想研究一下西雅圖市華盛頓湖附近地區典型家庭的收入情況。在比較麥地那地區和溫德米爾地區的時候,使用均值會得到迥異的結果,因為比爾?蓋茨就住在麥地那。如果使用中位數,那么不管比爾?蓋茨多么富有,都不會有什么影響——中間觀測的位置總是保持不變。與使用加權均值的理由一樣,我們也可以計算出加權中位數。與中位數一樣,盡管每個數據值都有一個關聯權重,我們還是先對數據進行排序。加權中位數并不是中間數值,而是使得有序列表中上半部分的權重總和與下半部分的權重總和相等的那個值。與中位數一樣,加權中位數對于離群值也是很健壯的。離群值中位數被認為是對位置的健壯估計,因為它不受離群值(極端情況)的影響,而離群值會使結果產生偏差。離群值是數據集中與其他值距離非常遠的任意值。在各種數據摘要和統計圖中,對離群值的表示都遵循某種慣例(參見1.5.1節),盡管如此,離群值的確切定義還是有些主觀的。雖然離群值本身并不是一個無效或錯誤的數據值(如前面比爾?蓋茨的例子),但它通常是數據誤操作的結果,例如,混用了不同單位(如千米與米)的數據或對傳感器的錯誤讀取。如果離群值是由數據誤操作造成的,就會使均值成為一個糟糕的位置估計,但中位數依然有效。在任何情況下,離群值都應該被識別出來,而且需要進一步的調查研究。異常檢測在一般的數據分析中,離群值有時候包含豐富的信息,有時候就是個干擾。與之不同的是,異常檢測關注的重點就是離群值,而絕大多數其他數據的用途就是定義“正?!鼻闆r,以測量出與之不同的異常情況。中位數不是唯一健壯的位置估計,實際上,截尾均值也被廣泛用于避免離群值的影響。例如,除非是非常小的數據集,否則都可以截掉10%(一種常用選擇)的底端數據和10%的頂端數據,以使數據不受離群值的影響。截尾均值可以看作中位數與均值的一種折中方案:它對于處理數據中的極端值非常健壯,同時也使用了更多數據來計算位置估計。其他健壯的位置度量統計學家們開發出了很多其他位置估計量,主要目標是得到一種比均值更健壯也更高效(即能更好地識別出數據集中的微小位置差異)的統計量。盡管這些方法對小數據集可能有用,但對中等規模甚至大型的數據集來說,可能沒有多大作用。1.3.3示例:人口和謀殺率的位置估計表1-2給出了數據集的前幾行,其中包括了美國各州的人口和謀殺率(單位為每年每十萬人中被謀殺的數量)的數據(來自于2010年人口普查數據)。表1-2:名為state的data.frame中的幾行數據,按州列出了人口和謀殺率StatePopulationMurderrateAbbreviation1Alabama47797365.7AL2Alaska7102315.6AK3Arizona63920174.7AZ4Arkansas29159185.6AR5California372539564.4CA6Colorado50291962.8CO7Connecticut35740972.4CT8Delaware8979345.8DE使用R計算出人口的均值、截尾均值和中位數:>state<-read.csv('state.csv')>mean(state[['Population']])[1]6162876>mean(state[['Population']],trim=0.1)[1]4783697>median(state[['Population']])[1]4436370如果要使用Python計算均值和中位數,可以使用數據框的pandas方法。計算截尾均值則需要使用scipy.stats中的trim_mean函數:state=pd.read_csv('state.csv')state['Population'].mean()trim_mean(state['Population'],0.1)state['Population'].median()均值大于截尾均值,而截尾均值大于中位數。這是因為截尾均值分別去掉了人口最多和最少的五個州(trim=0.1在數據兩端各去除10%的值)。如果我們想計算美國的平均謀殺率,就需要使用加權均值或加權中位數,以體現出各州的人口差異。因為R的基礎程序中沒有計算加權中位數的函數,所以需要安裝一個額外的包,比如matrixStats:>weighted.mean(state[['Murder.Rate']],w=state[['Population']])[1]4.445834>library('matrixStats')>weightedMedian(state[['Murder.Rate']],w=state[['Population']])[1]4.4NumPy可以計算加權均值。對于加權中位數,我們可以使用wquantiles這個專門的程序包。np.average(state['Murder.Rate'],weights=state['Population'])wquantiles.median(state['Murder.Rate'],weights=state['Population'])在這種情況下,加權均值和加權中位數基本上是一樣的。本節要點均值是對位置的基本度量,但它對極端值(離群值)非常敏感。其他度量(中位數、截尾均值)對離群值和非正常分布更不敏感,因此更健壯。1.3.4擴展閱讀維基百科上關于集中趨勢的文章中廣泛討論了各種位置度量。約翰?圖基1977年的經典著作《探索性數據分析》現在仍被廣泛閱讀。1.4變異性估計在對某個特征的摘要統計中,位置只是其中的一個維度。另一個維度是變異性(variability),也稱為離散度(dispersion)。它測量的是數據值是緊密聚集還是分散的。統計學的核心任務都與變異性相關:測量變異性、消除變異性、從真實變異性中識別出隨機因素、找出真實變異性的各種來源,以及在變異性存在的情況下做出決策。偏差觀測值與位置估計之間的差異。同義詞誤差、殘差方差與均值的偏差的平方和除以,其中是數據值的數量。同義詞均方誤差標準誤差方差的平方根。平均絕對偏差所有數據值與均值的偏差的絕對值的均值。同義詞L1范數、曼哈頓范數中位數絕對偏差所有數據值與中位數間偏差的絕對值的中位數。極差數據集中最大值和最小值之差。順序統計量基于從小到大排序的數據值的度量。同義詞秩百分位數舉例來說,第個百分位數的意思是,一個數據集中百分之的值小于等于它,百分之的值大于等于它。同義詞分位數四分位距(IQR)第75個百分位數和第25個百分位數之間的差異。同義詞四分位差測量位置有多種方法(均值、中位數等),同樣,測量變異性也有多種方法。1.4.1標準差以及相關估計最常用的變異性估計基于位置估計與觀測數據之間的差異(或偏差)。對于一組數據{1,4,4},均值為3,中位數是4。與均值之間的偏差就是數據與均值的差:1-3=-2,4-3=1,4-3=1。通過這些偏差,我們可以知道數據是如何分散在中心值周圍的。測量變異性的一種方法是為這些偏差估計出一個典型值。對偏差本身進行平均沒有太大意義,因為負偏差與正偏差會互相抵消。實際上,相對于均值的偏差的總和肯定是0。一種簡單的方法是對均值偏差的絕對值取平均數。在前面的例子中,偏差的絕對值是{2,1,1},它們的平均數是(2+1+1)/3≈1.33。這稱為平均絕對偏差,它的計算公式如下:平均絕對偏差其中是樣本均值。最著名的變異性估計是方差和標準差,它們基于偏差的平方。方差是偏差平方的平均數,標準差是方差的平方根:方差標準差標準差比方差更容易解釋,因為它具有與原始數據相同的尺度。有些奇怪的是,雖然標準差的計算公式更復雜,也更難以直觀地理解,但統計學中更愿意使用標準差,而不是平均絕對偏差。原因在于標準差在統計理論中的優勢地位:從數學上看,處理平方值要比絕對值方便得多,特別是對于統計模型。自由度是n還是n-1?在統計學圖書中,總是會有這樣的討論:為什么方差計算公式中的分母是,而不是?這就引出了自由度的概念。這種區別不是很重要,因為通常足夠大,所以除以還是不會有很大差別。但如果你對此很感興趣,那我們就解釋一下。這種情況的前提是基于樣本對總體進行估計。如果你在方差計算公式中使用作為分母,就會低估總體方差和標準差的真實值。這稱為有偏估計。不過,如果你除以,而不是,那方差就變成了無偏估計。要想充分解釋為什么使用會導致有偏估計,就要涉及自由度的概念。自由度考慮了在計算估計量時限制條件的數量。在這種方差計算中,有個自由度,因為存在一個限制:標準差依賴于計算樣本均值。在多數問題中,數據科學家并不需要考慮自由度。不管是方差、標準差,還是平均絕對偏差,它們對離群值和極端值都比較敏感(參見1.3.2節中對健壯位置估計的討論)。方差和標準差對離群值尤其敏感,因為它們基于偏差的平方。變異性的一種健壯估計是中位數絕對偏差,或稱MAD:MAD=中位數其中表示中位數。和中位數一樣,MAD也不受極端值的影響。類似于截尾均值(參見1.3.1節),我們也可以計算出截尾標準差。方差、標準差、平均絕對偏差和中位數絕對偏差互不等價,即使數據來自于一個正態分布。實際上,標準差總是大于平均絕對偏差,而平均絕對偏差也總是大于中位數絕對偏差。有時候,中位數絕對偏差會乘以一個固定的縮放因子,使得MAD在正態分布情況下與標準差具有相同的尺度。常用的縮放因子是1.4826,它可以使50%的正態分布值落在±MAD的范圍內。1.4.2基于百分位數的估計估計數據的離散度還有另外一種方法,它基于有序數據的分布情況?;谟行驍祿慕y計量稱為順序統計量。最基本的測量方式是極差:最大值與最小值之間的差異。最大值和最小值本身就非常有用,了解它們有助于識別離群值,但極差對離群值非常敏感,作為一種測量數據離散度的方式,它的作用有限。為了避免對離群值的敏感性,我們可以看一下在兩端各去掉一些值之后的數據范圍。確切地說,這種估計基于百分位數之間的差異。在一個數據集中,第個百分位數是使得至少百分之個值小于等于它,至少百分之的值大于等于它的那個值。例如,要找出第80個百分位數,可以先對數據排序,然后從最小值開始,向最大值方向數過80%的數值。請注意,中位數就是第50個百分位數。百分位數與分位數本質上是一樣的,只不過分位數是用分數來表示的(所以分位數0.8等同于第80個百分位數)。變異性的一種常用測量方式是第25個百分位數和第75個百分位數之間的差異,稱為四分位距(或IQR)。下面是一個簡單的例子:{3,1,5,3,6,7,2,9}。對其進行排序,得到{1,2,3,3,5,6,7,9}。第25個百分位數是2.5,第75個百分位數是6.5,所以四分位距是6.5-2.5=4。軟件使用的方法和上面稍有不同,所以可能得到不同的答案(見下面的提示)。一般來說,這種差異是非常小的。對于非常大的數據集,要計算出準確的百分位數需要高昂的計算成本,因為要對所有數據值進行排序。機器學習與統計軟件可以使用特殊算法(如[Zhang-Wang-2007])快速計算出一個近似的百分位數,同時確保一定的精確度。百分位數:精確定義如果有偶數個數據(為偶數),那么根據前面的定義,百分位數就沒有明確的值。實際上,我們可以在順序統計量和之間取任意值,其中滿足:嚴格的定義是,百分位數是使用介于0和1之間的權重對和的加權平均:百分位數在選擇時,不同統計軟件所用的方法有微小的差異。實際上,R中的quantile函數提供了9種方法來計算分位數。除非是小數據集,否則你通常不用關心計算百分位數的準確方法。在編寫本書的時候,Python中的numpy.quantile函數僅支持一種方法,即線性插值。1.4.3示例:美國各州人口數量的變異性估計表1-3(為方便起見,復制了表1-2)給出了數據集中的前幾行,其中包含了美國各州的人口和謀殺率數據。表1-3:名為state的data.frame中的幾行數據,按州列出了人口和謀殺率StatePopulationMurderrateAbbreviation1Alabama47797365.7AL2Alaska7102315.6AK3Arizona63920174.7AZ4Arkansas29159185.6AR5California372539564.4CA6Colorado50291962.8CO7Connecticut35740972.4CT8Delaware8979345.8DE使用R中用于計算標準差、IQR和MAD的內置函數,可以得到各州人口數據的變異性估計:>sd(state[['Population']])[1]6848235>IQR(state[['Population']])[1]4847308>mad(state[['Population']])[1]3849870pandas的數據框對象提供了計算標準差和分位數的方法。使用分位數,可以非常容易地確定IQR。至于健壯的MAD,我們可以使用statsmodels包中的robust.scale.mad函數:state['Population'].std()state['Population'].quantile(0.75)-state['Population'].quantile(0.25)robust.scale.mad(state['Population'])標準差幾乎是MAD的二倍(在R中,MAD被默認調整到與均值一樣的尺度)。別大驚小怪,因為標準差對離群值非常敏感。本節要點方差和標準差是使用最廣泛的變異性統計量。方差和標準差都對離群值非常敏感。更健壯的度量方式包括平均絕對偏差、中位數絕對偏差和百分位數(分位數)。1.4.4擴展閱讀DavidLane的統計學在線資源中有一節介紹了百分位數。KevinDavenport在R-Bloggers上發表了一篇非常有用的文章“AbsoluteDeviationAroundtheMedian”,介紹了相對于中位數的偏差及其健壯特性。1.5探索數據分布前面介紹的所有估計量都將數據總結為一個數值,以描述數據的位置或變異性。同樣,對數據的整體分布進行探索也是非常有用的。本節關鍵術語箱線圖由圖基提出的一種統計圖,可作為一種快速可視化數據分布情況的方法。同義詞箱須圖頻數表一個表格,包含了落入一組間隔(箱子)的數值型數據的個數。直方圖根據頻數表繪出的一種統計圖,其中軸是箱子,軸是計數(或比例)數據。條形圖與直方圖在外觀上非常相似,但一定不能將二者混淆。參見1.6節以了解二者的差異。密度圖直方圖的平滑版本,通?;诤嗣芏裙烙?。1.5.1百分位數與箱線圖1.4.2節介紹了如何使用百分位數來測量數據的分布情況。對于整個分布的摘要統計,百分位數也非常有價值。通常會給出四分位數(第25、50和75個百分位數)和十分位數(第10、20、…、90個百分位數)。對于分布尾部(外圍部分)的摘要統計,百分位數尤為重要。大眾文化創造了“one-percenters”這個名詞,用來指代那些財富超過了99%的人的億萬富翁。表1-4給出了美國各州謀殺率的幾個百分位數。在R中,可以通過quantile函數生成這些數據:quantile(state[['Murder.Rate']],p=c(.05,.25,.5,.75,.95))5%25%50%75%95%1.6002.4254.0005.5506.510在Python中,可以使用pandas的數據框方法quantile得到這些數據:state['Murder.Rate'].quantile([0.05,0.25,0.5,0.75,0.95])表1-4:美國各州謀殺率的百分位數5%25%50%75%95%1.602.424.005.556.51中位數是每10萬人中有4人被謀殺,但變異性還是比較大的:第5個百分位數只有1.6,而第95個百分位數達到了6.51。箱線圖是由圖基引入的[Tukey-1977],它可以基于百分位數快速可視化數據的分布。圖1-2顯示了一張由R生成的表示美國各州人口分布的箱線圖。boxplot(state[['Population']]/1000000,ylab='Population(millions)')圖1-2:美國各州人口箱線圖pandas為數據框對象提供了多種基本的探索性統計圖,箱線圖就是其中之一。ax=(state['Population']/1_000_000).plot.box()ax.set_ylabel('Population(millions)')從圖1-2中我們可以立刻看出,美國各州人口的中位數大約是500萬,有一半的州的人口大致在200萬和700萬之間,還有一些人口特別多的離群值。箱子的頂部和底部分別是第75個百分位數和第25個百分位數,箱子中的橫線表示中位數。兩條虛線稱為須(whisker),分別從箱子的頂部和底部延伸出去,表示數據的極差。箱線圖有多種變體,在R函數boxplot的文檔[R-base-2015]中有一些例子。默認情況下,這個R函數可以將須延伸到箱子外面最遠的點,除非它超過了1.5倍的四分位距。Matplotlib使用了同樣的實現方式,但其他軟件可能使用了不同的規則。所有在須之外的數據都被繪制為一個單獨的點或圓圈(通常被看作離群點)。1.5.2頻數表和直方圖一個變量的頻數表將變量范圍分為多個段,每個段的間隔相等,它可以表示出每個段中有多少個變量值。表1-5給出了R語言中一個表示美國各州人口分布的頻數表。breaks<-seq(from=min(state[['Population']]),to=max(state[['Population']]),length=11)pop_freq<-cut(state[['Population']],breaks=breaks,right=TRUE,include.lowest=TRUE)table(pop_freq)pandas.cut函數可以創建一個序列,將數據值映射到各個段中。使用value_counts方法,就可以得到頻數表。binnedPopulation=pd.cut(state['Population'],10)binnedPopulation.value_counts()表1-5:美國各州人口頻數表BinNumberBinRangeCountStates1563626~423265824WY,VT,ND,AK,SD,DE,MT,RI,NH,ME,HI,ID,NE,WV,NM,NV,UT,KS,AR,MS,IA,CT,OK,OR24232659~790169114KY,LA,SC,AL,CO,MN,WI,MD,MO,TN,AZ,IN,MA,WA37901692~115707246VA,NJ,NC,GA,MI,OH411570725~152397572PA,IL515239758~189087901FL618908791~225778231NY722577824~262468561TX826246857~299158890929915890~3358492201033584923~372539561CA人口最少的州是懷俄明(WY),有563626人;人口最多的州是加利福尼亞(CA),有37253956人。各州人口的極差是37253956-563626=36690330,我們必須把它劃分為大小相等的箱子——假定分為10個箱子。對于這10個大小相等的箱子,每個箱子的寬度都是3669033,所以第一箱子的范圍就是從563626到4232658。與之明顯不同的是,最后一個箱子的范圍是33584923到37253956,其中只有一個州:加利福尼亞。加利福尼亞和得克薩斯(TX)中間的兩個箱子是空的。將空箱子也包含在內是非常重要的,這些箱子中沒有值這一事實是非常有用的信息。使用不同的箱子大小進行實驗是非常有用的做法。如果箱子太大,數據分布的一些重要特征就有可能被漏掉;如果箱子太小,那么結果就會過于顆粒化,從而失去統觀大局的作用。頻數表和百分位數都通過分箱來對數據進行摘要統計。一般來說,四分位數和十分位數在每個箱子中都有同樣數量的值,但箱子的大小會有所不同(等頻分箱,equal-countbins)。與之相反,頻數表在每個箱子中的計數值是不同的,但箱子大小都是一樣的(等距分箱,equal-sizebins)。直方圖是頻數表的一種可視化方法,它的軸是箱子,軸是數據計數。例如,在圖1-3中,中心點在1000萬(1e+07)的箱子的范圍大致從800萬到1200萬,其中有6個州。如果想在R中創建一個與表1-5對應的直方圖,可以使用hist函數,加上breaks參數:hist(state[['Population']],breaks=breaks)pandas通過DataFrame.plot.hist方法為數據框生成直方圖。使用關鍵字參數bins確定箱子的數量。各種不同的繪圖方法都可以返回一個axis對象,使用Matplotlib可以對這個對象做進一步的調優:ax=(state['Population']/1_000_000).plot.hist(figsize=(4,4))ax.set_xlabel('Population(millions)')直方圖如圖1-3所示。一般來說,繪制直方圖時應滿足以下條件。圖中應包括空箱子。箱子寬度都是一樣的。箱子的數量(或箱子大小)可由用戶確定。條形是緊挨著的——之間沒有空隙,除非有一個空箱子。圖1-3:美國各州人口直方圖統計學中的矩在統計學理論中,位置和變異性被稱作數據分布的一階矩和二階矩,三階矩和四階矩則稱為偏度和峰度。偏度表示數據是偏向較大的值還是較小的值,而峰度則表示數據中具有極端值的傾向性。通常,我們不使用某種具體的度量方式來測量偏度和峰度,而是通過像圖1-2和圖1-3這樣的可視化方式來發現它們。1.5.3密度圖和密度估計密度圖將數據值的分布表示為一條連續的曲線,它與直方圖密切相關。盡管密度圖通常是通過核密度估計(kerneldensityestimate)([Duong-2001]中有一個簡短的教程)根據數據直接計算出來的,但完全可以把它看作平滑的直方圖。圖1-4給出了一個疊加在直方圖上的密度估計。在R中,你可以使用density函數計算出密度估計:hist(state[['Murder.Rate']],freq=FALSE)lines(density(state[['Murder.Rate']]),lwd=3,col='blue')pandas提供了density方法來創建密度圖,使用參數bw_method可以控制密度曲線的平滑度:ax=state['Murder.Rate'].plot.hist(density=True,xlim=[0,12],bins=range(1,12))state['Murder.Rate'].plot.density(ax=ax)?ax.set_xlabel('MurderRate(per100,000)')?繪圖函數經常使用一個可選的axis參數(ax),它可以將此次繪圖結果添加到同一張圖中。與圖1-3中的直方圖相比,密度圖的一個關鍵區別是軸的單位。密度圖相當于使用比例而不是計數繪制出來的直方圖(在R中,可以使用參數freq=FALSE來指定這種操作)。請注意,密度曲線下面的總面積等于1,你計算的不是箱子中的計數,而是軸上任意兩點之間在曲線下的面積,這個面積就相當于兩點之間的分布占總分布的比例。圖1-4:美國各州謀殺率的密度圖密度估計密度估計是一個內容豐富的主題,在統計學文獻中源遠流長。實際上,已經有20多個R包能提供密度估計的功能。[Deng-Wickham-2011]對這些R包進行了全面的綜述,并特別推薦了ASH和KernSmooth這兩個包。pandas和scikit-learn中的密度估計方法也提供了很好的實現。對于很多數據科學問題,根本不用為使用哪種密度估計方法而苦惱,這些基本的函數就已經夠用了。本節要點頻數直方圖在軸上繪制頻數計數,在軸上繪制變量值,它可以讓你對數據分布有一個初步的了解。頻數表是直方圖中頻數計數的表格形式。箱線圖也可以讓你對數據分布獲得一個快速的了解(其中箱子的頂部和底部分別是第75個百分位數和第25個百分位數)。經常將多個箱線圖并排展示,以便對分布進行比較。密度圖是直方圖的平滑版本,它需要一個函數基于數據來估計繪圖(當然,也可以進行多個估計)。1.5.4擴展閱讀紐約州立大學奧斯威戈分校的一位教授提供了一份循序漸進的教程“ConstructingaBoxplot”,介紹了如何創建箱線圖。HenryDeng和HadleyWickham在論文“DensityEstimationinR”中介紹了如何使用R語言的密度估計。R-Bloggers網站上有一篇關于在R中制作直方圖的實用文章“BasicsofHistograms”,其中介紹了如何進行元素定制,比如分箱(數據分解)。R-Bloggers網站上還有一篇關于在R中制作箱線圖的類似文章“Box-plotwithR-Tutorial”。MatthewConlen發布了一份交互式介紹“KernelDensityEstimation”,演示了在核密度估計中選取不同核函數和不同帶寬的效果。1.6探索二元數據和分類型數據對于分類型數據,使用簡單的比例或百分比就可以了解數據的情況。本節關鍵術語眾數數據集中出現次數最多的類別或值。期望值當類別可以關聯到一個數值時,基于類別的出現概率可以得出一個平均值。條形圖將每個類別的頻數或比例繪制為條形的統計圖。餅圖將每個類別的頻數或比例繪制為圓形中的扇形的統計圖。對二元變量或有少量類別的分類變量進行摘要統計非常簡單,只要計算出1的比例或者重要類別的比例即可。例如,表1-6給出了自2010年以來美國達拉斯沃斯堡(DFW)機場的航班出現延遲的百分比,并按照延遲原因進行了分類。延遲按照以下原因進行分類:航空公司控制(Carrier)、空中交通管制系統延遲(ATC)、天氣(Weather)、安全(Security)和到港航班晚點(Inbound)。表1-6:美國達拉斯沃斯堡機場航班延遲百分比(按延遲原因分類)CarrierATCWeatherSecurityInbound23.0230.404.030.1242.43條形圖常見于大眾媒體,是顯示單個分類變量的常用可視化工具。在條形圖中,類別排列在軸上,頻數或比例在軸上。圖1-5給出了達拉斯沃斯堡機場每年按照延遲原因分類的航班延遲情況,這張圖是通過R函數barplot生成的。barplot(as.matrix(dfw)/6,cex.axis=0.8,s=0.7,xlab='Causeofdelay',ylab='Count')pandas數據框對象也支持條形圖:ax=dfw.transpose().plot.bar(figsize=(4,4),legend=False)ax.set_xlabel('Causeofdelay')ax.set_ylabel('Count')圖1-5:DFW機場按延遲原因分類的航班延遲請注意,條形圖與直方圖很相似。不過,條形圖的軸表示一個因子變量的不同類別,而直方圖的軸則表示一個變量在某個數值尺度上的值。在直方圖中,條形通常是互相挨在一起的,如果有空隙,則表示數據中沒有相應的值。在條形圖中,條形彼此之間是有間隔的。餅圖是條形圖的一種替代形式,但統計學家和數據可視化專家通常不喜歡使用餅圖,因為它的視覺信息略顯不足(見[Few-2007])。數值型數據轉換為分類型數據1.5.2節在數據分箱的基礎上研究了頻數表。數據分箱將數值型數據隱式轉換為有序因子。從這個意義上說,直方圖與條形圖是相似的,只是條形圖軸上的類別是沒有順序的。在數據分析中,將數值型數據轉換為分類型數據是非常重要的常見操作,因為它可以降低數據的復雜性(以及減小數據的大?。?,也有助于發現特征之間的關系,尤其是在分析的初始階段。1.6.1眾數眾數是數據中出現次數最多的那個值(或多個值,如果有相等的值的話)。例如,達拉斯沃斯堡機場延遲原因的眾數就是“Inbound”。再舉一個例子,在美國的多數地區,統計信仰不同宗教的人數時,眾數是基督教。眾數是分類型數據的一個簡單摘要統計量,通常不用于數值型數據。1.6.2期望值有一種特殊的分類型數據,在這種數據中類別表示(或可以映射到)在同一尺度上的離散值。舉例來說,一種新型云技術的營銷部門提供了兩種水平的服務,一種定價為每月300美元,另一種為每月50美元。營銷部門舉辦了免費的網絡研討會以獲取銷售線索。據該企業統計,5%的參與者會購買每月300美元的服務,15%的參與者會購買每月50美元的服務,而80%的參與者會什么都不買。出于財務方面的原因,這些數據會加總成一個“期望值”,它是一種加權平均,其中的權重就是概率。期望值的計算步驟如下。將每個結果乘以它的發生概率。將這些值相加。于是在云服務這個例子中,網絡研討會參與者的期望值就是每月22.5美元,計算過程如下:期望值=0.05×300+0.15×50+0.80×0=22.5期望值實際上是一種加權均值,它加入了未來期望和概率權重的思想,其中概率權重通常是通過主觀判斷來確定的。在商業估值和資本預算中,期望值是一個基本概念,例如,一項新的收購計劃未來5年利潤的期望值,或者某個診所的新患者管理軟件節省成本的期望值。1.6.3概率前面提到了一個值發生的概率。因為經常在天氣預報(降雨概率)或比賽分析(獲勝概率)中遇到這個概念,所以多數人對概率有一個直觀的理解。在運動和比賽中,更常使用的是賠率,賠率可以非常簡單地轉換為概率(如果某支隊伍獲勝的賠率是2比1,那么它獲勝的概率就是2/(2+1)=2/3)。但你或許想不到,如果要對概率下個明確的定義,可能會引發一場深刻的哲學討論。幸運的是,這里我們不需要一個嚴格的數學或哲學定義。對我們的需要來說,某個事件發生的概率就是假設同樣情況可以重復無數次,其中該事件發生次數所占的比例。雖然這基本上是一種幻想,但仍不失為是對概率的一種相當實際的理解。本節要點分類型數據一般可以通過比例進行摘要統計,并可以使用條形圖進行可視化。類別可以表示不同的事物(蘋果和橘子、男性和女性)、因子變量水平(低、中、高),抑或是進行了分箱操作的數值型數據。期望值是每個數值與其發生概率的乘積之和,通常用來總結因子變量的水平。1.6.4擴展閱讀如果不介紹錯誤使用統計圖(通常是條形圖和餅圖)的教訓(參見維基百科中的“Misleadinggraph”),那么統計學課程就是不完整的。1.7相關性在很多建模項目(不管是數據科學項目還是研究項目)的探索性數據分析中,需要檢驗預測變量之間以及預測變量與目標變量之間的相關性。對于兩個變量和(它們都有測量數據),如果值隨著值的增大而增大,并隨著值的減小而減小,那么和就是正相關的;反之,如果值隨著值的增大而減小,并隨著值的減小而增大,那么這兩個變量就是負相關的。本節關鍵術語相關系數測量數值變量之間相關程度(范圍從-1到+1)的一種度量方式。相關性矩陣一個表格,其中行和列都是變量,表格單元值是變量之間的相關性。散點圖一種統計圖,其中軸是一個變量的值,軸是另一個變量的值。按照值從小到大的順序來看,下面兩個變量是完全相關的。這兩個變量的向量點積是1?4+2?5+3?6=32。如果試著將其中一個向量的順序打亂,再重新計算,就會發現向量點積永遠不會超過32。所以,這種點積可以作為一種度量;也就是說,這個觀測到的總和32可以與多次隨機排列的結果進行比較(實際上,這種思想與基于重抽樣的估計是相關的,參見3.2.1節)。不過,這種度量值意義不大,除非用于重抽樣分布。更有用的是它的一種標準化變體:相關系數。相關系數給出了總是處于同一尺度的兩個變量之間相關性的一個估計。要計算皮爾遜相關系數,應該用變量1的均值偏差乘以變量2的均值偏差,再除以它們標準差的乘積:請注意,我們除以的是,不是(參見1.4.1節中的“自由度是還是?”部分以獲取更多詳細信息)。相關系數總是在+1(完全正相關)和-1(完全負相關)之間,0表示沒有相關性。變量之間可以有非線性關系,這時相關系數可能就不是一種有效的度量方式了。稅率與收入之間的關系就是一個例子:當稅率從0開始增大時,收入也開始增加。但是,當稅率達到一個很高的水平并接近100%時,避稅金額也開始增加,應稅收入實際上減少了。表1-7稱為相關性矩陣,它給出了2012年7月至2015年6月電信類股票每日收益之間的相關性。從這個表中可以看出,Verizon(VZ)與ATT(T)之間的相關性最高,Level3(LVLT)是一個基礎設施公司,它與其他股票之間的相關性最低。請注意,對角線上的值都是1(每種股票與它本身的相關性都是1),而且對角線上下的信息是冗余的。表1-7:電信類股票收益之間的相關性TCTLFTRVZLVLTT1.0000.4750.3280.6780.279CTL0.4751.0000.4200.4170.287FTR0.3280.4201.0000.2870.260VZ0.6780.4170.2871.0000.242LVLT0.2790.2870.2600.2421.000像表1-7這樣的相關性表格經常用于多個變量之間相關性的可視化。圖1-6給出了一些主要的交易所交易基金(ETF)每日收益之間的相關性。在R中,使用corrplot包很容易生成這個圖形。etfs<-sp500_px[s(sp500_px)>'2012-07-01',sp500_sym[sp500_sym$sector=='etf','symbol']]library(corrplot)corrplot(cor(etfs),method='ellipse')圖1-6:ETF收益之間的相關性在Python中也可以生成同樣的圖形,但常用的包無法實現這種功能。不過,多數對相關矩陣可視化的支持是通過熱圖實現的。以下代碼演示了使用seaborn.heatmap包繪制熱圖的方法。在隨書源代碼庫中,我們給出了生成更加全面的可視化結果的Python代碼。etfs=sp500_px.loc[sp500_px.index>'2012-07-01',sp500_sym[sp500_sym['sector']=='etf']['symbol']]sns.heatmap(etfs.corr(),vmin=-1,vmax=1,cmap=sns.diverging_palette(20,220,as_cmap=True))標準普爾500指數(SPY)和道瓊斯指數(DIA)的ETF之間具有很高的相關性。同樣,主要由高科技企業組成的QQQ和XLK指數也是正相關的。像那些跟蹤黃金價格(GLD)、原油價格(USO)或市場波動性(VXX)的保守型ETF,與其他ETF之間往往具有很弱的相關性或者是負相關的。橢圓的方向表示兩個變量是正相關(橢圓指向右上方)還是負相關(橢圓指向左上方)的。橢圓的寬度和顏色深淺表示相關性的強度:更加細長和顏色更深的橢圓對應于更強的相關性。與均值和標準差一樣,相關系數也對數據中的離群值非常敏感。一些軟件包提供了替代經典相關系數的更健壯的方法,例如,R包robust使用covRob函數來計算對相關性的健壯估計。scikit-learn的sklearn.covariance模塊也包含了多種方法。其他相關性估計統計學家們早就提出了其他類型的相關系數,比如斯皮爾曼秩相關系數或肯德爾秩相關系數。這些相關系數基于數據中的秩。因為這些估計使用的是秩而不是數據值,所以它們對于離群值是健壯的,并能處理某些類型的非線性關系。不過,數據科學家一般還是堅持使用皮爾遜相關系數及其健壯的替代方法進行探索性分析?;谥鹊墓烙嫸嘤糜谛⌒蛿祿约疤囟ǖ募僭O檢驗。1.7.1散點圖對兩個測量數據變量之間的關系進行可視化的標準方法是使用散點圖。散點圖的軸表示一個變量,軸表示另一個變量,圖上的每個點都是一條記錄。圖1-7繪制出了ATT和Verizon每日收益之間的相關性,在R中由以下命令生成:plot(telecom$T,telecom$VZ,xlab='ATT(T)',ylab='Verizon(VZ)')在Python中,使用pandas的scatter方法也可以生成同樣的圖:ax=telecom.plot.scatter(x='T',y='VZ',figsize=(4,4),marker='$\u25EF$')ax.set_xlabel('ATT(T)')ax.set_ylabel('Verizon(VZ)')ax.axhline(0,color='grey',lw=1)ax.axvline(0,color='grey',lw=1)圖1-7:表示ATT和Verizon收益之間相關性的散點圖兩種收益正相關:盡管收益值都聚集在0附近,但在大部分交易日中,兩種股票同時上漲(第一象限中的點)或同時下跌(第三象限中的點)。當然,也有少部分交易日一種股票顯著下跌而另一種股票上漲,或者反過來(第二象限和第四象限中的點)。盡管圖1-7中只顯示了754個數據點,但明顯可以看出,我們很難在圖形中部識別出更加詳細的信息。稍后將介紹如何為數據點添加透明度,或使用六邊形分箱圖和密度圖,來幫助你發現數據中的其他結構。本節要點相關系數測量的是兩個成對變量(如人的身高和體重)之間關聯的程度。當v1值隨著v2值的增大而增大時,v1和v2正相關。當v1值隨著v2值的增大而減小時,v1和v2負相關。相關系數是一種標準化的度量方式,所以它的值總是在-1(完全負相關)和+1(完全正相關)之間。相關系數為0表示沒有相關性,但是請注意,如果對數據進行隨機重新排列,則既可能得到正相關系數,又可能得到負相關系數,這是由偶然性造成的。1.7.2擴展閱讀DavidFreedman、RobertPisani和RogerPurves的著作Statistics(第4版)對相關性進行了精彩的討論。1.8探索兩個及以上的變量像均值和方差這些我們熟悉的估計量每次

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論