R-squared เชิงลบหมายถึงอะไร


17

สมมติว่าฉันมีข้อมูลบางส่วนแล้วฉันก็พอดีกับข้อมูลด้วยแบบจำลอง (การถดถอยเชิงเส้น) จากนั้นฉันคำนวณ R-squared ( )R2

เมื่อ R-squared เป็นลบนั่นหมายความว่าอย่างไร นั่นหมายความว่าแบบจำลองของฉันไม่ดีหรือไม่? ฉันรู้ว่าช่วงสามารถเป็น [-1,1] เมื่อเป็น 0 นั่นหมายความว่าอย่างไรR2R2


4
หมายความว่าคุณทำอะไรผิดไปตั้งแต่R2อยู่ใน[0,1]ตามคำจำกัดความ ในทางกลับกันการปรับอาจเป็นลบได้ซึ่งคุณสามารถสรุปได้อย่างปลอดภัยหมายความว่าแบบจำลองของคุณเหมาะสมกับข้อมูลมาก เมื่อR 2เท่ากับศูนย์นี่หมายความว่าˉ yนั้นดีพอที่จะเป็นตัวทำนายy ได้เช่นเดียวกับเส้นถดถอยกำลังสองน้อยที่สุด R2 R2y¯y
dsaxton

1
สิ่งนี้เป็นไปได้สำหรับการถดถอยที่ไม่มีการสกัดกั้นดูเช่นstats.stackexchange.com/questions/164586/ …



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

คำตอบ:


37

R2อาจเป็นค่าลบมันก็หมายความว่า:

  1. โมเดลเหมาะกับข้อมูลของคุณไม่ดีมาก
  2. คุณไม่ได้ตั้งค่าดักฟัง

สำหรับคนที่บอกว่าอยู่ระหว่าง 0 ถึง 1 นี่ไม่ใช่กรณี ในขณะที่ค่าลบสำหรับบางสิ่งบางอย่างที่มีคำว่า 'กำลังสอง' อยู่ในนั้นอาจฟังดูคล้ายกับว่าทำลายกฎของคณิตศาสตร์ แต่มันสามารถเกิดขึ้นได้ในตัวแบบR 2โดยไม่มีการสกัด เพื่อให้เข้าใจว่าทำไมเราต้องดูว่าคำนวณอย่างไรกับR 2R2R2R2

ยาวไปหน่อย - หากคุณต้องการคำตอบโดยไม่เข้าใจให้ข้ามไปจนจบ มิฉะนั้นฉันพยายามจะเขียนมันด้วยคำพูดง่ายๆ

อันดับแรกให้กำหนด 3 ตัวแปร: , T S SและE S SRSSTSSESS

กำลังคำนวณ RSS :

ทุกตัวแปรอิสระเรามีตัวแปรY เราพล็อตเป็นเส้นตรงแบบที่ดีที่สุดซึ่งคาดการณ์ค่าของYสำหรับค่าของแต่ละx ขอเรียกค่าของYสายคาดการณ์ปี ข้อผิดพลาดระหว่างสิ่งที่บรรทัดของคุณคาดการณ์และสิ่งที่สามารถคำนวณค่าyจริงได้คือการลบ ความแตกต่างเหล่านี้ทั้งหมดจะยืดและเพิ่มขึ้นซึ่งจะช่วยให้ส่วนที่เหลือรวมของสแควร์R S Sxyyxyy^yRSS

ใส่ลงในสมการRSS=(yy^)2

กำลังคำนวณ TSS :

เราสามารถคำนวณค่าเฉลี่ยของซึ่งเรียกว่าˉ Y ถ้าเราวางแผนˉ ปีก็เป็นเพียงเส้นแนวนอนผ่านข้อมูลเพราะมันเป็นค่าคงที่ เราสามารถทำอะไรกับมัน แต่เป็นลบˉ Y (ค่าเฉลี่ยของปี ) จากทุกค่าจริงของปี ผลที่ได้คือยืดและรวมเข้าด้วยกันซึ่งจะช่วยให้ผลรวมของสี่เหลี่ยมT S Syy¯y¯Y¯YYTSS

ใส่มันลงในสมการTSS=Σ(Y-Y¯)2

การคำนวณ ESS :

ความแตกต่างระหว่างปี (ค่าของปีที่คาดการณ์โดยบรรทัด) และค่าเฉลี่ยˉ Yจะยืดและเสริม นี่คือผลรวมของสี่เหลี่ยมอธิบายซึ่งเท่ากับ Σ ( Y - ˉ Y ) 2Y^YY¯Σ(Y^-Y¯)2

โปรดจำไว้ว่าแต่เราสามารถเพิ่ม+ Y - Yเป็นมันเพราะมันจะยกเลิกตัวเองออก ดังนั้นT S S = Σ ( Y - Y + Y - ˉ Y ) 2 ขยายวงเล็บเหล่านี้เราได้รับT S S = Σ ( Y - Y ) 2 +TSS=Σ(Y-Y¯)2+Y^-Y^TSS=Σ(Y-Y^+Y^-Y¯)2TSS=Σ(Y-Y^)2+2* * * *Σ(Y-Y^)(Y^-Y¯)+Σ(Y^-Y¯)2

เมื่อและเฉพาะเมื่อสายพล็อตที่มีการตัดต่อไปนี้เป็นความจริงเสมอ: 0 ดังนั้นT S S = Σ ( Y - Y ) 2 + Σ ( Y - ˉ Y ) 2ซึ่งคุณอาจสังเกตเห็นก็หมายความว่าT S S = R S S +2* * * *Σ(Y-Y^)(Y^-Y¯)=0TSS=Σ(Y-Y^)2+Σ(Y^-Y¯)2 S ถ้าเราแบ่งคำทั้งหมดด้วย T S Sและจัดเรียงใหม่เราจะได้ 1 - R S STSS=RSS+ESSTSS S1-RSSTSS=ESSTSS

นี่คือส่วนสำคัญ :

ถูกกำหนดเป็นแบบจำลองของคุณอธิบายความแปรปรวนเท่าไร (โมเดลของคุณดีแค่ไหน) ในรูปแบบสมการนั่นคือ R 2 = 1 - R S SR2 S ดูคุ้นเคยไหม เมื่อเส้นถูกพล็อตด้วยจุดตัดเราสามารถแทนที่สิ่งนี้เป็นR2=ESSR2=1-RSSTSS S เนื่องจากทั้งตัวเศษและตัวอสูรนั้นเป็นผลบวกกำลังสองR2จึงต้องเป็นค่าบวกR2=ESSTSSR2

แต่

เมื่อเราไม่ได้ระบุตัดไม่จำเป็นต้องเท่ากับ0 ซึ่งหมายความว่าT S S = R S S + E S S + 2 * Σ ( Y - Y ) ( Y - ˉ Y )2* * * *Σ(Y-Y^)(Y^-Y¯)0TSS=RSS+ESS+2* * * *Σ(Y-Y^)(Y^-Y¯)

การหารทุกเทอมด้วยเราจะได้1 - R S STSS1-RSSTSS=ESS+2* * * *Σ(Y-Y^)(Y^-Y¯)TSS.

Finally, we substitute to get R2=ESS+2* * * *Σ(Y-Y^)(Y^-Y¯)TSS. This time, the numerator has a term in it which is not a sum of squares, so it can be negative. This would make R2 negative. When would this happen? 2* * * *Σ(Y-Y^)(Y^-Y¯) would be negative when Y-Y^ is negative and Y^-Y¯ is positive, or vice versa. This occurs when the horizontal line of Y¯ actually explains the data better than the line of best fit.

Here's an exaggerated example of when R2 is negative (Source: University of Houston Clear Lake)

ตัวอย่างที่พูดเกินจริงเมื่อ R ^ 2 เป็นค่าลบ (ที่มา: มหาวิทยาลัยฮูสตันเคลียร์เลค)

Put simply:

  • When R2<0, a horizontal line explains the data better than your model.

You also asked about R2=0.

  • When R2=0, a horizontal line explains the data equally as well as your model.

I commend you for making it through that. If you found this helpful, you should also upvote fcop's answer here which I had to refer to, because it's been a while.


5
Seriously fantastic answer! The only thing missing for me is the intuition behind why 2(yy^)(y^y¯)=0 when, and only when, there is an intercept set?
Owen

6

Neither answer so far is entirely correct, so I will try to give my understanding of R-Squared. I have given a more detailed explanation of this on my blog post here "What is R-Squared"

Sum Squared Error

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

เส้นแนวนอนผ่านค่าเฉลี่ย

R-Squared เป็นวิธีการวัดว่าดีกว่าเส้นค่าเฉลี่ยที่คุณทำโดยอิงจากข้อผิดพลาดกำลังสองรวม สมการของ R-Squared คือ

สมการสำหรับ r-squared

ตอนนี้การถดถอยของ SS และผลรวมของ SS นั้นเป็นผลรวมของเงื่อนไขกำลังสอง ทั้งสองอย่างนั้นเป็นค่าบวกเสมอ ซึ่งหมายความว่าเรากำลังรับ 1 และลบค่าบวก ดังนั้นค่า R-Squared สูงสุดคือบวก 1 แต่ค่าต่ำสุดคือค่าลบอนันต์ ใช่นั่นถูกต้องช่วงของ R-squared อยู่ระหว่าง -infinity และ 1 ไม่ใช่ -1 ถึง 1 และไม่ใช่ 0 และ 1

Sum Squared Error คืออะไร

ผลรวมของข้อผิดพลาดกำลังสองจะเกิดข้อผิดพลาดในทุกจุดยกกำลังสองและเพิ่มกำลังสองทั้งหมด สำหรับข้อผิดพลาดทั้งหมดจะใช้เส้นแนวนอนผ่านค่าเฉลี่ยเนื่องจากนั่นจะให้ข้อผิดพลาดกำลังสองรวมน้อยที่สุดหากคุณไม่มีข้อมูลอื่น ๆ นั่นคือไม่สามารถทำการถดถอยได้

ป้อนคำอธิบายรูปภาพที่นี่

มันคือสมการนี้

สมการข้อผิดพลาดรวม

ขณะนี้มีการถดถอยวัตถุประสงค์ของเราคือทำดีกว่าค่าเฉลี่ย ตัวอย่างเช่นสายการถดถอยนี้จะให้ข้อผิดพลาดกำลังสองรวมต่ำกว่าการใช้เส้นแนวนอน

ป้อนคำอธิบายรูปภาพที่นี่

สมการสำหรับข้อผิดพลาดกำลังสองรวมของการถดถอยคือสิ่งนี้

ป้อนคำอธิบายรูปภาพที่นี่

ตามหลักแล้วคุณจะมีข้อผิดพลาดการถดถอยเป็นศูนย์นั่นคือเส้นการถดถอยของคุณจะตรงกับข้อมูลอย่างสมบูรณ์แบบ ในกรณีนั้นคุณจะได้ค่า R-Squared เท่ากับ 1

ค่า r กำลังสองของ 1

ลบ R กำลังสอง

ข้อมูลทั้งหมดข้างต้นเป็นมาตรฐานที่ค่อนข้างดี ทีนี้ถ้าลบ R-Squared แล้วล่ะ?

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

ในทางปฏิบัติจริงด้วยการถดถอยกำลังสองน้อยที่สุดเวลาที่ใช้ทั่วไปมากที่สุดเพื่อให้ได้ค่าลบ R-Squared คือเมื่อคุณบังคับให้จุดที่เส้นการถดถอยต้องผ่าน โดยทั่วไปแล้วจะทำได้โดยการตั้งค่าการสกัดกั้น แต่คุณสามารถบังคับให้เส้นการถดถอยผ่านจุดใดก็ได้

เมื่อคุณทำเช่นนั้นเส้นการถดถอยจะผ่านจุดนั้นและพยายามรับข้อผิดพลาดกำลังสองรวมต่ำสุดขณะที่ยังผ่านจุดนั้น

จุดคงที่

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

ในภาพด้านล่างเส้นการถดถอยทั้งสองถูกบังคับให้มีการสกัดกั้นเป็น 0 ซึ่งทำให้เกิดการลบ R-squared สำหรับข้อมูลที่อยู่ไกลจากแหล่งกำเนิด

ลบ r กำลังสอง

สำหรับชุดคะแนนสูงสุดเส้นสีแดงเส้นการถดถอยเป็นเส้นการถดถอยที่ดีที่สุดที่สามารถผ่านจุดกำเนิดได้ มันเพิ่งเกิดขึ้นว่าเส้นถดถอยนั้นแย่กว่าการใช้เส้นแนวนอนและด้วยเหตุนี้จึงให้ค่าลบ R-Squared

ไม่ได้กำหนด R-Squared

มีกรณีพิเศษหนึ่งกรณีที่ไม่มีใครพูดถึงซึ่งคุณจะได้รับ R-Squared ที่ไม่ได้กำหนด นั่นคือถ้าข้อมูลของคุณอยู่ในแนวนอนทั้งหมดข้อผิดพลาดผลรวมกำลังสองของคุณจะเป็นศูนย์ เป็นผลให้คุณมีศูนย์หารด้วยศูนย์ในสมการ R-squared ซึ่งไม่ได้กำหนด

ป้อนคำอธิบายรูปภาพที่นี่

ป้อนคำอธิบายรูปภาพที่นี่


คำตอบที่ชัดเจนมากต้องการที่จะเห็นคำตอบเพิ่มเติมของประเภทนี้!
Ben

0

ตามหมายเหตุของผู้วิจารณ์คนก่อน ๆ r ^ 2 อยู่ระหว่าง [0,1] ไม่ใช่ [-1, + 1] ดังนั้นจึงเป็นไปไม่ได้ที่จะลบ คุณไม่สามารถยกกำลังสองค่าและรับจำนวนลบ บางทีคุณดูที่ r ความสัมพันธ์? มันอาจอยู่ระหว่าง [-1, + 1] โดยที่ศูนย์หมายความว่าไม่มีความสัมพันธ์ระหว่างตัวแปร -1 หมายความว่ามีความสัมพันธ์เชิงลบที่สมบูรณ์แบบ (เมื่อเพิ่มตัวแปรหนึ่งตัวลดลงอีกหนึ่ง) และ +1 เป็นบวกที่สมบูรณ์แบบ ความสัมพันธ์ (ตัวแปรทั้งสองขึ้นหรือลงสอดคล้องกัน)

หากคุณกำลังดู r ^ 2 อยู่แล้วตามที่ผู้วิจารณ์คนก่อนหน้าอธิบายว่าคุณอาจเห็นการปรับ r ^ 2 ไม่ใช่ r ^ 2 ที่แท้จริง พิจารณาความหมายของสถิติ: ฉันสอนสถิติพฤติกรรมศาสตร์และวิธีที่ง่ายที่สุดที่ฉันได้เรียนรู้ที่จะสอนนักเรียนเกี่ยวกับความหมายของ r ^ 2 คือ "% แปรปรวนอธิบาย" ดังนั้นถ้าคุณมี r ^ 2 = 0.5 ตัวแบบจะอธิบาย 50% ของการเปลี่ยนแปลงของตัวแปรที่ขึ้นกับ (ผลลัพธ์) หากคุณมีค่าลบ r ^ 2 ก็หมายความว่าแบบจำลองนี้อธิบายค่าลบ% ของตัวแปรผลลัพธ์ซึ่งไม่ใช่คำแนะนำที่สมเหตุสมผล อย่างไรก็ตามการปรับ r ^ 2 จะพิจารณาขนาดของตัวอย่าง (n) และจำนวนของตัวทำนาย (p) สูตรการคำนวณอยู่ที่นี่. หากคุณมีค่าต่ำมาก r ^ 2 แสดงว่าคุณสามารถรับค่าลบได้ง่ายพอสมควร จริงอยู่ที่การปรับเชิงลบ r ^ 2 นั้นไม่มีความหมายที่เข้าใจง่ายกว่าปกติ r ^ 2 แต่อย่างที่ผู้วิจารณ์คนก่อนบอกว่ามันแค่หมายความว่าแบบจำลองของคุณแย่มากหากไม่ใช่แค่ไร้ประโยชน์


3
เกี่ยวกับร้อยละของความแปรปรวนอธิบายบางทีถ้าแบบจำลองนั้นแย่มากเมื่อต้องการเพิ่มความแปรปรวน (ESS> TSS) หนึ่งอาจได้รับผลลบR2ที่ไหน R2ถูกกำหนดให้เป็น% ของความแปรปรวนอธิบายมากกว่าความสัมพันธ์กำลังสองระหว่างค่าที่แท้จริง สิ่งนี้อาจไม่เกิดขึ้นในการถดถอยด้วยการสกัดกั้นที่ประเมินโดย OLS แต่มันอาจเกิดขึ้นในการถดถอยโดยไม่มีการสกัดกั้นหรือกรณีอื่น ๆ
Richard Hardy

4
R2 เป็นไปไม่ได้ <0 ในตัวอย่างแต่สามารถลบได้เมื่อคำนวณจากตัวอย่างคือในตัวอย่างที่เก็บไว้หลังจากการแก้ไขสัมประสิทธิ์การถดถอยทั้งหมด ดังที่อธิบายไว้ข้างต้นสิ่งนี้แสดงให้เห็นว่าแย่กว่าการคาดการณ์แบบสุ่ม
Frank Harrell

@ FrankHarrell คุณแน่ใจหรือไม่ว่าต้องเป็นตัวอย่าง? จริงอยู่ที่คุณจะต้องเพิกเฉยต่อข้อมูลที่ค่อนข้างแรงเพื่อสร้างแบบจำลองที่แย่กว่าค่าเฉลี่ย แต่ฉันไม่เห็นว่าทำไมคุณไม่สามารถทำสิ่งนี้กับข้อมูลในตัวอย่างเท่านั้น
Matt Krause

ฉันถือว่าในตัวอย่างหมายถึงตัวอย่างที่สัมประสิทธิ์ประมาณ จากนั้นไม่สามารถลบ
Frank Harrell

1
@ FrankHarrell สมมติว่าแบบจำลองนั้นโหดร้ายจริงๆ - คุณพอดีกับฟังก์ชั่นบางอย่างที่สกัดกั้นไม่ได้บาป(ω* * * *x+φ)ถึงเส้นทแยงมุม ไม่ควรR2จะลบที่นี่ด้วยแม้แต่ข้อมูลในตัวอย่าง? Matlab ไม่ให้ฉันเป็นจำนวนลบที่มีขนาดใหญ่พอสมควรเมื่อฉันทำอย่างนั้น ...
แมตต์กรอส
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.