顯示具有 資料科學 標籤的文章。 顯示所有文章
顯示具有 資料科學 標籤的文章。 顯示所有文章

2022年7月11日 星期一

資料故事時代

 資料故事時代:大數據時代的未來,將由資料「說書人」定義!亞馬遜、微軟等企業巨擘都在用
說故事的技藝





打造吸睛的視覺場景


2021年9月4日 星期六

消費者行為市場分析技術(上)

消費者行為市場分析技術:數據演算如何提供行銷解決方案
Marketing Analytics, 2nd edition, 
A practical guide to improving consumer insights using data techniques
麥可.格里斯比(Mike Grigsby)

第一篇 概述:行銷科學有哪些功用?
01 統計學概略回顧
- 集中趨勢量數:平均數(mean)、中位數(median)、眾數(mode)。
- 離散量數:全距(range)、變異數(variance)、標準差(standard deviation)。
- 常態分布是指「集中趨勢量數」為對稱態勢,而標準差則是描述分布情形。
- Z分數:描述觀察值距離平均數多少個標準差的一種度量值。可視為一種表示觀察值發生機率的量數。
- 變數關係:共變異數和相關係數。

02 消費者行為與行銷策略原則
- 想了解消費者行為,最好的方法就是從個體經濟學的「消費者議題」切入。
此議題可以概括為以下三個問題:
  1. (就商品/服務而言)消費者有哪些偏好?
  2. 消費者(在分配有限預算時)有哪些限制?
  3. 在資源有限的情況下,消費者會怎麼選擇?
- 典型的決策流程包括:確認需求、搜尋資訊、處理資訊、評估產品、購買、購後評估。
-- 需求確認:很多廣告的目的都是激發需求。不管是教育消費者認識真實需求(生存、滿足感),
還是告知消費者假性需求(別落人後,快跟上潮流!),激發需求是一切的開端。
-- 購後評估:忠誠度是從購買產品後才開始建立的。
- 消費者希望透過偏愛的管道,以符合價值的價格取得需要的產品;
而企業則需要忠誠度、消費者滿意度和業務成長。
- 麥可·波特詳細說明了激發競爭的各種因素
(簡單來說,企業競爭的目的是什麼?就是獲取消費者的忠誠度),
這些因素分別為:
  1. 買家的議價能力
  2. 供應商的議價能力
  3. 新進廠商的威脅
  4. 現有同業的競爭
  5. 替代品的威脅
- 根據以上所述,麥可·波特設計了三大基本策略:
  1. 企業可以打價格戰(當低價產品提供者)。
  2. 企業可以塑造差異,專注於高階產品。
  3. 企業也可以區隔市場,專心經營規模較小的利基市場。
- Michael Treacy & Fred Wiersema採用了麥可·波特的架構,
進一步深入探討。提出了三大策略(準則):
  1. 營運卓越(致力追求低成本)。
  2. 產品領導(專注發展較高階的差異化產品)。
  3. 貼近顧客(一種差異化/市場區隔策略)。

03 什麼是洞見?
- 洞見必須滿足以下條件:
  1. 含有新資訊
  2. 專注於了解消費者行為
  3. 量化因果關係
  4. 提供競爭優勢
  5. 傳達財務意義
-- 傳達財務意義:洞見應該要可以量測。
不管是投資報酬率、邊際貢獻或風險評估,洞見都應該多少隱含些財務意義。
如果無法具體衡量營收或滿意度有所提升,或是開銷有所減少,
就應該為分析的效力打上問號。
- 真正的分析洞見要能轉化為實際行動。

第二篇 依變數分析技術
04 刺激需求的因素?
- 一般統計技術可分為兩種:「依附方程式類型」及「相互關係類型」。
--依附方程式類型的統計技術,主要是在處理確切的方程式時使用(可能是確定型方程式或機率方程式);
相互關係類型的統計技術,則與方程式無關,而是關注變數之間的變化情形。
- 一般迴歸(普通最小平方法,ordinary least squares,OLS)的一變數方法,
了解(量化)季節性、廣告支出和價格,對銷量的影響(解釋銷量的變化如何受到前三者牽引)。
這種方式稱為「結構分析」,亦即試著理解資料產生流程的結構,
嘗試釐清價格、廣告支出和季節性可如何解釋或影響銷量的(大多數)變化,並予以量化。
- 一般迴歸:一種統計方法,其中依變量取決於一或多個自變數(以及誤差項)的變化。
- 模型建立後,我們就能判斷每個變數的重要程度(查看其係數或斜率),
以及變數是否顯著(根據變化程度判斷)。
- 有個常見的適合度(goodness of fit)衡量方法,稱為R^2。
R^2是指相關係數平方,在此案例中,即為實際銷量與預測銷量的相關係數。
相關係數可衡量強度和方向,R^2則可評估共享變異(解釋能力),結果可能是0%至100%。
- 談談顯著性吧,在行銷領域中,通常採用95%的信賴水準。還記得Z分數嗎?
95%信賴水準的Z分數是1.96,與p值小於0.05時相同。
所以t值(係數除以標準誤差)大於|1.96|,變數即可是為顯著。
- 所謂顯著性,是指變數影響力為0的機率低於5%,而且t檢定中,
變數的影響力表現有95%的標準常態分布觀察項,落於+/- 1.96的Z分數區間之內。
- t值(係數除以標準誤差)為2.72,大於1.96,因此可以判定此變數為顯著正相關。
- 現在談談適合度,只有這兩個變數的情況下,模型的效果究竟如何?
R^2是適合度的常見評估法,此案例中,該值為83%,也就是說,
實際與預測的銷量之間,有83%的變化一致;
換個方向來說,實際依變數有83%的變動情形,可從自變數來「解釋」。
可以這麼理解:銷量變動中,有83%可以歸因於價格和廣告支出。
- 虛擬變數(也稱為「二元變數」,亦即只有1或0兩種數值)。
這種變數時常俗稱為「斜率位移項」(slope shifter),
因為其可(「開啟」為1時)將斜率係數上下移動。
- 採用二元變數建構分析系統時,不可以用上所有數據。
舉例來說,若要建立季度模型,你必須拿掉其中一季的數據,否則模型無法有確切的解答
(實際上是試著以0相除),最後落入「虛擬變數陷阱」(dummy trap)。
因此四個季中拿掉Q1,亦即各季的係數都會與Q1比較。意思就是Q1成了基準。
- 光有分析而不轉化成策略實際運用,就像電影中充斥著華麗特效,但缺乏劇情支撐,可說毫無意義。
- 衡量適合度的R^2大於95%,代表自變數解釋銷量變化的成效極佳。
- 一般迴歸的效用在於,這能考量其他所有變數,區分出每個自變數的影響。
換句話說,在其他所有變數維持不變的情況下,分次將每一個變數的影響量化。
-二元變數之所以俗稱為斜率移位器,原因在於,不管價格或廣告支出如何,
只要「開啟」Q4,銷量就會增加3.825。
- 除了體會量化的價值之外,更重要的,是要計算價格彈性。
- 彈性:無關規模或維度的一種指標,亦即一輸入變數的百分比變化,
會導致輸出變數產生多大程度的變動。
- 若使用迴歸方程式,彈性的計算方式為:價格係數X平均數量(銷量)的平均價格。
平均價格為1,102,實際銷售的平均數為63,因此價格彈性計算如下:
-0.0275X1102/63=-0.48
意思是,如果價格上升10%,銷量會減少約4.8%。此資訊具有豐富的策略意義。
*迴歸有幾項假設必須遵循:
- 第一項假設:主要界定函數形式,即依變數(前述的銷量)可表示為線性方程式。
此一依變數取決於自變數(前述的季節性、價格和廣告),以及某些隨機誤差項。
- 第二項假設:主要界定誤差項,即誤差項的平均值為零。
- 第三項假設:同樣是界定誤差項,即誤差項對所有自變數具有類似的變異量,
也就是有所謂的變異數同值(homoscedasticity),且某一期間的誤差項
與(後續)其他期間的誤差項不相關,亦即無序列相關(或自相關)關係。
- 第四項假設:主要界定自變數,即在重複抽樣中,自變數保持不變。
- 第五項假設:同樣是界定自變數,即自變數之間沒有確切的關聯性,
亦即不具「完全共線性」(perfect collinearity)。
- 以上假設必須全數符合,迴歸模型才能成立,也才可以解讀、無偏誤、有效率,且結果一致。
只要有任何假設不成立,代表模型必須有所調整,以抵銷假設不成立所衍生的結果。
- 簡單的檢測「序列相關」的方式稱為「杜賓-瓦森檢定」(Durbin-Watson test)。
如果檢定結果只有2.00左右,則無需擔心序列相關的問題。
- 要是違反「誤差項不得具有關聯性」的假設,標準誤差就會產生向下偏誤的現象,
亦即標準誤差比應有的數值更小。
換句話說,t值(顯著性衡量指標)會比實際情況更高(看似更為顯著),這個問題不容忽視。
- 隨然大部分的序列相關問題,都會採計前一期的資料
(稱為「一階自我迴歸」或「AR(1)模型」,
但這並不代表沒有其他類型的序列問題。
這有一部份是取決於提供的資料類型。如果是每日數據,時常會使用AR(7)模型,
這意味者七期之前的資料,會比一期之前的資料具有更強的關聯性。
如果是每月數據,往往採用AR(12)模型,以此類推。
- 請記住,杜賓-瓦森檢定只適合AR(1)。也就是說,要是使用每日數據,
每個星期一通常會與其他所有星期一相關,以此類推,
而這就是AR(7)類型的序列相關,並非AR(1)。
因此每日數據通常會採計七個之前的觀察項、每月數據會使用十二個之前的觀察項、
季度數據會採取四個之前的觀項,以此類推。
- 第一步:市場區隔
-- 潛在類別分析(LCA,Latent Class Analsis)儼然已成為黃金標準,是一種應用於市場區隔的分析技術。
事實證明,此方法遠優於一般技術(K平均演算法),尤其是在追求最大差異的區隔時,更是如此。
簡單來說:市場區隔之間的差異越大,越能針對每個市場量身打造獨特的行銷策略。
- 第二步:建構彈性模型
--彈性是邊際函數除以平均函數的值。
數學上,「邊際」的整體概念為曲線的平均斜率,為一導數。
所以,若要計算整體的平均彈性,需知道價格函數(即需求曲線)中,從平均處測得的銷量導數。

05 誰最可能購買?
- 羅吉斯迴歸和一般迴歸兩者相似之處在於都是單一方程式中,由一或多自變數解釋一個依變數。
不同之處在於,一般迴歸具有連續依變數,而羅吉斯迴歸則是二元變數;
一般迴歸使用最小平方估計係數,而羅吉斯迴歸使用最大概似值。
- 羅吉斯迴歸並非以「平方誤差總和最小化」(普通最小平方法;一般迴歸[OLS])計算係數,
而是透過網格搜尋計算法(grid search),計算最大概似估計法(maximum likelihood)。
此外,對係數的解讀也不一樣。通常會使用勝算比(odds ratios),而且衡量適合度時,
並非比較預測和實際的依變數。
- 最大概似估計:(相對於普通最小平方法),目的是透過觀察某個樣本,
尋找可將概似函數最大化的估計式。
- 羅吉斯迴歸和一般迴歸的另一項差異,在於羅吉斯迴歸會對「羅吉斯」(logit),
而非依變數建立模型。所謂羅吉斯迴歸,是指事件/(1代表事件)的對數,
亦即事件發生機率的對數。相較之下,一般迴歸只是對依變數本身建立模型。
- 由於羅吉斯迴歸線,僅以0和1表示,因此自變數的效應會對依變數造成不同影響。
實際影響可表示如下:e^係數
這表示教育程度的係數為0.200,影響為:
e^0.200=1.225,亦即(2.71828^0.200)
- 這代表教育程度每增加一年,機率就會上升22.5%。這個數值稱為勝算比。
- 羅吉斯迴歸中,沒有像一般迴歸的R^2一樣的適合度衡量指標。
羅吉斯迴歸會以1和0表示依變數的發生機率。
很多時候,我們會使用「混淆矩陣」(confusion matrix),若預測準確,即表示模型效果良好。
- 假設現在有10,000個觀察項。事件(購買)總數為6,750+1,750,也就是8,500。
模型預測的總數只有6,750+500,也就是7,250。
模型的整體準確度,是「正確預測且實際發生」的事件數,加上「正確預測但實際未發生」的事件數,
亦即6,750+1,000,也就是7,750/10,000=77.5%。
預測錯誤為500(模型預測會有500人發生事件,但其實並未發生)。
若須考量將宣傳資訊寄給錯誤對象的成本,這將是直效行銷的重要衡量指標。
- 有一個分析小秘訣能幫助我們判斷依變數(這裡是指銷量)是否含有任何異常觀察項。
還記得Z分數嗎?這是檢查觀察項是否「出界」的一種方法,快速又簡單。
Z分數的計算方式為:(觀察項-平均數)/標準差。
- 正極端組(positive outlier),其值為1。以這個新變數作為另一個自變數,有助於尋找異常值。
- 提升圖(或稱增益圖)是一種常見的重要工具,尤其對直效即資料庫行銷尤為重要。
- 提升/增益圖:協助解讀模型執行成效的視覺化工具,以十分位數為單位,
比較模型的預測能力和隨機情形。
- 所謂「提升」,是指每個十分位數的回應人數除以平均(預期)的回應人數。
- 共線性:衡量變數之間關聯程度的一種指標。
- 若一或多個自變數之間的關聯程度,強過其任一變數與依變數之間的關聯程度,即具有共線性。
換言之,假設模型中有兩個自變數,若「X1與X2」的關聯程度比「X1與Y」或「X2與Y」更強,
表示自變數之間有不利的共線性。
- 共線性會導致幾個不良後果。雖然每個自變數的參數估計值始終無偏差,但標準誤差會太大。
意思是,在顯著性檢驗(參數估計值/估計值的標準誤差)中計算t值(或華德比率(wald ratio)時,
這些變數所呈現的顯著性,通常會比實際上還小,原因是標準誤差過大。
- 變異數膨脹因子(variance inflation factor,VIF)是最普遍常見的檢定方法,
你可以用羅吉斯迴歸,並加入變異數膨脹因子檢定測試。
- 基本上,這項測試可針對每個自變數,對其他所有自變數執行迴歸分析,產生一個數值。
此數值為1/(1-R^2)。
若此數值大於10.0(代表R^2大於90%),那麼根據經驗法則,某個變數具有嚴重的共線性,不得忽視。
- 我們並非是要檢定共線性是否存在(因為幾乎所有案例或多或少都有共線性),而是希望藉由檢定,
了解共線性是否過於嚴重,進而導致問題(稱為病態)。
- 如果變異數膨脹因子檢定顯示變數會造成問題,但又有充分理由將該變數納入分析,
則請檢驗其他變數(務必注意,拿掉變數並非首先考慮的應變措施。直接刪除變數是過於武斷,
且相當粗糙而簡略的分析方法)。
- 建模科學強調診斷程序,而建模藝術則會強調整體平衡和對業務的影響。
實際的商務環境有時會容許「不理想的統計數據」,以達到平衡企業運作的目的,就是這個道理!
- 脊迴歸(ridge regression,通常需使用Stein估計量),將共線性轉換成參數估計值的偏差。
縱使係數現在有所偏誤,但共線性其時可以大幅減少,這就是所謂的平衡。
- 雖然變異數膨脹因子檢定很實用,但在<迴歸診斷>之後,
條件指標(condition index)便成了共線性診斷的最新利器。
- 計算每個變數的條件指標,亦即最大特徵值(eigenvalue,稱為特徵根)除以各變數特徵值之後,
再取平方根(在相關矩陣中,特徵值是指每個主成份的變異數)。
- 無論是使用變異數膨脹因子檢定或條件指標,都可得到變異數比例。
透過變異數比例的值,我們可了解與各特徵值相關之係數的變異數百分比。
變異數比例高,代表與特徵值的關聯強。
- 迴歸對於線性、常態性等方面都有許多假設。例如說明一般迴歸時,曾提到無序列相關的假設
(尤其是對時間序列資料),而這項假設同樣也可套用到羅吉斯迴歸。
迴歸分析法多半適用大部分假設。介紹羅吉斯迴歸時,說明了共線性的檢測及矯正方法,
而這個在討論羅吉斯迴歸時順帶一提的方法,正好也適用於一般迴歸。
- 實務上只要使用任何迴歸分析法,就應該檢查每項假設,一旦發現假設不成立,也應該進一步檢驗,可以的話,再加以修正。不管是一般迴歸、羅吉斯迴歸,還是其他分析法,都要遵照這個流程。
- 羅吉斯迴歸沒有R^2統計量。這會導致認知混淆。
要記住(介紹一般迴歸時提到的)R^2,這是實際依變數和預測依變數之間共同的變異數比例。
兩者越多共同變異數,表示預測依變數與實際依變數越相近。記住,一般迴歸會產生估計依變數,
但羅吉斯迴歸並不會產生估計依變數。實際依變數為0或1。
「羅吉斯」是事件/(1-事件)的自然對數,因此不會有所謂的「估計」依變項。
- 如果你不得不評估適合度,建議你對共變項和截距取對數概似值(log likelihood)。
SPSS和SAS程式可分別僅對截距,以及同時對截距和共變項求-2LL
(負兩倍的對數概似值)。不妨把截距的-2LL,想成TSS(總平方和);
將截距的共變項-2LL,視為RSS(迴歸平方和)。
如果你還是需要R^2,那麼可以利用RSS/TSS來達到同樣的效果。
- 資料的使用一般可分為三種:描述性(descriptive)、預測性(predictive)和時效性(prescriptive)分析。
  • 描述性分析主要關注已發生的事;
  • 預測性分析會運用統計分析法,依指定的輸入變數變化(例如價格),計算輸出變數(例如銷量)的相應變動;
  • 時效性分析是一種試圖將某些數據(通常是獲利)最佳化的機制。
- 描述性資料(平均數、頻率、關鍵績效指標等)是必要步驟,但對分析而言通常不甚充足。無論如何,都應盡快進入預測性分析階段。
需要注意的是,這裡所謂的「預測」,並非指預測未來。
進行結構分析時,會使用模型來模擬市場,推估(預測)市場變化的前因後果。
換句話說,使用迴歸分析,就能從價格的變動情況(預測)銷量變化。
- 邏輯迴歸使用(某種)t檢定檢驗每個自變數的顯著性。
- 一般迴歸和羅吉斯迴歸不同的是羅吉斯迴歸的依變數是二元(只有1和0兩種值),一般迴歸則為連續變數,而且在解讀羅吉斯迴歸的係數前,需先求得指數。由於依變數的二元性質,結果會產生異質變數(heteroskedasticity)。
沒有(真正的)R^2,且「適合與否」與分類有關。
* 如何推估/預測購物籃
- 自變數可以是購物籃中購買的產品,能預測購買其他產品(依變數)的可能性。

06 消費者最有可能在何時買單?
- 「事件發生時間」是比「事件發生機率」更值得探索的行銷問題。
- 存活分析(survival analsis)能回答一個極為重要的特別問題:
事件(購買、回應、流失顧客等)什麼時候最容易發生?
比起事件(購買、回應、流失顧客等)發生的機率有多高?是更切身相關的問題。
- 透過比例風險模式(proportional hazards modelling)進行存活分析的案例,可追溯至
David Cox在1927年發表於<皇家統計學會雜誌>
(Journal of the Royal Statistical Society)的研究論文
<迴歸分析與生命表>(Regression models and life tables),
該文不僅為統計學科開創了新局,出版以來更是廣受引用。
- 存活分析是專為估計及了解事件發生前經過的時間而設計,其基本假設是每段時間之間彼此獨立,
不相互影響。
- 存活分析關注的是事件發生前所經過的時間,對行銷來說,事件可以是回應、購買、
顧客投奔其他品牌等情形。
- 存活研究的本質上,有幾個特性是此方法所獨有的。
  1. 如同稍早所提,依變數是事件發生前經過的時間,因此分析中已經內建了時間。
  2. 設限觀察值。設限觀察值包含尚未發生事件的觀察值,以及研究中因故無法掌握動向的觀察值,
- 存活分析是一種迴歸分析,但有一些差異。其使用的不是最大概似法,而是部分概似法。
現在依變數有兩個部分:
  1. 事件發生前經過的時間,
  2. 事件是否發生,因此需採用設限觀察值。
- Cox迴歸的主要重點不在於存活曲線,而是風險率(hazard rate)。
「風險」幾乎可說是「存活曲線」的代名詞。可以將之想像成事件發生於某一時間點的瞬間機率。
- SAS程式可以執行存活模型(使用proc lifereg指令)和風險模型(使用proc phreg指令)。
- 要了解對事件發生時間(time-to-event endpoint,TTE)影響的百分比,
必須先對每個Beta係數取指數,亦即e^B。
- 描述性分析只能針對早已有所互動的客群強力推銷,很像RFM模型
(最近一次消費、消費頻率、消費金額)。
- 這個著力點看似不錯,但就和廣泛的描述性分析一樣,並未貢獻太多可利用的資訊。
為什麼某些消費者的價值比較高,他們能持續維持價值嗎?
有可能從他們身上汲取更多價值嗎?需要付出什麼代價?
有可能因為價值較低的消費者比較忠誠,或服務成本較低,而從他們身上獲取更多營收嗎?
每個消費者對行銷組合的哪一部分最敏感?
- 預測性分析使用自變數來預測下一次購買所需的時間,確實地將「終身價值」投射到(其屬於的)未來。由於造就「終身價值」的主要消費者行為是時間、購買金額和數量,因此需使用能預測事件發生時間的統計法(以一般迴歸預測「終身價值」的話,會忽略時間和購買量等因素)。
- 存活分析是專門為了研究「事件發生時間」這類問題,所設計的一種分析法。
此方法內建了時間因素,因此演算法中原本就存在未來觀點,
而一般(描述性)「終身價值」計算所隱含的武斷特質,在預測性分析中其實減少許多。
- 使用存活分析,判斷是哪些自變數促使消費者購買商品,情況會怎樣?
一旦購買前時間縮短,「終身價值」就會上升。
雖然存活分析可以預測消費者下次購買商品所需經過的時間,
但使用自變數來「改變」購買時間,才是其重要的策略價值。
綜合來說,描述性分析主要呈現以前發生的事,而預測性分析則能指出可能「未來』的因素。
- 若要以「終身價值」制定策略,需了解消費者價值的成因,包括消費者掏錢購買的原因、
拉長/縮短購物前時間的因素、在未來時間點購買的機率,諸如此類。
一旦徹底了解這些深入洞見,即可利用行銷手段(以自變數的形式呈現),從各消費者身上汲取更多價值。舉例來說,我們可以從中了解一些事實,像是某位消費者對價格變動很敏感,祭出折扣優惠則有機會縮短他下次購買的時間。
- 對每個分組套用存活分析模型後,即可產生自變數,並顯現其對依變數的影響。
在此範例中,依變數為購買前(平均)時間,自變數(定義行為分組的要素)則是折扣優惠、產品搭售、
節日宣傳、增加DM目錄及網路獨享優惠等。這些分組因素可依行為將
消費者分門別類,再透過存活分析模型,即可了解自變數在不同程度可以造就哪些不同策略。
- 除了行銷策略手段之外,存活分析還具有財務優化功能,尤其是營銷成本。
例如,假設A對折扣優惠有反應,我們就能計算及測試需要的(適度)折扣門檻,
吸引消費者提前上門購買商品,進而獲取預估的營收金額。
這麼做的話,最終能演變至成本/效益分析,促使行銷人員思考相關策略。
- (執行存活分析後)預測性終身價值比描述性終身價值,更能提供實用的精闢洞見。

07 追蹤資料迴歸分析:如何使用橫斷面的時間序列資料
- 針對某一時間點:橫斷面研究(Cross-Sectional Research)
- 不同時間點:縱斷面研究(Longitudinal Reasearch)
- 橫斷面通常會採取一般迴歸,期間通常會選擇自我迴歸(auto regression)。
- 橫斷面是指依消費者、分店、地理位置等條件來分析,
如此一來,各個橫斷面的時序資料,不管是銷量、媒介、促銷或其他刺激,都能擔任自變數。
追蹤資料迴歸分析的好處,在於其同時使用可說明橫斷面與時序影響的橫斷面和時序觀察項。
- 將各地區及不同時序在銷售額、促銷、媒體等方面的差異列入考量,以呈現地理位置的變異情形
(可以是相通地區的銷售或相同消費者,諸如此類),這是時常透過分析加以探究的問題。
*什麼是追蹤資料迴歸分析?
- 資料大致可區分為橫斷面或縱斷面資料,而追蹤資料是指既為橫斷面,也具時序性質的多維度資料。
因此,分析追蹤資料時,等於同時採用了橫斷面和縱斷面資料。縱斷面資料依般可分為三種類型:
  1. 時序資料:從單一橫斷面擷取多個觀察項,例如股價、單週銷量摘要。
  2. 合併的橫斷面資料:自多個橫斷面收及兩個以上樣本,例如社會/人口問卷調查、地區或子市場的營收。
  3. 追蹤資料:自兩個以上橫斷面,匯集兩個以上觀察項,例如不同企業組織在不同時間點的時序資料、地區或子市場,在不同時間的彙總資料。
- 追蹤資料分析模式旨在描述不同時間的變化(橫斷面)。
- 橫斷面(又稱為群組或單位)是指觀察值樣本,像是分店、消費者、子市場、郵遞區號、
家戶等。換句話說,任何具有不同時間點多個觀察值的群組,都能做為追蹤資料使用。
- 追蹤資料迴歸分析具有恆定的斜率,但截距會依橫斷面(群組、單位、消費者、分店、地區)
或期間而變動。因此,這種模型本質上是一種一般迴歸虛擬變數模型。
- 追蹤資料迴歸分析的假設,即大部的解釋能力來自橫斷面和時序資料,並非自變數。

08 以方程式系統建立依變數類型的模型
- 聯立方程式使用兩種變數:預定變數(落遲的內生變數和外生變數)和內生變數。
- 聯立方程式有助於訂定最佳定價,以及了解產品牌之間的競食現象。

- 延伸閱讀:
- 計量經濟分析 Econometric Analysis,1993,William H. Greene
- 計量經濟模型、技術和應用 Econometric Models,Techniques and Applications,1996,Michael Intriligator & Ronald G. Bodkin & Cheng Hsiao
- 顧客洞見 Consumer Insight,2004,Merlin Stone & Alison Bond & Bryan Foss
- 計量經濟學的要素 Elements of Econometrics,1986,Jan Kmenta
- 多變量數據分析 Multivariate Data Analysis,1998,Joseph Hair
- 多變量統計分析 Multivariate Statistical Analysis,1991,Sam Kash Kachigan
- 計量經濟學原理 A Guide to Econometrics,1998,Peter Kennedy
- 先進行銷策略 Advanced Marketing Strategy,1991,Glenn L. Urban & Steven H. Star
- 市場分析 Marketing Analytics,2013,Stephan Sorger
- 市場策略 Marketung Strategy,1997,Steven P. Schnaars
- 消費者行為 Consumer Behavior,1995,James Engel & Roger Blackwell & Paul W. Miniard
- 競爭策略 1979,Michael Porter
- 行銷短視症 Marketing myopia,1960,Theodore Levitt
- Modeling elasticity,Canadian Journal of Marketing Research,2002,Grigsby
- 迴歸診斷 Regression Diagnostics,1980,David Belsley & Edwin Kuh & Roy Welsch
- 經濟學與消費者行為 Economics and Consumer Vehavior,1980,Angus Deaton & John Muellbauer
- 行銷管理學 Marketing Management,1967,Philip Kotler
- 戰略市場決策的區隔與定位 
Segmentation and Positioning for Strategic Marketing Decisions,1996,James Myers
- 市場區隔 Market Segmentation.1998,Michel Wedel & Wagner Kamakura
- 市場調查進階研究方法 Advanced Methods of MarketingResearch,1994,Richard P. Bagozzi
- 市場區隔 Market Segmentaion,1994,Art Weinstein
- 對潛在類別模型的非技術性介紹 A nontechical introduction to latent class models,2002
- 用具類的潛在類別模型:與K平均值得比較 
Latent class models fo clustering:a comparison with K-means,2002.
- 決策統計分析 Statistical Analysis for Decision Marking,1987,Marris Hamburg

2021年6月23日 星期三

SAS參考書

1.2005/09 華泰文化<SAS應用之資料處理> 林豐政編著
2.2015/10 <資料採礦運用 以SAS Enterprise Miner為工具> 李淑娟著
3.2018/02 清華大學出版社<The Little SAS Book中文版> Lora D. Delwiche,Susan J. Slaughter著
4.2012/09 梅霖文化<資料採礦運用 以SAS Enterprise Miner為工具> 曾淑峰著

2021年6月12日 星期六

認識資料科學的第一本書

認識資料科學的第一本書
Data Analytics Made Accessible

Ch01|資料分析概觀

- 資料類型:
名目資料(Nominal)、次序資料(Ordinal)、區間資料(Interval)、比值資料(Ratio Data)。

Ch02|商業智慧

- 客戶關係管理
  1. 極大化行銷活動的回報
  2. 增進客戶留存率(流失分析)
  3. 極大化客戶價值(交叉、追加銷售)
  4. 找出高價值客戶,並滿足他們
  5. 管理品牌形象
- 零售業
  1. 最佳化不同區域的庫存水準
  2. 改善商店陳列與銷售宣傳
  3. 為季節效應安排最佳物流
  4. 減少因有限賞味期的損失
- 銀行業
  1. 自動化借貸申請流程
  2. 偵測詐欺交易
  3. 極大化客戶價值(交叉、追加銷售)
  4. 運用預估做出最佳現金準備
- 金融服務
  1. 預測債券與股票價格的變動
  2. 評估事件影響對市場造成的移動
- 保險業
  1. 預估索賠成本以利更好的商業規劃
  2. 決定最佳利率計畫
  3. 對特定客戶進行最佳行銷
  4. 發現並避免詐欺行為
- 電信業
  1. 客戶流失管理
  2. 行銷與產品規劃
  3. 網路故障管理
  4. 詐騙管理

Ch04|資料探勘

- 分類技術的共同衡量標準便是預測精確度。
預測精確度 = (正確預測) / 預測合計
- 混淆矩陣(Confusion Matrix)

- TP,True Positive:當一個真的正類資料點被分類為正值。
- TN,True Negative:當一個真的負類資料點被分類為負值。
- FP,False Positive:當一個真的正類資料點被分類為負值。
- FN,False Negative:當一個真的負類資料點被分類為正值。
- 預測精確度 = (TP+TN)/(TP+TN+FP+FN)

Ch06|決策樹

-決策樹基於諸多理由,可說是最受歡迎的資料探勘技術:
1.決策樹對於分析人員與管理者而言,都一樣容易了解與使用。它亦具有高度預測準確度。
2.決策樹會從所有可用的決策制定變數中,自動選擇最相關的變數。
3.決策樹容許資料品質的問題,並且不需要使用者準備太多資料。
4.即使非線性關係,決策樹也能處理得很好。
- 較受歡迎的演算法有:C5、CART、CHAID。
- 決策樹演算法基於三項主要元素而有所不同:
  1. 分支準則(Splitting Criteria)
  2. 停止條件
  3. 修剪

Ch07|迴歸 Regression

- 迴歸模型的精確度,全然依賴使用的資料集,而不是依賴演算法或其他工具。
- 羅吉斯回歸(Logistic Regression)模型使用機率分數作為因變數的預測值。
羅吉斯回歸取用因變數的勝算(odds)自然對數(以logit來表示),以此建立一個連續標準,
作為因變數的轉換版本。
- 迴歸模型的不足:
1.迴歸模型無法掩蓋不良資料品質的問題,如果資料沒有好好整理,移除遺失的數值,
或是不符合常態分配,其效用便會打折。
2.迴歸模型受共線性問題而拖累。
3.如果迴歸模型中包含大量變數,模型也可能變得笨重、難以信賴。所有加入模型中的變數,
不論其對模型預測能力的貢獻如何,皆會反應在迴歸方程式中。迴歸模型並沒有自動修剪的概念。
4.迴歸模型不會自動處理非線性,使用者得自行想像需要加入何種額外條件才能改善迴歸模型的適合度。
5.迴歸模型只適合數值資料,而不適合類別資料。不過還是可以藉由建立多個帶有是/否值的新變數,來處理類別變數。

Ch08|類神經網路 ANN,Artificial Neural Network

- 類神經網路之所以受歡迎,是因為它們最終將能夠達到高度預測精準度。
在執行起來也相對簡單,並沒有任何資料品質的問題。
然而ANN需要許多資料進行訓練,才能發展出好的預測能力。
- ANN的好處:
1.ANN的使用限制並不多。它可以自行處理(辨識/模型)高度非線性的關係,
而無須使用者或分析師做太多事情。
2.他們可以處理各種問題類型,包括分類、群集、關聯...等。
3.ANN可容許資料品質問題,並不會限制資料必須遵守嚴格的常態與/或獨立假設。
4.他們可以兼具處理數值與類別變數。
- ANN的缺點:
1.它們被視為黑盒子解決方案,缺乏解釋力。
2.處理大量的變數可能十分困難(特別是豐富的名目屬性)。
3.訓練ANN需要大量的資料集。

Ch09|群集分析 Cluster Analysis

Ch10|關聯規則探勘 Association Rule Mining

- 常用的演算法為Apriori,Eclat,FP-Growth

Ch11|文字探勘 Text Mining

- 詞彙文件矩陣(Term Document Matrix)

Ch12|單純貝式分析 Baive-Bayes

Ch13|支援向量機 SVM,Support Vector Machines

- SVM演算法的核心乃是核方法(Kernel Methods)。
- SVM的優點:
1.即使特徵數量比起實例數量大很多,也能夠運作良好。它能運用在含有大量特徵空間的資料集上,
例如過濾垃圾郵件的例子,其中有大量的單字是垃圾訊息中會出現的潛在特徵。
2.即使最佳決策邊界為非線性曲線,SVM會轉換變數以建立新的維度。
- SVM的限制:
1.它只在實數(Real Number)上運作良好。
2.它只能處理二元分類問題。不過我們可以建立一系列階層式SVM來解決此限制。
- SVM適用於文字探勘,例如過濾垃圾郵件以及詐騙偵測。

Ch14|網路探勘

- 網路探勘可區分為三種不同類型:網路使用探勘、網路內容探勘、網路架構探勘。

- 使用模式可透過「點選流分析(Clickstream Analysis)」來進行分析,也就是依點擊順序的模式以及造訪網站時停留的位置以及時間長度,來分析網路活動。
- 網路使用探勘有許多商業上的應用。它可依據先前學習的規則與用戶特寫,(1)協助預測使用者行為,並可協助決定客戶的生命週期價值。藉由觀察網站中各頁面的(2)關聯規則,也有助於設計跨產品間的交叉行銷策略。網站使用分析可協助(3)評估促銷活動,觀察使用者是否受網站吸引,並使用與活動相關的頁面。網站使用探勘可依據用戶的興趣與特寫,(4)對用戶展現動態的資訊。這包括依據用戶存取模式,對用戶群組發布特定的線上廣告與優惠券。

Ch15|社群網路分析

- 影像力流模式(Influence Flow Model)

2021年5月23日 星期日

行銷資料科學

 行銷資料科學|大數據x市場分析x人工智慧

PART 1 概論篇

Chapter 01 何謂行銷資料科學
- 何謂資料科學?

- 行銷資料科學家的工作包括:

  1. 產生規範性見解-包含戰略和戰術見解,以提高行銷效率。
  2. 探索性資料分析。
  3. 度量和方法選擇。
  4. A/B測試。
  5. 為管理層和其他專業人員提供諮詢,培訓和協助,幫助他們處理和理解各項組織數據。

- 行銷資料科學家所需的技能包括:

  1. SQL
  2. 資料視覺化
  3. 熟悉Python或R語言
  4. 能夠預測與建立模型(統計和機器學習方法)
  5. 人際關係技能-能和資料工程師、業務管理和其他人員協同合作

Chapter 02 行銷資料的類型、來源與管理

- 研究資料


- 資料的整理

--遺漏值的填補

1.數值變數:常使用的方法是以線性迴歸的方式來預測遺漏值,
稱為「預測均值匹配」(PMM,Predictive Mean Matching)。
2.二元變數:羅吉斯迴歸(Logistic Regression)進行預測。
3.超過二元以上的分類變數:貝氏多元迴歸(Bayesian Polytomous Regression)來處理。

Chapter 03 行銷資料科學技術概念
- 資料蒐集
- 網路結構探勘(Web Structure Mining):檢視網站的設計,一般可透過網路爬文技術,
利用R或Python等語言來開發爬蟲工具。
- 網路使用探勘(Web Usage Mining):企圖發現使用者的瀏覽特徵。

- 資料分析

--資料轉換(Data Transformation):主要再進行資料減縮與投影(Data Reduction and Projection),
在操作上,使用降維(Dimensionality Reduction)技術,來減少所考慮變數的有效數量。
--選擇資料探勘方法(Choosing the Data Mining Method):
分類(Classification)、分群(Clustering)、關聯(Association)等分析方法。

* 常見的機器學習演算法



- Apriori演算法是關聯規則學習或是關聯分析(Associative Analysis)的經典演算法之一。
在行銷資料科學領域,稱為購物籃分析(Market Basket Analysis)。
關聯分析主要透過「支持度(Support)」和「信賴度(Confidence)」來對商品項目之間關聯性進行篩選。在進行關聯分析時,通常會先設定最小支持度(Min Support)與最小信賴度(Min Confidence),
另外還會考量提升度(Lift)。

- 類神經網路(ANN,Artificl Neural Network)

--激發函數(Activation Function)

--前向傳播法(Forward Propagation)

--反向傳播法(Backward Progagation)

- 支持向量機(SVM,Support Vector Machine)
   -線性可分支持向量機
   -非線性可分支持向量機
      --核函數(Kernel Function)、特徵空間(Feature Space)
 
Chapter 04 整合行銷資料科學與行銷研究

- 行銷研究主要將資料分成「初級資料」與「次級資料」。初級資料的蒐集方式,又可分成:

調查法(Survey Research)、實驗法(Experimentation)、觀察法(Observation)、深度訪談法(Depth Interview)。


PART 2 大數據篇

Chapter 06 大數據行銷分析工具

- 大數據行銷分析工具


- 行銷分析階層

- 行為側寫(Marketing Profiling)則是將「側寫」這樣的概念與技術運用到行銷領域,
做法則是透過數據分析來描繪消費者的圖像。
- 行為定向(Behavioral Targeting)是指網站和廣告商使用一系列技術蒐集與分析個人的搜尋
與瀏覽行為等資訊。

* 推薦系統

--內容過濾(Content-Based Filtering)主要基於客戶「過去」對某些商品和服務的偏好,
提出推薦。舉例來說,A顧客購買A產品,而A產品與B產品有相似性,此時,系統就自動推薦B產品給A顧客。
--協同過濾則是使用「同類客戶」來進行客戶偏好的預測,來進行推薦,以下是常見的類型:
  1. 使用者基處的協同過濾(User-Based Collaborative Filtering Recommendation)
  2. 項目基礎的協同推薦(Item-Based Collaborative Filtering Recommendation)
  3. 模型基礎的協同推薦(Model-Based Collaborative Filtering Recommendation)

- 成交路徑(Path to Purchase)

- 網站分析(Web Analytics)目前主要有兩種方法:

1. 日誌分析(Log Analysis)即分析使用者瀏覽器與網站伺服器互動歷程中,所產生的網站日誌檔(web log files)以判斷點擊數(hits)、網頁檢視(page views)、網站停留時間(time on site)等,以了解網站的使用狀況與經營成效。

2. 加入網頁標籤,在每一網頁插入Jave Script告知第三方分析服務的伺服器(如:Google Analytics),
某些頁面已被瀏覽器所讀取。

--要分析或比較網頁內容好不好,有許多的衡量指標可參考,常見的指標除了上述提到的點擊數(hits)、網頁檢視(page views),還包括訪問量(Visits)、訪客(Visitor)、新訪客(New Visitor)、重複訪客(Repeat Visitor)等等。

--如果企業或網站負責人沒有後續的配套措施與相對應的行動,有人就戲稱這就好像到大醫院花錢做了一堆電腦斷層或核磁共振,找到病因之後,卻不做後續治療,讓前面的網站分析做白工了。

- 歸因分析(Attribution Analytics)

--行銷人可以使用歸因分析來規劃未來的行銷活動,透過分析哪些行銷活動(媒體、廣告...等)
最具有成本效益和影響力,以提升廣告支出回報率(Return on Ad Spend,ROAS)或者
取得有效的名單(Cost Per Lead,CPL)等。

-- 網路廣告的快速資增長,企業也同步獲得更多的數據來追蹤廣告的有效性,並且發展出更多評估廣告效果的方式,例如每次點擊成本(Cost Per Click,CPC),每千次曝光成本(Cost Per 1000 impression,CPM),每次完成行動成本(Cost Per Action,CPA)和點擊轉換率(Conversion Rate,CVR)...等。

- 趨勢分析(Trend Analytics)

  1.  定性法(Qualitative Method):判斷法、調查法。
  2. 定量法(Quantitative Method):時間序列分析法、因果分析法(迴歸模式、計量經濟模式)


PART 3 行銷篇

Chapter 07 市場分析與行銷資料科學

- 文章字詞矩陣(DTM,Document Term Matrix)

- 輿情分析
深度類神經網路(卷積式網路Convolutional Neural Network,如CNN,RCNN,Resnet)。
--利用機器學習找出關鍵性的預警貼文:單純貝氏(Naive Bayes)、

- 行銷漏斗(The Marketing Funnel)模型

--過濾性:能通過一階層的過濾,稱為「轉換率」(Conversion Rate) ;
反之則是「流失率」(Churn Rate) 。
-- 提高轉換率的方法,研究顧客的每一個可能的「接觸點(touch point)」是個很棒的切入方式。
「接觸點」意指顧客會接觸到企業產品或服務的任何機會,從消費者尚未購物的平常生活即已開始,到實際接觸的購買體驗,一直到售後的各種可能場景。

- RFM模型可協助公司找出「新客(近期曾經前來公司消費的客人)」、「常客(經常前來消費的客人)」,以及「貴客(消費金額大的重要客人」。


Chapter 08 STP 理論與行銷資料科學

- 企業在經過評估各種市場區隔後,接下來就是從中選定一個或多個「區隔市場」,以作為目標市場。依據哈佛大學教Derek F.  Abell的研究,在目標市場選擇策略中,可以選用以下五種方式來進行。

  1. 單一市場集中化(Single-Segment Concentration)
  2. 選擇性專業化(Selective Segment Specialization)
  3. 產品專業化(Product Specialization)
  4. 市場專業化(Market Specialization)
  5. 全市場涵蓋(Full Market Coverage)


Chapter 10 價值溝通與行銷資料科學
- 行銷管理學裡,將傳統行銷方式區分成所謂的「推式策略(Push)」與「拉式策略(Pull)」兩大類。

- 拉式策略(Pull):意指企業透過於廣告、銷售促進等方式,引發消費者的購買慾望,將消費者「拉」到企業手上;推式測略(Push):則是由企業藉由人員推銷、銷售促進等方式,將產品透過一層層的配銷通路,「推」到最終消費者的手上。

- Inbound Marketing可譯為「集客式行銷」。是一種透過內容行銷(Content Marketing)、社交媒體行銷(Social Medial Marketing)、搜尋引擎優化(Search Engine Optimization,SEO)等技術,吸引消費者主動上門的行銷策略。
- Outbound Marketing議為「推播式行銷」,是指企業透過電視、電話、報紙、電台、看板、
郵件等工具,主動將產品訊息傳播給消費者,並促使消費者在心中建立起對企業的印象。

PART 4 策略篇
Chapter 11 行銷資料科學與策略

- 關於資料科學的分析,常見的分類有以下三種:

  1. 描述性分析(Descriptive Analytics)
  2. 預測性分析(Predictive Analytics)
  3. 指式性分析(Precriptive Analytics)

- 「描述性分析」能解釋已經發生的事,協助企業分析出消費者是誰?或是買了些什麼?
- 「預測性分析」能協助企業解決可能發生的事,
例如分析出消費者可能還會購買什麼?進而提前給予消費者相關的產品資訊。
- 「指示性分析」則能指導實際執行時該如何做,
舉例來說,當消費者走到某商圈時,手機會主動收到適合自己的附近店家折價券。
- 除此之外,尚有提出「診斷性分析(Diagnostic Analytics)」、
「自動化分析(Automating Analytics)」。

分析1.0

- 屬於「傳統分析時代(Traditional Analytics)」,其中統計分析以「敘述性分析(Descriptive)」為主,
亦即「分析過去的事」。分析的資料屬於內部且較小量的結構化資料。
- 在企業部分,分析的目的,在透過分析展現營運效率與增進內部決策有效性。舉例來說,
公司建立各種營運報表,如:營業額、毛利率、淨利率等營運指標,皆是屬於分析1.0時代。

分析2.0

- 屬於大數據時代,統計分析以「預測性分析(Predictive)」為主,亦即「使用過去資料預測未來」。

分析3.0

- 屬於資料經濟時代,以「指示性分析(Prescriptive)」為主,亦即「運用模型發展最佳行動」。
分析資料以結合大量結構化與非結構化資料為主。

- 顧客流失(Customer Curn)分析的應用包含:

  1. 顧客獲得(Customer Acquisition)
  2. 顧客關係發展(Relationship Development)
  3. 顧客留存(Customer Retention)
  4. 顧客流失率分析(Customer Churn Rate Analytics)


2020年9月19日 星期六

世界第一簡單機器學習

 世界第一簡單機器學習

2019年4月

第1章 怎麼做迴歸?

- 正規化的方法分為兩種,Ridge迴歸盡可能減少大數值的係數,和Lasso迴歸增加數值趨近零的係數。    

第2章 怎麼進行識別?    

- 模型的輸出為權重w的函數,所以當w改變,誤差的值也會不同。遇到這樣的問題,我們可用梯度下降法(Gradient Descent)來求解。

- 由所有的訓練資料D計算梯度的方法,稱為批量梯度下降法(Batch Gradient Descent);將D分割成適當的大小,以此為單位計算梯度的方法稱為小批量梯度下降法(Mini-batch Gradient Descen);由D隨機選出一個資料,僅以此資料計算梯度的方法,稱為隨機梯度下降法(Stochastic Gradient Descent)。

- ID3是演算法是建立決策樹的最基本步驟。

- 亂度Entropy和資訊量

- 將原資料的亂度減去分割後的資料亂度,得到詢問可獲得的資訊量,該量成為資訊增益量Gain。

- 關於資料集算度的計算方法,除了上述的亂度(Entropy)之外,還有一種方法是以下面的式子計算吉尼係數(Gini Cofficient)。

Gini(D)=1-Pyes^2-Pno^2

- 奧卡姆剃刀(Occam's Razor),目的是「選擇符合資料且最單純的假說」。

- 決策樹會過於適應訓練資料容易發生過度學習(Overfitting)。

第3章 評估結果    

- 要掌握機器學習未知資料時的性能。其中,最簡單的方法是,將手邊的資料分割成訓練用和評估用。稱為分割學習法,機器在學習時先不使用評估資料,等到要計算準確率時才使用。這樣一來就能模擬遇到未知資料的情況。  

- 會影響訓練結果的超參數(Hyperparameter),比如線性迴歸中正則化須的權重數、決策樹訓練的樹木深度等等。調查配置訓練的超參數是否妥當,這個過程就稱為檢驗。若在檢驗作業中使用評估資料的話,評估用資料就不能算是未知資料了。

- 所以,使用分割學習法來評估性能時,一開始應該將資料分成訓練用、檢驗用、評估用三部分


- 對資料進行分割,資料的分割份數稱為折數(fold),通常會採用10折交叉驗證。

- 評估用資料元素數為1的分割法,另外稱為留一法(Leave-one-out)。

- 準確率是在評估資料中,正確辨識類別的資料比例。為了簡化說明,舉例二分類識別問題的評估法。這是有沒有罹患某種疾病、是不是垃圾信件等問題。符合預設條件的訓練資料為正例(positive)、不符合的資料為負例(negative)。

- 混淆矩陣(Confusion Matrix)


- 只有準確度是不夠的:未罹患疾病的人數遠比罹患疾病的人數還多的情況,也就是資料中的負例比正例多很多的意思。比如1000人中僅1人罹患疾病的極端情況,使用全部判定為負的分類器,這樣準確率會是0.999。為了能夠區分這樣的情況,我們需要以其他指標來評估機器學習的結果。

- 根據上表,準確度Accuracy= TP+TN / TP+FN+FP+TN (正解數除以全部資料數就是準確率)。

- 精確度Precision,這是分類器判定為正時,可以多麼相信該結果的指標。

Presision = TP / TP+FP (正確判定為正的數量除以分類器判定為positive的數量就是精確度)。

舉例:被判定罹患某種疾病且該診斷為正的正確比例。

- 召回率Recall=TP / TP+FN (正確判定為正的數量除以所有正例的數量就是召回率)。

例:對象資料中的所有病患中,有多少人被正確診斷罹患疾病。

- 精確度和召回率往往是此消彼長的關係,一邊數值高,另一邊數值就低。

舉例來說,罹患某疾病的症狀很明顯時,分類器才判定為正的精確率會高,不過這樣了話會忽略掉輕微症狀,造成召回率變低。相反地,優先提高召回率,稍微有一些症狀就判定為正,使用這樣的分類器,會導致雖然漏掉病患的情況減少,但可能造成很多沒有生病的人需要接受精密檢查。

- 於是,我們會用下面的式子定義綜合判斷精確率和召回率的指標F值。

F-measure = 2 X Precision x Recall / Precision + Recall

- 若是三種類別的情況,混淆矩陣會變成3x3。由混淆矩陣求出各類別的性能,平均後的數值為巨觀平均(Macro Average);由類別計算TP、FP、FN、TN相加後,除以資料數的數值為微觀平均(Micro Average)。

第4章 深度學習    

- 卷積神經網路(Convolutional Neural Network)

- 前饋式神經網路(Feedforward Neural Network)

- softmax函數

- 反向傳播法(Backpropagation)

- 自動編碼器(Autoencoder)

- rectified liner函數,使用此函數的單元稱為ReLU(Rectified Linear Unit)。

- 使用Keras資料庫,Keras封裝了常用的TensorFlow深度學習庫,能夠做到更高階的敘述,可用簡潔的程式碼編寫深度學習的典型問題。

第5章 整體學習Ensemble Learning    

裝袋法Bagging    

隨機森林Random Forest    

- 裝袋法、隨機森林是藉由改變使用的資料集,或者改變分類器的構成條件,做成不同的分類器。與此相對,不斷加入專門減少錯誤的分類器,形成反應不同的分類器集合,稱為提升法。

提升法Bossting    

- AdaBoost(Adaptive Boosting):以變更權重的資料集訓練下一個的分類器,依序形成不同的分類器。後面做成的分類器會優先識別上一個分類器錯誤判斷的資料,具有與上一個分類器不同且能夠彌補弱點的效果。

- 另外一種方式是使用損失函數。以提升法結果作成的複合分類器,可用來定義損失函數。其中,追分的分類器會選擇損失函數值減少最多的。這種方式的提升法稱為梯度提升Gradient Boosting。

- 機器學習工具Weka內建diabets.arff資料。

第6章 非監督式學習

6.1.1 集群分析

6.1.2 階層式集群分析(Hierarchical Clustering)

- 群集間的相似度可用下面的方法定義:單一連結(Single Linkage)、完全連結法(Complete Linkage)、中心法(Centroid Method)、Ward法

- k-means法、EM演算法

EM演算法基本步驟跟k-means法相同,一開始先用亂數決定隨機的平均向量和共變異數矩陣(Covariance Matrix),這相當於在特定空間中隨意的場所放置隨意的常態分佈。

6.2 矩陣分解

- 假定用戶與商品之間存在幾項潛在因素。潛在因素是指,在分組用戶、商品時類似視點的條件,像是「女性」、「居住地」、「喜歡甜食」等等。但是,這些是在沒有監督的情況下從資料中選出,所以未必每個都能如此解釋。

- 交替最小平方法(Alternating Least Squares)。

- 非負矩陣分解(NMF)

- 分解機模型(Factorization Machine)

6.3 分割式集群分析(Partitional Clustering)


2020年3月13日 星期五

文科生也看得懂的資料科學

文科生也看得懂的資料科學
Numsense! Data Science for the Layman: No Math Added

Ch01|基本知識簡單說
- 資料科學研究有四個關鍵步驟:
一、準備資料
1.1 準備資料
- 變數類型:二元變數、、類別變數、整數變數、連續變數
二、選地適當的演算法來模擬資料
2.1 挑選演算法
- 非監督式學習:當我們試圖找出資料集中潛在的模式時,可以使用非監督式學習類的演算法。
這類演算法之所以是「非監督式的」,是因為我並不知道要找出哪些模式,
所以需要使用這類演算法來找出資料中有哪些模式(Pattern)。
- 監督式學習:如果想要進行預測,可以運用監督式學習的演算法。
這類演算法之所以是「監督式的」,原因在於我們希望演算法根據已經存在的模式進行下一步預測。
- 強化學習:在非監督式學習與監督式學習中,模型學習並實際應用後便不再做任何變動。
與前兩者不同的是,增強學習會不斷地根據結果反饋逐步自我精進(優化預測)。
三、調整演算法參數,優化模型
四、評估模型的準確度
4.1 評估結果
*類別指標
- 正確預測百分比
- 混淆矩陣:混淆矩陣能更進一步幫助我們理解預測模型成功與失敗之處。
在下表中,儘管整體分類準確性高達90%,這個模型在預測「不會購買」的表現顯然比預測「實際購買」的表現還要好得多。同時可以發現預測誤差平均分布在偽陽(false positive)
和偽陰(false negatives)之間,各存在五個誤差。

- 接收者操作特徵曲線下的面積:也被稱為曲線下面積(AUC),這個評估指標有助於選擇最大化真陽性率或是最小化偽陽性率。
-- 可以利用接收者操作特徵曲線(ROC曲線)將這個取捨視覺化處理,如下圖所示。
-- 實際應用上,可以認定最佳預測模型為產生最大AUC值的模型,然後利用預測模型的ROC曲線,
為我們願意接受的TPR值或FRR值選擇適當的閥值。
- ROC曲線允許我們選擇欲避免的錯誤類型,另外,也可以使用「對數損失」指標來懲罰所有錯誤的預測。


- 對數損失:通常二元變數和分類變數的預測值以機率表示,例如消費者購買魚類的機率。
機率越接近100%,預測模型對於消費者購買魚類這件事情越有信心。
「對數損失」指標利用這個信賴水準來校正對錯誤預測的懲罰一具體而言,當預測模型對於錯誤預測越有信心,對於「對數損失」的懲罰越嚴重。

*迴歸指標
- 方均根差(RMSE,Root Mean Squared Error):當迴歸預測使用連續變數時,誤差通常會被量化為預測值與實際值的差,而懲罰參數也會影響誤差程度。
方均根差是廣受青睞的迴歸指標,且在試圖避免大型誤差時特別好用,因為將所有獨立誤差平方,從而放大了大型誤差。這項特性使得均方根差對於異常值特別靈敏,也使得異常值將被嚴重懲罰。
- 平均絕對誤差(Mean Absolute Error,MAE):一種評估迴歸模型的簡單方法是在所有資料點取平均預測值和實際值之間的差距,平均處罰所有錯誤。這個測量指標被稱為「平均絕對誤差」。
- 均方根對數誤差(Root Mean Squared Logarithmic Error,RMSLE):除了使用「均方根誤差」指標,對大型誤差加強懲罰之外,還可以使用「均方根對數誤差」(RSMLE)來解釋誤差的方向。
如果想要避免低估情勢,好比在雨天預測雨傘需求,即可使用「均方根對數誤差」。低估情勢會造成顧客不滿和收入損失,相較之下,高估情勢只會造成額外庫存。

*驗證
- 交叉驗證:將資料集劃分為多個用來重複測試模型的資料片段,最大化可用於驗證的資料。
在單次迭代中,除了一個片段之外,將所有其餘片段用來訓練該預測模型,
然後對最後一個面段進行測試。這個驗證過程將被重複,直到每一段都恰好當過一次測試片段。

Ch02|k-平均分群演算法(k-means clustering)
2.3 定義群集
- 群集數量必須大到足使我們取得具有意義的模式,為商業決策提供建議,同時群集數量也必須小到足以確保各群集具有明顯的獨特性。
- 陡坡圖(scree plot)可用來決度群集的適當數量,透過陡坡圖可以觀察到,當群集數量增加時,群集內的散佈情形隨之減少。在陡坡圖中,使曲線急遽轉彎的點被稱為「扭結」(kink),它的位置意味著群集的最佳數量,以及群集內散佈情形被控制在合理範圍。
2.4 先天限制
- 每個資料點只能被分到一個群集:有些時候,某個資料點可能恰好位於兩個群集的中間,被分配到任一群集的機率是一樣的。
- k-平均分群演算法將群集預設為球形:尋找距離資料點最近的群集中心的此一迭代過程相當於將群集的半徑限縮在某一範圍內,因此最後所得到的群集就像是緊密的球形。
- 預設群集是離散的:k-平均分群演算法不允許群集相互重疊,也不可能出現某一群集內嵌於另一群集之中的情形。

Ch03|主成份分析(PCA,Principal Component Analysis)
- 主成分分析是一種找出對資料點而言最具識別度的潛在變數(也就是主成分)之探勘法。
這些主成分(Principal Component)即是能讓資料分散地最廣的維度。
- 每個主成分(PC)都是將營養變數進行加權組合後得到的值,加權係數可以為正、負,或接近零。
舉例來說,若想得出某個食物品項的第一主成分(PC1)的數值,我們必須以下列式子求值:
0.55(纖維)+0.44(維生素C)-0.45(脂肪)-0.55(蛋白質)。
- 因此,與其使用我們先前反覆嘗試合併變數的做法,主成分分析可以為變數計算出精確的加權係數,
告知我們可以合併那些變數,以利識別資料。
- 主成分的最佳數量由陡坡圖決定。
- 主成分分析(PCA)是一種降維技術,因為它幫助我們以較小的變數集來呈現資料,而這些變數被稱為主成分。
3.4 先天限制
- 散佈極大化:主成分分析最重要的假設就是,讓資料點最廣泛分散的維度是最有效的。
然而,這個假設不一定為真。最有名的反例就是計算堆疊在一塊兒的鬆餅數量。
- 詮釋成分:主成分分析法的關鍵挑戰是必須為生成成分做詮釋,然而有時候,我們可能很難解釋為什麼變數未以某種方式組合。
- 主成分戶為直角:主成分分析所產生的都是呈直角相交的主成分,表示主成分之間呈90度。
然而,這個假設並不全面,因為資訊維度並不總是直角相交。要解決這個限制,
可以使用獨立成分分析(ICA)作為替代方法。

Ch04|關聯規則
4.1 找出消費模式
- 了解不同的消費模式有助於商家提高產品銷售量。舉例來說,假如X和Y這兩個商品經常被一起購買:
-- X商品的廣告可以投放給Y商品的消費者。
-- 可以將X和Y商品擺放在同一架上,刺激消費者同時添購兩項商品。
-- X和Y商品可以組成新產品,比方說Y口味的X商品。
4.2 支持度、可信度與作用度
- 有三個常用指標可衡量關聯性
* 指標1:支持度(Support)
- 這項指標表示項目集出現的頻率,衡量該項目集出現在所有交易的比例。
{X}的支持度代表項目X的出現頻率
* 指標2:可信度(Confidence)
- 這項指標呈現當項目X出現時,項目Y也出現的頻率。
{X->Y}的可信度代表當項目X出現時,項目Y也出現的頻率。
* 指標3:增益(Lift)
- 增益這個指標表示項目X與項目Y同時出現的頻率,同時考量各項目各自出現的頻率。
{X->Y}的增益值表示項目X與項目Y同時出現的頻率,同時也考量各項目各自出現的頻率。
4.4 先驗原則
- 降低需要考量的項目集數量的方法是善加利用先驗原則(apriori principle)。
簡單來說,先驗原則認定,如果一個項目集是不頻繁的,那麼包含這個項目集的任何項目集都是不頻繁的。這意味著若{啤酒}被認為是不頻繁的,那麼{啤酒、披薩}也一定是不頻繁的。
由此一來,我們不再需要將{啤酒、披薩},或任何包含啤酒的項目集納入考量,簡化頻繁項目集清單。
4.5 先天限制
- 運算成本高:儘管先驗原則可以有效降低需要考量的候選項目集數量,當產品數量很多,或者支持度閾值太低時,等待運算的候選集數量仍然非常可觀。一個替代方案是使用進階資料結構法,更有效地篩選後選項集,減少比較次數。
- 虛假關聯:項目的關聯性也可能隨機發生於大量項目中,必須進行驗證步驟,確保這些被找出的關聯具有通則性。

Ch05|社群網路分析(Social Network Analysis,SNA)
- 社群網路分析的潛在應用有:病毒式行銷、傳染病擴散模型,或團隊遊戲策略等領域。
不過,最為人所知的應用還是分析社群網路之間的關係,這也是該演算法的命名由來。
5.3 Louvain 演算法
- 為了方便視覺化處理貿易網路,需使用一個強制導向演算法:不具連結的節點之間會相互排斥,
而具有連結的節點會根據連結強度相互吸引。
- Louvain演算法是辨識網路內群集的一種方法。使用不同的分群配置進行實驗,以滿足
(1)最大化同一個群集內,節點之間「邊」的強度與數量,同時
(2)最小化不同群集間「邊」的強度與數量。滿足這兩個條件的程度被稱為模組性,越高的模組性代表更加優化的群組。
- 當群集的大小且離散度一致時,Louvain 演算法的效益最佳。
- Louvain 演算法的先天限制
-- 重要但小的群集可能被吸收了:群集的迭代合併可能會導致重要但小的群集被忽略。
為了避免這種情況,可以檢驗在中間迭代階段時被確認的群集,並在必要時保留他們。
-- 多種可能的群集配置:對於包含重疊或巢套群集的網路來說,可能難以確定最最佳分群方案。
儘管如此,當出現多個高度模組化的解決方案時,我們可以根據其他資訊來驗證群集,就像我們利用國家的地理位置和政治意識形態的相似之處。
5.4 PageRank 演算法
- PageRank演算法雖然易於使用,卻有一個缺點:它傾向於偏袒舊節點。
- PageRank演算法根據連結數量、連結強度與連結來源,對網路中的節點進行排名。
雖然這可以幫助我們確定網路中的主要節點,但是也會對較新的節點產生偏見,因為這些新結點建立實質連結的時間較短。

Ch06|迴歸分析(Regression Analysis)
6.3 梯度下降
- 梯度下降(Stochastic Gradient Descent)演算法在一開始,先推測一組合適的權重,然後進入迭代階段,將這些權重套用到所有資料點來進行預測,接著微調權重,減少整體預測誤差。
除了應用於迴歸分析之外,梯度下降演算法也可以用來優化其他模型參數,例如支持向量機和神經網路。在這些更加複雜的模型中,從何處開始下降(如:初始參數值)可能會影響梯度下降的結果。
- 為了降低陷入凹處的風險,可以使用隨機梯度下降(Stochastic Gradient Descent)與其他使用「所有」資料點於每次迭代中調整參數,現在我們只使用一個資料點做為參考。
6.4 迴歸係數
- 迴歸預測因子的權重的正式名稱為「迴歸係數」(Regression Cofficient)。
迴歸係數表示當其他預測因子存在的情況下,該預測因子的強度。換句話說,這是指該預測因子的附加價值,而不是該預測因子的絕對預測能力。
- 以不同單位測量的預測因子也會干擾我們對迴歸係數的解釋。舉例來說,同一個預測因子以公分為單位預測,和以公尺為單位來預測,兩個值之間就相差了100倍。為了避免這種情況,在進行迴歸分析之前,必須將預測變數的單位標準化。標準化等於以百分位表示每個變量。
當預測變量被標準化後,它們的係數被稱為beta權重,可以進行更精準的比較。
6.5 相關係數
- 如果只有一個預測因子,則該預測因子的beta權重稱為相關係數(correlation coefficient),
以r符號表示。相關係數為-1至1之間的值。
- 因為相關係數表示單個預測因子的絕對強度,它們比迴歸係數更為可靠,可用來排序預測因子的影響力。
- 趨勢線由預測變量的加權組合推導而出。權種被稱為迴歸係數,代表在其他預測變量存在的情況下,
某預測變量的預測強度。
- 當預測變量之間不具相關性,沒有異常值,且預期趨勢是一條直線時,迴歸分析的效益最佳。
6.6 先天限制
- 對異常值很敏感:由於迴歸分析對所有資料點一視同仁,少量的極端值就可能嚴重影響趨勢線走向。
為了避免這個情況,在進一步分析之前,可以先利用散佈圖找出異常值。
- 相關預測因子的權重被扭曲:擁有高度相關的預測變數的迴歸預測模型會扭曲對於權重的解釋,
導致多重共線性(Multicollinearity)問題。
為了解決多重共線性問題,可以在進行迴歸分析之前,事先排除相互關聯的預測因子,或者使用更先進的技術,例如lasso或ridge迴歸。
- 曲型趨勢:在上述的預設房價案例中,趨勢線皆為直線。不過有些趨勢線可能是曲型的。
這時我們需要轉換預測值,或使用如支持向量機等其他演算法來解讀趨勢線。
- 預測因子和結果並不暗示因果關係:假設住戶使否養狗被實證與房價有正相關性。我們清楚明白飼養一隻狗並不會增加房屋價值,相對地,有能力飼養狗的家庭往往有著更高的收入,而且可能居住在房價較高的富裕地區。

Ch07|k-最近鄰演算法與異常檢測(K-Nearest Neighbors,K-NN)
- k-最近鄰演算法是一種根據鄰居的類別,對資料點進行分類的演算法。如果一個點被四個點和一個黑點包圍,那麼,按照「近朱者赤,近墨者黑」的多數決概念,該資料點應該是紅色。
7.4 異常檢測
- k-最近鄰演算法不僅可以預測資料的分類或連續值,還可以辨識異常值,偵測是否有詐欺情事。
此外,辨識異常值這件事還能延伸出額外洞察,就像發覺之前被忽略的預測因子。
7.5 先天限制
- 類別規模不一致:如果某個研究中有多個需要預測的類別,而且各類別的規模差異甚大,那麼屬於小類別的資料點可能會被大類別的資料點覆蓋,導致較高的分類錯誤風險。
為了提高準確性,可以使用加權投票而非多數決的方式,確保近鄰類別的權重比遠鄰更重。
- 過量的預測因子:如果需要考量的預測因子太多,那麼在多個維度上識別和處理最近鄰,在運算上是一件相當艱鉅的任務。此外,有些預測因子可能是多餘的,無法提升預測準確性。想要解決這個問題,可以利用「降低維度」,篩選出最為強大的預測因子,然後再進行分析工作。

Ch08|支持向量機(Support Vector Machine,SVM)
- 支持向量機演算法有一個關鍵特徵,也就是「緩衝區」,允許有限數量的訓練用資料點分佈在不正確的另一側。這個特徵讓邊界更具「彈性」,更能穩健處理異常值,使該預測模型對新資料具通則性。
- 支持向量機使用核技巧(Kernel Trick)的方法倒出複雜的曲線模式。支持向量機將資料投影到更高的維度上,讓資料點可以使用直線區分,而不是直接在資料平面上繪製曲面邊界。這些直線計算起來更為簡單,而且投影到較低維度時也很容易轉換成曲線。
- 支持向量機具有處理高維度資料的能力,有助於分析具有眾多變量的資料集。它的常見應用包含解碼遺傳資訊,以及評估文本中的情感。
- 支持向量機(SVM)在兩組邊緣資料點(支持向量)之間,畫出一條分界線,將資料點分成兩組。
- 當大樣本的資料點必須分為兩個不同的組時,最適合使用支持向量機演算法。
8.4 先天限制
- 小資料集:由於支持向量機仰賴支持向量來決定決策分界線,所以小樣本意味著能夠用來準確定位邊界的邊緣資料點更少。
- 多個分組:支持向量機一次只能將資料分類成兩組。如果多於兩組,則需要透過多分類支持向量機進行迭代來區分每一組資料。
- 組間大量重疊:支持向量機根據資料點於決策邊界的哪一側,偽資料進行分類。當兩組分類的資料點之間存在大量重疊時,靠近邊界的資料點容易於被錯誤分類。此外,支持向量機演算法無從得知每一個資料點被錯誤分類的機率。不過,我們仍然可以根據某一資料點與決策邊界的距離,衡量該資料點被準確分類的可能性。

Ch09|決策樹
9.3 產生一棵決策樹
- 重複分割資料,取得均勻群組的過程稱為遞迴區分(Recursive Partitioning)。
這個過程只涉及兩個步驟:
步驟1:找出可以最能將資料點均分的二元問題。
步驟2:在每一個葉節點重複步驟1,直到達成停止條件。
- 因為二元問題以中心值為基準來區分資料點,因此決策樹可以有效處理異常值(極端值)。
9.4 先天限制
- 不穩定性:因為決策樹是透過分割資料點以獲取均勻區分的群組,若是資料出現些許變動,很可能導致分割出現變化,得到完全不同的決策樹。同樣地,正因為決策樹會使用最佳問題來分割資料,所以預測結果常常出現「過適」。
- 不準確性:一開始即使用最佳二元問題來分割資料的作法可能無法推導出最準確的預測。
在決策樹初始時,使用不太有效的分隔,反而能在最後得到更好的預測。
-為了克服這些缺陷,我們可以避免在每一次分割時追求最佳效果,讓樹狀圖多樣生長。
之後再將不同決策樹的預測合併,合併後的預測結果具有更好的穩定性與準確性。
- 有兩種讓決策樹多樣生長的方法:
1. 第一種方法是隨機選擇不同的二元問題組合來產生多個決策樹,接著將這些樹所產生的預測加總。這總方法被稱為隨機森林。
2. 第二種方法則是策略性地選擇二元問題,遞增式改善後續每顆樹的預測準確性。最後衡量所有預測的加權平均值,得到預測結果。這種方法稱為梯度提升(gradient boosting)。
- 儘管隨機森林和梯度提升兩種方法可以產生更精確的預測結果,但他們太過複雜性使得預測結果更難以視覺化。因此,他們常被稱為「黑箱」。這就解釋了為什麼決策樹仍是一個熱門的方法,因為決策樹容易視覺化處理,讓人們更簡單直覺地評估預測變量和變量之間的相互作用。

Ch10|隨機森林
10.1 群眾的智慧
- 這建立在「儘管有眾多可能的錯誤預測,只有一個正確預測」的事實基礎上,透過結合具有不同優缺點的預測模型,那些產生準確預測的模型往往會相互加強,同時抵銷錯誤的預測。這種結合多個預測來提升預測準確性的方法被稱為集成(ensembling)。
- 我們可以利用隨機森林(Random Forest)中來觀察集成效果,隨機森林是多個決策樹的一個總體(ensemble)。
10.3 總體
- 系統性產生不相關決策樹的方法是一種被稱為
「引導聚集算法」(Bootstrap Aggregating Bagging)的技法。
- 引導聚集算法用來創造數千個充分相異的決策樹。為了確保樹與樹之間的最小相關性,
利用預測變量的隨機子集,從訓練用資料集的隨機子集中產生每一顆決策樹。
這使我們能夠產生不同但保持一定預測能力的決策樹。
- 隨機森林通常必決策樹具有更好的預測準確度,因為它善用以下兩種技法:引導聚集算法與集成方法。
- 引導聚集算法在分枝過程中以隨機限制變量的方式來產生一系列不相關的決策樹,而集成方法則是組合這些決策樹的預測結果。
10.5 先天限制
- 不可解讀性:隨機森林被公認為黑盒子,因為隨機森林由隨機產生的決策樹組成,不具有明確的預測規則。舉例來說,我們並不知道隨機森林如何得到預測結果。在預測缺乏明確性的情況下,如果將隨機森林演算法應用到醫學診斷領域,有可能會面臨倫理問題。儘管如此,隨機森林因為容易執行而被廣泛使用。特別適用於當預測結果準確度可解讀性更為重要的情境之中。

Ch11|類神經網路
11.1 建立一顆大腦
- 近期類神經網路的流行可歸結於三個主要原因:
1. 資料儲存與分享的進展:提供可以用於訓練的大量資料,從而改善類神經網路的表現。
2. 運算能力提升:比核心處理器速度快上150倍的圖像處理器(GPUs),過去主要被用來顯示高畫質的電腦遊戲畫面,現在被當作在大型資料集中訓練神經網路的強力引擎。
3. 演算法效能被強化:儘管機器效能要達到人腦水準尚有一段距離,目前已經開發了一些顯著提升效能的新技術。
- 自動化圖像識別技術是類神經網路應用的優秀例子,可以應用到許多領域,包括視覺監控、自動導航等。甚至在智慧型手機的應用上,可以辨識手寫文字。
11.3 類神經網路的組成
- 典型的類神經網路由下列構造所組成:
1. 輸入層:這一層神經元處理所有新進圖像的像素點。因此,神經元樹量可能和圖像中的向速點數量一樣多。為了簡潔起見,我們將無數個神經元在圖中省略地以單個節點呈現。為了改善預測,可以使用卷積層。這層不再是處理獨立的像素點,而是改為辨識像素點組合所形成的特徵。因為這種分析方式只依賴特徵本身而非特徵的位置。所以即使關鍵特徵偏離了圖像中心,類神經網路能夠辨識出該數字-這個特性被稱為平移不變性(Translational Invariance)。
2. 隱藏層:當像素點進入類神經網路後,它們會經歷多層轉換,增加這些圖像與類神經網路之前看過的圖像(已知標籤)的整體相似性。儘管越多次轉換越能增加更高的準確率,但運算處理時間也顯著變長。
一般來說,只需要幾次轉換就夠了。在每一層中,神經元的數量應該與圖像中的像素點數量成正比。
3. 輸出層:最後的預測結果顯示在這一層,輸出層可能只有一個神經元,或者和可能的預測結果數量一樣多。
4. 損失層:在訓練類神經網路時會出現一個損失層。通常被放在最後的這一層,會針對輸入資料是否被正確辨識給予回饋,如果沒有成功辨識,則回報錯誤的程度。
- 損失層對於類神經網路的訓練來說至關重要。如果做出了正確的預測,那麼來自損失層的反饋將會增強產生該預測的活化途徑。如果做出了錯誤預測,錯欲將沿著該活化途徑被反向回饋,如此一來,沿著這條路徑的神經元就會重新調整它們的活化標準,減少錯誤發生。這個過程被稱為後向傳播(Backpropagation)。
- 透過著個迭代的訓練過程,類神經網路將會學習將輸入資料與正確輸出標籤相關聯,而且這些習得的關聯將會被編寫為每個神經元的活化法則。
11.4 活化法則
- 當資料集很龐大,且具備先進運算設備時,使用類神經網路的成效最佳,然而演算結果通常不具可解釋性。
11.5 先天限制
- 龐大樣本量需求:類神經網路的複雜性使其能夠識別具有複雜特徵的輸入資料,但只有具備可用於訓練的大量資料才能這麼做。如果訓練用資料集規模太小,可能會導致「過適」情形。不過,若是取得更多訓練用資料太過麻煩,我們可以使用下列技術來盡可能減少出現「過適」情形的風險。
1.次取樣:為了降低神經元對雜訊的靈敏度,可以利用被稱為次取樣(Subsampling)的步驟,對信號樣本取平均值,將輸入的資料「平整化」。舉例來說,如果想對圖像做次取樣,我們可以減少圖像大小,或是將低色彩對比度。
2.失真(Distortion):如果訓練用資料不足,我們可以對每張圖像導入「失真」來建立更多資料。透過將每張失真的圖像視為新的資料,可以擴大用來訓練類神經網路的資料量。類神經網路所使用的失真圖像應該反映原始資料集中出現的失真情形。
舉例來說,在手寫數字的例子中,可以旋轉圖像來模仿某些人如何以某角度書寫,或著是延伸或擠壓某些特定部分(稱為彈性變形)來模擬手部肌肉不受控制的震動。
3.脫落(Dropout):如果沒有什麼可以用來訓練的樣本,不同神經元形成關聯的機會就會減少,容易產生「過適」情形,因為小神經的群集間形成過度依賴。為了解這個問題,我們可以在一次訓練週期中,隨機排除半數神經元。這些脫落的神經元將被停止活化,而其他剩餘神經元依舊正常運作,就好像脫落的神經元不存在一樣。在下一次訓練迭代中則使用一組不同的脫落神經元。這正是脫落(Dropout)技法迫使不同組合的神經元一起作用的方法,從而在訓練樣本中發現更多特徵。
- 運算成本高昂:訓練一個包含數千個神經元的類神經網路可能曠日費時。隨然升級運算設備是個簡單的解決方式,但代價可能相當高昂。
另一個解決辦法是調整演算法用較低的預測準確度來換取更快的運算速度。可以利用下列方式:
1.隨機梯度下降:在典型的梯度下降演算法中,我們再一次迭代中循環了所有訓練用樣本更新單一參數。因為這項作法對大型資料集中相當耗時,替代方案是在每次迭代中使用一個訓練用樣本來更新參數。這個技法被稱為隨機梯度下降(Stochastic gradient descent),雖然產生的參數值可能不是最佳的,但它們已具備相當不錯的準確性。
2.小批量梯度下降:儘管在每次迭代中只參考一訓練樣本可能更有效率,但是代價可能是最後所得到的參數值不夠精確,且演算法可能較為發散,導致參數擺盪於最佳值附近。有一個折衷辦法是參考每次迭代所使用的訓練用樣本「子集」,這個方法被稱為小批量梯度下降(mini-batch gradient descent)。
3.完全連結的神經層:當我們增加越多神經元,可能的神經路徑之數量則以指數增長。為了避免檢驗所有可能組合,我們可以讓最初幾層的神經元-那些處理較小、較低階特徵的神經元,處於部分連結的狀態。只有最後幾層-處理大型、高階特徵的神經元層,需要與相鄰神經元層的神經元完全連結。
- 結果不具可解讀性:類神經網路由多個神經元層組成,每一個神經元層內有數百個由不同活化法則控制的神經元。這項特徵使的我們很難判斷出哪一個特定輸入信號的組合會產生正確預測。類神經網路並不像迴歸分析演算法,可以明確辨識出顯著預測因子並進行比較。類神經網路的黑盒子特性使得人們很難證明其用途,尤其在道德決策方面。雖然如此,我們仍在繼續研究每個神經層的訓練進度,來檢驗獨立得輸入信號如何影響預測結果。

Ch12|A/B測試與多拉桿吃角子老虎機
12.2 A/B測試的限制
- A/B測試方法有兩個問題
1.可能只是僥倖的測試結果
2.損失潛在收入
12.3 Epsilon-Decreasing策略
- Epsilon指的是透所另一種替代方案並確認這個方案的確成效較差,所花費的時間比例。因為我們減少了Epsilon,對於效果更好的廣告越有信心,這種技術屬於增強學習(Reinforcement learning)演算法。
-多拉桿吃角子老虎機問題針對如何對資源進行最佳分配的探索:究竟要深度開發已知回報,或是繼續尋找更好的替代方式。
- 一種解決方案是先找出可能選項,在將剩餘的資源全部投入到成效最好的選項中。這個策略稱為A/B測試。
- 另一種方式則是對成效最好的選項逐步增加資源分配比例,這個方法叫做Epsilon-Decreasing策略。
- 儘管大多數狀況下Epsilon-Decreasing策略比A/B測試有著更高的回報率,但想要找出更新資源分配的最佳速率時非易事。
12.6 Epsilon-Decreasing 策略的限制
1.曝光為固定的,不因時間推移而改變:假如有一則廣告在早上的曝光度比晚上好,另一則廣告在全天中的曝光度無顯著差異。這時若我們在早上比較這兩則廣告,那很有可能做出錯誤判斷,認為第一則廣告的成效比較好。
2.賠率與之前的遊戲無關:如果多次投放同一則廣告,消費者可能會被挑起好奇心,刺激他/她點擊該廣告。這表示我們需要進行重複探索,才能呈現真實的「期望購買機率」。
3.操作後與實際獲得回響之間的最小延遲時間:如果一則廣告經由電子郵件發送,可能需要等待幾天時間,潛在買家才會做出回應。這個情況會阻礙我們立刻瞭解探勘的真實結果,此時因為資訊不夠完整,任何深度開發的嘗試都是不全面的。




專業名詞:
- Activation Rile(活化規則):神經元被活化之前,必須接收輸入信號。活化原則是規範信號來源與強度的標準。神經元的活化經過神經網路傳播,產生預測。
- Aprori Principle(先驗原則):當一個項目集被判定為不頻繁,那麼任何包含這個項目集的更大項目集也是不頻繁的。在判斷項目頻率與關聯性時,,先驗原則是一種用來減少檢測數量的技術。
- Association Rule(關聯規則):關聯規則是一種非監督式學習演算法,用來發掘資料點之間的關聯性,例如識別出哪些項目經常被一起購買。
關聯規則有三種常用指標:
1.{X}的支持度代表項目X的出現頻率
2.{X->Y}的可信度代表當項目X出現時,項目Y也出現的頻率。
3.{X->Y}的增益值項目X與項目Y同時出現的頻率,同時也考慮項目各自出現的頻率。
- Backpropagation(倒傳遞):在神經網路中傳遞迴饋訊息,判斷預測是否正確的過程。假如預測是錯誤的,那麼該錯誤會透過神經網路向後傳遞,如此一來,沿著這條路徑的神經網原就會重新校正活化標準,以減少錯誤發生。
- Boostrap Aggregating (Bagging)(引導聚集演算法、裝袋算法):用來創造數以千計不相關的決策樹的演算法,取所有預測的平均值,以避免出現過適。所有樹由訓練資料的隨機子集合中產生,在所有樹的分枝使用預測變數的隨機子集進行選擇。
- Confusion Matrix(混淆矩陣):一種評估分類預測準確性的方法。除了整體分類的準確性,混淆矩陣可以顯示偽陽性與偽陰性的比例。
- Correlation(相關):測量兩個變數之間的線性關係的方法。相關係數的範圍在-1至1之間,並提供兩項資訊:(1)關聯的強度,最大值為-1或1,最小值為0(2)關聯的方向性,當兩個變數巢一個方向移動為正相關,相反方向移動則為負相關。
- Cross-Validation(交叉驗證):「交叉驗證」是一種將資料用可用性最大化的方法。將資料集劃分為多個用來重複驗試模型的資料片段,最大化可用於驗證的資料。在單次迭代中,除了一個片段之外,將所有其餘片段用來訓練該預測模型,然後隊最後一個片段進行預測。這個驗證過程將被重複,直到每個片段都恰好當過一次驗試片段。模型準確度的最終預測值為所有迭代的結果平均值。
- Dimension Reduction(降低維度):降低維度是一種減少資料變量個數的技法,例如合併高度相關的變量。
- Ensembling(集成):一種結合多個預測模型來改善預測精準度的技法。「集成」之所以有效是因為準確的預測會被互相增強,而錯誤的預測則被抵銷。
- Epsilon-Decreasing Strategy(Epsilon-Decreasing策略):在「探勘更好的替代方案」與「開發已知回報」這兩個階段中分配資源的一種增強學習技法。Epsilon指在探索替代方案所花費的時間比例,當我們掌握了越多關於哪個方案效果最好的資訊,Epsilon值就會減少。
- Feature Engineering(特徵工程):一種從原始資料中產生新變量的過程,講求創新力,例如紀錄獨立變數,或著合併多個變量。
- Gradient Boosting(梯度提升):一種監督式學習演算法,透過選擇不同的二元問題組合在每一棵決策樹上產生分之,形成無數棵決策數。二元問題並非如隨機森林一般以隨機方式解決,而是有策略性地選取,從而提升後續決策數的預測準確度。接著將每一棵樹所作預測結合起來,
給予後續的決策數較大權重,以產生最終預測。
- Gradient Descent(梯度下降):一種校準模型參數的技法。首先對一組參數值進行初步預估,接著進行迭代,將預估值應用到每個資料點以獲得預測,然後調整預估值,減少整體預測誤差。
- K-Means Clustering(K-平均分離):一種非監督式學習演算法,將相似的資料點分到同一個群集,k代表需要進行是別的群集數量。
- K-Nearest Neighbors(K-最近鄰):一種監督式學習演篹法,透過參考最相近的其餘資料點的分類,對資料點進行分類,k代表需要參考的資料點數量。
- Kernel Trick(核技巧):一種將資料點投影到更高維度的技法,此時可以用直線對資料點進行區分。
這些直線分界線計算起來較為簡單,當投影回較低維度時,也可以很容易地轉換成曲線。
- Louvain Method:一種非監督式學習演算法,用來識別網路中的群集。在最大群集之內互動的同時,最小化群集之間的互動。
- Multicollinearity(多重共線性):在迴歸分析中,因為變量之間存在高度相關性,導致回歸權重被扭曲解釋的問題。
- Neutral Network(神經網路):神經網路是一種監督式學習演算法,利用神經元層來傳遞用來學習和預測的活化函數。儘管預測高度準確,但由於太過複雜,在某種程度上仍難以解釋預測結果。
- Principal Component Analysis(主成分分析):主成分分析是一種非監督式學習演算法,透過合併資料中最具啟發性的變數,形成新的變數(稱之為主成分),減少必須分析的變數數量。
- Random Forest(隨機森林):隨機森林是一種監督式學習演算法。透過隨機選擇二元問句的不同組合,產生多個決策樹與分枝。加總各獨立決策樹的預測,以形成最終預測。
- Regression Analysis(迴歸分析):迴歸分析是一種監督式學習演算法,用來找出一條通過或接近最多資料點的趨勢線。趨勢線推導自預測變量的加權組合。
- Regularization(正規化):正規化是一種為了避免預測模型出現過適現象,而引入懲罰參數的方法。這個新的參數透過人為添加預測誤差來懲罰任何增加模型複雜度的項目,從而使演算法在優化模型參數時可以保持複雜度及準確性。
- Reinforcement Leaarning(增強學習):一種機器學習演算法,使用資料中的模型進行預測,並在得出更多運算結果的同時優化預測。
- Root Mean Squared Error(方均根差):方均根差事評估為迴歸預測準確性的衡量指標,且特別適用於避免大型誤差:因為將所有獨立的誤差平方,從而放大了大型誤差,使得均方根差對於異常特別靈敏,使異常值被嚴重懲罰。
- Scree Plot(陡坡圖):陡坡圖可用來決定適當的群組數量。群組可以是資料群集或將低維度。在陡坡圖中,使曲線急遽轉彎的點被稱為「扭結」(Kink),它的位置意味著群集的最佳數量,且群集內散佈情形被控制在合理範圍。
- Subsampling(次取樣):一種防止類神經網路模型發生「過適」現象的技法,透過對樣本取平均值,將輸入的資料「平整化」。舉例來說,如果想對圖像做次取樣,我們可以減少圖像大小,或是將低色彩對比度。
- Supervised Learning(監督式學習):監督式學習是一種機器學習演算法,用來產生預測。這類演算法之所以是「監督式的」,原因在於我們希望演算法根據已經存在的模式進行下一步預測。
- Support Vector Machine(支持向量機):一種監督式學習演算法。在兩組邊緣資料點(支持向量)之間,從中畫一條線,將資料點分成兩組。支持向量機採用「核技巧」來有效推導曲線邊界。
- Test Dataset(驗證用資料集):用來評估一個預測模型之準確性與通則性的資料樣本。在訓練用資料集生成預測模型,側是用資料集被預先保留。
- Training Dataset(訓練用資料集):用來找出潛在預測關聯性,產生預測模型的資料樣本。該模型會以獨立的預測用資料集進行評估。
- Translational Invariance(平移不變性):一種卷積類神經網路的屬性,不管圖像特徵位於圖像的哪個位置都能被辨識。
- Validation(驗證):驗證是一種驗證預測模型新資料之準確度的評估方式。將現有的資料集分割為兩個部分:第一部分可以做為訓練用資料集,產生與調整預測模型。第二部分則可做為新進的代理並做為側是用資料集,用來評估預測模型所做出之預測的準確度。
- Variable(變數):描述資料點的資訊。變數又稱為屬性、特徵或維度。變數有下列四種:
二元變數:最簡單的變數型,只有兩種可能選項。(如:男vs女)
類別整數:表現多於兩個變向的變數(種族)
整數變數:呈現整數的變數(如年齡)
連續變數:最為詳盡的變數類型,將數值呈現至小數點。