วิธีจัดการกับแบบจำลองการทำนาย "เอาชนะตนเอง" ได้อย่างไร


36

ฉันกำลังดูการนำเสนอโดยผู้เชี่ยวชาญ ML จากผู้ค้าปลีกรายใหญ่ซึ่งพวกเขาได้พัฒนาแบบจำลองเพื่อทำนายเหตุการณ์ที่เกิดขึ้นในสต็อก

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

อะไรคือกลยุทธ์ในการจัดการกับสถานการณ์เช่นนี้?

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

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


7
(+1) ในบางสถานการณ์ที่เกี่ยวข้องกับการศึกษาระดับสูงผู้คนพูดคุยเกี่ยวกับแบบจำลอง เจ้าหน้าที่ของวิทยาลัยที่ใช้แบบจำลองได้รับรางวัลความช่วยเหลือทางการเงินเพื่อให้บรรลุเป้าหมายการลงทะเบียนที่แน่นอนและเกี่ยวข้องกับความช่วยเหลือทางการเงินเท่านั้นที่จะพบว่าเป็นผลให้ในที่สุดการตัดสินใจลงทะเบียนของนักเรียนที่คาดหวังในอนาคต .
rolando2

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

คำตอบ:


15

มีสองความเป็นไปได้ที่รูปแบบการตรวจสอบสินค้าหมด (OOS) อาจทำให้เสียเองได้:

  1. ความสัมพันธ์ระหว่างอินพุตและ OOS อาจเปลี่ยนแปลงตลอดเวลา ตัวอย่างเช่นการส่งเสริมการขายอาจนำไปสู่ ​​OOS ที่สูงขึ้น (ยอดขายส่งเสริมการขายยากต่อการคาดการณ์มากกว่ายอดขายปกติส่วนหนึ่งไม่เพียงเพิ่มยอดขายโดยเฉลี่ยเท่านั้นแต่ยังรวมถึงความแปรปรวนของยอดขายและการแปลที่ แต่ระบบและผู้ใช้อาจเรียนรู้สิ่งนี้และวางในสต็อกเพิ่มเติมสำหรับการส่งเสริมการขาย ความสัมพันธ์ดั้งเดิมระหว่างการโปรโมตและ OOS จะไม่มีอีกต่อไป

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

  2. แม้ว่าความสัมพันธ์ระหว่างตัวทำนายและ OOS จะไม่เปลี่ยนแปลงการกระจายของตัวทำนายอาจ ตัวอย่างเช่นหลายวันที่มียอดขายเป็นศูนย์ของหน่วยเก็บสต็อกเฉพาะ (SKU) อาจส่งสัญญาณ OOS - แต่ถ้าโมเดลทำงานได้ดี OOS อาจลดลงทั่วกระดานและอาจมีลำดับการขายไม่มากนัก .

    การเปลี่ยนแปลงในการกระจายตัวทำนายไม่ควรเป็นปัญหา โมเดลของคุณจะแสดงผลความน่าจะเป็นที่ต่ำกว่าของ OOS


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

  • OOS ที่รอดำเนินการบางอย่างอาจไม่สามารถหลีกเลี่ยงได้ "ฉันมีหนึ่งหน่วยบนชั้นวางและอาจต้องเผชิญกับความต้องการห้าสัปดาห์ที่จะถึงนี้ แต่การส่งมอบครั้งต่อไปมีกำหนดส่งเพียงหนึ่งสัปดาห์จากวันนี้"
  • บาง OOS จะมากยากที่จะทำนายถึงแม้ว่าพวกเขาจะมี avertable หากพวกเขาเป็นที่รู้จักในเวลา "ถ้าเรารู้ว่าเราจะวางพาเลทออกจากรถยกและทำลายสินค้าทั้งหมดเราจะสั่งอีกครั้ง"
  • ผู้ค้าปลีกเข้าใจดีว่าพวกเขาจำเป็นต้องตั้งเป้าหมายเพื่อให้บริการในระดับสูง แต่ไม่สามารถทำได้ 100% ผู้คนเข้ามาซื้อสินค้าในสต็อกบางอย่าง นี่เป็นการคาดการณ์ที่ยาก (ดูด้านบน) และหายากมากพอที่คุณไม่ต้องการเติมชั้นวางของในโอกาสที่อาจเกิดขึ้น เปรียบเทียบกฎหมาย Pareto ของ: ระดับการให้บริการของ 80% (หรือแม้กระทั่ง 90%) สวยง่ายเพื่อให้บรรลุ แต่ 99.9% เป็นมากหนัก OOS บางอย่างได้รับอนุญาต
  • บางสิ่งที่คล้ายกับกฎของมัวร์ถือเป็น: ML ที่ดีขึ้นจะกลายเป็นความคาดหวังมากขึ้นและคนที่ยากขึ้นจะทำให้ชีวิตของแบบจำลอง ในขณะที่อัลกอริทึมการตรวจจับ OOS (และการคาดการณ์) ดีขึ้นผู้ค้าปลีกไม่ว่างทำให้ชีวิตของเรายากขึ้น
    • เช่นผ่านการเพิ่มจำนวนชุดตัวเลือก ง่ายต่อการตรวจจับ OOS กับโยเกิร์ตสี่รสชาติมากกว่ายี่สิบรสที่แตกต่างกัน ทำไม? เพราะคนไม่กินโยเกิร์ตมากถึงห้าเท่า แต่ตอนนี้ความต้องการรวมทั้งหมดนั้นไม่เปลี่ยนแปลงค่อนข้างมากโดยมีการกระจายข้าม SKU ที่มีอยู่เป็นจำนวนถึงห้าเท่าและสต็อกของแต่ละ SKU นั้นสูงถึงหนึ่งในห้าก่อนหน้านี้ Long Tail กำลังขยายตัวและสัญญาณเริ่มอ่อนแอลง
    • หรือโดยการอนุญาตให้เช็คเอาต์มือถือโดยใช้อุปกรณ์ของคุณเอง สิ่งนี้อาจลดอุปสรรคทางจิตวิทยาในการขโมยของได้ดังนั้นระบบสินค้าจะยิ่งแย่กว่าที่เคยเป็นมาและแน่นอนว่าระบบสินค้าคงเป็นตัวทำนายที่ดีที่สุดสำหรับ OOS ดังนั้นหากปิดใช้งานโมเดลจะแย่ลง

ตอนนี้ฉันกำลังคาดการณ์ยอดค้าปลีกมานานกว่าสิบสองปีแล้วดังนั้นฉันจึงมีแนวคิดเกี่ยวกับการพัฒนาเช่นนี้


ฉันอาจเป็นคนมองโลกในแง่ร้าย แต่ฉันคิดว่าเอฟเฟกต์แบบเดียวกันนี้ใช้ได้กับกรณีการใช้ ML อื่น ๆ มากกว่าการตรวจจับ OOS หรือบางทีนี่อาจไม่ใช่การมองในแง่ร้าย: หมายความว่าปัญหาจะไม่ถูก "แก้ไข" ดังนั้นจึงยังมีงานสำหรับเราแม้กระทั่งหลายสิบปีนับจากนี้


ฉันเห็นด้วยกับความคิดเห็นล่าสุดของคุณเป็นพิเศษ สถานการณ์ที่เลวร้ายที่สุดของสถานการณ์นี้ดูเหมือนจะเป็นจุดเริ่มต้นของการจ้างงานเต็มรูปแบบ / ไม่มีทฤษฎีอาหารกลางวันฟรี อะไรทำให้คำถามนี้เป็นคำถามที่น่าสนใจ IMO!
senderle

26

หากคุณกำลังใช้รูปแบบเพื่อสนับสนุนการตัดสินใจเกี่ยวกับการแทรกแซงในระบบแล้วมีเหตุผล, รุ่นควรพยายามที่จะคาดการณ์ผลปรับอากาศเกี่ยวกับการแทรกแซงที่กำหนด จากนั้นแยกจากกันคุณควรปรับให้เหมาะสมเพื่อเลือกการแทรกแซงที่ให้ผลลัพธ์ที่ดีที่สุด คุณไม่ได้พยายามทำนายการแทรกแซงของคุณเอง

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


2
นี่คือวิธีการแก้ไขในทางปฏิบัติ รูปแบบกล่องดำที่จะไม่ให้ความเข้าใจในปัจจัยผลักดัน แต่เพียงคาดการณ์ว่าหุ้นที่จะเกิดขึ้นในวันพุธจะมีการใช้งานที่ จำกัด มากหากผู้คนไม่เข้าใจสมมติฐาน (ด้วยข้อสันนิษฐานที่สำคัญว่าโมเดลไม่ได้อยู่ในตำแหน่ง)
Dennis Jaheruddin

@DennisJaheruddin: ในอีกทางหนึ่งให้สร้างแบบจำลองที่สามารถทำนายได้ว่าผลิตภัณฑ์จะหมดเมื่อไรก็ตามที่มีการสั่งซื้อใหม่ในเวลาที่เหมาะสมและคุณสามารถฆ่าได้
Joshua

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

@Alex ความซับซ้อนนั้นมีจำนวนเพียงเครือข่ายของกลไกอุปสงค์ / อุปทานอย่างง่ายที่ควบคุมสถานที่แตกต่างกันไม่ว่าแบบจำลองจะเป็นตัวแทนของพวกเขาอย่างชัดเจนหรือไม่ วัตถุประสงค์ของแบบจำลองมีการอธิบายอย่างแม่นยำมากขึ้นในการทำนายระดับสต็อกไม่ใช่ความต้องการ แต่จะมีความเกี่ยวข้องเฉพาะเมื่อคุณกำลังพิจารณาว่ามีปัจจัยที่ไม่สามารถควบคุมได้ทั้งในด้านอุปสงค์และอุปทาน ณ จุดในเครือข่าย (ชั้นวาง) ที่สต็อค ระดับความสำคัญ การแทรกแซงเช่นการสั่งซื้อสินค้าเพิ่มเติมหรือการมีพนักงานเติมเต็มชั้นวางอย่างสม่ำเสมอมากขึ้นยังคงต้องเป็นปัจจัยในรุ่น
จะ

คุณอาจต้องการพูดถึงความเป็นไปได้ที่ความต้องการแตกต่างกันไปตามสต็อก
Yakk

9

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

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


ฉันเดาว่าฉันไม่เห็นว่าสิ่งนี้ตอบคำถามได้อย่างไร ปัญหาที่ฉันเข้าใจพวกเขาคือ: (a) หลังจากใช้โมเดลในการผลิตแล้วฟังก์ชันการทำนายที่ดีที่สุดสำหรับ stockouts ตอนนี้แตกต่างอย่างสิ้นเชิงจากเมื่อก่อนเพราะเราเปลี่ยนการกระจายข้อมูล (b) แบบจำลองของเราที่ดีกว่าคือยิ่งมีเหตุการณ์สต็อคที่หายากมากขึ้นและยิ่งยากที่จะคาดการณ์ได้ว่าพวกเขาจะเดินหน้าต่อไปอย่างแม่นยำ รู้ว่า "เมื่อใดที่หุ้นจะหมดลงหากแบบจำลองไม่ได้ถูกนำมาใช้เพื่อใส่สินค้าคงคลัง" ไม่ได้อยู่ที่นี่หรือที่นั่นเพราะตัวแบบอยู่ในการผลิตนับจากนี้เป็นต้นไป
Jake Westfall

@JakeWestfall การวิเคราะห์ประเภทนี้เรียกว่าการให้เหตุผลเชิงต่อต้าน หากคุณรู้ว่าสินค้าคงคลังตลอดเวลาและคุณรู้ว่าเมื่อมีการใส่ใหม่แล้วคุณสามารถสร้าง counterfactual ที่จะไม่เกิดการใส่ซ้ำ: เพียงลบส่วนที่เหลือออกจากสินค้าคงคลังหลังจากที่เกิดการใส่ใหม่ ตอนนี้คุณมีอนุกรมเวลาที่สะท้อนถึงการคาดคะเนที่คุณไม่ได้ใส่เข้าไปใหม่ พกชุดเวลานี้ไปข้างหน้าจนกระทั่งหมดสต็อก ตอนนี้คุณรู้แล้วว่าจะมีการออกหุ้นเมื่อใดโดยไม่ต้องใส่สต็อก counterfactual นี้มีวิธีการกระจายข้อมูลที่แตกต่างกันอย่างไร
Reinstate Monica

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

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

1
@Sycorax: คุณคิดว่าพฤติกรรมของผู้ซื้อไม่ได้รับอิทธิพลจากจำนวนรายการที่ปรากฏบนชั้นวาง นั่นคือสมมติฐานที่ไม่ถูกต้อง อิทธิพลอาจจะอ่อนแอ แต่ก็ไม่ได้ขาด
Ben Voigt

7

สถานการณ์ของคุณมีความคล้ายคลึงกับLucas Critiqueในด้านเศรษฐศาสตร์เป็นอย่างมาก ในการเรียนรู้ของเครื่องสิ่งนี้เรียกว่า " การเปลี่ยนชุดข้อมูล "

คุณสามารถเอาชนะมันได้อย่างที่ @Sycorax พูดโดยสร้างแบบจำลองอย่างชัดเจน


2

สิ่งหนึ่งที่ต้องจำคือ ML คือเป้าหมายที่เป็นเครื่องมือ ท้ายที่สุดเราไม่ต้องการทำนายเหตุการณ์ที่เกิดขึ้นเราต้องการที่จะป้องกันไม่ให้เกิดเหตุการณ์หุ้น การคาดการณ์ว่าจะมีเหตุการณ์สต็อกเป็นเพียงวิธีการสิ้นสุด ดังนั้นเท่าที่มีข้อผิดพลาดเกี่ยวกับ Type II นี้จะไม่เป็นปัญหา เราอาจมี OOSE ต่อไปซึ่งในกรณีนี้เรามีข้อมูลในการฝึกอบรมโมเดลของเราหรือเราไม่มีปัญหาที่โมเดลที่สร้างขึ้นเพื่อแก้ไขปัญหาได้ถูกแก้ไขแล้ว สิ่งที่อาจเป็นปัญหาคือข้อผิดพลาด Type I มันง่ายที่จะตกอยู่ในBear Patrolการเข้าใจผิดที่คุณมีระบบ X ที่สร้างขึ้นเพื่อป้องกัน Y คุณไม่เห็น Y ดังนั้นคุณจึงสรุปได้ว่า X ป้องกัน Y และความพยายามใด ๆ ที่จะปิด X ถูกไล่ออกเพราะ "แต่มันทำงานได้ดีมาก ป้องกัน Y! " องค์กรสามารถถูกล็อคเข้ากับโปรแกรมที่มีราคาแพงเพราะไม่มีใครต้องการเสี่ยงว่า Y จะกลับมาอีกและเป็นเรื่องยากที่จะทราบว่า X มีความจำเป็นจริง ๆ หรือไม่โดยไม่ยอมให้มีความเป็นไปได้นั้น

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

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