各界推薦
名人推薦:
本書提出了一套適合於分散式運算的統計計算方法,透過對一些基礎統計量的計算,可獲得有關資料集更全面的統計資訊,進而可以進行進階的統計分析,例如,區間估計、線性回歸、主成分分析等。可以說,本書從統計計算的角度,整理出一套對大數據分析有實用價值的統計理論,並形成參考程式。
潘愛民 阿里雲首席架構師
相信大多數從事數值計算的技術人員都讀過一系列叫作Numerical Recipe in C/Fortran/Java 的書。眼前這本書或許可以叫作Numerical Statistics Recipes in Java,和那個系列一樣,對重新快速學習和使用數值統計演算法來實現資料分析應用的讀者來說,這本書是一本不錯的入門手冊。
何萬青 博士 英特爾技術計算集團技術計算架構師
名人推薦:本書提出了一套適合於分散式運算的統計計算方法,透過對一些基礎統計量的計算,可獲得有關資料集更全面的統計資訊,進而可以進行進階的統計分析,例如,區間估計、線性回歸、主成分分析等。可以說,本書從統計計算的角度,整理出一套對大數據分析有實用價值的統計理論,並形成參考程式。
潘愛民 阿里雲首席架構師
相信大多數從事數值計算的技術人員都讀過一系列叫作Numerical Recipe in C/Fortran/Java 的書。眼前這本書或許可以叫作Numerical Statistics Recipes in Java,和那個系列一樣,對重新快速學習和使用數值統計演算...
作者序
前言
大數據的統計計算是進行資料探索和分析採擷的基礎。在實際應用中,隨著資料規模的快速增長,資料會分散式儲存在多台電腦上,即使最簡單的求和操作都需要多台電腦協作完成,並且需要數分鐘的計算時間,因而產生了兩個問題:
需要使用多少資源?即所要付出的成本。
計算需要多少時間?它關係到資料探索分析的效率和效果。
人們都希望花更少的錢,並且希望計算時間更短,但對於某個確定的計算過程,它們是成反比的。這就是我在大數據統計實作中經常遇到的情況,當研究了一個又一個計算效能問題之後,我驚奇地發現,這些不同的演算法間是有共通性的,這就吸引我去深入研究,最後形成了一套完整的理論,包含常用的各種統計量和統計方法。以本書內容開發為基礎的資料分析工
具已經在阿里巴巴集團內部的多個部門使用,並取得了顯著效果。
首先舉一個實例,使大家有一個直觀的印象:對於10TB 的資料,大約有1.25MB 個資料,以求和計算為例,使用很多人熟悉的分散式SQL 進行計算:
SELECT SUM(COL1) AS COL1_SUM, COUNT(COL2) AS COL2_CNT, …FROM DATA_TABLE;
共執行了4 分44.062 秒,在該SQL 敘述中,每列只算了一個統計量。
然後使用本書的計算方法,計算更多的統計量,包含:總個數、總和、平均值、方差、標準差、標準誤、變異係數、立方和、四次方和、二階原點矩、三階原點矩、四階原點矩、二階中心矩、三階中心矩、四階中心矩、偏度、峰度;最大值、最小值、極差、最大的100 個值、最小的100 個值;資料分佈長條圖、經驗分佈函數、近似百分位元值。如果不同數值的個數小於10000 個,會將其頻數資訊計算出來,並有精確百分位值、中值、眾數;協方差矩陣、相關係數矩陣。獲得所有的這些統計量使用的計算節點數目與用SQL 敘述獲得的大致相同,花費的計算時間為:4 分53.673 秒。
計算這麼多內容才多花約10 秒,說明本書介紹的演算法夠高效吧!但這還只是一個開頭。
接下來,做一個更有挑戰的實驗,除了上面這些統計量,我們再加入一些進階的統計計算,區間估計、參數檢驗、非參數檢驗、線性回歸、共線性分析、方差分析、主成分分析,完成這些需要多久呢?答案是4 分53.766秒。多麼神奇的事情!對這些大數據進行進階統計計算只多用了不到0.1秒。這種計算效率的加強夠顯著了,我們無須再為資源和時間發愁了。
本書透過文字描述、數學運算式和程式碼,將整個統計計算過程清晰地展現在讀者眼前。全書揭示了各種統計概念和方法,以及它們內在的連結,並根據其特點,對各自的計算公式進行恒等轉換,找到更適合大數據的計算方式。書中提供的範例程式碼可以幫助讀者進一步了解演算法細節,便於將書中的方法運用於實際計算。
本書適合對大數據分析有興趣的讀者閱讀,前面的章節比較容易了解,包含了常用統計量的計算;後面的各章節需要讀者具備一些基礎知識,建議讀者根據自己的興趣和工作需要,選擇對應的內容進行參考。
在本書撰寫過程中,感謝初敏、陳一甯、張東暉的支援和幫助,感謝蔡甯、高志涵在演算法方面的討論和交流,感謝鄧鐘強、蔡甯、高志涵、蔣耘、羅毅、譚望達、代斌、周俊、王少萌、姜曉燕、王樂珩、曹傳宇等同事,一同將此理論應用於實際。
因作者水準有限,書中難免有不妥或疏漏之處,敬請廣大專家和讀者批評、指正! 我的電子郵件地址為:yangxu@alibaba-inc.com。
阿里巴巴 楊旭
前言
大數據的統計計算是進行資料探索和分析採擷的基礎。在實際應用中,隨著資料規模的快速增長,資料會分散式儲存在多台電腦上,即使最簡單的求和操作都需要多台電腦協作完成,並且需要數分鐘的計算時間,因而產生了兩個問題:
需要使用多少資源?即所要付出的成本。
計算需要多少時間?它關係到資料探索分析的效率和效果。
人們都希望花更少的錢,並且希望計算時間更短,但對於某個確定的計算過程,它們是成反比的。這就是我在大數據統計實作中經常遇到的情況,當研究了一個又一個計算效能問題之後,我驚奇地發現,這些不同的演算法...
目錄
前言
第1 章 基本概念
1.1 資料類型
1.2 整體和樣本
1.3 參數和統計量
1.4 分散式運算
第2 章 單變數基本統計量
2.1 數量統計量
2.2 頻率統計量
2.3 次序統計量
第3 章 單變數資料的分佈
3.1 長條圖
3.2 經驗分佈
3.3 近似分位數和近似百分位數
3.4 PP、QQ 機率圖
3.5 單變數的基本統計資訊
第4 章 多變數的資料特徵
4.1 協方差
4.2 相關係數
4.3 協方差和相關係數的計算實現
4.4 資料表的基本統計結果
第5 章 資料探索
5.1 擴充長條圖
5.2 交叉表
第6 章 極限定理
6.1 大數定理
6.2 中心極限定理
第7 章 常用的分佈函數介紹
7.1 基本定義
7.2 標準正態分佈(Z 分佈或U 分佈)
7.3 卡方分佈(Χ2 分佈)
7.4 學生T 分佈
7.5 F 分佈
第8 章 常用分佈函數計算
8.1 函式定義
8.2 函數性質及相互間的關係
8.3 分佈函數關係圖
8.4 分佈函數的計算
8.5 產生常用分佈的亂數
第9 章 參數估計
9.1 點估計與區間估計
9.2 單一整體的參數估計
9.3 兩個整體的參數估計
第10 章 假設檢驗
10.1 基本概念
10.2 參數檢驗
10.3 單一整體參數的檢驗
10.4 兩個整體參數的檢驗
第11 章 非參數檢驗
11.1 PEARSON 擬合優度Χ2 檢驗
11.2 兩個變數的列聯表檢驗
11.3 K-S 檢驗
11.4 符號檢驗
11.5 秩統計量和秩檢驗方法
第12 章 方差分析
12.1 單因素方差分析
12.2 雙因素方差分析
第13 章 多元線性回歸
13.1 數學模型
13.2 顯著性檢驗
13.3 計算步驟
13.4 程式實現
13.5 多重共線性
13.6 逐步回歸
第14 章 主成分分析
14.1 計算步驟
14.2 程式實現
14.3 應用舉例
第15 章 判別分析
15.1 距離判別
15.2 FISHER 判別
15.3 BAYES 判別
15.4 判別演算法的綜合模型
15.5 應用舉例
第16 章 模型評估曲線
16.1 相關概念
16.2 定義
16.3 計算實現
參考文獻
前言
第1 章 基本概念
1.1 資料類型
1.2 整體和樣本
1.3 參數和統計量
1.4 分散式運算
第2 章 單變數基本統計量
2.1 數量統計量
2.2 頻率統計量
2.3 次序統計量
第3 章 單變數資料的分佈
3.1 長條圖
3.2 經驗分佈
3.3 近似分位數和近似百分位數
3.4 PP、QQ 機率圖
3.5 單變數的基本統計資訊
第4 章 多變數的資料特徵
4.1 協方差
4.2 相關係數
4.3 協方差和相關係數的計算實現
4.4 資料表的基本統計結果
第5 章 資料探索
5.1 擴充長條圖
5.2 交叉表
第6 章 極限定理
6.1 大數定理
6.2 中心極限定理...