天天看點

從商業視角了解資料:資料科學家的思維之路

在過去的幾個月内,來自不同行業人不約而同問我能否提供一個端到端的視圖,使他們了解成為一個資料科學家的思維過程。為這個問題尋找答案時,我想的不僅僅是提供一個端到端的視圖過程,而是面對一個分析問題時我們應該更深入的了解他/她是怎麼想的。

接下來我将分五個闆塊帶領大家體驗資料科學家的思維之路。文章的前半部分将介紹資料科學家如何進行任務的公式化模組化以及資料點的工程化,這樣可以為我們後續資料科學之旅提供規範和方向。我們還将深入了解整個生命周期中的另外兩個重要因素,即探索性資料分析和特征工程。這些過程在制定問題的正确模型方面是很重要的。

當我們試圖解開資料科學家的思維過程時,我們需要經曆如下五個過程:

從商業視角了解資料:資料科學家的思維之路

以上是對資料科學家試着定位問題時思維迷宮的一個鳥瞰圖。是以讓我們沿着這些路徑訓示并開始踏上資料科學家思維之旅。

 一、業務探索:開始 

每次開始總有一些業務挑戰或問題,這些困難為以後的資料科學鋪平了道路。

為了更能了解,我們先舉個例子,假設一個農産品公司生産雞蛋,然後找到我們,希望能夠幫助他們預測雞蛋的産量。為了能解決這些業務預測問題,他們給了我們内部系統中的可用曆史資料。

那你認為我們應該從哪裡開始着手這個任務呢?最好的方法是對不利于我們預測的變量建立直覺和假設。我們可以稱它為響應變量,在該例子中就是産蛋量。為了獲得影響我們響應變量關鍵因素的直覺,我們必須采取一些輔助研究并且跟該公司的相關人員進行接洽。我們可以把這一階段作為熟悉、業務發現的階段。在這個階段,我們建立對影響我們響應變量關鍵因素的直覺。這些關鍵因素稱為獨立變量或特征。通過業務發現(上面也譯為發現)階段,我們可發現影響雞蛋産量的關鍵特征是溫度、電力、好的水源、營養成分、雞飼料品質、疾病流行情況、疫苗接種等。除了關鍵特性的識别,我們還基于特征和響應變量之間的關系上建構直覺。

比如——

 溫度和雞蛋産量上存在哪種關系?

 那種雞飼料會影響産量嗎?

 電力和産量之間是否有關聯?

 ……

一開始建立的直覺将幫助我們下一階段的資料探索工作。從變量上的直覺開始發揮作用了且變量之間存在關聯,那下一個任務就是驗證我們的直覺和假設。讓我們看看接下來如何做到這一點。

 二、曆練:準備好資料驗證我們的直覺和假設 

為了驗證前面得到的直覺和假設,我們需要與解決問題相關的資料點。統一資料點的資料格式,這将是我們旅程中最乏味的部分。許多資料點在組織内可能以不同的形式和模式提供,還需要補充組織内部可用的資料與外部可用的資料。比如社交媒體資料或者公共領域的可用開放資料。我們的目标是格式化所有相關資料點,以友善我們的工作。對這一工作,并沒有規定我們如何去實作。我們解決問題的唯一指南是需解決問題的相關描述。然而,這一部分是整個旅程中最耗時的部分之一。

當我們在談論準備資料時,需做好資料的四個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.對可以引入的任何新變量,建構一個能夠直接辨識的形式,這有助于解決問題。

原文釋出時間為:2016-12-22

本文來自雲栖社群合作夥伴“大資料文摘”,了解相關資訊可以關注“bigdatadigest”微信公衆号