ทำนายช่วงเวลาสำหรับอัลกอริทึมการเรียนรู้ของเครื่อง


14

ฉันต้องการทราบว่ากระบวนการที่อธิบายด้านล่างนี้ถูกต้อง / ยอมรับได้และมีเหตุผลใด ๆ

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

หากเป็นเรื่องสำคัญชุดข้อมูลที่ฉันทำงานด้วยจะเล็กมาก (ประมาณ 200 แถว)

มันสมเหตุสมผลหรือไม่

เพื่อความกระจ่างแจ้งฉันไม่ได้ทำการบูตข้อมูลด้วยวิธีดั้งเดิม (เช่นฉันไม่ได้สุ่มตัวอย่างข้อมูลใหม่) ชุดข้อมูลเดียวกันถูกใช้ในการวนซ้ำทุกครั้งฉันแค่ใช้การสุ่มใน xval และ stochastic GBM


2
หากคุณต้องการช่วงเวลาการทำนาย (แทนที่จะเป็นช่วงความมั่นใจ) คุณต้องคำนึงถึงความผันแปรในการสังเกตเกี่ยวกับแบบจำลองไม่ใช่เพียงแค่ความผันแปรในการทำนายแบบจำลอง
Glen_b -Reinstate Monica

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

คุณสามารถบูตช่วงเวลาการทำนายได้ ... เพียงแค่ไม่ทำตามที่คุณอธิบายไว้ในคำถาม
Glen_b

@Glen_b คุณสามารถอธิบายวิธีการตอบได้หรือไม่?
kevinykuo

1
ฉันไม่สามารถให้คำตอบที่เพียงพอที่นี่ แต่ดู Davison & Hinkley (1997) ในบทเกี่ยวกับการถดถอยหลายครั้งและ GLM ที่ให้ความรู้สึกถึงประเภทของสิ่งที่อาจจำเป็น ในกรณีของการถดถอยหลายครั้งตัวอย่างที่เหลือจะได้รับการเปลี่ยนใหม่เพื่อให้ได้การประมาณค่า bootstrap ของความไม่แน่นอนที่คาดการณ์ได้ (ความผันแปรในการทำนายเนื่องจากความไม่แน่นอนของพารามิเตอร์) และจะถูกสุ่มอีกครั้งเพื่อจัดการกับ ด้วยรูปแบบที่เหมาะสมคุณอาจสามารถจัดการกับความไม่แน่นอนของข้อกำหนดรุ่นในขั้นตอนแรก แต่คุณไม่สามารถข้ามขั้นตอนที่ 2 สำหรับความแปรปรวนของกระบวนการได้
Glen_b

คำตอบ:


5

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

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

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

มีบางรหัส R- หยาบในการตอบของฉันไปที่โพสต์นี้เกี่ยวกับการหาช่วงเวลาการคาดการณ์ GBM

หวังว่านี่จะช่วยได้!


2

คุณสามารถแยกความไม่แน่นอนของคุณเกี่ยวกับการทำนายเป็นคำว่า 'อคติ' และ 'ความแปรปรวน' Bias term หมายถึงการสะกดผิดของโมเดล: ถ้าคุณพอดีกับโมเดลเชิงเส้นสำหรับฟังก์ชันที่ไม่ใช่เชิงเส้นคุณจะได้รับข้อผิดพลาดเสมอ คำว่า 'ความแปรปรวน' หมายถึงข้อผิดพลาดในการประมาณพารามิเตอร์โมเดล คุณเข้าใกล้บัญชีสำหรับส่วนความแปรปรวนของความไม่แน่นอนในขณะที่ไม่สามารถประเมินอคติ

ตามที่แนะนำโดยการคาดการณ์ @ErikL เป็นวิธีการที่มีเหตุผลในทางทฤษฎีซึ่งใช้แนวคิดที่ค่อนข้างคล้ายกันสำหรับ bootstrap การทำนายที่สอดคล้องกันโดยใช้การสร้างแบบจำลองใหม่โดยใช้จุดใหม่คำนึงถึงทั้งอคติและความแปรปรวนในขณะที่การถดถอยจะต้องใช้ทรัพยากรการคำนวณที่สำคัญ คุณสามารถลองใช้งาน Python โดยใช้ไลบรารี่ที่ไม่เป็นไปตามข้อกำหนด


1

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

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

สำหรับการประเมินการแจกแจงข้อผิดพลาดคุณอาจใช้การตรวจสอบข้ามแบบเก่าที่ดี


0

ฉันกำลังคิดเกี่ยวกับปัญหานี้ตอนนี้ นี่คือสิ่งที่ฉันค้นพบ:

(1) วิธีเดลต้า
(2) การรีเซ็ตตัวอย่าง Bootstrap
(3) วิธีเบย์
(4) การประมาณค่าความแปรปรวน (MVE)

แนวคิดกำลังพยายามประเมินแหล่งที่มาสองแห่งของความแปรปรวนการทำนายความไม่แน่นอนจากการประมาณพารามิเตอร์โมเดลและข้อผิดพลาดที่ลดลงไม่ได้

นี่คือการอ้างอิงหลายประการ:

วิธีการเรียนรู้ของเครื่องสำหรับการประมาณช่วงเวลาการทำนายสำหรับโมเดลเอาท์พุท, Durga L. Shrestha, Dimitri P. Solomatine, 2006
การเปรียบเทียบการประมาณข้อผิดพลาดบางอย่างสำหรับโมเดลโครงข่ายประสาทเทียม Robert Tibshirani, 1995
การทบทวนที่ครอบคลุมของช่วงเวลา ความก้าวหน้า, อับบาส khosravi, ดั๊กเครตัน, 2011

หวังว่าสิ่งนี้จะช่วยและแก้ไขให้ฉันข้อใดข้อหนึ่งข้างต้นไม่เหมาะสม ฉันต้องการรับข้อมูลเพิ่มเติมจากผู้อื่น


1
คุณช่วยอธิบายว่าโพสต์นี้ตอบคำถามเดิมอย่างไร
whuber

ชื่อคือ 'PI สำหรับ ML อัลกอริทึม' @kevinykuo กำลังถามว่าวิธีการ 'bootstraping' ของเขาทำงานได้หรือไม่ ฉันกำลังชี้การอ้างอิงหลายอย่างเกี่ยวกับวิธีการบางอย่างที่ใช้ใน PI สำหรับ Neural Network
สาธิต
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.