ปัญหาเกี่ยวกับการเข้ารหัสแบบร้อนและการเข้ารหัสแบบจำลอง


11

ฉันตระหนักถึงความจริงที่ว่าตัวแปรเด็ดขาดที่มีระดับ k ควรถูกเข้ารหัสด้วยตัวแปร k-1 ในการเข้ารหัสดัมมี่ (คล้ายกับตัวแปรเด็ดขาดหลายค่า) ฉันสงสัยว่าปัญหาหนึ่งเกิดขึ้นกับการเข้ารหัสแบบร้อนแรงเพียงใด (เช่นการใช้ตัวแปร k แทน) ผ่านการเข้ารหัสแบบจำลองสำหรับวิธีการถดถอยที่แตกต่างกันส่วนใหญ่เป็นการถดถอยเชิงเส้นการถดถอยเชิงเส้นที่ถูกลงโทษ (Lasso, Ridge, ElasticNet) เครื่องเร่งการไล่ระดับสี)

ฉันรู้ว่าในการถดถอยเชิงเส้นปัญหาความหลากหลายเชิงเส้นเกิดขึ้น (แม้ว่าในทางปฏิบัติฉันได้ติดตั้งการถดถอยเชิงเส้นโดยใช้ OHE โดยไม่มีปัญหาใด ๆ )

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

การมุ่งเน้นของฉันอยู่ที่การคาดการณ์ในตัวแบบการถดถอยที่มีตัวแปรหมวดหมู่ (ความสำคัญสูง) จำนวนมากดังนั้นฉันจึงไม่สนใจช่วงความมั่นใจ


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

2
(ต่อ) ตัวอย่างเช่นซอฟต์แวร์การถดถอยโดยทั่วไปจะไม่อนุญาตให้ป้อน k ทั้งหมดเนื่องจากภาวะเอกฐาน แต่ซอฟต์แวร์การสร้างแบบจำลองเชิงเส้นทั่วไปที่เทียบเท่าอาจอนุญาตให้ใช้เนื่องจากมันใช้วิธี pseudoinverse
ttnphns

1
ฉันใช้ @ttnphns ทั้งคู่เป็นชื่อที่แย่มาก ฉันชอบการเข้ารหัสแบบเต็มรูปแบบและการเข้ารหัสแบบลาก่อนออกหนึ่งครั้ง
Matthew Drury

2
ขอโทษสำหรับคำศัพท์นี้เป็นคำศัพท์มาตรฐานที่ฉันได้เห็นโดยผู้ปฏิบัติงาน (และหนังสือที่มุ่งเน้นในทำนองเดียวกัน) ปัญหาของการจับคู่กันจะปรากฏเฉพาะในแบบเส้นตรง (โมเดลที่ไม่ผ่านการปรับเทียบ) ไม่ใช่ซอฟต์แวร์ทุกตัวที่หยุดป้อน k ทั้งหมด (เช่น Scikit-Learn ของ Python, แก้ไขให้ฉันถ้าฉันผิด)
user90772

@ MatthewDrury หนึ่งในสัตว์เลี้ยงของฉันเป็นคำศัพท์ / วลีซ้ำ ๆ กันที่คลานไปในด้านการวิเคราะห์ทางสถิติเช่น "การเข้ารหัสแบบหนึ่งครั้งร้อน" และ "การทดสอบ A / B" ทุกคนควรยึดติดกับ "การเข้ารหัสแบบหลอกๆ" และ "การทดสอบสมมติฐาน" แบบเก่าเพื่อหลีกเลี่ยงความสับสน
RobertF

คำตอบ:


7

ปัญหาเกี่ยวกับการแสดงตัวแปรเด็ดขาดที่มีระดับกับตัวแปรในการถดถอยคือว่าถ้าแบบจำลองยังมีคำที่คงที่คำนั้นจะขึ้นอยู่เชิงเส้นและดังนั้นแบบจำลองจะไม่สามารถพิสูจน์ได้ ตัวอย่างเช่นหากโมเดลคือและดังนั้นตัวเลือกใด ๆของพารามิเตอร์เวกเตอร์นั้นแยกไม่ออกจาก0) ดังนั้นแม้ว่าซอฟต์แวร์อาจยินดีที่จะให้การประมาณค่าพารามิเตอร์เหล่านี้แก่คุณ แต่ก็ไม่ได้พิจารณาอย่างเฉพาะเจาะจงและอาจไม่มีประโยชน์มากkkμ=a0+a1X1+a2X2X2=1X1(β0,β1,β2)(β0+β2,β1β2,0)

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

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


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

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

มันเป็นเรื่องจริง แต่ฉันคิดว่าการรักษาความสมมาตรเต็มรูปแบบเป็นวิธีที่ง่ายที่สุดในการทำให้ทุกอย่างชัดเจนและยุติธรรม
Matthew Drury

1

Kodiologist มีคำตอบที่ดี (+1) วิธีการเข้ารหัสแบบตัวร้อนหนึ่งตัวกับการเข้ารหัสแบบจำลองนั้นเหมือนกันในแง่ของเมทริกซ์การออกแบบอยู่ในพื้นที่เดียวกันโดยมีพื้นฐานที่แตกต่างกัน (แม้ว่าการเข้ารหัสแบบร้อนจะมีคอลัมน์มากขึ้น)

ดังนั้นหากคุณกำลังมุ่งเน้นไปที่ความแม่นยำแทนการตีความ วิธีการเข้ารหัสสองวิธีทำให้ไม่มีความแตกต่าง


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

@ Kodiologist ขอบคุณสำหรับการแก้ไขฉันในประเด็นพื้นฐาน
Haitao Du

@ นักวิทยาศาสตร์ทำไมความแม่นยำจะแตกต่างกันในวิธีการเชิงเส้นปกติ
Haitao Du

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

1
@ Matthew Drury ขอขอบคุณสำหรับความคิดเห็นล่าสุดนี้ คุณช่วยขยายคำตอบหน่อยได้ไหม? ดังนั้นจึงเป็นเพียงสำหรับการถดถอยเชิงเส้นธรรมดาที่จำเป็นต้องมีการเข้ารหัสดัมมี่?
user90772

1

ผมรู้สึกว่าคำตอบที่ดีที่สุดสำหรับคำถามนี้ถูกฝังอยู่ในการแสดงความคิดเห็นโดย @MatthewDrury ซึ่งระบุว่ามีคือความแตกต่างและการที่คุณควรใช้คอลัมน์ซ้ำซ้อนดูเหมือนจะอยู่ในวิธีการ regularized ใด ๆ @ เหตุผลของ MatthewDrury คือ

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

ฉันคิดว่าเขามีประเด็น


ดังนั้นคุณควรตัวแปรเข้ารหัสร้อนที่มีkระดับหรือk-1ระดับขึ้นอยู่กับสถานการณ์ นอกเหนือจากคำชี้แจงของคุณ (ทำให้เป็นมาตรฐาน / ไม่ทำให้เป็นบรรทัดฐาน) จะมีแนวทางเกี่ยวกับสิ่งที่ต้องทำในทุกกรณีหรือไม่
Dan Chaltiel

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