วิธีการเลือกการแปลงที่ดีที่สุดเพื่อให้เป็นเส้นตรง?


10

ฉันต้องการทำการถดถอยเชิงเส้นหลายครั้งและจากนั้นเพื่อทำนายค่าใหม่ด้วยการประมาณค่าเล็กน้อย ฉันมีตัวแปรตอบสนองของฉันอยู่ในช่วงตั้งแต่ -2 ถึง +7 และตัวทำนายสามตัว (ช่วงประมาณ +10 - +200) การกระจายเกือบปกติ แต่ความสัมพันธ์ระหว่างการตอบสนองและตัวทำนายนั้นไม่ใช่เชิงเส้นฉันเห็นเส้นโค้งบนแปลง ตัวอย่างเช่นนี้: http://cs10418.userapi.com/u17020874/153949434/x_9898cf38.jpg

ฉันต้องการใช้การแปลงเพื่อให้เป็นเชิงเส้น ฉันพยายามเปลี่ยนตัวแปรการตอบสนองโดยการตรวจสอบฟังก์ชั่นต่าง ๆ และดูที่แปลงผลลัพธ์เพื่อดูความสัมพันธ์เชิงเส้นระหว่างการตอบสนองและตัวทำนาย และฉันพบว่ามีฟังก์ชั่นมากมายที่สามารถให้ความสัมพันธ์เชิงเส้นที่มองเห็นได้กับฉัน ตัวอย่างเช่นฟังก์ชั่น

t1=log(y+2.5)

t2=1log(y+5)

t3=1y+5

t4=1(y+10)3

t5=1(y+3)13ฯลฯ ให้ผลลัพธ์ที่คล้ายกัน: http://cs10418.userapi.com/u17020874/153949434/x_06f13dbf.jpg

หลังจากที่ฉันจะแปลงกลับค่าที่ทำนายไว้ (สำหรับเป็นเป็นต้น) การแจกแจงจะคล้ายกันมากหรือน้อยกว่าปกติt=1(y+10)3y=1t1310

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

หรือวิธีเดียวที่จะทำได้คือการถดถอยแบบหลายเส้นที่ไม่เป็นเชิงเส้น?


ฉันได้ไปที่การปรับปรุงการจัดรูปแบบของสูตรของคุณ แต่อาจมีข้อผิดพลาดบางอย่าง - โปรดตรวจสอบ
ปีเตอร์เอลลิส

ฉันไม่เชื่อคุณ. มันเป็นไปไม่ได้ในทางคณิตศาสตร์สำหรับผ่านไปพร้อม ๆ กันมีความสัมพันธ์เชิงเส้นที่มีตัวแปรที่หกในช่วง200 ฉันคิดว่าคุณอาจจะทำผิดพลาดในการคำนวณการเปลี่ยนแปลงเหล่านี้ของปีt1t50200y
whuber

1
@whuber ขอบคุณสำหรับคำตอบ ฉันทำแปลงใน R cs9579.userapi.com/u17020874/153949434/z_9fa17c02.jpg cs9579.userapi.com/u17020874/153949434/z_7fa6891c.jpg
nadya

2
คุณถูก. ช่างน่าทึ่งทีเดียวที่ความหลากหลายของการแสดงออกของ y จะยังคงอยู่ในความสัมพันธ์เชิงเส้นกับ r ขอบคุณสำหรับการแบ่งปัน หากคุณพล็อตที่เหลือคุณจะพบว่ารูปลักษณ์ที่เกี่ยวกับการที่ดีที่สุดแล้วไม่จำเป็นต้องแสดงออกอีกครั้ง: 1/(y+5)rplot(lm(1/(y+5)~r))
whuber

คำตอบ:


14

นี่เป็นศิลปะ แต่มีมาตรฐานบางอย่างที่ตรงไปตรงมาที่เราสามารถพยายามได้

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

สิ่งต่อไปคือการแสดงตัวแปรอิสระอีกครั้ง ( ) เพื่อทำให้ความสัมพันธ์เป็นเส้นตรง มีวิธีที่ง่ายและสะดวกในการทำเช่นนี้ เลือกจุดตัวแทนสามจุดตามเส้นโค้งโดยเฉพาะที่ปลายทั้งสองและตรงกลาง จากรูปแรกที่ผมอ่านออกคู่ได้รับคำสั่ง = ,และ-2) หากไม่มีข้อมูลอื่นใดนอกจากปรากฏว่าเป็นค่าบวกเสมอตัวเลือกที่ดีคือสำรวจการแปลง Box-Coxสำหรับพลังต่าง ๆโดยปกติจะเลือกเป็นทวีคูณของหรือและโดยทั่วไประหว่างr(r,y)(10,7)(90,0)(180,2)r r(rp1)/pp1/21/31และ1(ค่า จำกัด เมื่อเข้าใกล้คือ ) การแปลงนี้จะสร้างความสัมพันธ์เชิงเส้นโดยประมาณหากความชันระหว่างจุดสองจุดแรกเท่ากับความชันระหว่างคู่ที่สอง1p0log(r)

ยกตัวอย่างเช่นทางลาดของข้อมูล untransformed ที่มี = -และ = -0.022สิ่งเหล่านี้ค่อนข้างแตกต่าง: อันหนึ่งประมาณสี่เท่า การลองจะให้ความชันของ(07)/(9010)0.088(20)/(18090)0.022p=1/2(07)/(901/211/2101/211/2)ฯลฯ ซึ่งทำงานกับและ- 32.4 : ตอนนี้หนึ่งในนั้นเป็นเพียงสองครั้งเท่านั้นซึ่งเป็นการปรับปรุง ต่อเนื่องในลักษณะนี้ (สเปรดชีตสะดวก) ฉันพบว่างานได้ดี: ตอนนี้ลาดและ16.632.4p07.36.6เกือบจะเป็นค่าเดียวกัน ดังนั้นคุณควรพยายามที่รูปแบบของรูปแบบ(R) จากนั้นทำซ้ำ: พอดีกับเส้นตรวจสอบส่วนที่เหลือระบุการเปลี่ยนแปลงของเพื่อทำให้พวกมันประมาณสมมาตรและวนซ้ำy=α+βlog(r)y

John Tukey ให้รายละเอียดและตัวอย่างมากมายในการวิเคราะห์ข้อมูลเชิงสำรวจในหนังสือคลาสสิกของเขา(Addison-Wesley, 1977) เขาให้ใกล้เคียงกัน ( แต่เล็กน้อยที่เกี่ยวข้องมากขึ้น) ขั้นตอนในการระบุการเปลี่ยนแปลงแปรปรวนรักษาเสถียรภาพของปีชุดข้อมูลตัวอย่างหนึ่งชุดที่เขาใช้เป็นแบบฝึกหัดเกี่ยวข้องกับข้อมูลเก่าแก่ศตวรรษเกี่ยวกับแรงกดดันจากไอปรอทที่วัดที่อุณหภูมิต่าง ๆ การทำตามขั้นตอนนี้จะทำให้สามารถค้นพบความสัมพันธ์ของ Clausius-Clapeyronอีกครั้ง; ส่วนที่เหลือเพื่อความพอดีสุดท้ายสามารถตีความได้ในแง่ของผลกระทบเชิงกลควอนตัมที่เกิดขึ้นในระยะอะตอม!y


ขอบคุณสำหรับคำแนะนำของการเปลี่ยนแปลง Box-Cox มันสมเหตุสมผลหรือไม่ที่จะตรวจสอบ R-squared ของ lm (1 / (y + 5) ~ r) และ lm ของฟังก์ชั่นอื่น ๆ จากนั้นเปรียบเทียบ R-squared เหล่านี้?
nadya

มันสมเหตุสมผลเมื่อrได้รับการแก้ไขเพราะจากนั้นเป็นตัวแทนสำหรับความแปรปรวนของส่วนที่เหลือ หากคุณอีกครั้งแสดงกำลัง(ตัวแปรอิสระ) แต่แล้วจะไร้ค่าหรือทำให้เข้าใจผิด: ดูstats.stackexchange.com/questions/13314/... R2rR2
whuber

ขอบคุณมากสำหรับคำตอบ! ฉันจะไม่แปลงตัวแปรอิสระของฉัน
nadya

y

@Erich ทุก ๆ เล่มของหนังสือเล่มนี้เป็นรางวัลที่ล้ำลึก: ถ้าคุณสามารถทำอะไรด้วยดินสอและกระดาษคุณสามารถตั้งโปรแกรมคอมพิวเตอร์ให้ทำ :-) ด้วยตัวแปรเดียวมักจะเป็นการดีที่จะแปลงให้เป็นสมมาตร (ของการกระจายเชิงประจักษ์); Tukey เรียกสิ่งนี้ว่า "ข้อตกลงเล็กน้อย" วิธีง่ายๆในการระบุการเปลี่ยนแปลงดังกล่าวได้อธิบายไว้ในหัวข้อ 3E ว่า "ดูอย่างรวดเร็ว" มันแสดงให้เห็นถึงสิ่งที่สามารถเรียนรู้ได้จากการสรุป N ตัวอักษร (Tukey แนะนำการสรุป 7 หรือ 9 ตัวอักษร) การได้รับทักษะนั้นมีค่ามากกว่าการมีโปรแกรมคอมพิวเตอร์ทำการคำนวณสำหรับคุณ
whuber

1

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

อีกทางเลือกหนึ่งตรวจสอบการเปลี่ยนแปลงของตัวแปรอธิบาย เช่นเดียวกับการแปลงแบบตรงคุณยังมีตัวเลือกในการเพิ่มคำกำลังสอง

โดยทั่วไปแล้วการแปลงสภาพเป็นศิลปะมากกว่าวิทยาศาสตร์หากไม่มีทฤษฎีที่มีอยู่เพื่อแนะนำสิ่งที่คุณควรใช้เป็นพื้นฐานของการเปลี่ยนแปลง

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