490 likes | 615 Views
零售資料探勘 之困難與機會. 中央大學資管系 陳彥良. 資料挖掘. 資料挖掘就是從資料庫中發現知識,將隱含的、先前並不知道的,和潛在有用的資訊從資料庫中粹取出來的過程。 目的是要從龐大的資料庫中,將潛在有用的資訊及知識挖取出來。. Data Mining 為何興起 ?. 商品條碼之廣泛使用 企業界之電腦化,數以百萬計之資料庫正在使用,累積了大量企業交易資料 資料的問題 資料品質差。 資料太多但卻沒有真正有用的資訊。 Data Knowledge. Knowledge Discovery in Databases (KDD). Knowledge.
E N D
零售資料探勘之困難與機會 中央大學資管系 陳彥良
資料挖掘 • 資料挖掘就是從資料庫中發現知識,將隱含的、先前並不知道的,和潛在有用的資訊從資料庫中粹取出來的過程。 • 目的是要從龐大的資料庫中,將潛在有用的資訊及知識挖取出來。
Data Mining 為何興起? • 商品條碼之廣泛使用 • 企業界之電腦化,數以百萬計之資料庫正在使用,累積了大量企業交易資料 • 資料的問題 • 資料品質差。 • 資料太多但卻沒有真正有用的資訊。 Data Knowledge
Knowledge Discovery in Databases (KDD) Knowledge • Data mining: the core of KDD process. Pattern Evaluation Data Mining Task-relevant Data Selection Data Warehouse Data Cleaning Data Integration Databases
時間 • 店號 • 購買商品 • 購買數量 • 價格 • 總價 發票的資料內容
關聯規則 • Itemset : 商品集合 • Large itemset (frequent itemset): 經常被一齊購買的商品集合 • Minimum support 最小支持度門檻 • Minimum confidence最小信心門檻 • Association rule關聯規則 : 顧客若買了X之後,很有可能會再買Y • 從Large itemset我們可以推出關聯規則
Ex: minsup=20% • sup{1}=6/10=60% • sup{1,2}=4/10=40% • sup{1,2,3}=2/10=20% • 以上是large itemset • sup{3,5}=1/10=10% • sup{1,3,5}=1/10=10% • 以上不是large itemset
產生關聯規則:minconf=50% • {1}{2} 規則成立 sup(1)=60%, sup(1,2)=40%, conf:67.7% • {1}{2,3} 規則不成立 sup(1)=60%, sup(1,2,3)=20%, conf:33.3% • {1,2}3 規則成立 sup(1,2)=40%, sup(1,2,3)=20%, conf:50%
問題 • 關聯規則只使用到『購買商品』的資料,其他資料完全沒有使用 • 購買數量沒有使用 • 購買時間與地點(店號)沒有使用 • 購買價格沒有使用
研究主題 • 加入購買數量的考量 • 加入時間地點考量 • 加入價格的考量
一、加入購買數量的考量 • 在一個真實的銷售銷售資料中,一筆交易不但會記錄所購買的商品也會記錄購買的數量 • 我們會希望不但能了解商品間的關係,也會希望了解商品數量間是如何彼此影響
區間切割—數值資料離散化 • Crisp partition • (1,5), (6,15), (16,40) • Fuzzy partition • 3 is 0.92/Short+0.08/Middle+0.0/Long • 25 is 0.0/Short+0.23/Middle+ 0.77/Long
區間切割後找出的規則 • (milk, S) (bread, S), (coke, S) • (juice, M) (milk, S)
結論 • 用區間切割的方式可以找出數量間的關聯規則 • 如果我們對知識(規則)的要求不是非常準確,則本方法尚堪使用
切割區間的困難 • 區間不重疊 • 必須合乎語意 • 區間不能太小或太大,太小則會使support不足,太大則會使規則籠統 • 商品種類多,每一種的資料分佈不相同 • 考慮所有可能區間(區間可以重疊) • 哪些的規則是被包含、哪些是必要的? • 哪些是有趣的? • 樹狀的區間分割
二、加入時間及地點考量 • 傳統關聯規則挖掘方式只侷限於單一店面 • 沒有考慮每個產品可能有不同的上架期間 • 以零售業來說,有能力導入資料挖掘的企業大多具有多家連鎖店,故傳統關聯規則方法並不適用 • 傳統關聯規則只能提供單店的資訊
以醫院附近的店為例 • 假設50家商店,每家店平均交易筆數為1000筆 • A品項只在其中5家商店販售,共銷售2000筆 • 傳統方式算出之support:2000/50000=0.04 • 但實際上的support值應為:2000/5000=0.4
連鎖店的資料挖掘 • 每一個商品有不同的銷售期且也都在不同的地方銷售 商店 A B B A 時間
研究目的 • 以時間和地點為限制條件的關聯規則挖掘 • 不同商品計算support值時,必須以其上架時間及地點的交易筆數為基底 • 新挖掘方式能夠因應市場競爭及顧客需求,找出何地點的商店最適合在哪個時段販賣何種商品 • 在中午時段辦公大樓附近的便利商店,購買便當的顧客同時也會購買飲料
環境假設 • 一連鎖系列商店,共有n個店面 • 每個店面可以因應其特殊的環境而銷售不同的商品 • 為了因應市場的變化,不斷的調整銷售商品之組合 • 每個商品品項有不同的銷售時間及不同的銷售店面,甚至在不同的店面其銷售期間也都不同
交易資料庫 商店P2 商店P1
Item 1 Item 2 Items {1, 2}
真實支持度 • 在有效基準Vx為基底所計算出x之actual support值,以a-sup(x, dVx)來表示 • 計算方式為a-sup(x, dVx)=|W(x, dVx)| / |dVx| • 以有效基準Vxy為基底所計算出x之actual support 值,以a-sup(x, dVxy)來表示 ,公式為 a-sup(x, dVxy)=|W(x, dVxy)| / |dVxy|
真實支持度:範例 • |dVx|=252 • 假設|W(x, dVx)|=100 • a-sup(x, dVx)=100/252
規則信賴度 • 時間地點關聯規則的信賴度(confidence value),conf(xy),代表規則的預測強度,公式為 a-sup(xy, dVxy) / a-sup(x, dVxy) • 說明:即在X和Y都上架販售的情形下,當賣出X時,會有多少比例也會賣出Y
時間地點關聯規則 • 給定一個confidence threshold [0,1],若conf(xy) 的話,則我們稱xy為時間地點關聯規則,也就是該規則符合minimal confidence • 時間地點關聯規則包含如下 • xy • a-sup(xy, dVxy) • conf(xy) • 有效基準Vxy的時間地點集合
評量方式 A • 利用傳統關聯規則挖掘方式及多商店下的關聯規則方式,比較每一Frequent Itemset的support值差異 傳統方式的Type A Error (每一階段Frequent Itemset support的差異平均) ex.傳統方式global support=40% 多商店下actual support=60% 該Frequent Itemset錯誤率 20%/60%=33.3%
評量方式 C • 算出多商店下關聯規則能夠比傳統方式多找出的規則數佔多商店下關聯規則數的比率 Minimal Global Support及Minimal Actual Support設為相同 傳統方式的規則數 250 300 多商店下的關聯規則數 傳統方式的Type C Error ex.傳統方式規則數250 多商店下規則數300 傳統方式的錯誤率 50/300=16.67%
Support誤差 vs 商店時間數 評量方式 A
規則數誤差 vs 商店時間數 評量方式 C
Support誤差 vs 商品下架率 評量方式 A
規則數誤差 vs商品下架率 評量方式 C
結論 • 在一個多商店環境下,如果我們使用傳統單店的關聯規則方法挖掘資料庫,可能會有一半的規則、支持度、信賴度是錯的
三、加入價格的考量 • 傳統的關聯樣式沒有價格資訊,例如 {milk, cheese}. • 但如果把價格資訊加入,我們可以知道產品間與價格間是何關聯在一起,例如 • {milk with high price, juice with high price} • {milk with low price, juice with low price} • 我們稱{milk, cheese}為母樣式 • 我們稱{milk with high price, cheese with high price}為子樣式
加入價格的考量 • We may have a child pattern such as • {milk with p-level 2, cheese with p-level 3}.
陷阱 • 資料庫含一年的資料,共有200,000筆交易 • 六、七月共有50,000 交易,且只有六、七月滿足 • milk價格為p-2、cheese價格為p-3 • 如果共有2,000筆交易有樣式 • {milk with p-2, cheese with p-3} • 則該樣式支持度為多少? • 答案不是2,000/200,000=1% • 答案是2000/50000=4%
目標一 • 找出子樣式的真正支持度(support)
目標二 • 下列一個母樣式及三個子樣式 • {milk, cheese}, 4% • {milk: p-level 2, cheese: p-level 3}, 4% • {milk: p-level 2, cheese: p-level 1}, 8% • {milk: p-level 3, cheese: p-level 3}, 2% • 請問甚麼是好子樣式?甚麼是壞子樣式? • 好的子樣式可以增加購買頻率
目標三 • 產品定價除了可以影響購買頻率外 ,也會影響購買數量 • 我們亦同時分析不同產品的價格組合如何影響其平均購買量 • 產品價格對頻率的影響Frequency Strength • 產品價格對數量的影響Quantity Strength
評估矩陣 *對一組child Itemset來看 F+ F- FS QS Q+ Q-
目標四:樣式價格變異 • Stable Pattern • 樣式的整體價格彈性極低,屬於穩定樣式 • 樣式的銷售量成長幅度不會在不同的價格期間內發生顯著的差異 • Strong Price Variation Pattern • 樣式的整體價格彈性屬於極高彈性 • 樣式銷售量在不同價格的期間變化幅度很大 • Weak Price Variation Pattern • 樣式的整體價格彈性屬於較弱彈性 • 樣式的銷售量增加幅度會在不同價格期間而有所變動,但是變化的幅度並不會太顯著 • Unknown Pattern • 由於樣式包含的子樣式不到2組,無法判斷樣式的價格彈性程度
測試流程 Start : 針對某FP進行變方檢定1 無法進行檢定 H0: Unknown Pattern 變異程度小 Reject H0 Not Reject H0 對該 FP 進行變方檢定2 該FP屬於 Stable Pattern H0: Not Reject H0 變異程度大 Reject H0 該FP屬於Weak Price Variation Pattern 該FP屬於 Strong Price Variation Pattern
結論 • 問題: • 關聯規則只使用到『購買商品』的資料,其他資料完全沒有使用 • 購買數量沒有使用 • 購買時間與地點(店號)沒有使用 • 購買價格沒有使用 • 本研究成果 • 加入購買數量的考量 • 加入時間地點考量 • 加入價格的考量