จำแนกลูกค้าตามคุณสมบัติ 2 อย่างและช่วงเวลาของเหตุการณ์


12

ฉันต้องการความช่วยเหลือในขั้นตอนต่อไปของฉันในขั้นตอนวิธีที่ฉันออกแบบ

เนื่องจาก NDA ฉันไม่สามารถเปิดเผยได้มากนัก แต่ฉันจะพยายามเข้าใจและเข้าใจได้ทั่วไป

โดยทั่วไปหลังจากหลายขั้นตอนในอัลกอริทึมฉันมีสิ่งนี้:

สำหรับลูกค้าแต่ละรายที่ฉันมีและกิจกรรมที่ทำในช่วงเดือนแรกในช่วงแรกฉันได้จัดกลุ่มเหตุการณ์เป็นหลายหมวดหมู่ (ลูกค้าแต่ละรายจะมีเหตุการณ์แยกออกเป็นหมวดหมู่ที่แยกจาก 1 เป็น x เป็น x ระหว่าง 1 ถึง 25 โดยทั่วไปประเภทแรกจะมีความหนาแน่นของกิจกรรมมากกว่าประเภทอื่น)

สำหรับแต่ละหมวดหมู่และลูกค้าฉันได้สร้างอนุกรมเวลารวมเหตุการณ์ของเดือนต่อชั่วโมง (รับรูปแบบของเมื่อเหตุการณ์เหล่านี้เสร็จสิ้น) นอกจากนี้ฉันกำลังใช้ตัวแปร normalizing สองสามตัวตามจำนวนวันในหนึ่งเดือน (30 วัน) ที่ผู้ชายทำกิจกรรมอย่างน้อยหนึ่งเหตุการณ์และจำนวนวันที่มีเหตุการณ์อย่างน้อยหนึ่งเหตุการณ์ในจำนวนวันอย่างน้อยหนึ่งเหตุการณ์ เหตุการณ์ (รวมกลุ่มทั้งหมด) คนแรกให้ฉันอัตราส่วนของการใช้งานของลูกค้าในช่วงเดือนและที่สองน้ำหนักหมวดหมู่กับคนอื่น ๆ

ตารางสุดท้ายมีลักษณะเช่นนี้

|*Identifier*|  *firstCat* | *feature1* | *feature2*  |   {      *(TIME SERIES)*   }

CustomerID  |  ClusterID |  DaysOver30 | DaysOverTotal | Events9AM Events10AM ... 

 xx | 1 | 0,69 |  0,72 |  0,2   0,13   ...

 xx | 2 | 0,11 |  0,28 |  0,1   0,45   ...

 xy | 1 | 0,23 |  0,88 |  0,00  0,60   ...

 xy | 2 | 0,11 |  0,08 |  1,00  0,00   ...

 xy | 3 | 0,10 |  0,04 |  0,40  0,60   ...

ตัวแปรอนุกรมเวลาคือเปอร์เซ็นต์ของผลรวมของเหตุการณ์ต่อวันในแต่ละหมวดหมู่ (ซึ่งหมายความว่าแต่ละแถวที่เพิ่มขึ้นของตัวแปรทั้งหมดควรเป็น 1) เหตุผลในการทำเช่นนั้นเป็นเพราะตัวอย่างอนุกรมเวลากับเหตุการณ์0 0 0 1 0และ1 1 1 2 1แตกต่างอย่างสิ้นเชิงและการกำหนดมาตรฐานเป็นปกติจะให้ผลลัพธ์ที่คล้ายกัน และเนื่องจากความเบ้สูงระหว่างหมวดหมู่ที่แตกต่างกันฉันจึงตรวจสอบค่าในอนุกรมเวลาอย่างอิสระกับคนอื่น ๆ

สิ่งที่ฉันต้องทำตอนนี้คือการระบุหมวดหมู่เหล่านี้ (จำไว้ว่าพวกเขาสามารถจาก 1 ถึง x เป็น x จำนวนใด ๆ จาก 1 ถึง 25) เป็น 3 แท็ก: แท็ก A, แท็ก B และไม่มีพวกเขา การดูตัวแปรเหล่านี้ฉันสามารถระบุแท็กที่พวกเขาเป็นเจ้าของด้วยตนเองและแนวคิดก็คือการระบุตัวเองให้มากที่สุดเท่าที่จะทำได้และใช้อัลกอริธึมลักษณนามใด ๆ เพื่อเรียนรู้จากสิ่งนั้นและระบุทั้งหมด

ความคิดของฉันคือการใช้การถดถอยโลจิสติกหลายรายการบนโต๊ะ แต่ตัวแปรทั้งหมดของอนุกรมเวลานั้นมีความสัมพันธ์กัน (เนื่องจากเป็นการรวมกันเชิงเส้นของกันและกัน) ดังนั้นฉันคิดว่าฉันควรใช้อัลกอริทึมการจัดกลุ่มเฉพาะชุดอนุกรม ระยะทางเพื่อจัดหมวดหมู่รูปแบบที่แตกต่างกันและใช้ผลลัพธ์และตัวแปร normalizing อีกสองตัวในการถดถอยโลจิสติก

ข้อกังวลอื่น ๆ ที่ฉันมีคือวิธีนี้ใช้แต่ละแถวแยกจากกันและในทางทฤษฎีสำหรับลูกค้าแต่ละรายควรมีเพียง 0 หรือ 1 แท็ก A, 0 หรือ 1 แท็ก B และส่วนที่เหลือของพวกเขาควรจะไม่มี (อื่น เคล็ดลับคือปกติแท็ก A และ B อยู่ระหว่างหมวดหมู่แรกเนื่องจากขึ้นอยู่กับคุณสมบัติการทำให้เป็นปกติ (ถ้าจำนวนวันมากกว่ายอดรวมสูงมีความเป็นไปได้สูงที่แถวจะเป็น A หรือ B ขึ้นอยู่กับรูปแบบอนุกรมเวลา) .

แก้ไข: นี่ไม่ใช่ข้อกังวลอีกต่อไปฉันจะดำเนินการถดถอยสองครั้งที่แตกต่างกันหนึ่งรายการสำหรับแท็ก A หรืออื่น ๆ และอื่น ๆ สำหรับแท็ก B หรืออื่น ๆ ด้วยความน่าจะเป็นผลลัพธ์ที่ฉันสามารถเลือกได้ดีที่สุดเท่านั้น

ชุดข้อมูลมีขนาดใหญ่มากและต้องใช้อัลกอริธึมสุดท้ายโดยใช้ SQL (บน Teradata) แต่สำหรับการรับค่าสัมประสิทธิ์ของการถดถอยโลจิสติกหรือศูนย์กลางของการจัดกลุ่มฉันได้รับตัวอย่างและใช้อาร์


เพียงข้อเสนอแนะ :) ... ฉันไม่แน่ใจว่าคุณจะได้รับคำตอบที่เหมาะสมตราบใดที่คำถามนั้นยาวมาก เช่นแท็กของคุณตรงกับทิศทางการวิจัยของฉัน แต่ฉันไม่มีเวลาและพลังงานที่จะอ่านทั้งหมด! หากคุณสามารถอัปเดตเวอร์ชันที่สั้นกว่าได้จะดีกว่าสำหรับคุณ Q และสำหรับตัวคุณเองเช่นเดียวกับในการรายงานทางวิทยาศาสตร์ที่คุณต้องพูดคุยสั้น ๆ
Kasra Manshaei

ฉันจะพยายามลดคำถาม เป็นเรื่องปกติถ้าฉันไม่ได้อธิบายว่าตัวเองคนสับสนในสิ่งที่ฉันตั้งใจ อย่างไรก็ตามทันทีที่ฉันได้รับเวลาในงานของฉันป่วยพยายามที่จะลดขนาดของคำถามขอขอบคุณสำหรับคำแนะนำ
JusefPol

คำถามที่แน่นอนของคุณคืออะไร? ฉันแค่คำนวณคุณสมบัติของอนุกรมเวลาแล้วเพิ่มคุณสมบัติเหล่านี้ไปยังคุณลักษณะของลูกค้า จากนั้นคุณจะมีการจัดกลุ่มพื้นฐาน สำหรับการเลือกคุณสมบัติของอนุกรมเวลาจำเป็นต้องมีความรู้เกี่ยวกับโดเมน
Nikolas Rieble

คำตอบ:


2

ฉันรู้ว่ามันมีมานานแล้วตั้งแต่คำถามถูกโพสต์ แต่สำหรับผู้อ่านในอนาคตฉันขอเสนอวิธีแก้ปัญหาสำหรับการจำแนกอนุกรมเวลาของข้อมูลตามสัดส่วนเช่นเวกเตอร์สัดส่วน

โมเดล Markov ที่ซ่อนอยู่ (HMM) ถูกใช้อย่างกว้างขวางสำหรับการจำแนกอนุกรมเวลา การใช้งานดั้งเดิมได้รับการพัฒนาสำหรับข้อมูลที่ไม่ต่อเนื่องและ Gaussian แต่หลังจากนั้นพวกเขาได้รับการขยายไปยังการกระจายความน่าจะเป็นมากขึ้น

ในบรรดาพวกเขา Dirichlet, Dirichlet ทั่วไปและการแจกแจงเบต้า -Liouville ซึ่งเหมาะอย่างยิ่งที่จะทำงานกับข้อมูลสัดส่วน

โดยปกติแบบจำลองจะได้รับการฝึกฝนสำหรับแต่ละหมวดหมู่ ("แท็ก" ในคำถามนี้) จากอนุกรมเวลาที่เป็นที่รู้จักกันในหมวดหมู่ เมื่อต้องมีการจำแนกอนุกรมเวลาใหม่ความน่าจะเป็นของมันที่เกี่ยวกับแต่ละรุ่นนั้นจะถูกคำนวณ ชุดเวลาใหม่มักจะถูกกำหนดให้กับหมวดหมู่ที่นำไปสู่โอกาสสูงสุด

นี่คือเอกสารอ้างอิงสำหรับแบบจำลองเหล่านี้ที่นำเสนอพวกเขาอย่างลึกซึ้งยิ่งขึ้นและให้สมการทั้งหมดที่จำเป็นสำหรับการใช้งาน:

  • Dynamical Dirichlet Mixture Model, รายงานการวิจัยจาก IDIAP, L. Chen, D. Barber, J.-M. โอโดเบซเมษายน 2550
  • การสร้างแบบจำลองข้อมูลตามสัดส่วนด้วยโมเดลมาร์คอฟที่ซ่อนอยู่ตามส่วนผสมของ Dirichlet และ Beta-Liouville ที่ใช้กับการตรวจจับความผิดปกติในพื้นที่สาธารณะ, E. Epaillard, N. Bouguila, การจดจำรูปแบบ 55, pp 125-136, 2016

สำหรับคุณสมบัติเพิ่มเติมที่สองที่กล่าวถึงในคำถาม HMM สำหรับข้อมูลแบบผสมยังได้รับการพัฒนาในรายงานการวิจัยต่อไปนี้: แบบจำลองไฮบริดมาร์คอฟที่ซ่อนอยู่สำหรับการสร้างแบบจำลองข้อมูลต่อเนื่อง / ต่อเนื่องและไม่ต่อเนื่อง / ต่อเนื่อง pp. 1-6, 2015

แบบจำลองเหล่านี้หนักกว่าการปรับใช้แบบจำลองการถดถอย แต่มีความได้เปรียบในการเป็นแบบเลือกปฏิบัติและแบบจำลองและสามารถที่จะพูดคุยได้ดีเมื่อความแปรปรวนบางอย่างปรากฏขึ้นในข้อมูลที่ประมวลผล

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.