ฉันใช้แพ็คเกจ randomForest ใน R (R เวอร์ชั่น 2.13.1, randomForest เวอร์ชัน 4.6-2) สำหรับการถดถอยและสังเกตเห็นอคติที่สำคัญในผลลัพธ์ของฉัน: ข้อผิดพลาดในการทำนายขึ้นอยู่กับค่าของตัวแปรการตอบสนอง ค่าสูงนั้นคาดการณ์ไม่ได้และค่าต่ำจะทำนายค่ามากเกินไป ตอนแรกฉันสงสัยว่านี่เป็นผลมาจากข้อมูลของฉัน แต่ตัวอย่างง่าย ๆ ดังต่อไปนี้แสดงให้เห็นว่านี่เป็นสิ่งที่เกิดขึ้นจากอัลกอริธึมการสุ่มป่า:
n = 1000;
x1 = rnorm(n, mean = 0, sd = 1)
response = x1
predictors = data.frame(x1=x1)
rf = randomForest(x=predictors, y=response)
error = response-predict(rf, predictors)
plot(x1, error)
ฉันสงสัยว่าอคตินั้นขึ้นอยู่กับการกระจายตัวของการตอบสนองตัวอย่างเช่นหากx1
กระจายอย่างสม่ำเสมอจะไม่มีอคติ ถ้าx1
มีการแจกแจงแบบ exponential อคติคือด้านเดียว โดยพื้นฐานแล้วค่าของการตอบสนองที่ส่วนท้ายของการแจกแจงแบบปกติคือค่าผิดปกติ ไม่น่าแปลกใจเลยที่ตัวแบบจะมีปัญหาในการทำนายค่าผิดปกติ ในกรณีของป่าสุ่มค่าการตอบสนองของขนาดที่รุนแรงจากหางของการแจกแจงมีโอกาสน้อยที่จะจบลงในเทอร์มินัลใบไม้และผลของมันจะถูกชะล้างออกมาโดยเฉลี่ยในวงดนตรี
โปรดทราบว่าฉันพยายามจับภาพเอฟเฟกต์นี้ในตัวอย่างก่อนหน้านี้ "RandomForest ใน R การถดถอยเชิงเส้นหาง" นี่เป็นตัวอย่างที่ไม่ดี หากอคติในตัวอย่างข้างต้นมีอยู่จริงในอัลกอริธึมแล้วมันก็เป็นไปได้ว่าการแก้อคติสามารถกำหนดได้เนื่องจากการแจกแจงคำตอบพยายามที่จะทำนายผลที่ได้ก็คือการทำนายที่แม่นยำ
มีวิธีการที่ใช้ต้นไม้เช่นฟอเรสต์แบบสุ่มหรือไม่และอาจมีอคติในการกระจายการตอบสนองหรือไม่? หากเป็นเช่นนี้เคยเป็นที่รู้จักกันในชุมชนสถิติหรือไม่และมักจะแก้ไขอย่างไร (เช่นรุ่นที่สองที่ใช้ส่วนที่เหลือของรูปแบบลำเอียงเป็นอินพุต)
การแก้ไขอคติที่ขึ้นอยู่กับการตอบสนองนั้นเป็นเรื่องยากเพราะโดยธรรมชาติแล้วการตอบสนองนั้นไม่เป็นที่รู้จัก น่าเสียดายที่การตอบสนองโดยประมาณ / ที่คาดการณ์ไม่ได้มักจะแบ่งปันความสัมพันธ์เดียวกันกับอคติ