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