資料分析|有關係就是沒關係-淺談Apriori演算法

閱讀時間約 9 分鐘

最近在公司跟資料科學家一起討論了產品推薦機制的運作邏輯,才開始理解了甚麼是關聯分析(Associative Analysis),覺得挺有趣的,想說把學習心得記錄下來,藉此機會跟大家分享。
關聯分析的主要發展目的,其實就是為了在一個資料集當中,找尋各項間彼此的關係,在行銷資料科學領域,它也被稱為購物籃分析(Market Basket Analysis),大家比較熟悉的,應該就是流傳許久的經典案例「Walmart 尿布與啤酒的故事」,也是透過關聯分析法發現的。
「尿布與啤酒」的故事,美國的婦女們經常會囑咐她們的丈夫下班後,幫孩子買些尿布回家,可是丈夫通常在買完尿布後,很容易順手買回自己愛喝的啤酒,因此賣場就嘗試著將尿布和啤酒擺在相鄰的附近,結果這樣的商品擺放方式,造成尿布和啤酒的銷量雙雙增加。
關聯分析的概念最早是由Agrawal et. al. (1993) 所提出,隨後,Agrawal & Srikant (1994) 進一步推出了 Apriori演算法,以做為關聯分析的主要演算邏輯,它就是以「支持度」(Support)「信賴度」(Confidence)「提升度」(Lift)三個評估指標,來對商品項目之間的關聯性,進行篩選工作。
接著下來,我們就以「樂屋網」產品的使用者行為資料庫,做為假設的範例,進行簡單的解釋說明。
有四位用戶在「樂屋網」網站上各自看了幾間房屋物件,伺服器的紀錄資料集如下:

支持度(Support)的計算

接著,我們就可以從資料集中整理出每個房屋物件的出現次數來得出支持度,支持度的公式為:
Support(X) = number(X) / number(All Samples)
Support(X,Y)=number(XY)/number(All Samples)
在關聯性分析中,我們通常還會先設定最小支持度(Min Support)與最小信賴度(Min Confident),這需要自行定義,在此我們假設建議此關聯模式的最小支持度為50%,因為資料集筆數(列數)有4筆,所以4*50%=2,也就是說超過2筆以上就為高頻項目集,低於2筆就予以捨棄不用。
根據最低支持度的要求,我們捨棄次數未達2筆的項目集,同時再往下進行兩種以及三種商品同時出現的次數比例。
最後,將以上三個表進行彙整,找出支持度超過50%的項目集,並將其子集合刪除,所以得到三個高頻項目集,此就是為關聯分析的初步結果。
下一步就要進行「信賴度」(Confidence)的分析,它的解釋意義是當事件X發生的情況下,同時會發生Y的可能性,公式為:
Confidence(X→Y) = P(Y|X) ,= P(X∩Y) / P(X)
但是在正式進入「信賴度」這個環節前,為了避免大家對於「機率」理論忘得差不多了,所以想先回顧一下以前學校所教過的基礎數學,後續才會比較容易理解。

條件機率與貝氏定理

機率與集合的概念息息相關,所以要了解如何透過「機率」分析來解釋「集合」的問題時,怎麼推理問題的脈絡就是一個非常重要的課題,如何使用邏輯的方式產生我們的命題,進而推理出結果。換質換位定律就是一種常用的邏輯推理法。
基本上可分為「換質推理」「換位推理」,以及「換質換位推理」,完整的論述相當複雜,但有一個基本觀念就好,我們就先以covid-19的議題假設性討論,來做簡單示範:
  • 換質推理
    所有確診者都是PCR陽性------>原命題
    沒有確診者是非PCR陽性------>換質推理的結果
    有些快篩陰性是確診者------>原命題
    有些快篩陰性不是確診者------>換質推理的結果
  • 換位推理
    有些快篩陰性是確診者------>原命題
    有些確診者是快篩陰性------>換位推理的結果
    沒有確診者是PCR陰性------>原命題
    沒有PCR陰性是確診者------>換位推理的結果
  • 換質換位推理
    所有PCR陽性都是確診者------>原命題
    所有PCR陰性都不是確診者------>換質換位推理的結果
    有些確診者不是快篩陽性------>原命題
    有些快篩陰性不是非確診者------>換質換位推理的結果
上面的換質換位推理很常應用在反證思維上,假如我們無法直接證明原命題的真假,只要判斷換質換位後的結果是真還是假,就能間接證明原命題的真假了!以上這些數學的推理都有嚴謹的邏輯性,沒有模糊的空間,但套用在真實世界中,卻是有很多例外狀況,比如說【感冒------>發燒超過37度】的邏輯命題若是正確的,則換質換位推理反證就會變成【體溫正常------>非感冒】,很顯然這樣的說法,跟我們常理判斷有很大的出入。
因此,真實世界反而是利用機率和統計的思考方式來做「真假」判斷,【感冒------>發燒超過37度】這個命題,就應該被調整為【感冒------>發燒超過37度的機率有多少%】,而這樣的思考模式也已經大量的運用於現今的AI機器學習領域上。
以上的論證方法都熟悉之後,我們簡單學習,基本的邏輯符號如何用來表達集合關係。首先我們假設,有兩個由數字組成的集合,A集合為{1, 2, 3, 4},B集合為{3, 4, 5, 6}。
接著就進一步聊最重要的主題,條件機率最常使用的方法論—貝氏定理(Bayesian statistics),它是「利用已知事件的發生機率來推測未知事件的機率」,用來幫助未知事件做分類。
實際應用上,我們都會採取簡化版的單純貝氏定理分類器,單純的定義是我們將事件假設完全獨立,彼此之間不會有所影響,這樣的假設雖然與現實不符,可是能簡化計算,也具有一定程度的準確性。
一樣的,我們用實際範例來解釋「貝氏定理」,會比較容易理解。
有一間公司由A、B、C三台機器生產螺帽,其中,A機器生產量佔總體50%,不良品的機率為3%;B機器生產量佔總體30%,不良品的機率為4%;C機器生產量佔總體20%,不良品的機率為5%。公司產線主管在所有螺帽中抽出一個,其為不良品之機率為多少?以及若已知為不良品,求此螺帽為A機器生產出來之機率是多少?
看上面的公式似乎很複雜,但其實觀念相當簡單,相信大家應該都學會了,接下來就可以回到我們的Apriori演算法。

信賴度(Confidence)的計算

我們之前的「樂屋網」看屋行為範例,透過「支持度分析」得出了AB、AC、BCE三者存在著關聯性,接著進入「信賴度」的計算,以AB項目集為範例,會有A->B以及B->A兩個狀況,其中A->B指的是,在A出現的情況下,B出現的機率,公式為P(B|A)=P(A∩B)/P(A)。
從上面的瀏覽房屋物件行為資料庫中可發現,
P(A∩B)為2/4=0.5(總共出現的次數為4次,同時出現A與B的次數為2次)
P(A)為2/4=0.5(總共出現的次數為4次,A出現的次數為2次)
所以P(B|A)=P(A∩B)/P(A)=0.5/0.5=100%。
同理可證,B->A是指,在B出現的情況下,A出現的機率。因此,B共出現4次(P(B)=4/4=1),而B與A同時出現為2次(P(B∩A)=2/4=0.5),所以
P(A|B)=P(B∩A)/P(B)=0.5/1=50%,所有可能出現的計算結果如下圖:
假設我們最小信賴度(Min Confident)設定為70%,所以把信賴度高於70%的項目集挑出來,就可以得出AB中的A->B,AC中的A->C,與BCE中的E->BC、BE->C與CE->B,機率值都是超過信賴度70%的100%。

提升度(Lift)的計算

最後的提升度(Lift)指標的意涵是表示當經出現商品A的情況下,出現商品B的機率,公式為:
Lift(A -> B) = Confidence(A -> B) / P(B) = P(B | A) / P(B)
  • 提升度 > 1 : 表示數據間越相關,呈正相關
  • 提升度 = 1 : 表示兩數據獨立,不相關
  • 提升度 < 1 : 表示兩數據呈負相關
因此以(A -> B)來看提升度,P(B | A)為100%,P(B)也為100%,所以Lift(A -> B)就等於1,表示兩個數據獨立,並沒有太大相關,其他的計算方式都雷同,就不特別示範了,有興趣的朋友可以自行練習看看。
以上,就是電商平台最愛使用的「購物籃分析」理論的基礎架構,相信聰明的大家,應該也可以利用這些觀念養成,去開發出一些有趣的產品功能應用吧!
參考資料:
即將進入廣告,捲動後可繼續閱讀
為什麼會看到廣告
31會員
39Content count
在瞬息萬變的數位宇宙中,不堅持永遠的Yes或No,自許以流量成長的阿甘精神,碰撞激盪出各種有趣的科技行銷手法,涵蓋產品數據、社群互動、廣告技術、內容創造、會員經營...等面向,一點一滴的帶大家進入產品Martech的領域中。
留言0
查看全部
發表第一個留言支持創作者!
你可能也想看
Thumbnail
1.加權指數與櫃買指數 週五的加權指數在非農就業數據開出來後,雖稍微低於預期,但指數仍向上噴出,在美股開盤後於21500形成一個爆量假突破後急轉直下,就一路收至最低。 台股方面走勢需觀察週一在斷頭潮出現後,週二或週三開始有無買單進場支撐,在沒有明確的反轉訊號形成前,小夥伴盡量不要貿然抄底,或是追空
Thumbnail
近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
Thumbnail
日前在LINE社群,有網友提出一個問題,要把資料進行分析,用日期來計算出將對應的資料。 原始資料,密密麻麻的數據,都看不清楚了 放大一點點 要把這些資料不同『料號』的各種『狀態』依據『日期』進行分析。 有興趣可以下載試著挑戰看看:檔案下載 作法有很多種,當然也可以用函數處
Thumbnail
台灣發生性騷擾的行為樣態有哪些? 在哪裡發生? 被害人與加害人的關係呢? 分別有什麼特徵? 來看台灣性騷擾申訴案件的剖析。
Thumbnail
台灣發生性騷擾的行為樣態有哪些? 在哪裡發生? 被害人與加害人的關係呢? 分別有什麼特徵? 來看台灣性騷擾申訴案件的剖析。
Thumbnail
台灣發生性騷擾的行為樣態有哪些? 在哪裡發生? 被害人與加害人的關係呢? 分別有什麼特徵? 來看台灣性騷擾申訴案件的剖析。
Thumbnail
資料分析就像廚師料理一樣,但你知道可以分成哪9大流程嗎?一起看看資料分析流程和廚師料理有多像!
Thumbnail
  公司附近的麥當勞最近多了一位可愛的男孩店員,這是在老屁股眾多傳產業工作的我少數能吸取年輕肉體的機會,努力讓男孩幫我點餐成了我在麥當勞第二樣任務(第一樣是餵飽肥肚)。   就看男孩微微低下頭,一副嬌羞樣,輕聲細語、溫柔地按著點餐螢幕。   「對。」   「阿,我忘了說,謝謝你幫我記得。」
Thumbnail
1.項目介紹 2.影片介紹 3.小礦工挖挖礦 所有社群連結 https://linktr.ee/TinyTinyMiner #amoeba #資金盤 #變形蟲
Thumbnail
小婊子啊,為什麼你都找其他男的也不來找我 ? 留不住小婊子,其實是你能力的問題啊...
Thumbnail
根基 2021 EPS 6.98 元再創歷史新高驚艷投資人,但是配現金 2.6 元 + 股票 1 元也再次驚嚇投資人。本文要講三件事 1️⃣ 成長性是填權息的關鍵 2️⃣ 2021Q4 財報分析 3️⃣ 我接下來對根基的觀察重點
Thumbnail
【機車借款】機車借款是什麼?將名下的機車抵押貸款一筆資金,不包含買車貸款。機車借款條件有哪些?為只要是年滿20-65歲之中華民國國民,名下有機車是機車牌照的登記人,有工作有正常收入,無重大的信用瑕疵即可申請機車貸款。機車借款需要什麼資料?身分證、第二證件:健保卡或駕照,機車行照,個人財力文件。
Thumbnail
1.加權指數與櫃買指數 週五的加權指數在非農就業數據開出來後,雖稍微低於預期,但指數仍向上噴出,在美股開盤後於21500形成一個爆量假突破後急轉直下,就一路收至最低。 台股方面走勢需觀察週一在斷頭潮出現後,週二或週三開始有無買單進場支撐,在沒有明確的反轉訊號形成前,小夥伴盡量不要貿然抄底,或是追空
Thumbnail
近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
Thumbnail
日前在LINE社群,有網友提出一個問題,要把資料進行分析,用日期來計算出將對應的資料。 原始資料,密密麻麻的數據,都看不清楚了 放大一點點 要把這些資料不同『料號』的各種『狀態』依據『日期』進行分析。 有興趣可以下載試著挑戰看看:檔案下載 作法有很多種,當然也可以用函數處
Thumbnail
台灣發生性騷擾的行為樣態有哪些? 在哪裡發生? 被害人與加害人的關係呢? 分別有什麼特徵? 來看台灣性騷擾申訴案件的剖析。
Thumbnail
台灣發生性騷擾的行為樣態有哪些? 在哪裡發生? 被害人與加害人的關係呢? 分別有什麼特徵? 來看台灣性騷擾申訴案件的剖析。
Thumbnail
台灣發生性騷擾的行為樣態有哪些? 在哪裡發生? 被害人與加害人的關係呢? 分別有什麼特徵? 來看台灣性騷擾申訴案件的剖析。
Thumbnail
資料分析就像廚師料理一樣,但你知道可以分成哪9大流程嗎?一起看看資料分析流程和廚師料理有多像!
Thumbnail
  公司附近的麥當勞最近多了一位可愛的男孩店員,這是在老屁股眾多傳產業工作的我少數能吸取年輕肉體的機會,努力讓男孩幫我點餐成了我在麥當勞第二樣任務(第一樣是餵飽肥肚)。   就看男孩微微低下頭,一副嬌羞樣,輕聲細語、溫柔地按著點餐螢幕。   「對。」   「阿,我忘了說,謝謝你幫我記得。」
Thumbnail
1.項目介紹 2.影片介紹 3.小礦工挖挖礦 所有社群連結 https://linktr.ee/TinyTinyMiner #amoeba #資金盤 #變形蟲
Thumbnail
小婊子啊,為什麼你都找其他男的也不來找我 ? 留不住小婊子,其實是你能力的問題啊...
Thumbnail
根基 2021 EPS 6.98 元再創歷史新高驚艷投資人,但是配現金 2.6 元 + 股票 1 元也再次驚嚇投資人。本文要講三件事 1️⃣ 成長性是填權息的關鍵 2️⃣ 2021Q4 財報分析 3️⃣ 我接下來對根基的觀察重點
Thumbnail
【機車借款】機車借款是什麼?將名下的機車抵押貸款一筆資金,不包含買車貸款。機車借款條件有哪些?為只要是年滿20-65歲之中華民國國民,名下有機車是機車牌照的登記人,有工作有正常收入,無重大的信用瑕疵即可申請機車貸款。機車借款需要什麼資料?身分證、第二證件:健保卡或駕照,機車行照,個人財力文件。