1. 程式人生 > >書單 | 做資料分析不得不看的書有哪些?

書單 | 做資料分析不得不看的書有哪些?

學習這種實踐性很強的技術,只看書其實是一件信噪比非常低的事情。在 DataCastle 的另一篇文章中,詳細給出了一個快速入門資料分析師的學習路徑,如果你有興趣,可以看看:如何快速成為資料分析師

當然,讀書也有讀書的學習方法,推薦的書不多,但保證每一本都值得看,更重要的是,給你一條合理的學習路徑,並配合一些另外的學習資源,你能對核心的知識、實踐的技巧有更好的理解。(以下推薦的書並非都是必讀,也並非適合每一個人,你處於什麼階段,未來發展的方向是什麼,需要自己來決定,對每本書詳細說明是希望能購幫助你更好地取捨。)

一、資料分析入門

把這本書放在第一順序,是因為它真的很簡單,但是能夠讓你對資料分析的一些基本概念有大致的瞭解。即便是你毫無資料分析經驗,一兩天也足夠讀完整本書了。這本書的實操性並不強,所以也不建議你去跟著去實踐,瞭解作者傳達出來的資料分析基本思想和原則就ok了,這對你建立巨集觀的視野,和接下來的學習很有幫助。

另外,書中提到的一些案例,比如提升化妝品銷量、分析星巴克銷量、生產線最優解、網站AB test、競品分析、薪資預測等等,看起來很簡單,但其實都是工作最常見的一些分析場景。這對資料思維的養成,非常有幫助。

個人覺得書中最有用的一些點:

  • 統計學概念在資料分析中的作用:比如方差、標準差、相關係數、均方根誤差等;
  • 集中資料分析的基本方法:假設檢驗、迴歸分析、誤差分析等;
  • 統計圖形分析:散點圖、直方圖等來探索資料中隱藏的規律;
  • 資料庫以及資料整理。

這本書很難讓你掌握資料分析技術,過一遍即可。但它會大大降低你之後學習的一些阻力,因為接下來推薦的這本,真的很厲害,但也有一定難度。

《利用Python進行資料分析》應該是最經典的資料分析書之一了,作者是 pandas 庫的作者 Wes McKinney。所以這本書對於 pandas 的理解,應該是非常深刻的,而利用梳理介紹的 pandas、numpy、matplotlib 等庫,應對一般的資料分析,完全足夠了。

書中應該重點掌握的一些點:

  • IPython Notebook 的使用:最適合小白的程式碼編寫環境,非常容易上手;
  • 科學計算庫 Numpy:陣列和向量計算、學會利用陣列進行資料處理;
  • 資料處理及分析工具 pandas:資料查詢,缺失值、重複值、異常值的處理,資料的合併與規整化,基本的描述性分析及視覺化;
  • 視覺化工具 matplotlib:用這個庫,基本的資料視覺化問題皆可以解決了。

看上去是不是很簡單,這本書就是教會你如何開始使用 Python 進行資料分析,當然首推的就是 pandas,不僅可以做資料的預處理,還能夠做基本的資料分析和視覺化。這個庫一定是你開始入門的時候需要重點學習的,其次用 Numpy 進行陣列的計算、利用 matplotlib 進行視覺化的描述性分析,也是同步需要掌握的東西。

但是,這個部分光看書是遠遠不夠的,你可以儘量去找一些可以練手的資料集,來實際操作和呼叫這些庫的功能,確保熟練資料分析中最常用的函式和模組。如果糾結去哪找練手的資料,推薦UCI經典資料集

關於 pandas、Numpy、matplotlib 網上應該可以搜尋到很多有用的資料、教程,可以看一看別人的使用技巧、應用場景,並通過聯絡轉化成自己的經驗。

因為 Python 庫的更新迭代非常快,這本書裡的一些內容其實已經“過時”了,這裡也非常建議你去檢視一些官方的文件,基本上你需要的都能查到。

另外,在進行一些資料處理、資料分析的時候,你可能需要去了解一些更細節的 Python 的用法,這裡就不推薦書了,因為你沒必要去系統地學,按照這個菜鳥教程看看或者查詢相關的用法就OK了。

非常非常基礎的統計書,適合任何一個沒有基礎的小白,文科生也能看懂。有人說這本書簡直太簡單了,但是對於資料分析來說,需要用到的恰好是這些最簡單的東西。比如基本的統計量,基本上每個分析專案中都會用到。比如基本的概率分佈,總體與樣本的概念、置信區間、假設檢驗、迴歸分析,我去,都是為資料分析定製的統計學知識。

所以強烈推薦這本,其他的比較深度的書,並不建議在入門的階段去啃,一方面是很多難以理解,二是即便你花大力氣學習了,入門的階段你也不怎麼能在實踐中使用。當然多學一些是沒有壞處的,但你需要知道在什麼時候學習哪些東西價效比最高。或者你自我感覺良好,誓要學最難的,從入門到放棄,得不償失。

總結起來,需要重點了解的統計學知識如下:

  • 基本的統計量:均值、中位數、眾數、方差、標準差、百分位數等;
  • 概率分佈:幾何分佈、二項分佈、泊松分佈、正態分佈等;
  • 總體和樣本:瞭解基本概念,抽樣的概念;
  • 置信區間與假設檢驗:如何進行驗證分析;
  • 相關性與迴歸分析:一般資料分析的基本模型。

這本書非常的簡單,但是基本的資料分析的一些方法都有了,你需要做的,是利用之前學過的 Python 的一些庫(pandas、Numpy、matplotlib)來實現這些資料分析的方法、實現基本的視覺化來進行圖形化的分析。

當然,如果在後續的資料分析中,你覺得統計學的知識掌握得不是紮實,或者你非常重視分析結果中蘊含的統計學規律和原理,那麼你可以更深入地瞭解概率統計的知識,推薦這本《商務與經濟統計學》,當然吳喜之的《統計學》也非常好,選擇一本即可,不必糾結。

相比《深入淺出統計學》強調易於理解,本書更加強調統計學的思想養成,所以適合有一些經驗之後進行提高。很多知識你前期學習可能並不好理解其本質,而當你實際做一些資料分析專案之後,再來看這些本質的思想和原理,會得到更多的啟發:哦,原來如此!

不說重點了,整本書都是重點。如果你想跟其他的分析師拉開差距,那麼你就需要在有基礎之後或者遇到瓶頸的時候再來看看這些經典的思想,沒準能給你不少的啟發。

這本書把SQL寫的非常簡單,沒辦法,SQL確實也很簡單。其實 pandas 就已可以實現很多資料管理的工作,而瞭解 SQL 的意義在於融入到實際的資料使用的場景。比如企業的資料,多是以資料庫的形式儲存起來的,那麼如果你需要去呼叫你需要的那部分資料,那麼 SQL 就是必須的技能。如果你在最開始就想用公司的資料來練習,那麼你可以把這本書的閱讀放到最前面。(當然,如果你不會遇到資料提取的問題,SQL這部分也可以暫時不管,對具體的資料分析沒有影響,等到你真正需要用到SQL的時候再學習。)

MySQL 本身比較簡單,對於資料分析師來說,只需要掌握基本的語句和技巧,能夠進行基本的資料提取和處理就能夠應對一般的資料分析需求了。

書中重點掌握以下幾個點:

  • SELECT語句:讓你能夠去提取你需要的那部分資料;
  • DELETE和UPDATE:知道怎麼實現資料的增、刪、改;
  • 資料過濾:where、and、or、萬用字元等過濾方式;
  • 資料的彙總和分組、資料庫連線:應對更加複雜的資料和相關聯的資料;
  • 子查詢:查詢中的查詢。

當然還是希望你去公司的資料庫找一些資料來進行練習,如果不方便的話,也可以直接用上述 UCI資料集中的資料來進行實踐。

如果遇到問題,可以去菜鳥教程查詢相關操作。

好了,恭喜,你已經基本入門了。到此,你就完全可以去進行一個完整的資料分析專案了,如果你沒有頭緒,可以去找一些行業的分析報告來看看,找一找分析的思路。能夠獨立完成一些專案,通過資料分析能夠得出一些深刻的結論,能夠給人以視覺化的形式將結果描述出來,能夠基於歷史資料對未來的一些情況進行預測,那麼一般的資料分析崗位,完全可以勝任了。

這本書應該是資料分析和資料探勘(機器學習)之間的橋樑。從探索性的資料分析開始,通過資料分析的思維,引出了機器學習的基本演算法:迴歸分析、k近鄰、k均值。接著通過不同的應場景分別介紹了最常見的機器學習演算法,以及在真實場景中的應用。

對於做了一段時間資料分析工作的人,這無疑是進階更高維度的好書,很難有一本書,能夠讓你從簡單的資料分析平滑地過渡到機器學習和資料探勘,這本書我認為是這方面做的最好的一本。

所以如果你在做一些探索性的分析遇到瓶頸之後,自然而然會進入資料探勘和機器學習演算法的坑,因為只有更高階的演算法和模型,才能夠支撐大規模的資料的預測。

下面列出一些書中有意思也比較有用的點:

  • 瞭解探索性資料分析,為更高階的需求打好基礎;
  • 瞭解機器學習的基本演算法,k近鄰、k均值等;
  • 用樸素貝葉斯方法做垃圾郵件的過濾;
  • 線性迴歸和邏輯迴歸的分析方法;
  • 如何從資料中獲取結論,從資料探勘競賽開始;
  • 構建自己的推薦系統;
  • 資料洩漏與模型評價,如何篩選模型。

二、R語言資料分析

有同學是準備用R來做資料分析,也推薦兩本非常不錯的書,用 Python 的同學可忽略。

如果你是要用R語言來做資料分析,那麼讀完《深入淺出資料分析》之後,就可以開始讀這本書了,深入淺出,可操作性極強。從工具的安裝,到具體分析方法在R語言中的實現,可以說是非常的詳細,是一本非常值得讀的書。

知識點就不羅列了,這是一本學習路徑設計非常合理的書,按照作者的思路跟著全部實現一遍,那麼基本的資料分析,也就沒問題了。在學會R分析的技巧之後,再看看統計學的相關知識,簡直起飛。

ggplot2 是 R 中一個非常強大的視覺化包,書中有大量的例子,也可以下載原始碼。這本書將 ggplot2 的基本原理和操作講解的非常清楚和系統,可以說 ggplot2 是目前最優秀的資料分析作圖工具之一了。其作者Hadley Wickham是學醫出身,但在R資料分析及視覺化領域的影響力,也非同小可。

因為本書是 ggplot2 作者(同時也是R語言很多好用的包的作者)Hadley大神自己寫的,主要講的是ggplot2繪圖的整體語法思想,思路清晰,牆裂推薦。本書的英文版已經出版到第二版了,方法也從原來第一版的qplot更新為ggplot,建議如果英文過了四六級的同學可以直接學習英文版的教材。

所以對於學習R語言資料分析的同學來說,ggplot2 一定是一個不能錯過的工具。

三、細分領域業務分析

這個部分其實是針對具體的業務場景了,有一些細分領域的書籍,可以給你在具體方向的一些分析的技巧和經驗,因為關注的指標、資料不同,所以分析的方法也不盡相同。

書中介紹了很多社交網站的資料分析方法,如果你在參與社交產品的研發、運營,或者對社交網路的資料感興趣,那麼你可以看看。

書中涉及到 Twitter 等網站的分析會有一定的啟發,但其中一些東西因為網站的更新可能不適用了,但是分析方法可以借鑑,你也可以嘗試去分析國內的微博之類的社交網路。

書中主要講到各種產品中用到的指標和模型,這是一本寫給產品經理的書,其中並沒有講到具體的資料分析技術,涉及到的更多是資料驅動型產品的一些思路。

比如怎麼將資料驅動的產品落地,怎麼喂產品設計資料指標。哪些指標對於產品迭代優化更有效,如何依靠資料分析來驅動使用者增長等等。

這是一本資料化運營的書,但相比上面一本,涉及到的技術層面的東西要多很多。比一般的資料分析更高階一些資料探勘演算法都有涉及,比如決策樹、神經網路、支援向量機、關聯規則挖掘等等。

覺得這本書更好的一點是,它介紹了一些資料分析和運營密切相關的一些模型,比如交易模型、風險模型、推薦模型,這些其實跟電商、風控、推薦系統的自動化運營密切相關。

另外還討論資料探勘專案的落地、協作、有效性評價等實戰,這就上升到產品的大規模資料探勘了。前期看這本書會覺得特別的枯燥,當你在遇到大規模的真實資料分析、挖掘工作的時候,來看看這本書,或許就能得到一些啟發。

在網際網路金融行業,或者嚮往這個方面發展的,可以看看這本,在金融分析方面,時間序列會用的比較多,也建議重點了解這一塊。

同時需要去了解一些常見的金融資料分析模型,比如常見的估值框架、衍生品分析庫等。

最後這幾本書,不推薦在前期看,並不是沒有幫助,而是在相應的領域你有一定的資料分析經驗之後,再去看這些書,才能得到更大的收穫。

如果你覺得看書實操性不強,而且效率比較低的話,正好DC學院也推出了一門資料分析的體系課。提取了目前資料分析類書中最有效的那部分資訊,學習路徑更加平滑,老師實時答疑。有興趣可以看看:資料分析師(入門)-DC學院