การถดถอย: การแปลงตัวแปร


41

เมื่อเปลี่ยนตัวแปรคุณต้องใช้การแปลงแบบเดียวกันทั้งหมดหรือไม่? ตัวอย่างเช่นฉันสามารถเลือกและเลือกตัวแปรที่แปลงต่างกันเช่นใน:

อนุญาต,เป็นอายุ, ระยะเวลาการจ้างงาน, ระยะเวลาพำนักและรายได้x1,x2,x3

Y = B1*sqrt(x1) + B2*-1/(x2) + B3*log(x3)

หรือคุณจะต้องสอดคล้องกับการแปลงร่างของคุณและใช้สิ่งเดียวกันทั้งหมดหรือไม่? ในขณะที่:

Y = B1*log(x1) + B2*log(x2) + B3*log(x3) 

ความเข้าใจของฉันคือเป้าหมายของการเปลี่ยนแปลงคือการแก้ไขปัญหาของภาวะปกติ เมื่อดูกราฟฮิสโตแกรมของตัวแปรแต่ละตัวเราจะเห็นว่าพวกมันมีการแจกแจงที่แตกต่างกันมากซึ่งจะทำให้ฉันเชื่อว่าการแปลงที่ต้องการนั้นแตกต่างกันไปในแต่ละตัวแปรโดยพื้นฐานของตัวแปร

## R Code
df <- read.spss(file="http://www.bertelsen.ca/R/logistic-regression.sav", 
                use.value.labels=T, to.data.frame=T)
hist(df[1:7]) 

ข้อความแสดงแทน

ท้ายสุดมันมีความถูกต้องในการแปลงตัวแปรโดยใช้โดยที่มีค่าอย่างไร ไม่แปลงนี้จำเป็นที่จะต้องสอดคล้องกันระหว่างตัวแปรทั้งหมดหรือมันคือใช้เฉพาะกิจแม้สำหรับตัวแปรเหล่านั้นซึ่งไม่รวมถึง 's?log(xn+1)xn00

## R Code 
plot(df[1:7])

ข้อความแสดงแทน

คำตอบ:


59

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

ฮิสโทแกรม - ซึ่งสะท้อนการแจกแจงแบบไม่แปร - มักจะบอกใบ้ถึงการเปลี่ยนแปลงครั้งแรก มาพร้อมกับเมทริกซ์ scatterplot เพื่อให้คุณสามารถตรวจสอบความสัมพันธ์ระหว่างตัวแปรทั้งหมด


การแปลงเช่นโดยที่เป็นค่าคงที่เป็นบวก "ค่าเริ่มต้น" สามารถทำงานได้ - และสามารถระบุได้แม้ว่าจะไม่มีค่าของเป็นศูนย์ - แต่บางครั้งพวกเขาก็ทำลายความสัมพันธ์เชิงเส้น เมื่อสิ่งนี้เกิดขึ้นทางออกที่ดีคือการสร้างตัวแปรสองตัว หนึ่งในนั้นเท่ากับเมื่อไม่ใช่ศูนย์และเป็นอย่างอื่น มันสะดวกที่จะให้มันเป็นศูนย์ อีกตัวหนึ่งเรียกมันว่าเป็นตัวบ่งชี้ว่าเป็นศูนย์หรือไม่: มันเท่ากับ 1 เมื่อและเป็น 0 อย่างอื่น ข้อกำหนดเหล่านี้มีผลรวมlog(x+c)cxlog(x)xzxxx=0

βlog(x)+β0zx

ตามการประมาณการ เมื่อ ,ดังนั้นระยะที่สองหยดออกมาเหลือแค่(x) เมื่อ " " ถูกตั้งค่าเป็นศูนย์ในขณะที่ทำให้เหลือค่าเท่านั้น ดังนั้นประมาณการผลเมื่อและอื่น ๆคือค่าสัมประสิทธิ์ของ(x)x>0zx=0βlog(x)x=0log(x)zx=1β0β0x=0βlog(x)


1
คำอธิบายที่เป็นประโยชน์มากขอบคุณสำหรับทิศทางและรายละเอียดเกี่ยวกับคำถามย่อยของฉันเช่นกัน
Brandon Bertelsen

pareonline.net/getvn.asp?v=15&n=12 Osborne (2002) แนะนำให้ยึดค่าต่ำสุดในการแจกแจงที่ 1.0 pareonline.net/getvn.asp?v=8&n=6
Chris

1
@Chris การแปลง Box-Cox ทั้งหมดเปลี่ยนจากค่าลบเป็นค่าบวกที่เช่นกัน นั่นไม่เกี่ยวข้องกับการแปลงแบบไม่เชิงเส้นเนื่องจากสามารถติดตามการแปลงเชิงเส้นใด ๆ ได้โดยไม่ต้องเปลี่ยนผลกระทบต่อความแปรปรวนหรือความเป็นเส้นตรงของความสัมพันธ์กับตัวแปรอื่น ดังนั้นหากลูกค้าของคุณแพ้ตัวเลขลบให้เพิ่มค่าคงที่ที่เหมาะสมหลังจากการแปลง แม้ว่าการเพิ่มค่าคงที่ก่อนการแปลงจะมีผลอย่างลึกซึ้ง - และนั่นเป็นสาเหตุที่ไม่มีคำแนะนำให้ใช้เสมอไปอาจจะถูกต้อง 11
whuber

1
ในหนึ่งในชุดข้อมูลของฉันที่ฉันกำลังทำงานอยู่ฉันสังเกตเห็นว่าฉันเปลี่ยนตัวแปรการตอบสนองตามต้องการเป็นสมอที่ 1 และใช้การแปลง box cox เพื่อกำจัดความเบ้ ;)
Chris

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