วิธีการใช้มาตรฐาน / การทำให้เป็นมาตรฐานในการฝึกอบรมและชุดทดสอบหากการทำนายเป็นเป้าหมาย?


47
  1. ฉันจะแปลงข้อมูลทั้งหมดหรือเท่าของฉัน (ถ้าใช้ CV) ในเวลาเดียวกันได้หรือไม่? เช่น

    (allData - mean(allData)) / sd(allData)

  2. ฉันจะแปลงชุดรถไฟและชุดทดสอบแยกกันได้หรือไม่? เช่น

    (trainData - mean(trainData)) / sd(trainData)

    (testData - mean(testData)) / sd(testData)

  3. หรือว่าฉันจะแปลงชุดรถไฟและใช้การคำนวณกับชุดทดสอบ? เช่น

    (trainData - mean(trainData)) / sd(trainData)

    (testData - mean(trainData)) / sd(trainData)

ฉันเชื่อว่า 3 เป็นวิธีที่ถูกต้อง ถ้า 3 ถูกต้องฉันต้องกังวลเกี่ยวกับค่าเฉลี่ยไม่ใช่ 0 หรือช่วงที่ไม่อยู่ระหว่าง [0; 1] หรือ [-1; 1] (การทำให้เป็นมาตรฐาน) ของชุดทดสอบหรือไม่


มีวิธีการที่ซับซ้อนในการใช้รหัสนี้Rหรือไม่? ดูคำถามนี้: stackoverflow.com/questions/49260862/…
Boern

คำตอบ:


41

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

โดยพื้นฐานแล้วขั้นตอนที่ 1 และ 2 ข้อมูลการรั่วไหลเกี่ยวกับการตอบสนองหรือจากอนาคตจากข้อมูลที่คุณตั้งไว้ในการฝึกอบรมหรือการประเมินผลของแบบจำลองของคุณ สิ่งนี้อาจทำให้มีอคติในแง่ดีในการประเมินโมเดลของคุณ

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

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

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


นั่นคือสิ่งที่ฉันคิดว่า. ขอบคุณสำหรับการชี้แจงนี้!
DerTom

Clearly, one thing you cannot do is aggregate over all new data-points past and future to normalize your production stream of data. ทำไมจะไม่ล่ะ?
Anmol Singh Jaggi

1
@AnmolSinghJaggi มันเป็น "และอนาคต" หากคุณยังไม่ได้รวบรวมข้อมูลจริงคุณจะไม่สามารถใช้มาตรฐานได้
Matthew Drury

4
y

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