2015年6月17日 星期三

Coursera The Data Scientist’s Toolbox Week3 心得筆記

數據科學家的工具箱
約翰霍普金斯大學 公共衛生學院
The Data Scientist’s Toolbox
Johns Hopkins Bloomberg School of Public Health

Week 3
第三週學習筆記

2015年6月1日 - 2015年6月29日

Video Lectures
Week 3 (34:38)

Types of Data Science Questions (9:09)

我們大致按照實際達到分析目標的難度來排序下列幾個問題:
  1. Descriptive 描述性分析
  2. Exploratory 探索性分析
  3. Inferential 推斷分析
  4. Predictive 預測分析
  5. Causal 因果分析
  6. Mechanistic 機理分析

描述性分析

這種分析的目標僅是描述一組數據。在這種描述的基礎上,你不需要做任何決定或類似的事情,數據的描述和解釋是兩個不同的步驟。
在沒有額外的統計建模的基礎上,這些描述通常沒什麼普遍性,你所描述的只是你在這組數據中看到的情況,但你不能說,下一個人得到的情況也會是怎樣。
描述性分析也是人口普查時最常用的分析類型。

United States Census 2010

Google Ngram Viewer

這些例子都只是單純地描述發生了什麼,你不能用它們來預測!

探索性分析

在此分析類型中,你試著去觀察數據,並發現之前未知的關係,但不一定要確認這種關係,因此這種分析有利於發現新的關聯,同時有助於確定今後的數據科學項目,在其中你所做的其實就是試圖證實你所進行的探索。
對於任一實際問題,探索性分析通常都不具最終發言權,通常也不應被用於歸納或預測。
重要的一點,你可能也聽說過的是:「相關性並不表示因果關係。」

Liu et al. (2012) Scientific Reports

The Sloan Digital Sky Survey

推斷分析

推斷分析的目標是在少量觀察的基礎上,根據一小部分的數據將得到的訊息歸納、外推到更大的群體,你聽過的絕大部分的統計模型和數據都是用於推斷分析。它包括了估計你感興趣的東西的數量以及估計數量的不確定性,這在很大程度上依賴於你所觀察的母體以及你使用的抽樣方法。

Correia et al. (2013) Epidemiology(美國空氣汙染控制和平均壽命的關係)

預測分析

預測分析是利用從某些對象收集到的數據,去預測下次觀察可能碰到的另一個對象的值。
重要的一點是,即使通過x預測到了y,也不能說是x導致了y。
精準的預測很大程度上依賴於測量正確的變量,儘管預測模型有好有壞,可以肯定的是數據越多且模型越簡單,預測效果往往就越好。

「預測是很困難的,尤其是對未來的預測。」


http://fivethirtyeight.blogs.nytimes.com/(Nate Silver在他的部落格Five Thirty Eight上預測美國大選)


How Target Figured Out A Teen Girl Was Pregnant Before Her Father Did


因果分析

因果分析在於了解:如果改變一個變量的值會發生什麼?這會對另一個變量的值造成什麼改變?
一般來講,實施因果分析的權威標準是:利用隨機研究或隨機對照試驗來確認因果關係。你可以透過觀察保存在數據庫中的數據來進行研究,但這難以說服別人。你必須對你的模型運行的方式,給出更有力的假設。人們通常認為因果關係是一種平均的效果,換句話說,如果給一個群體一種特定的藥,那麼他們平均會比沒有服用藥的群體活的更久一些。對大部分目標是得到變量之間的因果關係的應用來說,這通常是數據分析的權威標準。

van Nood et al. (2013) NEJM

機理分析

極少有分析是以機理分析為目標的,機理分析是要去理解變量的精確變化和導致了其他變量精確變化的變量的過程。如果數據噪音不斷,會是這種分析更加困難。
機理分析最常應用的範圍,是在物理或工程學領域,利用一些簡單的模型,就可以描述許多動作。
一般來講,在進行分析時,相對於數據中的其他變化,測量誤差是唯一的隨機因素。

http://www.fhwa.dot.gov/resourcecenter/teams/pavement/pave_3pdg.pdf
上面這例子中,我們想要了解道路設計的不同和變化能直接導致道路功能發生什麼樣的變化。

What is Data? (5:15)
Data is a set of values of qualitative or quantitative variables.
首先我們需要一組對象,一組你將要進行測量的材料的集合,有時這種集合在統計推斷中也被稱為母體(population)。變量(variable)是指對象的測量指標或特徵,它可以是你測量出的一個人的身高或測量出的某人在某個網站停留的時間,另外,它也可以是定性的,比如它可以是此人在此網站瀏覽過的地方或你覺得訪問者的性別。
  • 定性變量(Qualitative)是諸如原產國、性別或治療方法之類的,它們不一定有序,也不一定是測量值。
  • 定量變量(Quantitative)通常是連續的,如身高、體重和血壓等,它們在特定範圍裡是有序的。

http://brianknaus.com/software/srtoolbox/s_4_1_sequence80.txt

https://dev.twitter.com/rest/reference/get/blocks/list

http://bluebuttontoolkit.healthit.gov/challenge/

How Many Computers to Identify a Cat? 16,000

Darwintunes
http://www.pnas.org/content/109/30/12081.full
https://soundcloud.com/uncoolbob/sets/darwintunes

http://www.data.gov/

數據應該與你回答的問題保持一致。通常數據會限制或幫助你回答問題,也就是說,當你提出一個問題,但你可能沒有能回答這問題的數據,於是你必須要調整你的問題,將它變為一系列可回答的子問題或相關問題。總而言之,如果你無法提出一個問題,僅擁有數據是寸步難行的。

先提出一個問題,然後利用手中的數據去分析得到答案。而不是擁有數據,才去發現問題。

What About Big Data? (4:15)



http://mashable.com/2011/06/28/data-infographic/

隨著時間的推移、科技的發展,大數據的概念也在發生變化。

因此,解決大數據問題的途徑之一,就是等到硬體的發展速度能跟上數據增長的速度的時候。
Six Degrees of Separation
Travers and Milgram (1969) Sociometry

Stanley Milgram做了一個實驗,他選取了296個實驗對象,向他們每個人寄了一封信,並要求他們將信轉寄給一個他們認識的人,依次傳遞下去,直到信件到達一個特定的地址。其中有64條這樣的傳遞鏈最終傳回了目的地,也就是296封信中收到了64封。他們從實驗中發現,在開始拿到這封信的人和最終皆受到信的人之間,在傳遞鏈上大約間隔5.2人。


Leskovec and Horvitz WWW '08


Don't use Hadoop - your data isn't that big
“The data may not contain the answer. The combination of some data and an aching desire for an answer does not ensure that a reasonable answer can be extracted from a given body of data.”
──John Tukey
“... no matter how big the data are.”
──Leek
Experimental Design (15:59)

http://www.nature.com/nm/journal/v12/n11/full/nm1491.html

http://arxiv.org/pdf/1010.1092.pdf

在進行任何實驗設計或是資料科學工程時,首先需要意識到的就是關心分析計畫。在研究的設計和分析中,很重要的是,你需要對各方面都加以關注,從資料清理到資料分析,再到形成報告,這樣你才不會陷入愚蠢尷尬的情境。更重要的是,你要意識到在研究設計中,那些使你犯錯誤的關鍵。

https://nsaunders.wordpress.com/2012/07/23/we-really-dont-care-what-statistical-method-you-used/

無論你進行什麼研究,你都需要有方案來共享你的資料或代碼:
當你實際進行實驗前,第一件要做的事情就是提前構思好你的問題。

http://www.wired.com/2012/04/ff_abtesting

http://www.gs.washington.edu/academics/courses/akey/56008/lecture/lecture2.pdf

Chocolate Consumption, Cognitive Function, and Nobel Laureates
http://www.nejm.org/doi/full/10.1056/NEJMon1211064

上述這種例子的關係有時被稱為偽相關(Spurious Correlation)。

有幾種方法可以處理這些混雜因素:
  • 第一種方法是你可以固定一部份的變量,人們知道你固定了那個變量,所以它不可能是混雜因素。
  • 另一種方式是將變量分層。
  • 如果上述兩種方法都不能的話,你可以對它進行隨機化(randomize)
隨機化是指:你需要利用一個計算機程序或是拋硬幣的方式,將實驗對象分配到不同的組中。
http://www.gs.washington.edu/academics/courses/akey/56008/lecture/lecture1.pdf

http://www.biostat.jhsph.edu/~iruczins/teaching/140.615/


http://xkcd.com/882/
  • 好的實驗設計應包括:
    • 重複試驗,這樣你可以測量資料的變化程度。
    • 把測得的變化程度和人們關注的信號比較。
    • 將它們推廣到你關心的問題上。
    • 代碼和資料的透明性。
  • 預測不同於推斷,兩者都很重要,使用哪種方法取決於你的具體情況。
  • 在任何資料科學問題中,都需意識到資料探勘(data dredging)的問題。