6種數(shù)據(jù)分析實(shí)用方法,終于有人講明白了
具體來說,在本文中,我將概述統(tǒng)計(jì)、時間序列分析、自然語言處理、機(jī)器學(xué)習(xí)和運(yùn)籌學(xué)中的方法。
01 應(yīng)用統(tǒng)計(jì)與數(shù)學(xué)
與前面許多已經(jīng)討論過的概念一樣,人們?nèi)绾味x統(tǒng)計(jì)以及統(tǒng)計(jì)與一般數(shù)學(xué)(mathematics)有何不同,存在著很大的差異。
有些人認(rèn)為統(tǒng)計(jì)是數(shù)學(xué)的一個分支(Merriam-Webster,2017b),而另一些人(如John Tukey(Brillinger,2002))則認(rèn)為統(tǒng)計(jì)是一門獨(dú)立的科學(xué)。大多數(shù)人認(rèn)為,就像物理學(xué)也使用數(shù)學(xué)方法但不是數(shù)學(xué)一樣,統(tǒng)計(jì)學(xué)使用數(shù)學(xué)但它并不是數(shù)學(xué)(Milley,2012)。
統(tǒng)計(jì)涉及數(shù)據(jù)的收集、組織、分析、解釋和展示。如果使用這個廣義的定義,它聽起來和分析的概念非常像。然而,分析和數(shù)據(jù)科學(xué)都使用統(tǒng)計(jì)學(xué)的數(shù)量分析基礎(chǔ),但它們的關(guān)注范圍比傳統(tǒng)統(tǒng)計(jì)更廣泛,而關(guān)于統(tǒng)計(jì)與其他學(xué)科之間的概念關(guān)系有幾十個觀點(diǎn),我列舉了我所看到的這些概念之間的關(guān)系,如圖1-3所示。

▲圖1-3 統(tǒng)計(jì)與其他定量學(xué)科之間的關(guān)系
數(shù)學(xué)具有一定的絕對和可確定的性質(zhì),而數(shù)學(xué)的教學(xué)方式(至少在美國學(xué)校是如此)灌輸了一種以確定性的方式來看待數(shù)量世界的思想。也就是說,我們被教導(dǎo)相信,所有的事實(shí)和事件都可以被解釋清楚。
但是,統(tǒng)計(jì)則把量化數(shù)據(jù)看成概率的或隨機(jī)的。也就是說,根據(jù)事實(shí)可能會推導(dǎo)出普遍正確的結(jié)論(除了簡單的隨機(jī)性),但必須承認(rèn),存在一些無法準(zhǔn)確預(yù)測的隨機(jī)概率分布或模式。
- 拓展學(xué)習(xí):想要學(xué)習(xí)更多的統(tǒng)計(jì)學(xué)歷史及它如何改變科學(xué),請閱讀David Salsburg的書The Lady Tasting Tea。
如圖1-4所示,數(shù)學(xué)思維是演繹性的(即,它通過應(yīng)用一般定律或原則來推斷某一特定實(shí)例),而統(tǒng)計(jì)推理是歸納性的(即,它從具體實(shí)例中提煉出一般規(guī)律)。

▲圖1-4 歸納推理與演繹推理的比較
這種差異在分析的環(huán)境下是很重要的,因?yàn)槲覀儗w納推理和演繹推理應(yīng)用于分析解決不同的問題。因此,將數(shù)學(xué)和統(tǒng)計(jì)都應(yīng)用到分析領(lǐng)域是適當(dāng)?shù)暮捅匾?。如果開展分析是一種全面的策略,那么統(tǒng)計(jì)和數(shù)學(xué)就是在眾所周知的分析工具箱中幫助我們實(shí)現(xiàn)該策略的兩個工具。
線性規(guī)劃(linear programming)可用于支持我們分析解決一類特定的優(yōu)化問題。例如,迪士尼公司在其數(shù)據(jù)科學(xué)類工作中使用線性、非線性、混合整數(shù)和動態(tài)規(guī)劃,來解決諸如優(yōu)化餐廳座位安排、減少公園之間乘車的等待時間、安排工作人員(如演員)時間表等方面的問題。
請注意,為了討論的方便,我在這里不嚴(yán)格區(qū)分運(yùn)籌學(xué)(operation research)、數(shù)學(xué)最優(yōu)化(mathematical optimization)、決策科學(xué)(decision science)或精算科學(xué)(actuarial science)之間的區(qū)別,因?yàn)樵谖铱磥?,它們都是我們分析工具箱中眾多分析工具的組成部分而已,可以根據(jù)思考和解決問題的需要而靈活使用。
- 線性規(guī)劃:線性規(guī)劃是解決問題的一個數(shù)學(xué)方法,其輸出是一個線性模型函數(shù)。例如,我們可能想通過調(diào)節(jié)幾個關(guān)鍵因素,比如外科手術(shù)的復(fù)雜度、需要醫(yī)務(wù)人員的數(shù)量、可能出現(xiàn)的并發(fā)癥等,來優(yōu)化急救部門的效能。
02 預(yù)測和時間序列
在討論支持分析的方法時,預(yù)測和時間序列往往被一起提及,并不是因?yàn)樗鼈兪峭环N方法,而是因?yàn)樗鼈兌坚槍ν活悊栴},即基于歷史信息對時間序列數(shù)據(jù)進(jìn)行特征提煉和預(yù)測。
預(yù)測和時間序列分析是指對時間序列數(shù)據(jù)進(jìn)行分析、從數(shù)據(jù)中提煉有意義特征的方法。很多時候,預(yù)測被描述為通過歷史數(shù)據(jù)對趨勢進(jìn)行判斷,并通過可視化手段進(jìn)行直觀展現(xiàn)的方法,有些還提供了關(guān)于未來的預(yù)測。
而時間序列分析不同于預(yù)測,雖然你需要時間序列數(shù)據(jù)來進(jìn)行預(yù)測,但并非所有的時間序列分析都是用來進(jìn)行預(yù)測的。例如,時間序列分析可用于在多個時間序列中發(fā)現(xiàn)模式或相似的特征,或執(zhí)行統(tǒng)計(jì)過程控制。類似地,季節(jié)性的分析也可以用來識別模式。
時間序列分析采用了多種方法,既有定量的,也有定性的。時間序列分析的目的是在歷史數(shù)據(jù)(或時間序列數(shù)據(jù))中找出一種模式,然后推測未來趨勢。通常有四大類時間序列分析方法,如圖1-5所示。

▲圖1-5 預(yù)測和時間序列分析的方法
一般而言,定量方法是最常見的預(yù)測方法。但是,當(dāng)無法獲得定量的歷史數(shù)據(jù)時,或者廣泛存在不確定性時,使用定性分析和決策分析方法也很普遍。
03 自然語言處理
自然語言處理(Natural Language Process,NLP)是指通過計(jì)算機(jī)來理解和生成“自然語言”的方法。
當(dāng)前,NLP是一個專注于人類語言和計(jì)算機(jī)之間相互交互的研究領(lǐng)域,處于計(jì)算機(jī)科學(xué)、人工智能和計(jì)算語言學(xué)的交叉領(lǐng)域。文本挖掘和文本分析技術(shù)通??梢曰Q使用,既是NLP的前置活動也可以是NLP本身的應(yīng)用。
NLP的目標(biāo)是理解計(jì)算機(jī)文本中的自然語言,NLP用于文本的分類、提取和總結(jié),我們在理解和技術(shù)方面的進(jìn)步正迅速將NLP推向分析和其他許多領(lǐng)域應(yīng)用的前沿。例如,在分析過程中,我們獲取過去的描述信息(如文本、文檔、推文、演講),并對它們進(jìn)行語義分類或情緒理解。
情緒分析對于理解人們?nèi)绾慰创a(chǎn)品或服務(wù)特別有用。在醫(yī)療保健領(lǐng)域,情緒分析被用來衡量患者的情緒,以及識別那些有心力衰竭風(fēng)險的患者。然后,這些文本摘要將作為分析過程的輸入,用于預(yù)測建模、決策分析、搜索或回答問題的機(jī)器人。
圖1-6概述了這樣一個自然語言處理的普遍過程。

▲圖1-6 自然語言處理過程示意圖
NLP的一個非常實(shí)際的應(yīng)用是在市場營銷領(lǐng)域,文本用于理解客戶對某商品(通常指品牌或產(chǎn)品)的整體“情感”。這里的情感指的是如何理解客戶的情緒并對情緒進(jìn)行提煉與歸類。除了情感分析,NLP還可以有多種應(yīng)用,比如:
- 語法檢查
- 實(shí)體提取
- 翻譯
- 搜索
- 標(biāo)準(zhǔn)化
- 回答問題
- 拓展學(xué)習(xí):欲了解更多自然語言處理中使用的技術(shù),請閱讀Matthew Mayo的文章:https://www.kdnuggets.com/2017/02/natural-language-processing-key-terms-explained.html
自然語言生成(Natural Language Generation,NLG)是人工智能和NLP研究的一個子集,它指自動從結(jié)構(gòu)化數(shù)據(jù)中生成有意義的、可閱讀的文本。與NLP不同,NLG走的是另一條研究道路。
也就是說,NLG以數(shù)據(jù)或其他形式的信息作為輸入,以文本作為輸出。
NLG已經(jīng)被廣泛應(yīng)用于各種聊天機(jī)器人,從客戶服務(wù)(見Pathania和Guzma,Chatbots in Customer Service)到疾病癥狀診斷。聊天機(jī)器人只是NLG的一種應(yīng)用,其他應(yīng)用還包括自動化完成下列事項(xiàng):
- 把商業(yè)智能報表歸納成完整的分析報告(Qlik、Tableau、TIBCO、Microstrategy、Sisense、Information Builders都提供這類方法)
- 自動創(chuàng)建財務(wù)報表并完成分析(Nanalyze軟件提供此類功能)
- 制作每日體育資訊簡報(StatsMonkey提供此類功能)
- 自動編制客戶服務(wù)代表的績效評估(Narrative Science公司的Quill軟件提供此類功能)
- 在客戶關(guān)系管理系統(tǒng)中自動創(chuàng)建CRM話術(shù)腳本,建議銷售機(jī)會(Yseop的Savvy提供此類功能)
- 為小企業(yè)提供智能的“財務(wù)分析師”整體解決方案(Arria公司的Recount軟件提供此類功能)
歷史上,自然語言處理領(lǐng)域涉及規(guī)則的直接編碼,以便處理語言本體,定義單詞的結(jié)構(gòu),理解內(nèi)容和上下文,以及它們在日常語言中的使用方式。統(tǒng)計(jì)計(jì)算、計(jì)算語言學(xué)和機(jī)器學(xué)習(xí)的現(xiàn)代進(jìn)步正以前所未有的速度改變著NLP的世界。
04 文本挖掘與文本分析
一般來說,文本分析中最令人困惑的一個方面可能是NLP和文本挖掘之間的區(qū)別。就像在數(shù)據(jù)挖掘中所做的一樣,我們試圖從數(shù)據(jù)中提取有用的信息。在文本分析情況下,數(shù)據(jù)恰好是文本,從中提取的信息包括在文本數(shù)據(jù)中發(fā)現(xiàn)的模式和趨勢。
文本挖掘處理文本數(shù)據(jù)本身,我們試圖回答諸如詞匯的頻率、句子長度、某些文本字符串的存在或不存在等問題。我們可以解決概述的問題(例如,使用NLP中的技術(shù)進(jìn)行分類)。本質(zhì)上,文本挖掘通常是NLP的前奏。
文本分析涵蓋的范圍廣泛,通常包括應(yīng)用統(tǒng)計(jì)分析、機(jī)器學(xué)習(xí)和其他一些高級分析技術(shù),但通常被認(rèn)為等同于文本挖掘。我覺得這是個灰色地帶。
注意,在商業(yè)智能領(lǐng)域人們經(jīng)常使用文本分析這一術(shù)語,以表示更多的簡單行動可以通過典型的報表方式(例如詞云、詞頻分析等),以一種自動和可視化的方式完成。
文本挖掘一般是數(shù)據(jù)科學(xué)家喜歡使用的提法,他們雖然擁有很多更先進(jìn)的方法,但那些在文本挖掘中需要做的計(jì)數(shù)、統(tǒng)計(jì)之類的基礎(chǔ)事務(wù)也是他們復(fù)雜工作的一部分。我認(rèn)為這符合我的觀點(diǎn),即分析是商業(yè)智能(BI)的一種自然進(jìn)化。
需要特別注意的是,不同的社區(qū)、不同的場景,會使用不同的術(shù)語,這在實(shí)際工作中可能會引起一些理解的混淆。例如,參見:
www.linguamatics.com/blog/are-terms-text-mining-and-text-analytics-largely-inter changeable
05 機(jī)器學(xué)習(xí)
美國最大的私營軟件公司和分析巨頭SAS公司將機(jī)器學(xué)習(xí)定義為:
……一種自動建立分析模型的數(shù)據(jù)分析方法。機(jī)器學(xué)習(xí)使用數(shù)據(jù)迭代學(xué)習(xí)的算法,使計(jì)算機(jī)能夠在無須顯式編程的情況下具有找到隱藏見解的洞察力。
機(jī)器學(xué)習(xí)的核心是使用算法來建立量化分析模型,幫助計(jì)算機(jī)模型從數(shù)據(jù)中“學(xué)習(xí)”。它同以人為中心的處理過程不同,它是由計(jì)算機(jī)學(xué)習(xí)和發(fā)現(xiàn)隱藏在數(shù)據(jù)中的模式,而不是由人去直接建立模型。
一般而言,機(jī)器學(xué)習(xí)中模型建立和模型管理的概念是指能夠持續(xù)并且重復(fù)開展后續(xù)的決策流程,而不是高度人工參與的常?;诮y(tǒng)計(jì)手段的分析。
隨著近年來計(jì)算能力的進(jìn)步,機(jī)器學(xué)習(xí)可以用來自動地實(shí)現(xiàn)針對大數(shù)據(jù)的復(fù)雜數(shù)學(xué)計(jì)算,而這在以前是不可能實(shí)現(xiàn)的。
人類通常每周可以建立一到兩個好的模型,而機(jī)器學(xué)習(xí)每周可以創(chuàng)建數(shù)千個模型。
——Thomas H.Davenpot,分析思想領(lǐng)袖(Davenport,2013年)
圖1-7概述了機(jī)器學(xué)習(xí)中的常見方法。

▲圖1-7 機(jī)器學(xué)習(xí)常用技術(shù)歸納
- 拓展學(xué)習(xí):要學(xué)習(xí)更多相關(guān)知識及機(jī)器學(xué)習(xí)中的其他術(shù)語,請?jiān)L問谷歌開發(fā)者機(jī)器學(xué)習(xí)詞匯表,網(wǎng)址為:developers.google.com/machine-learning/glossary/
人們通常根據(jù)計(jì)算機(jī)的“學(xué)習(xí)模式”對機(jī)器學(xué)習(xí)算法進(jìn)行分類(記住,機(jī)器學(xué)習(xí)就是讓計(jì)算機(jī)通過分析數(shù)據(jù)中的模式來提煉規(guī)律),也就是說,針對同樣的數(shù)據(jù),可以有不同的機(jī)器學(xué)習(xí)算法來對真實(shí)世界(問題)建模。
一般而言,有四種機(jī)器學(xué)習(xí)模式或者學(xué)習(xí)模型算法,它們的區(qū)別在于輸入變量扮演的角色不同,以及如何為訓(xùn)練模型準(zhǔn)備數(shù)據(jù)。
表1-1概述了不同機(jī)器學(xué)習(xí)算法的差異。

表1-1 機(jī)器學(xué)習(xí)模式
06 數(shù)據(jù)挖掘
- 數(shù)據(jù)挖掘:數(shù)據(jù)挖掘是在(通常是大型)數(shù)據(jù)集中發(fā)現(xiàn)和解釋規(guī)律模式,以解決業(yè)務(wù)問題的過程。
在20世紀(jì)90年代末和21世紀(jì)初,數(shù)據(jù)挖掘作為一種分析大型數(shù)據(jù)庫以生成新的或與眾不同的信息的方法而被廣泛應(yīng)用。數(shù)據(jù)挖掘界的夢想是“找到干草堆中的一根針”。數(shù)據(jù)挖掘與統(tǒng)計(jì)學(xué)不同的是,在數(shù)據(jù)探索之前,不一定有一個先驗(yàn)的理論驅(qū)動假說。
- 先驗(yàn):“先驗(yàn)”被定義為“從早期開始”,或者簡單地解釋為“事先”。先驗(yàn)假設(shè)是在進(jìn)行實(shí)驗(yàn)或收集數(shù)據(jù)之前陳述的假設(shè)。
數(shù)據(jù)挖掘采用傳統(tǒng)的統(tǒng)計(jì)方法以及人工智能和機(jī)器學(xué)習(xí)技術(shù),目的是在我們擁有的數(shù)據(jù)中識別出以前未知的模式并進(jìn)行預(yù)測。
就像分析中采用的其他技術(shù)一樣,數(shù)據(jù)挖掘遵循這樣一個生命周期:通常從問題描述開始,然后對數(shù)據(jù)進(jìn)行理解,再進(jìn)行模型構(gòu)建,并根據(jù)結(jié)果采取相應(yīng)行動。
一般情況下,數(shù)據(jù)挖掘人員識別出感興趣的輸出變量,然后使用各種技術(shù)對數(shù)據(jù)進(jìn)行預(yù)處理(如聚類、主成分分析和關(guān)聯(lián)規(guī)則學(xué)習(xí)),然后將這些輸出變量作為輸入應(yīng)用到數(shù)據(jù)挖掘算法中,如回歸算法、神經(jīng)網(wǎng)絡(luò)、決策樹或支持向量機(jī)。
數(shù)據(jù)挖掘過程中的一個關(guān)鍵部分是模型評估和確保我們不會過度擬合模型。