ความไม่สมดุลไม่ได้เป็นปัญหา แต่เป็นวิธีที่คุณสามารถมีได้ ไม่ควรใช้กลยุทธ์การสุ่มตัวอย่างของคุณกับตัวแปรเป้าหมาย เนื่องจากตัวแปรนี้รวมการสุ่มในรูปแบบการถดถอยของคุณหากคุณสุ่มตัวอย่างจากสิ่งนี้คุณจะมีปัญหาใหญ่ในการอนุมานทุกชนิด ฉันสงสัยว่าเป็นไปได้ที่จะ "เลิกทำ" ปัญหาเหล่านี้
คุณสามารถตัวอย่างสูงหรือต่ำตัวอย่างได้อย่างถูกต้องตามตัวแปรของตัวทำนาย ในกรณีนี้หากคุณตรวจสอบอย่างรอบคอบว่าสมมุติฐานของแบบจำลองดูเหมือนถูกต้อง (เช่นความเป็นหนึ่งเดียวกับความคิดที่สำคัญในสถานการณ์นี้หากคุณมีการถดถอยแบบ "ธรรมดา" กับสมมติฐานปกติ) ฉันไม่คิดว่าคุณจะต้อง ยกเลิกการสุ่มตัวอย่างเมื่อคาดการณ์ กรณีของคุณจะคล้ายกับนักวิเคราะห์ที่ออกแบบการทดสอบอย่างชัดเจนเพื่อให้มีช่วงของตัวแปรตัวทำนายที่สมดุล
แก้ไข - เพิ่มเติม - ขยายตัวว่าทำไมตัวอย่างจึงไม่ดีตาม Y
ในรูปแบบที่เหมาะสมถดถอยมาตรฐานคาดว่าจะกระจายตามปกติมีค่าเฉลี่ยอยู่ที่ศูนย์และเป็นอิสระและกันกระจาย หากคุณเลือกตัวอย่างของคุณตามค่าของ y (ซึ่งรวมถึงการสนับสนุนของเช่นเดียวกับ ) e จะไม่ได้มีค่าเฉลี่ยของศูนย์หรือมีการกระจายตัวเหมือนกันอีกต่อไป ตัวอย่างเช่นค่าต่ำของ y ซึ่งอาจรวมถึงค่าที่ต่ำมากของ e อาจมีโอกาสน้อยที่จะเลือก ซากปรักหักพังอนุมานใด ๆ ตามวิธีการปกติของการปรับรุ่นดังกล่าว การแก้ไขสามารถทำได้คล้ายกับที่ทำในเศรษฐมิติสำหรับโมเดลที่ถูกตัดทอนที่เหมาะสม แต่พวกมันเจ็บปวดและต้องใช้สมมติฐานเพิ่มเติมและควรใช้เมื่อไม่มีทางเลือกอื่นY= Xb + eอีอีXข
ลองพิจารณาภาพประกอบสุดโต่งด้านล่าง หากคุณตัดทอนข้อมูลของคุณด้วยค่าของตัวแปรตอบกลับคุณจะมีอคติที่สำคัญมาก หากคุณตัดทอนให้เป็นตัวแปรอธิบายนั่นไม่จำเป็นต้องเป็นปัญหา คุณจะเห็นว่าเส้นสีเขียวตามส่วนย่อยที่เลือกเนื่องจากค่าตัวทำนายของพวกเขาอยู่ใกล้กับเส้นที่ติดตั้งจริง สิ่งนี้ไม่สามารถพูดได้ของเส้นสีฟ้าตามจุดสีน้ำเงินเท่านั้น
สิ่งนี้ขยายไปสู่กรณีที่รุนแรงน้อยกว่าของภายใต้หรือการสุ่มตัวอย่างมากเกินไป (เนื่องจากการตัดปลายสามารถมองได้ว่า
# generate data
x <- rnorm(100)
y <- 3 + 2*x + rnorm(100)
# demonstrate
plot(x,y, bty="l")
abline(v=0, col="grey70")
abline(h=4, col="grey70")
abline(3,2, col=1)
abline(lm(y~x), col=2)
abline(lm(y[x>0] ~ x[x>0]), col=3)
abline(lm(y[y>4] ~ x[y>4]), col=4)
points(x[y>4], y[y>4], pch=19, col=4)
points(x[x>0], y[x>0], pch=1, cex=1.5, col=3)
legend(-2.5,8, legend=c("True line", "Fitted - all data", "Fitted - subset based on x",
"Fitted - subset based on y"), lty=1, col=1:4, bty="n")