fbpx
資料分析、迴歸與預測_封面_280

《資料分析、迴歸與預測》讀後:對數log資料轉換的一些探討

《資料分析、迴歸與預測》這本書與掌櫃的緣分說來也滿神奇的,這是好多年前在某個任職單位清理倉庫時,在眾多雜物當中碰巧被我撿回來的一本書,對它的第一印象是印刷並不精緻、也沒有名人推薦,既不像統計教科書,又比坊間教行銷分析的書更難,但是才翻了幾頁,立刻有種挖到寶的感覺。

原來作者大有來頭,David E. Bell 和 Arthur Schleifer Jr. 兩位是在哈佛大學商學院 (HBS) 長年專門教 MBA 決策分析的教授,《資料分析、迴歸與預測》的一個特別之處是大量結合統計模型教學和實際行銷案例,其實也就是從哈佛大學 MBA 課程講義萃取出來的精華,好好把書唸通也就等於在哈佛大學裡面通過一門課程。

讀不了哈佛,念本書過過乾癮也是不錯的(!?)。

《資料分析、迴歸與預測》中有相當篇幅在教基礎統計學概念,學理部分與統計學教科書並無二致,本書附有很多真實企業資料,適合從事行銷決策分析、數據分析顧問相關工作、或是跨領域而來想涉略「統計+行銷/商業」的讀友練練功夫。

資料分析、迴歸與預測_封面_280

《資料分析、迴歸與預測》除了統計學理之外,關於資料判讀與對數資料轉換也有些討論值得一看,溫掌櫃選出幾則底下略作探討。

生命週期效應 (Life-cycle Effect) 與世代效應 (Cohort Effect)

在分析資料的時候,有許多數據表面無法呈現的因素會影響我們的判讀,其中有兩個在行銷分析上特別容易遇到的時間效應:生命週期效應 (Life-cycle Effect) 與世代效應 (Cohort Effect) 。

生命週期效應指的是數據背後的行為會隨著階段不同而改變,例如 10 歲孩童大多不愛喝咖啡,但等到 30 歲再測量一次就會得到完全不同的結果。

世代效應則與上述相反,是對個人而言一生都不太會改變的行為傾向,但群體角度觀察會發現世代差異,例如 X 世代 (1965年~1980年代出生) 的工作價值觀就與 Y 世代 (1980~1990年代出生) 截然不同。

特別對於世代效應來說,單單看一份數據通常不足以做出有效的結論,例如簡化自書中的這個例子,針對畢業校友的感恩分數調查:

資料分析迴歸與預測_世代效應_校友感謝問卷

如果只看左邊的 2010 調查,其實很難證明是不是受到「生命週期效應」的影響,使得越年輕的校友分數越低,但當加入了右邊的 2020 調查之後,現在我們有兩份不同時間點的調查,卻都得到相同的趨勢,於是比較能夠肯定這跟生命週期無關,是受到「世代效應」的影響。

雖然只是很簡單的道理,實務上很容易被忽略。要減少一次性斷面分析造成的誤區,最起碼需要兩份不同時間點的資料才能夠確定

對數轉換:消除加成性錯覺與季節性變化

有時候,將資料視覺化之後,看起來似乎有著某種擴大或縮小趨勢,卻沒有真正的統計變量差異,造成這種現象的資料通常有著所謂的加成性特徵 (Multiplicative) ,直接觀察以下範例比較容易理解:

資料分析迴歸與預測_加成性效應_薪資變化

虛構的這間真佛心公司針對大學學歷以及 MBA 學歷的員工有著不同的起薪,從圖表趨勢可觀察到似乎兩者的薪資差距逐漸擴大,但是「加薪幅度」實際上是相同的,範例中使用的公式簡單到可能會讓你嚇一跳:每年增加 15% 薪資。

加成性的威力就在於此,單純的公式就能輕易產生分析上的錯覺,幸好它的解方就跟問題一樣簡單:取對數 log 。

即使是自認數學不好的讀友可能對以下的對數轉換也有印象,透過對數轉換,我們能把本來有著相依 (乘法) 關係的因素轉為獨立 (加法) 關係:

資料分析迴歸與預測_log前 資料分析迴歸與預測_log後

把上式對數轉換套用到真佛心公司的薪資變化趨勢,我們就得到了一個完全不同的故事:兩條斜率相同的直線。

資料分析迴歸與預測_加成性效應_薪資變化_log

無獨有偶的,行銷分析必不可少的銷售資料,有時候也能夠透過對數轉換消除季節性變化,把真實的趨勢展現出來。底下的銷售資料原始數據似乎暗示著漲跌幅度逐年攀高,但取對數之後,可以觀察到實際上變化幅度是相同的:

資料分析迴歸與預測_加成性效應_季節銷售變化 資料分析迴歸與預測_加成性效應_季節銷售變化_log

對數轉換在統計上還有更深入的意義,許多統計模型都要求變數之間的「線性關係」,包括《資料分析、迴歸與預測》花費許多篇幅討論的線性迴歸式 (Linear Regression Model) ,如果資料不是線性,往往就需要各種繁瑣加工使得數據能夠符合模型需要,對數轉換就是其中一個方法。

再次回到真佛心公司的薪資分析圖表,你覺得這是一份線性資料或不是呢?

Log 對數轉換的 3 種延伸情境

現在我們知道,對於具備加成性特徵的資料,取對數 log 能夠有效地把乘法關係轉換成加法關係,在某些情境下,可以修正資料視覺化的趨勢錯覺以及消除季節性變化。

考慮一個極簡的迴歸函數: Y =  aX + b ,其中 Y 應變數是被預測對象,自變數 X 是預測因素, a 、 b 分別是迴歸係數和常數。

《資料分析、迴歸與預測》針對加成性資料取對數,進一步細分成 3 種情況並提出對應的 log 轉換策略:

  • 案例 #1:等比例的 X 造成固定量的 Y 改變,例如所得替代率改變對於個人壽命 Y 的影響
    • 對應的 log 轉換策略為: Y = alog(X)+b
  • 案例 #2:固定量的 X 造成等比例的 Y 改變,例如性別 X 改變對於吸菸率 Y 的影響
    • 對應的 log 轉換策略為:Log(Y) = aX + b
  • 案例 #3:等比例的 X 造成等比例的 Y 改變,例如經濟成長率 X 對於儲蓄率 Y 的影響
    • 對應的 log 轉換策略為:Log(Y) = alog(X) + b

在上述的案例當中,直覺上似乎都呈現出某種線性關係,因而使用線性迴歸式來計算時,線性配適度可能還不錯,但是現實世界的行為往往不是絕對的直線,經常都是遞增/遞減的線型,符合經濟學的基本原理:邊際效用遞減 (The Law of Diminishing Marginal Utility)

具備邊際效用遞減特質的線型在生活中比比皆是,例如各種「學習曲線」、「給予窮人的 1 萬元與給予富豪的 1 萬元其價值是不同」、「快樂會麻痺」、「藥物成癮」等等。

採用不同的對數轉換策略,可以處理多種效用遞減以及加成性的問題,下圖是用簡單的 Y =  aX + b 算式來製作範例,方便觀察對數轉換之後的線型變化: 

資料分析迴歸與預測_3種log轉換的比較

對數轉換後的資料解釋

許多商用統計學課本的前幾章都會談到圖表誤解的觀念,只要稍稍改變座標軸單位間隔,整個圖表看起來就會得到非常不同的結論,就像股市節目經常拿出來的各種年月日線圖一樣,上升還是下降?往往各說各話。

資料轉換也是如此,有時候看起來具備某種趨勢,其實可能不是這樣,從先前大學 vs MBA 學歷的薪資圖表中已經得到印證。

《資料分析、迴歸與預測》提出的對數轉換技巧雖然有助於改善迴歸模型,但它也是有一些缺點的,例如案例 #1 中對於自變項 X 做轉換後再導入迴歸式會使得迴歸係數 a 失去直覺性,舉個例子, 50 log (價格) 是多大的值很難直觀判斷,而且轉換後的意義也不夠明確,顯然無法再以解釋線性迴歸係數的方式看待它。

進一步的解決方法需要往更高階的統計模型當中探索,例如案例 #2 的形式實際上跟邏輯迴歸/羅吉斯迴歸 (Logistic Regression) 有所關聯,在 Logistic Regression 中自有一套勝算比 (Odds) 形式,可據此推導出反求機率和解釋迴歸係數。

雖然資料轉換會使迴歸係數變得無法解釋或者不易使用,它仍然是一種有效的迴歸調校手段,因為迴歸模型整體的判定係數 (Coefficient of Determination) R^2 仍然具有相同意義,可以據此判斷資料轉換前/後模型預測力的變化。

  1. […] log,使圖形呈現指數的圖形。實際 log 所對應數值所畫出來的圖形可以參考這裡。可以看的出來在一開始 y […]

Leave a Comment

發佈留言必須填寫的電子郵件地址不會公開。