硅谷資深數(shù)據(jù)科學家教你認清探索性數(shù)據(jù)分析(EDA)的價值
從外表來看,數(shù)據(jù)科學通常被認為完全是由高等統(tǒng)計學和機器學習技術組成。然而,另一個重要組成部分往往被低估或遺忘:探索性數(shù)據(jù)分析(EDA)。EDA指對已有的數(shù)據(jù)(特別是調查或觀察得來的原始數(shù)據(jù))在盡量少的先驗假定下進行探索,通過作圖、制表、方程擬合、計算特征量等手段探索數(shù)據(jù)的結構和規(guī)律的一種數(shù)據(jù)分析方法。在深入機器學習或統(tǒng)計建模之前,EDA是一個重要的步驟,這是因為它提供了為現(xiàn)有問題開發(fā)適當模型并正確解釋其結果所需的來龍去脈。
但隨著工具的興起,只需要簡單的將數(shù)據(jù)提供給黑盒就可以輕松實現(xiàn)強大的機器學習算法,因此略過EDA這一步將變得異常誘惑。然而簡單地將數(shù)據(jù)提供給黑盒并不總是一個好主意——這是因為EDA對于所有類型的數(shù)據(jù)科學問題具有關鍵價值。
EDA對數(shù)據(jù)科學家而言是有價值的,這是因為EDA能確保他們生成的結果是有效的、能被正確解析以及適用于所需的業(yè)務環(huán)境。在確保技術交付成果之外,EDA還通過確認正在提出正確的問題而不是基于假設調查以及通過提供問題的背景來確保數(shù)據(jù)科學家的輸?shù)某鰸撛诘膬r值可以***化。
這篇文章將高度概述EDA通常涉及的內容,然后描述EDA對于成功建模和解釋其結果至關重要的三個主要方式。無論您是數(shù)據(jù)科學家還是數(shù)據(jù)科學的消費者,希望在閱讀本文后,您將了解為什么EDA應該是在項目數(shù)據(jù)科學操作中的關鍵一部分。
什么是EDA?
盡管EDA已經(jīng)存在于數(shù)據(jù)分析,據(jù)說1977年約翰·圖克(John W. Tukey)寫的“探索性數(shù)據(jù)分析”一書中已經(jīng)創(chuàng)造了這個詞并發(fā)展了這個領域。概括來講,EDA用于理解和總結數(shù)據(jù)集的內容,通常用于調查特定問題或更高級的建模。EDA通常很大程度上依賴于可視化數(shù)據(jù)來評估模式并利用一些定量方法來描述數(shù)據(jù)。
EDA通常涉及以下幾種方法的組合:
原始數(shù)據(jù)集中每個字段的單變量可視化和匯總統(tǒng)計(見圖1)
用于評估數(shù)據(jù)集中每個變量與感興趣目標變量之間的關系的雙變量可視化和匯總統(tǒng)計(例如,時間流失,花費)(見圖2)
多元可視化以了解數(shù)據(jù)中不同字段之間的交互作用(見圖3)。
降維以了解數(shù)據(jù)中的字段,這些字段占據(jù)了觀察值之間的***差異,并允許處理減少的數(shù)據(jù)量。
通過將數(shù)據(jù)折疊成幾個小數(shù)據(jù)點讓觀察值聚類成有區(qū)別的小組,可以更容易地識別行為模式(參見圖4)
通過這些方法,數(shù)據(jù)科學家驗證假設并識別有助于理解問題和模型選擇的模式,為數(shù)據(jù)建立直覺以確保高質量分析,并驗證數(shù)據(jù)是按預期的方式生成。
驗證假設和模式識別
EDA的主要目的之一是在假設任何事情之前查看數(shù)據(jù),這是很重要的。首先,數(shù)據(jù)科學家可以驗證在構建模型時可能已經(jīng)做出的任何假設,或者是使用某些算法所必需的假設。其次,對數(shù)據(jù)的自由假設探索可以幫助識別模式以及觀察到行為的潛在原因,這可能有助于回答遇到的問題或告知建模的選擇。
通常有兩種類型的假設可能影響分析的有效性:技術和商業(yè)。正確使用特定的分析模型和算法依賴于具體的技術假設是否正確,例如變量之間沒有共線性、數(shù)據(jù)中的方差與數(shù)據(jù)值無關以及數(shù)據(jù)是否以某種方式丟失或損壞。在EDA中,評估各種技術假設以幫助選擇對手頭數(shù)據(jù)和任務而言的***模型。如果沒有這樣的評估,可以使用一個模型來違反那些假設使得該模型不再適用于有關數(shù)據(jù),并可能導致對組織有負面影響的不良預測和不正確的結論。
第二種假設,商業(yè)假設有點更難以捉摸。通過對模型的了解,數(shù)據(jù)科學家知道每種類型的假設必須對其使用有效并可以系統(tǒng)地檢查它們。另一方面,商業(yè)假設可以完全無法識別并深深地糾纏于問題及其框架。有一次,我們正在與一位正在試圖了解用戶與他們的應用程序如何進行互動以及發(fā)生什么交互信號可能會流失的用戶的客戶進行合作,他們深深地嵌入在假設出現(xiàn)問題的框架中,他們的假設是用戶群是由有經(jīng)驗的廚師組成,并希望通過復雜的食譜提高他們的烹飪水平。事實上,用戶群主要由無經(jīng)驗的用戶組成,試圖找到快速、易于準備的食物的食譜。當我們發(fā)現(xiàn)客戶假設是錯誤后,他們不得不開始理解一整套新的問題以告知之后的應用開發(fā)。
在驗證這些技術和商業(yè)假設的同時,數(shù)據(jù)科學家將系統(tǒng)地評估每個數(shù)據(jù)字段的內容及其與其他變量的相互作用,特別是表示企業(yè)想要了解或預測的行為的關鍵度量(例如使用生命周期、支出)。人類是自然模式識別器,通過以不同的方式對數(shù)據(jù)進行詳盡的可視化,并將這些可視化策略性地配置在一起,數(shù)據(jù)科學家可以利用其模式識別能力來識別行為的潛在原因、識別潛在的有問題或虛假的數(shù)據(jù)點以及開發(fā)可以通知其分析和模式的假設。
建立對數(shù)據(jù)的直覺
為什么EDA是更先進的建模前采取的必要步驟,還有一個較為具體的原因是數(shù)據(jù)科學家需要親自熟練掌握數(shù)據(jù),并為培養(yǎng)一種對數(shù)據(jù)是什么的直覺,這種直覺對于能夠快速識別何時出現(xiàn)問題尤為重要。比如在EDA中,繪制使用壽命與年齡曲線并進行比較,可以發(fā)現(xiàn)年輕用戶傾向于停留某個產品的時間更長,那么結論是當年齡下降時會增加使用周期。如果訓練的模型顯示不同的行為,就會很快意識到應該調查發(fā)生了什么,并確保沒有犯任何的錯誤。沒有EDA,數(shù)據(jù)突出的問題或模型的實施中的錯誤會被長時間忽視,這可能會導致基于錯誤信息做出決策。
驗證數(shù)據(jù)是不是像你認為的那樣
在Tukey風格的EDA中,分析師通常很清楚他們分析的數(shù)據(jù)是如何生成的。然而,現(xiàn)在隨著組織內部生成大量數(shù)據(jù)集以及獲取的第三方數(shù)據(jù),分析師通常遠離數(shù)據(jù)生成的過程。如果數(shù)據(jù)不是你認為的那樣,那么你的結果可能會受到不良影響,更糟的是誤解后采取的行動。
這個例子會展示數(shù)據(jù)生成的方式可能被誤解,讓我們來具體看看該例子:A公司正在嘗試預測哪些用戶將訂閱新產品以瞄準其產品定位。他們正在努力開發(fā)一個模型,但每次嘗試都會導致糟糕的預測結果。然后有人認為執(zhí)行廣泛的EDA,他們最初認為這是沒有必要的。但結果表明,預測的用戶是控制員工訂閱的產品的較大企業(yè)賬戶的一部分。這種控制意味著用戶可以以各種方式在數(shù)據(jù)中看起來完全相同,但具有不同的目標結果,這意味著個人層面的數(shù)據(jù)幾乎沒有能力告知預測。在這種情形中,EDA不僅在技術問題上暴露了所采取方法的技術問題,而且還表明出現(xiàn)的錯誤問題。如果用戶的行為受到其組織的控制,則無法對用戶進行定位。該公司需要瞄準并預測新產品訂閱的企業(yè)帳戶。
我們已經(jīng)看到數(shù)據(jù)生成過程中被錯誤地假設的其他例子:
- 數(shù)據(jù)在產品的相同版本或跨平臺上生成。
- 數(shù)據(jù)根據(jù)X時區(qū)或相同的跨時區(qū)被蓋上時間戳。
- 記錄所有活動的數(shù)據(jù),但僅在用戶登錄時記錄。
- 用戶標識符保持不變或標識符唯一。
如何去獲得這些所有的價值呢?
既然知道了EDA為什么是有價值的,你可能想知道如何去實現(xiàn)EDA。一種方法是參加4月3號舉辦的TDWI討論會,會上將探討EDA的***方法,另外還有一些針對各種EDA方法發(fā)布的博客。以下博客強調了EDA獲得的見解: