數據科學與數據科學家
逍遙公子專欄 數據科學與數據科學家
上期回顧
在上一篇《數據科學與數據科學家(1):數據科學是門科學嗎?》中,我拋出了一些問題,談了一下感想,卻沒有給出一個清晰的答案,希望沒有把大家搞得太糊塗。
這一篇,就稍微歸攏一下:清晰明確地談一談什麼是數據科學,藉助引用一些專家的意見,希望給到大家一個答案。
數據科學的出現
什麼是數據科學
1
數據科學的三元圖
2
魔鬼詞典里對數據科學家的定義
3
數據科學的大學課程設置
4
數據科學的六個範疇
小結:如何成為數據科學家
第
2
期
快速了解數據科學
I 數據科學的出現
數據科學是近幾十年才出現的。
顧名思義,數據科學是研究「數據」。準確的說,是研究「大數據」的科學。
所以,數據科學出現的先決條件之一就是近年來各行各業中大數據的出現。
這裡的「大」不僅僅是指數量大,還包括數據種類的多樣性等大數據的特性。
同時,計算機硬體的發展,使得方便地對大數據進行存儲、展示、計算等成為可能。
當然,還包括統計學等相關數學領域發展的不斷完善、越來越多的應用對量化表達的需求。這些因素共同促成了數據科學的出現。
II 什麼是數據科學
1
數據科學的三元圖
從數據科學的內容來看,我覺得下面這個三元圖的表達挺有趣的。
這幅圖源自:http://drewconway.com/the-lab/。
圖中,Hacking Skills是:計算機科學的相關知識;Substantive Expertise則是:某領域的專家知識。
從這幅圖能看出數據科學應涵蓋的內容。
比較有趣的是:談到數據科學,人們常常會搞不清數據科學和機器學習的區別。
對此,這幅圖也做了很明確的解釋:數據科學是機器學習 + 某領域的專家知識。
意思就是:機器學習更偏向於是一種普遍適用的方法;而數據科學則是將機器學習這種方法應用到某領域中。所以,數據科學是一門與應用緊密相連的學問。
這是我第一次看到如此明確地提出專業知識對於數據科學的重要性,儘管我自己的潛意識中早就這樣認為。
2
魔鬼詞典里對數據科學家的定義
當數據科學家這個提法剛出現時,統計學家不樂意了。他們認為他們一直做的事就是數據科學,沒必要再有數據科學家的提法。
關於數據科學家與統計學家的區別,在斯坦福大學統計系的 David Donoho 教授2015年的文章《50 years fo Data Science》里有很詳細的闡述。
當然,我自己的認為是:如果不是「大數據」的出現,統計學家做的事的確和現在數據科學家做的事沒有太大區別。可就是由於研究的對象變成了「大數據」,使得傳統的統計學家的知識技能方面有了不足,主要是在計算機科學、軟體工程、演算法開發等方面的能力有了欠缺。因而,就為數據科學家的出現創造了可能。
這裡引用一句魔鬼詞典里對數據科學家的定義:「Data Scientist (n.): Person who is better at statistics than any software engineer and better at software engineering than any statistician.」挺有趣吧 ^_^
3
數據科學的大學課程設置
近幾年,一些大學裡已經開設了數據科學這個專業,比如 UC Berkeley開設的數據科學的碩士學位課程。
我們可以從它對這個學位課程的設置上了解數據科學所包含的知識體系:
1
Research Design and Application for Data and Analysis
2
Exploring and Analyzing Data
3
Storing and Retrieving Data
4
Applied Machine Learning
5
Data Visualization and Communication
而在它的高級課程中還包括:
1
Experiments and Causal Inference
2
Applied Regression and Time Series Analysis
3
Legal, Policy, and Ethical Considerations for Data Scientists
4
Machine Learning at Scale
5
Scaling Up! Really Big Data
請注意高級課程中對Scaling Up 能力的強調,這是明顯為應對大數據而準備的。
4
數據科學的六個範疇
David Donoho 教授在文章《50 years fo Data Science》里對數據科學的範疇有一個很明確的描述。
我個人認為還是比較全面的。這裡我就先引述,然後給出我自己的理解。
相信大家看完這個描述後,會更深刻的理解為什麼數據科學除了傳統的統計學知識,還必須要有計算機領域的相關知識。
Donoho 教授認為數據科學應涵蓋如下六個領域:
1
Data Exploration and Preparation
2
Data Representation and Transformation
3
Computing with Data
4
Data Modeling
5
Data Representation and Transformation
6
Science about Data Science
具體解釋和我的理解如下:
GIF
第一個領域包含了兩方面內容:
數據探究(Data Exploration)和數據清洗(Data Cleaning)
數據探究是一項比較有趣也比較重要的工作,主要是藉助簡單的方式,對數據的特性進行一個初步的了解,以便對後續的建模建立一些直觀的指導。這一步並不需要太多軟體工具或太複雜的統計知識。相反,相應領域的專業知識可能會起到較大的幫助。
而數據清洗則需要花費較大的力氣,取決於原始數據的質量,有時會花費50%甚至更多的時間。這裡面對統計知識的要求不多,更多的還是軟體演算法等計算機相關的知識。
GIF
第二個領域的數據表達(Data Representation)和變換(Transformation)則與大數據密切相關
正是由於大數據的數據類型多樣性的特點(不但有結構化的數據,還有大量非結構化的數據,如文本、語音、圖像等),才需要研究專門的數據存儲、讀寫和管理方法。
這裡特彆強調了要使用現代的資料庫技術(Modern Database),如:"SQL and noSQL database, distributed database, and live data streams" 等等。很顯然,這是純計算機科學的內容。
而另一方面的數學表達與變換也是針對數據的多樣性,進行各種數學上的變換。如:時域到頻域的變換等,把數據轉換成最方便處理,最能揭示其特性的形式。
GIF
第三個領域的Computing with Data是指:利用各種編程語言對數據進行處理
這裡不僅僅是強調編程語言的問題,重要的是還要考慮運算效率、通用的工作流程等問題。
之所以把編程的問題專門作為一個重要方面來講,也是因為研究對象是「大數據」。
因而,除了運算效率,還要考慮程序的可擴展性等問題。即,無論是針對少量的數據,或是針對大量的各種類型的數據,該演算法程序都要能應對。
因而,以前可能是R語言就能處理的問題,現在可能需要用更偏底層一些的Python語言來處理。
GIF
第四個領域的數據可視化和表達也是非常重要的
一個好的數據可視化方式將會讓數據的內涵一目了然,很容易讓人對它產生洞察。
無論是大數據還是非大數據的情況,好的數據可視化都是非常關鍵的。
但對大數據而言,數據可視化就更加重要了。
傳統的可視化方式,如:直方圖、散點圖、時序圖等就顯得不夠用了。
創建一個好的可視化方式是一件非常需要創造力的事。
GIF
第五個領域的數據建模則是大家接觸最多的,也是最容易理解的
就是要用模型的方式來反映數據的內涵,以指導應用。
這裡要強調的是,數據建模一般有兩種方式:生成模型(Generative modeling)和預測模型(Predictive modeling)。
其實兩種模型本質上並無不同,只是立足點有所不同:生成模型更強調找出數據本身的規律,是統計學家常用的思考方式;而預測模型更強調在某一個特定的數據集上有很好的預測性。這更傾向於現代的機器學習的思路,更偏工業應用一些。
GIF
最後一個領域「數據科學的科學」:則是真正的更偏科學的一個範疇
它是研究如何從數據科學這個比較偏應用層面的學科中找出一些共性,以便更好的指導這個學科的發展。
對於我們一般從應用層面來使用數據科學的人,這個領域相對遙遠了一些。
相信看到這裡,你會對數據科學有些感覺了。
正是由於研究的對象變成了數據量龐大,數據種類、數據來源多種多樣,內在規律不明顯的」大數據「,使得數據科學家們必須藉助計算機科學這個工具,利用統計學等數學知識,針對某一個具體應用,親手來對數據做大量處理和演算法嘗試,最終找出最適合該應用的方法,真正從數據中挖掘出價值來。
III 小結: 如何成為數據科學家
看完上述的介紹,相信你對數據科學已經有了一定的理解,你的一些疑惑也應該有了答案,知道要成為數據科學家該具備什麼樣的知識體系了。
對於數據科學,我自己感觸較深的一點是:
我們以前學習的各種自然學科,如:數學、物理、化學等等,已經是經過了無數年的應用實踐後上升到了成體系的學科來讓我們學習,以至於我們在學習它們的時候常常忽略了其背後的應用實踐。
而數據科學這門新的學科,卻是我們親身經歷了它從大量的實踐中慢慢歸納總結,成為一門學科,並反過來又指導其發展的這個過程。相信將來見證各種新學科出現的經歷會越來越多,真是學無止境啊!
下 期 再 見 !
小編 二當家
圖片 網路
TAG:愛屋及悟 |