\(~~~~~~~\)Association Rule\(~~~~~~~\)
กฎความสัมพันธ์

อ.ดร. สมศักดิ์ จันทร์เอม

วิทยาลัยนานาชาตินวัตกรรมดิจิทัล มหาวิทยาลัยเชียงใหม่

14 พฤศจิกายน 2568

Product Recommendation 1

Product Recommendation 2

Interactive: Association Rule

กฎความสัมพันธ์ (Association Rule)

Association Rule เป็นเทคนิคที่ใช้ค้นหา ความสัมพันธ์ ระหว่างรายการข้อมูลภายในชุดข้อมูลขนาดใหญ่

เทคนิคนี้ถูกนำไปใช้อย่างแพร่หลายในงาน การทำเหมืองข้อมูล (Data Mining) และ การวิเคราะห์ตะกร้าสินค้า (Market Basket Analysis) เพื่อระบุว่าสินค้ารายการใดมักถูกซื้อหรือเกิดขึ้นพร้อมกันบ่อยครั้ง

ตัวอย่างคลาสสิกของกฎความสัมพันธ์

1. เบียร์🍺 และ ผ้าอ้อม👶

การค้นพบ: จากข้อมูลการซื้อสินค้าของซูเปอร์มาร์เก็ต พบว่า

“ลูกค้าที่ซื้อผ้าอ้อมมักจะซื้อเบียร์ด้วยเช่นกัน”

เหตุผล: ลูกค้ากลุ่มนี้มักเป็นคุณพ่อที่ซื้อผ้าอ้อมให้ลูก และอาจซื้อเบียร์กลับไปดื่มเพื่อผ่อนคลายที่บ้าน

การประยุกต์ใช้:

  • จัดวางเบียร์🍺 และผ้าอ้อม👶 ไว้ใกล้กันเพื่อกระตุ้นการซื้อร่วม (Cross-Sales)
  • จัดโปรโมชั่นแบบแพ็กคู่หรือส่วนลดเมื่อซื้อทั้งสองรายการพร้อมกัน

2. ขนมปัง🍞 และ เนย🧈

การค้นพบ: ลูกค้าที่ซื้อ ขนมปัง🍞 มักจะซื้อ เนย🧈 ด้วยเช่นกัน

เหตุผล: สินค้าทั้งสองมักถูกบริโภคร่วมกัน โดยเฉพาะในมื้อเช้าหรือของว่าง

การประยุกต์ใช้:

  • จัดโปรโมชั่นพิเศษสำหรับชุด ขนมปัง🍞 + เนย🧈
  • วางสินค้าทั้งสองไว้ใกล้กันเพื่อเพิ่มยอดขาย

3. นม🥛 และ ซีเรียล🌾

การค้นพบ: ลูกค้าที่ซื้อ นม🥛 มักจะซื้อ ซีเรียล🌾 ด้วยเช่นกัน

เหตุผล: สินค้าทั้งสองมักถูกบริโภคร่วมกันเป็นอาหารเช้า

การประยุกต์ใช้:

  • จัดโปรโมชั่นชุดคู่ นม🥛 + ซีเรียล🌾
  • วางสินค้าทั้งสองไว้ใกล้กันบนชั้นวางสินค้าเพื่อกระตุ้นยอดขาย

4. กาแฟ☕ และ น้ำตาล🍬

การค้นพบ: ลูกค้าที่ซื้อ กาแฟ☕ มักจะซื้อ น้ำตาล🍬 หรือ ครีมเทียม🧋 ด้วยเช่นกัน

เหตุผล: สินค้าเหล่านี้มักถูกใช้ร่วมกันในการชงกาแฟ☕

การประยุกต์ใช้:

  • จัดโปรโมชั่นชุดรวม เช่น กาแฟ☕ + น้ำตาล🍬 + ครีมเทียม🧋

  • วางสินค้ากลุ่มนี้ไว้ใกล้กันเพื่อความสะดวกของลูกค้า

5. มันฝรั่งทอด🍟 และ น้ำอัดลม🥤

การค้นพบ: ลูกค้าที่ซื้อ มันฝรั่งทอด🍟 มักจะซื้อ น้ำอัดลม🥤 ด้วยเช่นกัน

เหตุผล: สินค้าเหล่านี้มักถูกบริโภคร่วมกันในระหว่างดูหนังหรืองานเลี้ยงสังสรรค์

การประยุกต์ใช้:

  • จัดโปรโมชั่นพิเศษ เช่น

“ซื้อมันฝรั่งทอด🍟 2 ถุง แถมน้ำอัดลม🥤 1 กระป๋อง”

  • วางสินค้าทั้งสองไว้ในโซนเดียวกันเพื่อกระตุ้นยอดขาย

6. แปรงสีฟัน🪥 และ ยาสีฟัน🧴

การค้นพบ: ลูกค้าที่ซื้อ แปรงสีฟัน🪥 มักจะซื้อ ยาสีฟัน🧴 ด้วยเช่นกัน

เหตุผล: เป็นของใช้ประจำวันจำเป็นที่มักถูกใช้คู่กันเสมอ

การประยุกต์ใช้:

  • จัดโปรโมชั่น เช่น

“ซื้อแปรงสีฟัน🪥 แถมยาสีฟัน🧴ฟรี”

  • วางสินค้าทั้งสองไว้ด้วยกันในโซนดูแลสุขภาพส่วนบุคคล

2. การบริการลูกค้า: ระบบแนะนำสินค้า

  • แนะนำสินค้าหรือบริการที่เกี่ยวข้อง รวมถึงเนื้อหาที่ตรงกับความสนใจของลูกค้า
  • ใช้ในแพลตฟอร์มอีคอมเมิร์ซ บริการสตรีมมิง และเว็บไซต์ข่าวต่าง ๆ

ตัวอย่าง:

  • Netflix และ YouTube แนะนำวิดีโอโดยอิงจากพฤติกรรมการรับชมของผู้ใช้รายอื่น
  • Amazon แนะนำสินค้าจากประวัติการสั่งซื้อของลูกค้ารายอื่น

3. การเงินและธนาคาร: การตรวจจับการทุจริต (Fraud Detection) 🕵

ใช้ตรวจจับพฤติกรรมการทำธุรกรรมที่ผิดปกติเพื่อป้องกันการฉ้อโกง

ตัวอย่าง:

  • ตรวจพบการใช้บัตรเครดิต💳 ที่ผิดปกติ เช่น การซื้อสินค้าจากพื้นที่ห่างไกลในช่วงเวลาสั้น ๆ
  • วิเคราะห์รูปแบบธุรกรรมเพื่อระบุการฉ้อโกงหรือการฟอกเงิน

4. สาธารณสุข: การวินิจฉัยทางการแพทย์ (Medical Diagnosis🩺)

วิเคราะห์ความสัมพันธ์ระหว่างอาการและโรค เพื่อช่วยสนับสนุนการวินิจฉัยทางการแพทย์

ตัวอย่าง:

  • ผู้ป่วยที่มีอาการ X และ Y มักจะมีโรค Z → ช่วยเพิ่มความแม่นยำในการวินิจฉัย
  • วิเคราะห์การใช้ยาร่วมกันเพื่อค้นหาผลข้างเคียงที่อาจเกิดขึ้น

5. โลจิสติกส์🚚 และห่วงโซ่อุปทาน📦: การบริหารจัดการสินค้าคงคลัง (Inventory Management)

วิเคราะห์รูปแบบการสั่งซื้อสินค้าเพื่อวางแผนการจัดเก็บสินค้าอย่างมีประสิทธิภาพ

ตัวอย่าง:

  • สินค้า A มักขายดีเมื่อมีการสั่งซื้อสินค้า B → เตรียมสต็อกสินค้าให้เพียงพอ

6. สื่อ📺 และการวิเคราะห์เนื้อหา📰🎶: ระบบแนะนำเนื้อหา (Content Recommendation)

แนะนำเนื้อหาที่เกี่ยวข้องในเว็บไซต์ข่าว บล็อก หรือแพลตฟอร์มสื่อ

ตัวอย่าง:

  • ผู้อ่านที่สนใจข่าวการเงินมักสนใจข่าวเศรษฐกิจด้วย → แนะนำบทความที่เกี่ยวข้อง

7. การศึกษา🎓: การเรียนรู้แบบเฉพาะบุคคล (Personalized Learning)

วิเคราะห์พฤติกรรมการเรียนรู้ของผู้เรียนเพื่อแนะนำเนื้อหาที่เหมาะสม

ตัวอย่าง:

  • นักเรียนที่เข้าใจบทที่ 3📚 มักจะเข้าใจบทที่ 4📚 → แนะนำแบบฝึกหัดที่มีความยากมากขึ้น

8. การวิเคราะห์โซเชียลมีเดีย📱: การตลาดผ่านผู้มีอิทธิพล (Influencer Marketing🤳)

วิเคราะห์ความสัมพันธ์ของเนื้อหาเพื่อระบุผู้มีอิทธิพลในตลาด

ตัวอย่าง:

  • เนื้อหาเกี่ยวกับสินค้า A มักถูกแชร์พร้อมกับสินค้า B → สามารถจัดแคมเปญการตลาดร่วมกันได้

การแสดงกฎความสัมพันธ์

\[ X \Rightarrow Y \] โดยที่:

  • \(X\) และ \(Y\) คือ เซตของรายการสินค้า (itemsets)

ความหมาย: หากมีการซื้อสินค้า \(X\) ก็มีแนวโน้มว่าจะมีการซื้อสินค้า \(Y\) ด้วยเช่นกัน

ตัวอย่าง: หากลูกค้าซื้อขนมปัง ก็มีแนวโน้มว่าจะซื้อเนยด้วย

  • การเขียนกฎ: ขนมปัง \(\Rightarrow\) เนย

ตัวชี้วัดหลัก: 1. Support (S)

  • วัด ความถี่ (frequency) ของการเกิดขึ้นร่วมกันของสินค้าภายในชุดข้อมูลทั้งหมด

สูตร:

\[ \begin{aligned} Support(X) &= \frac{\text{จำนวนธุรกรรมที่มี } X}{\text{จำนวนธุรกรรมทั้งหมด}} \\ Support(X \Rightarrow Y) &= \frac{\text{จำนวนธุรกรรมที่มีทั้ง } X \text{ และ } Y}{\text{จำนวนธุรกรรมทั้งหมด}} \end{aligned} \]

ตัวชี้วัดหลัก: 2. Confidence (C)

  • วัด ความน่าจะเป็น (likelihood) ของกฎ กล่าวคือ บ่อยครั้งแค่ไหนที่ \(Y\) ถูกซื้อเมื่อมีการซื้อ \(X\)

สูตร:

\[ Confidence(X \Rightarrow Y) = \frac{\text{จำนวนธุรกรรมที่มีทั้ง } X \text{ และ } Y}{\text{จำนวนธุรกรรมที่มี } X} \]

\[ Confidence(Y \Rightarrow X) = \frac{\text{จำนวนธุรกรรมที่มีทั้ง } X \text{ และ } Y}{\text{จำนวนธุรกรรมที่มี } Y} \]

ตัวชี้วัดหลัก: 3. Lift (L)

  • วัด ความสัมพันธ์เชิงสถิติ (statistical correlation) ระหว่าง \(X\) และ \(Y\) โดยเปรียบเทียบความน่าจะเป็นของการเกิดร่วมกันกับการเกิดแยกกันอย่างอิสระ

สูตร:

\[ \begin{aligned} Lift(X \Rightarrow Y) &= \frac{Support(X \Rightarrow Y)}{Support(X) \times Support(Y)} \\ &= \frac{Confidence(X \Rightarrow Y)}{Support(Y)} \end{aligned} \]

การตีความค่า Lift (Interpretation of Lift)

  1. \(Lift > 1\)ความสัมพันธ์เชิงบวก ระหว่าง X และ Y

    • \(X\) และ \(Y\) เกิดขึ้นร่วมกัน บ่อยกว่าที่คาดไว้ หากเป็นอิสระต่อกัน
    • ตัวอย่าง: ถ้า \(Lift = 1.5\) หมายความว่า โอกาสที่ \(Y\) จะเกิดขึ้นเมื่อมี \(X\) เกิดขึ้น สูงกว่าที่คาดไว้ 1.5 เท่า
  2. \(Lift = 1\)ไม่มีความสัมพันธ์

    • \(X\) และ \(Y\) เกิดขึ้นร่วมกันในอัตราที่สอดคล้องกับความเป็นอิสระ
    • กล่าวคือ การเกิดของ \(X\) ไม่ส่งผลต่อการเกิดของ \(Y\)
  3. \(Lift < 1\)ความสัมพันธ์เชิงลบ ระหว่าง X และ Y

    • \(X\) และ \(Y\) เกิดขึ้นร่วมกัน น้อยกว่าที่คาดไว้
    • ตัวอย่าง: ถ้า \(Lift = 0.8\) หมายความว่า โอกาสที่ \(Y\) จะเกิดขึ้นเมื่อมี \(X\) เกิดขึ้น ต่ำกว่าที่คาดไว้ 20%

ตัวอย่างการใช้ค่า Lift

หากกฎความสัมพันธ์คือ {เบเกิล} \(\Rightarrow\) {ครีมชีส} และค่า Lift = 2 นั่นหมายความว่า หากลูกค้าซื้อเบเกิล โอกาสที่จะซื้อครีมชีสจะสูงกว่าปกติถึงสองเท่า

ตัวอย่าง

จากจำนวนธุรกรรมทั้งหมด 100 รายการ:

  • มี 20 รายการที่มีทั้งขนมปังและเนย
  • มี 40 รายการที่มีขนมปัง
  • มี 50 รายการที่มีเนย

ค่า Support (S): \[ Support(Bread \Rightarrow Butter) = \frac{20}{100} = 0.2 \]

ค่า Confidence (C): \[ Confidence(Bread \Rightarrow Butter) = \frac{20}{40} = 0.5 \]

ค่า Lift (L): \[\begin{aligned} &Lift(Bread \Rightarrow Butter) \\ &= \dfrac{Support(Bread \Rightarrow Butter)}{Support(Bread)\times Support(Butter)}\\ &= \dfrac{0.20}{0.4\times 0.5}=\frac{0.20}{0.20} = 1 \end{aligned}\]

ดังนั้น เนื่องจาก Lift = 1 การซื้อขนมปัง ไม่ได้เพิ่มโอกาส ในการซื้อเนยแต่อย่างใด

ตัวอย่างข้อมูลธุรกรรม

ตัวอย่างข้อมูลธุรกรรมจำนวน 10 รายการที่ใช้สร้างตารางใน Excel และคำนวณค่า Support, Confidence, และ Lift โดยใช้ฟังก์ชัน SUMIF() ใน Excel

Transaction ID Item 1 Item 2 Item 3
1 Bread Butter Milk
2 Bread Jam
3 Bread Butter
4 Bread Milk
5 Butter Jam
6 Bread Butter Jam
7 Milk Butter
8 Bread Milk Butter
9 Bread Jam Butter
10 Milk

ตารางธุรกรรมในรูปแบบเลขฐานสอง (Binary 0–1 Format)

Transaction ID Bread Butter Milk Jam
1 1 1 1 0
2 1 0 0 1
3 1 1 0 0
4 1 0 1 0
5 0 1 0 1
6 1 1 0 1
7 0 1 1 0
8 1 1 1 0
9 1 1 0 1
10 0 0 1 0

การใช้ SUMIF ใน Excel เพื่อคำนวณ Support, Confidence และ Lift

1. การคำนวณค่า Support

Support ของสินค้า A = (จำนวนครั้งที่สินค้านั้นปรากฏ) ÷ (จำนวนธุรกรรมทั้งหมด)

ตัวอย่าง

Support(Bread)

=SUM(B2:B11)/10

(นับจำนวนเซลล์ที่เป็นค่า 1 ในคอลัมน์ Bread แล้วหารด้วย 10)

2. การคำนวณค่า Confidence

Confidence(A \(\Rightarrow\) B) = (จำนวนครั้งที่ A และ B ปรากฏร่วมกัน) ÷ (จำนวนครั้งที่ A ปรากฏ)

ตัวอย่าง Confidence(Bread \(\Rightarrow\) Butter)

=SUMIFS(B2:B11, B2:B11,1, C2:C11,1) / SUM(B2:B11)

(นับจำนวนครั้งที่ Bread และ Butter เป็นค่า 1 พร้อมกัน แล้วนำไปหารด้วยจำนวนครั้งที่ Bread เป็นค่า 1)

3. การคำนวณค่า Lift

Lift(A \(\Rightarrow\) B) = Confidence(A \(\Rightarrow\) B) ÷ Support(B)

ตัวอย่าง: Lift(Bread → Butter)

=(SUMIFS(B2:B11, B2:B11,1, C2:C11,1) / SUM(B2:B11)) / (SUM(C2:C11)/10)

(นำค่า Confidence ของ Bread \(\Rightarrow\) Butter มาหารด้วย Support ของ Butter)

คำถาม

ใช้ชุดข้อมูลนี้เพื่อตอบคำถามต่อไปนี้: Google Drive

  1. ค่าของ Support สำหรับสินค้าแต่ละชนิดคือเท่าไร?

  2. คู่สินค้าคู่ใดมีค่า Confidence สูงที่สุด?

  3. มีบางคู่สินค้าที่มีค่า Lift < 1

    • สินค้าที่มีค่า Support สูงอาจปรากฏร่วมกันบ่อย แต่ไม่ได้หมายความว่าทั้งสองมีความสัมพันธ์เชิงสาเหตุโดยตรง
    • เช่น Milk และ Bread อาจปรากฏร่วมกันบ่อย เพราะทั้งสองเป็นสินค้าที่นิยมซื้อ ไม่ใช่เพราะการซื้อนมทำให้ต้องซื้อขนมปัง

สรุป: แนวทางการตัดสินใจจากค่า Lift

ค่า Lift ความหมาย แนวทางการตัดสินใจ
> 1 ความสัมพันธ์เชิงบวก ใช้สำหรับการขายพ่วง (Cross-selling), จัดชุดสินค้า (Bundling), และการจัดวางสินค้า (Placement)
≈ 1 ไม่มีความสัมพันธ์ ไม่เหมาะสำหรับใช้ในการตัดสินใจทางการตลาดโดยตรง
< 1 ความสัมพันธ์เชิงลบ หลีกเลี่ยงการขายพ่วง และปรับกลยุทธ์ทางการตลาดใหม่

Association Rule (Version 2)

Example: Association Rule with Orange Data Mining

You need to install the Associate Add-on to use this feature.

Association Rule with Orange Data Mining

Association Rule with Orange Data Mining

Association Rule Demo(Self Exercise)

Reference

  • Agrawal, R., & Srikant, R. (1994). Fast algorithms for mining association rules. Proceedings of the 20th International Conference on Very Large Data Bases (VLDB), 487–499.

  • Han, J., Kamber, M., & Pei, J. (2011). Data mining: Concepts and techniques (3rd ed.). Morgan Kaufmann.

  • Tan, P.-N., Steinbach, M., & Kumar, V. (2018). Introduction to data mining (2nd ed.). Pearson.