2020年4月16日 星期四

演算法下的行銷優勢


演算法下的行銷優勢
  • 數據大多數不是數字。它不全是寫在報表上的量化資料。它是經驗,是報紙報導,是人如何交往、談話的故事。它是敘述性數據。
  • 知識的四種類型
    • 類型1:客觀知識
      • 客觀知識是自然科學的基礎。「我知道2+2=4」,「我知道這塊磚重3磅」,「我知道水是由兩個氫原子與一個氧元子合成的」。這樣的知識不涉及任何真正的省思。
      • 鼓吹客觀知識的人多年來提出多種不同架構,不過我們可以追溯它的歷史,源自十九世界的「實證主義」(positivism)哲學運動。
      • 公司為增加獲利,開始聚焦生產力,以生產為導向的文化應運而生,而客觀測量、保證成果的構想與這種文化頗能切合。就在這波強調客觀熱潮興起的同時,一種新的「現實主義」美學出現了。
    • 類型2:主觀知識
      • 繼客觀知識之後,強調個人意見與感覺的主觀知識登場。認知心理學者研究的,就是這種反映我們內心生活的知識。
    • 類型3:共享知識
    • 類型4:感覺知識
      • 著名經濟學家與歷史學家查爾斯‧金德柏格對銀行家說,想在金融界練就真正的精密,笛福(Daniel Defoe)、巴爾札克(Honore de Balzac)與狄更斯(Charles Dickens)的書都是重要讀物。
  • 就一門學術而言,經濟學是最能從所有四類型知識(包括厚數據與薄數據)中獲益的絕佳例證。既然如此,為什麼這麼多人堅持經即學應該純以客觀知識為範疇?20世紀90年代末期,經濟學大師保羅·薩謬爾遜(Paul Samuelson)談到這種衝突:經濟不是一門精確的科學,而是藝術與科學要件的結合。這幾乎就是我們從經濟學學到的第一個、也是最後一個教訓:根據我的判斷,我們並不是在追求精確,只是在改善我們的數據庫及其相關的推理方式而已。
  • 六個意義建構法程式
    • 一、徵兆與象徵:符號學一直都是了解人類行為的重要部分。研究人員將符號分成兩個部分:符號本身與符號的意義。一多玫瑰花(符號)可能對一個人是愛(符號的意義)的表示,對另一個人而言卻是死亡。每個人都會根據自己的背景與情勢,為符號下定義。
    • 二、心智模型:心智模型是一種分析工具,可以檢驗文字使用的背景,以及文字取得意義的各種方式。以「自由」這兩個字為例,對不同的政界人士而言,意義可能完全不同。
    • 三、尼可拉斯·魯曼(Niklas Luhmann)的社會系統理論:所有專業文化都建構在「二元符碼」(Binary Codes)上。對律師來說,重要的是一個行動合法還是違法。
    • 四、厄文·高夫曼(Erving Goffman)的舞台管理印象論:在1956年出版的人類學研究鉅著<日常生活中的自我表演>(The Presentation of Self in Everday Life>,說明個人如何在社會互動中呈現自我。高夫曼以劇院做比喻說明這些互動,將我們做給外人看的空間稱為「前台」,將我們避開外人、露出原本面貌的空間稱為「後台」。他認為,我們在前台的表現是否成功,取決於後台是否夠隱密、是否能給我們喘息空間。
    • 五、互惠理論: 人類學家馬歇爾·薩林斯(Marshall Sahlines)提出三個給予的模型:強迫性互惠(negative reciprocity)、平衡性互惠(balanced reciprocity)與一般性互惠(generalized reciprocity)。
    • 六、路德維希·維根斯坦(Ludwig Wiffgenstein)的語言理論:在其著作中強調,我們的語言著要不在於文字:重點是觀察,不是長篇大論。
  • 溯因推理的概念能進一步說明這個道理。我們用三種推理來解決問題,分別是溯因、演繹與歸納推理。十九世紀美國哲學家查爾斯·桑德斯·皮爾斯因詮釋這三種推理類型的關係而著名。
    • 演繹基本上屬運算。你首先有一套假設,然後根據這套假定,推斷X或Y為真。我們往往稱這種作法為「由上而下」的推理,因為它從一般推向特定。
    • 另一方面,歸納則以多項前提為開端,逐步推向一個特定結論,因此又稱為「由下而上」式推理。它以特定觀察為起點,然後推項較廣的概論與理論。
    • 因溯因推理不以任何假定為起點、甚至不以任何已知或未知預定概念為開端。正因如此,它是唯一可以融入新知識與見解的推理法。這項過程展開之初,你先得撒下數據蒐集與整理的大網,就是桑德斯所謂「開放」。你隨後辨認蒐集到的數據模式。一旦將這些模式綜合整理,一個或幾個理論開始成形。一種具有說服力的見解於是呈現。


2020年4月15日 星期三

世界第一簡單統計學迴歸分析篇

世界第一簡單統計學迴歸分析篇

- 迴歸分析和複迴歸分析是「預測數值」的分析方法,
例如:從「最高氣溫」預測「冰紅茶的銷售量」。
從「店面面積」和「與車站的距離」預測「新設分店的單月銷售量」。
- Logistic迴歸分析是「預測機率」的分析方法,
例如:從「吸菸量」和「飲酒量」預測「罹患癌症的機率」。
從「學生出勤課數」和「學生模擬考成績」預測「考進大學的機率」。

第1章 基本知識
- 機率密度函數
- 卡方分布表,代表和下圖斜線部分的機率(=面積)P相對應的橫軸座標。
圖中的X^2稱為卡方。
- F分布表,代表和下圖斜線部分的機率(=面積)P相對應的橫軸座標。
第2章 迴歸分析
- 迴歸式y=ax+b,y稱為「因變數」或「從屬變數」,
x稱為「自變數」或「獨立變數」,a稱為「迴歸係數」。
<迴歸分析的步驟>
Step1.先把自變數和因變數的點畫到座標圖上,看看求迴歸式有沒有意義
Step2.求迴歸式(殘差最小平方法)
-a=x和y的離差積項和/x的離差平方和;b=y平均值-x平均值*a
-迴歸式一定通過(x的平均值,y的平均值)
Step3.確認迴歸式的準確度
-複相關係數(R):代表迴歸式的準確度,也就是代表點和迴歸式吻合程度的指標。
實際上,這只是指實際值y和預測值y的單相關係數而已。
-(複相關係數)的平方稱為「判斷係數」,通常寫為R^2。
判斷係數介於0到1之間,迴歸式的準確度越高,判斷係數越接近1,否則越接近0。
-迴歸分析的假設:符合平均為Ax+B,標準差為的常態分佈。
Step4.進行「迴歸係數檢定」
-可確定A是否等於0,若A=0則代表不管X(最高氣溫)是多少,Y(冰紅茶的銷售量)都一樣。
Step5.推測母群體迴歸Ax+B
Step6.預測
- 以上步驟並非每步驟皆缺一不可,若為「敘述統計學」只需做Step1-3,Step6。
例如:小明的年齡與身高。
(因世界上只有一個小明,而小名10歲時身高為150cm,也只有一個值)
所以不需要考慮「推論統計學」的觀點,分析母群體迴歸Ax+B的信賴區間和A<>0是否成立。
- 分析可能會受到時間影響的數據時,最好確定相鄰差的連動狀況,
這種連動狀況稱為序列相關,又稱為自我相關。
表示序列相關程度的指標包括杜賓瓦森序列相關統計量(Durbin-Watson test)。

第3章 複迴歸分析
- 只要把複迴歸分析當成「有兩個以上的自變數的迴歸分析」就行了。
<複迴歸分析的步驟>
Step1.先畫好各自變數和因變數的點座標圖,看看求複迴歸式有沒有意義
Step2.求複迴歸式(殘差最小平方法)
Step3.確認複迴歸式的準確度
- 判定係數R^2的缺點:自變數的個數越多,判定係數就越大。
(即使增加的自變數和因變數毫無關係)。
所以要確定複迴歸式的準確度時,需要計算「修正判定係數」
(調整自由度後的判定係數)R*^2。
Step4.進行「偏迴歸係數檢定」
-有兩種偏迴歸係數檢定:
1.整體檢定偏迴歸係數
2.個別檢定偏迴歸係數
- F分布也可說是基於t分布的「偏迴歸係數檢定」。
Step5.推測母群體迴歸A1x1+A2x2+...Apxp+B
- 需要使用馬氏距離
Step6.預測
- 求「自變數個數少,而且準確度高的複迴歸式」的方法:
變數減少法、變數增減法、變數減增法、總評法...。
總評法
- 以上步驟並非每步驟皆缺一不可,若為「敘述統計學」只需做Step1-3,Step6。
推論統計才需Step1-Step6。
- 複迴歸的因變數必須是「可以測量」的數據,不過自變數可以是:
1.只有「可以測量」的數據
2.有「可以測量」的數據和「不可測量」的數據
3.只有「不可測量」的數據
- 複迴歸分析的自變數只有「不可測量」數據的情況,稱為數量化一類。
- 多重共線性:當自變數之間彼此有密切關聯時,可能會出現下列狀況:
1.求不出偏迴歸係數
2.即使求出偏迴歸係數,數值也會很奇怪,例如本來應該是正數的係數變成負數。
可以用VIF和容忍值指標,確定沒有多重共線性問題。
- 自變數之間彼此有關聯時,最好省略其中一個變數再分析。
- 有些人不把複迴歸分析用於預測,而是驗證「每個自變數對因變數的影響程度」。
筆者不是很贊成,因為此種方式是認定了變數的關係和複迴歸分析的結構一樣,
也許真實情況不是如此。
要檢驗「每個自變數對因變數的影響程度」,與其利用複迴歸分析,
不如使用結構方程模型分析。

第4章Logistic迴歸分析
- 最大概似估計法
- Logistic的因變數必須是「機率」,不過自變數可以是:
1.只有「可以測量」的數據
2.有「可以測量」的數據和「不可測量」的數據
3.只有「不可測量」的數據
(例如:「星期三或星期六或星期日」:1代表是這三天其中一天,0代表是其它日子。)
<Logistic迴歸分析的步驟>
Step1.先畫好各自變數和因變數的點座標圖,看看求Logistic迴歸式有沒有意義
Step2.求Logistic迴歸式
Step3.確認Logistic迴歸式的準確度
- Logistic迴歸式只有判定係數(沒有複迴歸係數)
Logistic迴歸式的判定係數比較不容易變大,所以頂多把它當成參考。
要檢驗Logistic迴歸式的準確度,可以用誤判率=事實和分析結果不一致的個體個數/整體個數。
也可以利用實際Y與預測Y的點散布圖,求單相關係數值。
Step4.進行「迴歸係數檢定」
- 整體檢定迴歸係數(最大概似比檢定)/個別檢定迴歸係數(Wald檢定)
- 卡方分布有時候會被說為是基於標準常態分佈的「迴歸係數檢定」。
Step5.預測
- 勝算比odds ratio
- 風險比



2020年4月5日 星期日

世界第一簡單統計學

世界第一簡單統計學【修訂版】

第一章 確認資料的種類
- 數值資料、類別資料
第二,三章 掌握資料整體的狀態
- 次數分配表Frequency Distribution Table
- 相對次數分配表 Relative Frequency Distribution Table
- 推論統計學:從樣本的資料推論母體狀況的學問。
- 敘述統計學:藉由整理資料,盡可能簡單明瞭地顯示出整體狀況。
第四章 標準分數和離均差分數
- 標準差Standard Deviation
- 標準化Standardization
- 標準化後的資料稱為標準分數Standard Score
標準分數的特徵:
--無論做為變數的單位是什麼,其標準分數的平均數勢必為0,而其標準差勢必為1。
- 離均差分數 = 標準分數 x 10 +50
--無論做為變數的單位是什麼,其標準分數的平均數勢必為50,而其標準差勢必為10。
第五章 求機率
- 機率密度函數Probability Density Function,PDF
- 常態分配
- 標準常態分配(標準常態分配表)
- 卡方分配Chi Square Distribution(卡方分配表)
- 自由度Degree of Freedom:自由度和斜率一樣,都是會影響圖形形狀的數值。
所以只要自由度的值有所改變,圖形的形狀也會隨之改變。
- t分配
- F分配
第六章 調查2變數的關聯
- 相關係數Correlation Coefficient為表示數值資料和數值資料的關聯程度之指標。
- 共變數Covariance
- 變異數Variance
- 相關比Correlation Ratio為表示數值資料和類別資料的關聯程度之指標。
- 克拉瑪相關係數Camer's V:也可稱為克拉瑪的關聯係數、克拉瑪V或獨立係數。
為表示類別資料和類別資料的相關程度之指標。
- 觀察次數Observed Frequency
- 期望次數Expected Frequency
- 皮爾森卡方統計量
- 交叉資料表
第七章 深入理解獨立性檢定
- 獨立性檢定Test of Indepence也可稱為卡方檢定
- 檢定有許多種類喔
- 在檢定中,下列結論的根據有2種:
(1)檢定統計量是否在拒絕域中
(2)P值是否小於信心水準
- 無論是否為獨立性檢定,其「檢定」分析順序均相同。具體來說,如下所述:
Step1 定義母體
Step2 建立虛無假說和對立假說
Step3 選擇進行的「檢定」種類
Step4 決定信心水準
Step5 從樣本資料求出檢定統計量的值
Step6 (1)調查Step5所求出的檢定統計量值,是否在拒絕域中
Step6 (2)調查Step5所求出的檢定統計量值相對應的P值,是否比信心水準小。
Step7 (1)從Step6的檢定統計量在拒絕域之中,則結論為「對立假說正確」。
反之,則結論為「無法判定虛無假說為誤」。
Step7 (2)從Step6所得的P值若小於信心水準,則可作出「對立假說為正確」的結論。
反之,則結論為「無法判定虛無假說為誤」。
- 檢定的實例
- 獨立檢定和齊一性檢定(test of homogeneity)
- 若檢定統計量的值在拒絕域之中,則作出「對立假說為正確」的結論。
反之,則作出「無法判定虛無假說為誤」的結論。
- 例題和解答


- 所謂「檢定」指的是,由樣本資料來推測分析者針對母體所建立的假說是否正確的分析方法。
- 「檢定」的正確名稱為統計的假說檢定。
- 檢定統計量是將樣本資料轉換為1個數值的公式。
- 信心水準一班都設為0.05或0.01。
- 拒絕域為對應信心水準的範圍。
- 獨立性檢定為推測「母體的克拉瑪相關係數的值是否為0」的分析法。
也可說是推測「交叉資料表中的2變數是否有關聯」的分析方法。
- 若母體的克拉瑪相關係數的值為0,則「皮爾森卡方統計量」為遵守卡方分配。
- 虛無假說若為真,統計性檢定中的P值,
為求出大於或等於本次所求的皮爾森卡方統計量之機率。

2020年4月1日 星期三

數據分析的力量 Google、Uber都在用的因果關係思考法

數據分析的力量 Google、Uber都在用的因果關係思考法
2018/02/26

- 對於「難以導出因果關係的問題」,能夠予以百分之百解決的最佳方法,在醫學與經濟學等學術領域
稱為RCT(Randomized Controlled Trial,隨機對照實驗),在商業領域則稱為A/B測試。
- 假如不能使用在現實世界「實際進行實驗」的RCT,可以使用「自然實驗」(Natural Experiment)
,來導出因果關係,它的想法乃是「善加利用彷彿已做過實驗的狀況」。
例如以下方法:
1.善加利用「界線」的RD設計(Regression Discontinuity Design,不連續迴歸設計)
2.善加利用「階梯狀變化」的堆集分析(Bunching Analysis)
3.運用「數個期間的資料」之縱橫資料分析(Panel Data Method)

第1章 從資料導出因果關係為什麼並不容易?
* 難以證明因果關係的原因1:有可能是其他因素造成影響。
-- 難以證明「X對Y造成影響」之因果關係的最大原因,就是
無法排除「Y所以產生變化,或許是受到X以外的其他因素影響」這個可能性。
* 難以證明因果關係的原因2:有可能為反向因果關係。
-- 有些時候也可能為「反向因果關係」(Reverse Causality),意即實際上是「Y對X造成影響」。
* 因果關係不同於相關關係
-- 即使得知X與Y有相關關係,也無法以這項結果證明兩者有因果關係。
* 當X與Y有相關關係時可能發生的三種狀況
1.可能是X對Y造成影響
2.可能是Y對X造成影響
3.可能是V對X與Y雙方造成影響
舉例:
1.可能是廣告(X)對業績(Y)造成影響
2.可能是業績(Y)對廣告(X)造成影響
3.可能是其他的因素(V)對廣告(X)與業績(Y)雙方造成影響
- 大數據無法根本解決前述的因果關係問題。前面探討的「難以正確分析因果關係」之問題,
在統計學上稱為「偏誤」。偏誤(Bias)就是「透過分析得到的估計量之偏差」。
- 資料分析的目的,大多是探討「某因素(X)對結果(Y)有影響嗎?」亦即X->Y的因果關係。
- 「相關關係」是指X與Y互有關聯,與「因果關係」完全不同。
- 無論是經商還是制定政策,一旦誤判因果關係就會出現錯誤決策,從而損失龐大利益或浪費稅金。

第2章 在現實世界「實際進行實驗」――隨機對照試驗(RCT)
- 運用資料分析釐清因果關係的最佳方法就是「隨機對照試驗(RCT)」(RCT,Randomized Controlled Trial)。在商業領域,RCT又稱為A/B測試(A/B testing),意指A組和B組進行比對。
- 因果關係帶來的效果,稱為「介入效果」(Treatment Effect),這原本是醫學名詞。
- 雖然我們無法測定一個人的介入效果,卻可以測定
「平均介入效果」(ATE,Average Treatment Effect),亦即數個人的介入效果平均數。
- 關鍵概念為介入組與比較組。介入組(Treatment Group)顧名思義,就是受到介入的群組。
反之,比較組(Control Group)是指沒受到介入的群組。有些統計學教科書會譯為對照組或控制組。
- 藉由比較兩個群組來測定平均介入效果時所需的假設:如果沒受到電價上漲之介入(X),
比較組的平均用電量(Yc)與介入組的平均用電量(Yt)就會相同。
* RCT的鐵則1:妥善建立可透過分析測定因果關係的群組,而且一定要設置比較組。
* RCT的鐵則2:一定要隨機分組。
- 實際上該如何進行「隨機分組」?
簡單隨機化法(Simple Randomization)、集區隨機化法(Block Randomization)。
* RCT的鐵則3:各組的樣本數必須充足。
* RCT的優點1:可用科學證明因果關係。因此也能對專家以外的人進行較簡單易懂的說明。
* RCT的優點2:分析手法與結果具透明性,
* RCT的弱點:進行實驗時需要成本、勞力、各組織的合作。

第3章 善加利用「界線」的RD設計
- 如果無法使用RCT該怎麼辦?介紹「自然實驗」手法
- 近年來,經濟學領域相當盛行研究這個問題。所謂的「自然實驗」(Natural Experiment)便是其中一種「善加利用猶如做過實驗的狀況」,可運用在各種場合上的手法。由於這種手法是利用近似實驗的狀況,所以又稱為「準實驗」(Quasi-Experiment),本書則採用「自然實驗」這個名詞。
- 兩者相比,RCT的優點是,資料分析者可設計出最適合進行分析的實驗。
反觀自然實驗的優點則是,即使不用RCT那樣的方式實施政策或商業上的介入,依然可以進行分析。
- RD設計(Regression Discontinuity Design)又稱為「不連續迴歸設計」,
關鍵概念在於不連續(Discontinuity),抑或是界線(Borderline)。
- 要探索的因果關係為:醫療費用的自負額(X),是否會對醫療服務使用人數(Y)造成影響。
- RD設計的假設:如果自負額(X)未在界線上變動,醫療服務使用人數(Y)的平均數就不會在界線上發生跳躍。
- 換句話說,RD設計的假設是上圖虛線部分「無法觀察」的資料,因為沒辦法用資料證明這項假設是否是真的正確。分析者能夠做的,只有針對「這項假設應該成立吧」之議題進行討論。
- RCT只要進行隨機分組,比較各組分析因果關係所需的假設即成立,這點可用數學證明。
反觀RD設計等自然實驗手法,無法用數學證明真的成立,只能不斷進行討論。
- 運用RD設計時分析者該做的事:檢驗其他因素是否在界線上發生不連續的跳躍。
*什麼情況會使RD設計的假設不成立?
1. 如果自負額以外的因素,在七十歲時發生不連續的變化,影響到醫療服務使用人數,RD設計的假設就不成立。以年金為例,我們假設七十歲生日一過,年金給付額就會大幅提高。
2. 另一種會使RD設計的假設不成立的情況,就是資料主題能夠操縱圖中橫軸的變數,以前述的例子來說,就是患者能夠謊報自己的年齡。
因此,運用RD設計進行分析時,必須符合「資料主體無法恣意操縱橫軸的變數」之條件。
- 我們可將RD設計想成是在界線附近自然發生的RCT。
*RD設計有什麼弱點?
- RD設計的弱點就是:這個方法只能測定,關於「界線附近的人」之因果關係。
想透過分析求得的因果關係為:自負額(X)對醫療服務使用人數(Y)的影響。
但是我們能利用七十歲之界線以RD設計分析出來的因果關係,
只有「年齡接近七十歲的民眾對自負額有何反應」。
- 假設想測定的因果關係是:2008年8月電價調漲為兩倍(X)是否對電力使用量(Y)造成影響。
因此,這裡需要的假設就是:如果電價未在界線上發生變化(X),電力使用量(Y)就不會在界線上發生跳躍。
- 如同前面的說明,RD設計等自然實驗法「無法證明假設成立」,分析者只能提出「假設應該成立」的證據。

- RD設計的鐵則1:找出在「界線」上,僅一種因素(X)發生「不連續」變化的狀況。
- RD設計的鐵則2:檢查X以外的因素,有無在界線附近發生不連續的變化。
- RD設計的優點1:假設若成立,即可利用界線附近類似RCT的狀況。
- RD設計的優點2:分析具透明性,可用圖呈現主要結果,方便分析者以外的人理解。
- RD設計的優點3:由於商業與政策方面的各種場所、場面,均存在可運用RD設計的「界線」,這可說是無法實施RCT時的有效分析手法之一。
- RD設計的弱點1:RD設計需要的假設,無法證明成立,只能提出可能成立的根據,這點跟RCT相比是很大的弱點。
- RD設計的弱點2:RCT可針對全體受測者主張因果關係,反觀RD設計只能針對界線附近的資料主張因果關係,因此有些時候缺乏可用性。

第4章 善加利用「階梯狀變化」的堆集分析
- 推集分析(Bunching Analysis)是善用階梯變化探究因果關係的手法。
- 堆集分析關注的是橫軸變數的變動。反觀RD設計則是利用「無法操縱橫軸的變數」之狀況,兩者在這點上有很大的差異。
- 堆集分析的鐵則1:評估某個呈階梯狀變化的誘因(商品的價格或折扣、所得稅之類的稅金
、政府發放的輔助金等)能否用於分析。
- 堆集分析的鐵則2:必須確定呈階梯狀變化的,只有想透過分析釐清的因素(X)而已,
其他因素不會在級距的分界點附近發生不連續的變化。
- 堆集分析的鐵則3:分析誘因大幅變化的分界點上發生的堆集,檢驗人或企業對誘因的變化有何反應之因果關係。
- 堆集分析的優點1:只要分析所需的假設成立,便可利用界線附近類似RCT的狀況。
- 堆集分析的優點2:分析具透明性,可用圖視覺化呈現分析結果,方便分析者以外的人理解。
- 堆集分析的優點3:由於商業與政策方面的各種場所、場面,均存在「誘因呈階梯狀變化的狀況」,這可說是無法實施RCT時的有效分析手法之一。
- 堆集分析的弱點1:分析所需的假設,無法證明成立,只能提出可能成立的根據,這點跟RCT相比可說是很大的弱點。
- 堆集分析的弱點2:RCT可針對全體受測者分析因果關係,反觀堆集分析只能分析對呈階梯狀變化的誘因產生反應的主體(堆集的主體),因此有些時候缺乏可用性。

第5章 運用「數個期間的資料」的縱橫資料分析
- 若是沒有適合的界線就無法使用前兩章介紹的方法,因此介紹「縱橫資料分析」。
- 假設政府推動某項政策時,或是企業實施某項措施時,有的群組受到介入的影響,有的群組沒受到影響。在這種狀況下,就算資料分析者沒進行RCT之類的實驗,也會自然形成介入組與比較組。而且,只要有了雙方受到介入前後的資料,理應就能進行相當具說服力的因果關係分析。這就是縱橫資料分析的基本概念。
- 因此,這種分析方法又稱為差異中的差異法(Difference-in-differences methods)。
另外,由於這種方法去除了各組不隨時間改變的固定效果,所以也稱為固定效果估計法(Fixed effect estimation)。
- 縱橫資料分析需要的假設,即是以下要談論的「平行趨勢假設(Parallel Trend Assumption)」。
- 縱橫資料分析的假設:如果沒發生介入,介入組的平均結果(Yt)和比較組的平均結果(Yc)就會平行推移(平行趨勢假設)。
- 對雙方造成相同程度影響的因素,稱為共同衝擊(Common Shock),換言之,就算發生了某種衝擊
,只要雙方共同發生就不成問題。
- 如果能取得數個群組數個期間的資料,便有機會運用縱橫資料分析。
- 縱橫資料分析的鐵則1:先確定能否取得介入發生前後,介入組和比較組雙方的資料。
- 縱橫資料分析的鐵則2:檢驗「平行趨勢假設」是否成立。
- 縱橫資要分析的鐵則3:若判斷平行趨勢假設很可能成立,就將雙方的平均數推移製成圖表,測定介入效果的平均數。
- 縱橫資料分析的優點1:只要蒐集得到需要的資料,可應用範圍會比RD設計及堆集分析更大。
- 縱橫資料分析的優點2:分析具透明性,可用圖表視覺化呈現分析結果,方便分析者以外的人理解。
- 縱橫資料分析的優點3:RD設計與堆集分析的可分析對象範圍較小,反觀縱橫資料分析可針對隸屬於介入組的所有主體分析介入效果,這點上更勝一籌。
- 縱橫資料分析的弱點1:分析所需的假設無法證明成立,只能提出可能成立的根據,這點跟RCT相比可說是很大的弱點。
- 縱橫資料分析的弱點2:跟RD設計及堆集分析的假設相比,「平行趨勢假設」非常難成立
,實際上大多會被推翻。

第6章 實踐篇:如何將資料分析應用在經商或政策制定上?
- 大多數人每天的時間都被業務占去,實在很難自行分析資料。在這點上,資料分析專家能夠提供許多服務,例如掌握問題、檢驗該分析的問題、檢驗回答問題所需的資料、設計RCT或自然實驗,以及最後的分析和簡報,因此和他們建立合作關係便可解決許多問題。

第7章 進階篇:了解資料分析的不完全性與極限
- 假如資料本身有問題,分析手法在出色也難以解決問題。
- 分析結果的「外在效度」(External Validity)問題。
- 出版錯誤與夥伴關係偏誤問題。
--出版偏誤(Publication Bias)是指發生以下狀況的偏誤。假設某研究者要檢驗「X對Y造成的影響」之因果關係,分析之後發現「影響為零」,也就是說兩者毫無因果關係。這個結果本該是有用的科學發現才對。
- 介入存在「外溢效果」時的注意要點
--稱為介入的外溢效果(Spillover Effect),也就是說,原以為只有介入組能得到好處的介入,以某種形式影響到比較組。
如果介入存在外溢效果,比較組就不再是單純的比較組了。
如此一來,就算比較介入組與比較組的結果差異,也無法正確估計介入效果。
- 了解每種資料分析手法均存在不完全性與極限十分重要。
- 若從外在效度與內在效度這兩個角度來看,何種分析手法較為出色則視狀況而定。
- 資料分析的結果,存在「出版偏誤」與「夥伴關係偏誤」問題,若結果不如資料分析者或資料分析夥伴的預期,就有可能不會公開發表。
- 如果介入組受到的介入也會對比較組產生外溢效果,就必須注意。
- 如果介入會產生一般均衡效果,小規模實驗的結果就有可與大規模政策的結果不同,因此若要將RCT或自然實驗的成果推論到大規模的介入,就必須深思熟慮。

第8章 給想進一步學習的人:參考書籍介紹
- 本書省略了需要高階數理統計知識的分析手法(工具變數法、匹配法、合成對照群法
、離散選擇法、結構估計法等)。
- 本書的內容,在學術上屬於「計量經濟學」領域。在計量經濟學的書籍當中,
本書算是「聚焦於資料分析的實踐層面、學習計量經濟學的超級入門書」。
- 讀完入門書後的中階書(經濟學學院大學生程度)與高階書(研究所程度)。
學習這個階段的課程時,重要就是要挑選包含1.計量經濟學理論的理解、
2.具體應用事例的介紹、3.資料分析的練習這三個項目,且能均衡學習的教科書。

2020年3月21日 星期六

圖解 AI 人工智慧大未來

圖解 AI 人工智慧大未來:關於人工智慧一定要懂得 96 件事

- 透過形式主義的手法可以用數學重現人類的理論邏輯思考,
延伸閱讀<數學原理>懷海德(Alfred North Whitehead)與伯特蘭·羅素(Bertrand Russell)。

Chapter 2 自我學習的人工智慧
- 所謂監督式學習就是同時提供問題與答案讓人工智慧學習問題解決的方法。
- 強化學習讓人工智慧依照點數的增減來做自我評估,
如此,就會讓人工智慧朝著增加點數的方向學習。

Chapter 4 深度學習的誕生
- 類神經網路有別於傳統人工智慧技術,歷經長達60年的淬鍊,終於開始發揮它真正的價值,
也就是「深度學習」的誕生。
- 反向傳播法(Backpropagation)、卷積神經網路(Convolutional Neural Network)、
自動編碼器(Autoencoder)這三個技術是深度學習的研究基礎。
類神經網路的「調節計算」與「反向傳播」技術
- 克服單層感知器限制的是「反向傳播」技術的開發,透過與神經網路多層化的連結,
克服了原本「只能處理現應分割問題」的缺陷。
- 感知器在突觸間「加權計算」的研究上很受到矚目,但當要處理的規模變大時,
感知器就很難找出最適當的加權(也稱為權重),而用來解決此問題的方法也就是「反向傳播」技術。
- 首先確認類神經網路某一組輸入值對應的輸出值,與正確解答間的誤差為何。修正誤差時,
從輸出層反向對輸入層的加權計算做修正,因此稱為「反向傳播」。
- 傳遞錯誤訊息的人會給予較低的權重(降低點數),而對傳遞接近正確訊息的人給予
較高的權重(增加點數),一直修正到最初傳遞訊息的人(輸入層的突觸)為止。
- 反向傳播法技術並不是萬能的,其用來修正誤差的方式也只適用「監督式學習」,
而且無法有效處理4層以上的類神經網路。也就是說,其有效處理的部分只有3層的類神經網路。
實現多層次類神經網路的「卷積神經網路」
- 單層突觸無法解決的問題必須靠多層突觸解決,也就是說,藉由層次的增加,
讓處理資料的運用可以更「廣」也更「深」。卷積神經路時現類神經網路的多層化,
讓人工智慧得以做到影像辨識。
- 類神經網路的各層扮演著諸如「角度分析」、「曲線分析」、「直線分析」工作的角色,
最後再將各種特徵做綜合比較並重現類似人類辨識的能力。
突破多層次限制的「自動編碼」技術
- 為處理4層以上卷積神經網路無法有效運作問題,解決的方法就是利用「自動編碼器」技術,
就由「編碼」(壓縮)與「解碼」(解壓縮)的方式帶來了出奇的效果。
- 「自動編碼器」技術的另一個重點是資料編碼。編碼就是把整體的符號數變少,
也就是做資料的「壓縮」。事實上,「做壓縮」就等於是「辨識特徵」,不但可以刪除不必要的資料,
也可以減少傳遞錯誤資料的可能性。
深度學習的誕生與特徵取出能力
- 「深度學習」也可以說是把人工智慧用在,篩選、擷取和分析「卷積神經網路中」
每一層資料的特徵。這項革命性技術讓原本只能由人力輸入的參數設定(特徵擷取),
改為透過機器學習來處理。

藉由深層強化學習提升「辨識力」
- 深度學習與強化學習結合就變成「深度強化學習」。所謂的強化學習,就是要讓人工智慧
反覆錯誤中學習並給予過給予獎勵來接近市場目標的學習方法,
主要運用在遊戲或路徑搜尋等在特定環境行動的人工智慧。
- 而「深層強化學習」的最大特點就是深度學習的特徵擷取。
擅長影像辨識的「卷積神經網路」
- 在多層次類神經網路中,最具代表性的就是「卷積神經網路」(CNN,Convolutional Neural Network),特別適用於影像辨識CNN的特點就是擅長強調特徵處理。採用「卷積」的處理方式,會把影像的特徵(如形狀、顏色、樣式等)先做分類,然後再強調特徵的部分,之後再藉由特徵來比較判斷
「此特徵是屬於什麼影像」。換句話說,卷積處理可以除去不必要的資料。
- 卷積神經網路除了「卷積處理」外,還有另一個「池化」(Pooling)技術,也就是先確認影像特徵
(如形狀、顏色、樣式等)的組合方式,然後再統整為一個資料來處理。在把影像切割成細小像素再組合的部分與卷積的方式一樣,但在影像處理上是不同的。「池化」是把影像的解析度降低處理,而「卷積」只是把特徵的為小部分保留組合起來,並不會改變影像的解析度。

機器翻譯的革命技術「循環神經網路」
- 「循環神經網路」(RNN:Recurrent Neural Network)擅長處理自然語言,
「循環」就像是雞生蛋、蛋生雞的關係,結果就是原因的一種循環。這和程式語言的「遞迴」概念相同。人工智慧在理解句子時,最大的問題就是單字的意思會隨句子變化。
譬如把「我養貓」分成「我」、「養」、「貓」,每個字有自己的意思,
而字與字之間的組合也有其關係性,全部合起來就構成一整句的意思。這裡就出現了所謂的循環性:
如果不知道單個字的意思就不知道彼此的關聯,而不知道彼此的關聯就不知道單個字的正確意思。
將單字與文章的意思「向量化」
- 藉由「循環神經網路」讓人工智慧可以翻譯出更流暢的自然語言,為了更進一步提升其翻譯能力,
開始了將單字與句子含意「向量化」的研究。
人工智慧藉由可自由使用的資源而持續進化
- 深度學習帶給人工智慧研究的衝擊因研究成果採用開放原始碼形式而更加快速。
譬如Google所提供的TensorFlow,透過Open Source(開放原始碼)的軟體函式庫,無論是誰都可以自由使用或是將其商業化。其他像是日本新創公司Preferred Networks提供Chainer、加州大學柏克萊分校釋出的Caffe等軟體框架(Framework)或函示庫,也紛紛採用開放原始碼方式。

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女)
類別整數:表現多於兩個變向的變數(種族)
整數變數:呈現整數的變數(如年齡)
連續變數:最為詳盡的變數類型,將數值呈現至小數點。