作者 | tvjoseph 選文 | 寒小陽
翻譯&校對 | 胡楊&戴丹王婷 曹翔 陳少偉
在過去的幾個月內,來自不同行業人不約而同問我能否提供一個端到端的視圖,使他們了解成為一個數據科學家的思維過程。為這個問題尋找答案時,我想的不僅僅是提供一個端到端的視圖過程,而是面對一個分析問題時我們應該更深入的了解他/她是怎么想的。
接下來我將分五個板塊帶領大家體驗數據科學家的思維之路。文章的前半部分將介紹數據科學家如何進行任務的公式化建模以及數據點的工程化,這樣可以為我們后續數據科學之旅提供規范和方向。我們還將深入了解整個生命周期中的另外兩個重要因素,即探索性數據分析和特征工程。這些過程在制定問題的正確模型方面是很重要的。
當我們試圖解開數據科學家的思維過程時,我們需要經歷如下五個過程:
以上是對數據科學家試著定位問題時思維迷宮的一個鳥瞰圖。所以讓我們沿著這些路徑指示并開始踏上數據科學家思維之旅。
一、業務探索:開始▼每次開始總有一些業務挑戰或問題,這些困難為以后的數據科學鋪平了道路。
為了更能理解,我們先舉個例子,假設一個農產品公司生產雞蛋,然后找到我們,希望能夠幫助他們預測雞蛋的產量。為了能解決這些業務預測問題,他們給了我們內部系統中的可用歷史數據。
那你認為我們應該從哪里開始著手這個任務呢?最好的方法是對不利于我們預測的變量建立直覺和假設。我們可以稱它為響應變量,在該例子中就是產蛋量。為了獲得影響我們響應變量關鍵因素的直覺,我們必須采取一些輔助研究并且跟該公司的相關人員進行接洽。我們可以把這一階段作為熟悉、業務發現的階段。在這個階段,我們建立對影響我們響應變量關鍵因素的直覺。這些關鍵因素稱為獨立變量或特征。通過業務發現(上面也譯為發現)階段,我們可發現影響雞蛋產量的關鍵特征是溫度、電力、好的水源、營養成分、雞飼料質量、疾病流行情況、疫苗接種等。除了關鍵特性的識別,我們還基于特征和響應變量之間的關系上構建直覺。
比如——
溫度和雞蛋產量上存在哪種關系?
那種雞飼料會影響產量嗎?
電力和產量之間是否有關聯?
……
一開始建立的直覺將幫助我們下一階段的數據探索工作。從變量上的直覺開始發揮作用了且變量之間存在關聯,那下一個任務就是驗證我們的直覺和假設。讓我們看看接下來如何做到這一點。
二、歷練:準備好數據來驗證我們的直覺和假設 ▼為了驗證前面得到的直覺和假設,我們需要與解決問題相關的數據點。統一數據點的數據格式,這將是我們旅程中最乏味的部分。許多數據點在組織內可能以不同的形式和模式提供,還需要補充組織內部可用的數據與外部可用的數據。比如社交媒體數據或者公共領域的可用開放數據。我們的目標是格式化所有相關數據點,以方便我們的工作。對這一工作,并沒有規定我們如何去實現。我們解決問題的唯一指南是需解決問題的相關描述。然而,這一部分是整個旅程中最耗時的部分之一。
當我們在談論準備數據時,需做好數據的四個V:
1、數據量(Volume of data)
2、數據多樣性(Variety of data)
3、數據速率(Velocity of data)
4、數據真實性(Veracity of data)
數據量:容量決定了我們可以使用的數據量。在大多數情況下,數據量越大,創建的模型就越好、越具代表性。然而,更大的數據量也對我們手頭處理這些數據的資源的速度和能力提出了挑戰。數據量評估將有助于我們在處理數據時采用合適的并行處理技術來加快處理時間。
數據多樣性:指的是我們的數據點產生于那些不同的數據源,數據可能存在多種形式,比如傳統的關系型數據庫、文本數據、圖像、視頻、日志文件等等,這些數據的存儲形式越多樣,我們的聚合過程就越復雜。數據點的多樣性能夠為我們采用正確的數據聚合技術提供線索。
數據速率:即是數據處理時產生數據點的頻率。可以是生成非常規則的數據,如WEB流數據,也可以是間歇性產生的數據。所以數據速率特征工程和采用正確的數據聚合技術的重要考慮因素。
數據的真實性:真實性是每個數據點在整個業務過程中產生的值(既可能是真實的數據,也有可能是噪聲)。如果我們未能在選擇數據多樣性的同時正確判斷其真實性被大量的噪音所淹沒,如此的變量選擇方法是不明智的,這會讓我們很難從手握的數據中提取有效的數據。
所有上述因素都必須記住,當我們統一的數據格式后,這將使以后任務分析更加容易。 在整個過程中涉及的復雜性和重要性已經產生為流,稱之為數據工程流。 簡而言之,數據工程是關于提取,收集和處理無數的數據點,為后續處理提供一致性。
三、數據發現階段 ▼這個階段是整個周期中最關鍵的階段之一。在這個階段,需要努力調整和適應數據結構和變量之間的關系。通常來說,對于如何處理數據發現階段,存在兩種看法,一種是從商業的角度出發,另一種是從統計的角度出發。兩種視角描述如下:
商業視角用于處理來自商業問題領域的變量之間的關系。相對的,統計學視角則更多地關注數據的統計特性,如其分布,正態性,偏移等。為了幫助闡明這些概念,讓我們通過一個案例進行說明。
假設一個擁有多種基站的客戶聯系我們,希望我們幫助他們解決一個耗費很多精力但仍然得不到解決的問題。他們想預先獲知各基站供電電池的健康狀態,希望預測出電池何時會發生故障。這樣情況下,他們需要提供與測量相關的歷史數據。讀取到的一些關鍵變量包括電導、電壓、電流、溫度、基站所在位置等。客戶也需要提供電池發生故障條件的線索。他們希望我們關注電導值的走向,如果隨著時間推移電導值急劇下降,表示電池很可能發生故障了。配置這些數據后,讓我們看看數據發現是怎樣開展的。我們首先從商業視角開始。
四、商業視角的數據發現階段 ▼最佳方法是從業務問題的角度思考。我們的業務問題是預測可能會發生的電池故障。在我們頭腦中呈現出的最關鍵的問題是什么是電池故障?當然在此時此刻我們不可能對電池故障有明確的說明,然而我們所擁有的是一個需要遵循的線索,這個線索是隨著時間的推移電導呈現下降趨勢的電池。遵循這一線索,我們需要將呈現下降的趨勢的電池與那些沒有呈現下降趨勢的電池分離開。那么,下一個問題就是,我們如何把那些有下降趨勢的電池從其他的電池中分離出來?最好的方法是用與我們的業務問題相關的基本單元的聚集度量。讓我通過數據集圖像來闡述。
我們的數據樣本如上圖所示。 我們有大約20,000個的電池。 對于每個電池,讀取大約2 - 3年時間內的電導。 每個電池與一個設備(基站位置)相關聯。 一個設備可以具有多個電池,然而電池僅與一個設備相關聯。 現在我們已經看到了數據集的結構,回到前面的語句,即“與業務問題相關的基本單元的聚合度量”。
有兩個主要術語是重要的——
1.基本單位(Basic Unit)
2.聚合度量(Aggregating Metric)
在我們的案例中,與業務問題相關的基本單元是單個電池本身。如果我們的業務問題是預測可能會出現故障的基站設備,那么基本單位將是每個基站設備。第二項,即聚合度量,它是考慮了與基本單元相關聯變量的聚合度量。在我們的案例中,它是每個電池電導的一些聚合。同樣,聚合度量的類型將取決于業務問題。所以,讓我們回到剛才的問題,我們關心的是識別出有下降趨勢的電池。下降趨勢越明顯,它更可能是一個故障電池。因此,當我們考慮一個聚合度量時,應該著重考慮數據的范圍。表示數據散布范圍非常方便的度量是標準偏差(Standard deviation)。因此,如果我們通過采用每個電池的電導標準偏差來聚集每個電池的值,將有一個非常有效的方法來識別我們想要的電池組。同樣的情況在下面的圖中表示。
上圖是沿x軸的電池圖和沿y軸的電導標準偏差。 我們可以清楚地看到,使用我們的聚合度量,我們清楚地有兩組電池,一個標準偏差小于100,另一個大于300.第二組電池A&C的標準偏差高于其余的電池,正是我們所尋找的。 接下來我們再嘗試繪制這些電池的實際電導值隨時間的變化趨勢,以證實我們的假設。
從上述曲線可以清楚地看出,電池A和C顯示出由這些電池的高標準偏差所表明的下降趨勢。 所以采取這樣的聚合度量將有助于對想進一步挖掘的案例進行歸零。
五、深入挖掘 ▼現在我們已經確定了可能有問題的一組電池,下一步是深入研究這些案例,并嘗試識別與電導率下降相關的其他指標。我們需要仔細觀察數據的一些圖形表示,然后提出進一步的問題:
這些趨勢發生的時間是否呈現在一個時間段之中?
是否有任何特定的模式,我們可以發現電導率下降趨勢?
有任何特別的曲線的斜率顯示一個下降趨勢?
……
我們需要觀察所有具有變量的可辨別的模式,并構建我們對這些模式的直接辨識能力。一旦我們在一個變量上構建出了直接辨識能力,就可以進行下一步并關聯其他變量。可以引入如電壓,電流,溫度等變量,并看看相對于只有一個變量(電導)時所看到的特定趨勢,這些變量的變化。
可以看到的趨勢如下——
當電導降低時,電壓,電流或溫度如何表現?
在電導率呈現下降趨勢之前,這些變量有什么特殊趨勢嗎?
這些變量在電導值下降后如何表現?
除了已有的變量,是否還存在其他變量的可能?
……
這些是有助于我們發現存在于數據集中變量的各種關系的問題。通過這些問題劃分到每個變量幫助我們實現以下:
幫助確定變量的相對重要性
提供關于變量之間的關系的一個粗略的想法
深入了解需要根據現有變量得到的任何變量
讓我們直觀了解需要引入的任何新變量
通過提出上述問題而獲得的洞見,能夠在后續的建模過程中提供極大幫助。
六、總結 ▼現在我們已經開始從商業視角了解數據發現階段,這個過程中的主要步驟包括:
1.識別一個變量,即能夠潛在地給出我們要解決的問題指示的變量
2.為識別的變量導出一些聚合度量,以幫助分解與問題相關的基本單元
3.深入了解情況,并尋找關于我們正在尋找的變量的趨勢
4.引入其他變量,并尋找新引入的變量和我們看到的第一個變量的趨勢的聯系。
5.尋找給出問題線索的變量之間的關系。
6.對可以引入的任何新變量,構建一個能夠直接辨識的形式,這有助于解決問題。
以上是一套廣泛的指導方針,用以指導從數據發現的商業視角構建思維過程。