iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 12
6
AI & Data

AI無法一步登天,讓我們先從專有名詞定義開始。系列 第 12

資料分析(Data Analysis) -4.關聯(購物籃)

【1.分類分析(Classification)】、【2.群集分析(Clustering)】、
【3.迴歸分析(Regression)】、【4.時間序列分析(Time Series Analysis)】...

5. 關聯分析(Associative Analysis) & 6. 順序型態分析(Sequential Pattern Analysis)

這邊就一起說明了,順序型態分析差異只在於加入時間先後當考慮。

【迴歸分析】加入時間因素變成【時間序列】
【關聯分析】加入時間因素變成【順序型態】

用這方式理解,是否簡單多了呢?
5和6這二種分析又常被稱為「購物籃分析」,因為最常用的概念就是:什麼商品最常被一起購買?哪個商品先被購買後,哪個商品會被接著購買?

近年來越來越流行關聯分析,逐漸取代掉了迴歸分析,在於關聯分析使用的統計值,非常容易理解、也很容易解釋,既直覺、又不失統計方法之姿;相較於迴歸分析那怎麼解釋都解釋不清楚的顯著水準、p-value、R square,關聯分析確實親民多了,由於系列文20天開始,我們將以SQL做出關聯分析的統計值,故這邊會花點篇幅說明一下。

最容易理解的方式,是透過2個商品組合,開始著手,如果一剛開始接觸,就考量多項商品,例如ABCD四種商品被一起購買之後(彷彿七龍珠的概念),這個人100%會去買Z商品。這種過程就太為複雜,從1對1的二商品開始,基礎才夠踏實,要延伸也才能理解自己到底在做什麼。

我們舉例如下:
https://ithelp.ithome.com.tw/upload/images/20181012/20111566CM9QM06nPo.png

全部訂單:2000筆
購買商品A的訂單:1250筆
購買商品B的訂單:1000筆
同時購買商品A和商品B的訂單:500筆
沒有購買商品A也沒有購買商品B的訂單:250筆

支持度(Support)

於【全部訂單】(2000)中,【同時購買商品A和商品B的訂單】(500)的比例(500/2000=25%)。
支持度(Support)為25%,數學公式以交集P(A∩B)來表示。

信賴度(Confidence):

信賴度有兩個!信賴度有二個!信賴度有2個!

在已確定【購買商品A(先決條件)的訂單】(1250)中,【也選擇商品B(次要條件)的訂單,換句話說也就是同時購買商品A和商品B的訂單】(500)的比例(500/1250=40%)。
A=>B的信賴度(Confidence)為40%,數學公式以條件機率P(B∣A)表示。

在已確定【購買商品B(先決條件)的訂單】(1000)中,【也選擇商品A(次要條件)的訂單,換句話說也就是同時購買商品A和商品B的訂單】(500)的比例(500/1000=50%)。
B=>A的信賴度(Confidence)為50%,數學公式以條件機率P(A∣B)表示。

可以發現不同的先決條件,信賴度不同。

增益率(Lift):

不要看數學公式,除非資質很好,否則只會更加混亂,也不容易搞懂原理,和為什麼要這樣算,直接看我以下這樣說比較快:

全部訂單2000筆,購買B的有1000筆,B佔了50%。
那麼,當我現在隨便抽出1250筆訂單,購買B的應該要有幾筆?
照道理來說,推測應該要有50%,625筆,對吧?

結果看下去,為什麼只有500筆!為什麼只有40%?
這個預期的50%當作分母,實際的40%當作分子
40%/50% = 0.8 就是Lift值。

原來,那1250筆不是隨便抽的,而是有購買A的那1250筆訂單。
可見,相較於正常狀況,
我們原本預期1250筆裡面要有625筆購買B。
卻因為它購買了A,導致它只剩下500筆,
表示購買A的人,會比較不想去買B,即是Lift值的概念。

好吧,如果你真的想看數學公式,那它長這樣Lift(A,B) = P(B|A)/P(B) = P(A|B)/P(A)
原本定義下:

Lift < 1,表示A的出現與B的出現是負相關。
Lift > 1,表示A的出現與B的出現是正相關。
Lift = 1,表示A與B為完全獨立個體無相關。

但是,透過上述可發現,哪這麼剛好Lift=1,剛剛好625筆才會Lift=1,626就大於1、624就小於1啦,難道這中間都不會有抽樣誤差啊?所以這也是關聯分析較為人所詬病及爭議之處,到底考量抽樣誤差之下,界線應該抓到哪呢?目前業界慣用的是,因為考量抽樣誤差:

Lift < 0.8,表示A的出現與B的出現是負相關。
Lift > 1.2,表示A的出現與B的出現是正相關。
介於0.8~1.2,表示A與B為完全獨立個體無相關。

在理解這三個統計值【支持度(Support)、信賴度(Confidence)、增益率(Lift)】的背後運算方法後,要怎麼使用,完全見仁見智,有人認為support要超過10%才有意義,有人認為confidence要超過30%才有意義,也有人認為lift要超過2才是正相關。所以,反正各位已經知道背後的概念,如何自由心證去決定,師父領進門、修行在個人囉~


最後,也不要覺得這個分析好像很厲害,事實上,關聯分析大部分的結果,都是你我已經知道的事情,例如:

  1. 買手機的同時會買保護貼或行動電源
  2. 買筆電的同時會買無線滑鼠
  3. 買鏡框的同時會買鏡片(簡直廢到笑)

你能想像大老闆們,心裡想著啤酒尿布,想著Big Data,花了大筆資金,卻只做出上面的結果,他會不會火冒三丈?

但坦白說,要奇葩到出現「啤酒尿布」這麼不相關的商品組合是很困難的。這麼說吧!從古至今除了「啤酒尿布」這個經典案例,你腦海還想得出第二種組合嗎?

不過我的團隊夥伴,曾經做出一個類似的結果過,那是:

抗菌洗手乳」和「親子遊園票券」(農場或遊樂園那類)

是不是很有感覺?
另外...你是不是察覺了什麼?
有沒有一種快要突破盲點的氛圍?
我們明天再談。



數據分析 番外篇4

以下這篇真實故事,我將商品類別代碼化、亂調了毛利率,算是顧及對前公司的職業道德。大約四年多前的一場,針對商品銷售作檢討的會議,至今仍歷歷在目。

在座分別是掌管A~Z不同商品類別的各商品經理,就在我正說道:「由此可見,A商品類,效益毛利率28%;B商品類,效益毛利率43%......」
A商品類的經理,立刻豎直身體拍桌怒道:「你這數字根本有問題嘛!A商品類和B商品類的毛利率差不多,怎麼可能只剩28%?這數字一點意義都沒有!」這突如其來的暴怒讓小馬我只能像人形立牌般僵在台上。

「我一個商品A售價兩千,毛利八百,這毛利率就是40%,你知不知道毛利率怎麼算啊?真搞不懂你們這群作分析的,基本觀念都沒有,搞什麼看似高深學問的統計學,不要誤導人啦!」

A經理怒氣勃勃,他回坐時椅背發出「嘎乖」的不悅聲響,彷彿也承受著A經理的情緒而抱怨著,坐下後的他繼續吼著:「門市損平的議題,在於費用率太高,門市首要目標是降費用率,費用率一旦低於毛利率,我現在每賣一台就賺錢,量賣多賣少一點關係都沒有!」

這論點就跟「認為一匹馬跑得慢是因為牠太胖,所以不要餵牠吃東西自然就跑得快」一樣荒謬!但人形立牌顧名思義是不能開口反駁的。

小馬我轉轉眼珠望向與我一同前來的直屬長官。我老大坐在最後排,頭微仰,雙手交叉於胸前,彷彿藐視著所有在座其他人一般。只見他微微往右搖了兩下頭,是「不要跟他爭辯」的指令。小馬我只得收下,向不知是因羞愧或憤怒而滿臉通紅的經理回:「經理您說的是。」

趁著走回辦公室的時候,我無奈地問我老大,還刻意壓低音量:「老大,A經理講那什麼鬼理論...

費用率 = 營業費用 / 營業收入
要降費用率,要嘛分子(營業費用)降低、要嘛分母(營業收入)增加。
但一間店的用人和租金是固定的,營業費用無法說降就降。
問題就是出在營收提升不了,所以才去檢討新商品的銷售量不夠,

我在談的是商品本身和其週邊商品能帶來的總毛利效益,會議一開始我就已經講很清楚了,又不是單純談商品的毛利率......」

老大耐心聽至此才擺手打斷:「我當然知道,但你有個問題。」小馬我心頭一凜。

「我們啊~在公司存在的意義,不是要告訴大家我比你高竿,不是,」老大正色強調,「我們要達到的目的,是要讓對方知道問題後改善,注意,重點是知道後改善,不是停留在知道問題而已。你也知道我們沒有實權,只能告知問題並試圖導正,但以你今天的報告方式,直接點進A經理痛處,他的防禦機制被你觸動了,他就不會去試圖改善問題。這樣一來,你報告豈不是白做了嘛!」

簡直醍醐灌頂,老大還補了句:

「歡迎來到大人的世界。」


上一篇
資料分析(Data Analysis) -3.迴歸
下一篇
資料分析(Data Analysis) -5.實際執行
系列文
AI無法一步登天,讓我們先從專有名詞定義開始。31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
tkunlin
iT邦新手 4 級 ‧ 2021-02-05 14:30:52

歡迎來到大人的世界。/images/emoticon/emoticon01.gif

我要留言

立即登入留言