การกำจัดคำดักจับทางสถิติสำคัญเพิ่มในตัวแบบเชิงเส้น


101

ในโมเดลเชิงเส้นอย่างง่ายพร้อมตัวแปรอธิบายเดียว

αi=β0+β1δi+ϵi

ฉันพบว่าการลบคำดักจับช่วยเพิ่มความพอดีอย่างมาก (ค่าจาก 0.3 เป็น 0.9) อย่างไรก็ตามคำว่าการดักจับนั้นมีนัยสำคัญทางสถิติR2

ด้วยการสกัดกั้น:

Call:
lm(formula = alpha ~ delta, data = cf)

Residuals:
     Min       1Q   Median       3Q      Max 
-0.72138 -0.15619 -0.03744  0.14189  0.70305 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)  0.48408    0.05397    8.97   <2e-16 ***
delta        0.46112    0.04595   10.04   <2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1 

Residual standard error: 0.2435 on 218 degrees of freedom
Multiple R-squared: 0.316,    Adjusted R-squared: 0.3129 
F-statistic: 100.7 on 1 and 218 DF,  p-value: < 2.2e-16

โดยไม่มีการสกัดกั้น:

Call:
lm(formula = alpha ~ 0 + delta, data = cf)

Residuals:
     Min       1Q   Median       3Q      Max 
-0.92474 -0.15021  0.05114  0.21078  0.85480 

Coefficients:
      Estimate Std. Error t value Pr(>|t|)    
delta  0.85374    0.01632   52.33   <2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1 

Residual standard error: 0.2842 on 219 degrees of freedom
Multiple R-squared: 0.9259,   Adjusted R-squared: 0.9256 
F-statistic:  2738 on 1 and 219 DF,  p-value: < 2.2e-16

คุณจะตีความผลลัพธ์เหล่านี้อย่างไร ควรจะรวมคำดักจับในโมเดลหรือไม่?

แก้ไข

นี่คือผลรวมของเศษที่เหลือของกำลังสอง:

RSS(with intercept) = 12.92305
RSS(without intercept) = 17.69277

14
ฉันจำได้ว่าเป็นอัตราส่วนของการอธิบายความแปรปรวนทั้งหมดโดยรวมเฉพาะเมื่อมีการสกัดกั้น มิฉะนั้นจะไม่สามารถได้มาและสูญเสียการตีความ R2
Momo

@Momo: จุดดี ฉันได้คำนวณผลรวมของส่วนที่เหลือของรูปสี่เหลี่ยมสำหรับแต่ละแบบจำลองซึ่งดูเหมือนจะแนะนำว่าแบบจำลองที่มีคำว่าดักจับนั้นเหมาะสมกว่าโดยไม่คำนึงว่าพูดว่าอะไร R2
เออร์เนสต์

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

14
สิ่งที่ทำเมื่อไม่มีการสกัดกั้นคือมันคำนวณแทน (สังเกตว่าไม่มีการลบค่าเฉลี่ยใน เงื่อนไขส่วน) สิ่งนี้ทำให้ตัวส่วนใหญ่ใหญ่ขึ้นซึ่งสำหรับ MSE เดียวกันหรือคล้ายกันทำให้เพิ่มขึ้น R 2 = 1 - Σ ผม ( Y ฉัน- Yฉัน) 2R R2
R2=1i(yiy^i)2iyi2
R2
พระคาร์ดินัล

5
ไม่จำเป็นต้องมีขนาดใหญ่ มันจะใหญ่กว่าโดยไม่มีการสกัดกั้นตราบใดที่ MSE ของความพอดีในทั้งสองกรณีนั้นคล้ายคลึงกัน แต่โปรดทราบว่า @Macro ชี้ให้เห็นว่าตัวเศษยังมีขนาดใหญ่ขึ้นในกรณีที่ไม่มีการสกัดกั้นดังนั้นจึงขึ้นอยู่กับว่าใครจะชนะ! คุณถูกต้องที่พวกเขาไม่ควรนำมาเปรียบเทียบกับคนอื่น แต่คุณยังรู้ว่า SSE มีการสกัดกั้นจะเสมอจะมีขนาดเล็กกว่า SSE โดยไม่ต้องตัด นี่เป็นส่วนหนึ่งของปัญหากับการใช้การวัดในตัวอย่างสำหรับการวินิจฉัยการถดถอย เป้าหมายสุดท้ายของคุณสำหรับการใช้โมเดลนี้คืออะไร? R2
พระคาร์ดินัล

คำตอบ:


131

ก่อนอื่นเราควรเข้าใจว่าRซอฟต์แวร์กำลังทำอะไรเมื่อไม่มีการสกัดกั้นในโมเดล จำได้ว่าการคำนวณปกติของ เมื่อมีการสกัดกั้นคือ ความเสมอภาคแรกเกิดขึ้นเพียงเพราะการรวมการสกัดกั้นในแบบจำลองแม้ว่านี่อาจจะเป็นที่นิยมมากขึ้นในการเขียนสองวิธี สองเท่าเทียมกันจริงให้ความหมายทั่วไปมากขึ้น! จุดนี้ยังอยู่ในคำถามที่เกี่ยวข้องนี้R 2 = Σ ผม ( Yฉัน - ˉ Y ) 2R2

R2=i(y^iy¯)2i(yiy¯)2=1i(yiy^i)2i(yiy¯)2.

แต่จะเกิดอะไรขึ้นถ้าไม่มีการสกัดกั้นในตัวแบบ?

ในกรณีนี้R( เงียบ ๆ ! ) ใช้แบบฟอร์มที่แก้ไขแล้ว

R02=iy^i2iyi2=1i(yiy^i)2iyi2.

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

ในสิ่งที่ตามมาด้านล่างฉันมุ่งเน้นไปที่การแสดงออกที่สองของทั้งและเนื่องจากการแสดงออกนั้นทำให้บริบททั่วไปเป็นเรื่องปกติR 2 0R2R02

แต่มันแตกต่างกันอย่างไรและเมื่อไหร่?

ลองมาพูดแยกย่อยสั้น ๆ เป็นพีชคณิตเชิงเส้นและดูว่าเราสามารถหาว่าเกิดอะไรขึ้น ก่อนอื่นให้เรียกค่าติดตั้งจากโมเดลด้วยการสกัดกั้นและค่าที่ติดตั้ง จากแบบจำลองโดยไม่ต้องตัด\ y^y~

เราสามารถเขียนนิพจน์สำหรับและเป็น และ ตามลำดับR2R02

R2=1yy^22yy¯122,
R02=1yy~22y22,

ตอนนี้ตั้งแต่จากนั้นถ้าหาก y22=yy¯122+ny¯2R02>R2

yy~22yy^22<1+y¯21nyy¯122.

ด้านซ้ายมือเป็นมากกว่าหนึ่งตั้งแต่รูปแบบที่สอดคล้องกับซ้อนอยู่ในที่ของ\เทอมที่สองทางด้านขวามือคือค่าเฉลี่ยกำลังสองของการตอบสนองหารด้วยความคลาดเคลื่อนกำลังสองเฉลี่ยของโมเดลตัดขวางอย่างเดียว ดังนั้นที่มีขนาดใหญ่มีค่าเฉลี่ยของการตอบสนองเมื่อเทียบกับรูปแบบอื่น ๆ มากขึ้น "หย่อน" ที่เรามีและโอกาสมากขึ้นในมีอำนาจเหนือ 2y~y^R02R2

โปรดสังเกตว่าสิ่งที่ขึ้นกับโมเดลทั้งหมดอยู่ทางด้านซ้ายและสิ่งที่ขึ้นกับแบบไม่ขึ้นอยู่ทางขวา

ตกลงแล้วเราจะทำให้อัตราส่วนทางซ้ายมีขนาดเล็กได้อย่างไร

จำได้ว่า และที่และมีการฝึกอบรมการฉายที่สอดคล้องกับ subspacesและดังกล่าวว่าs_1y~=P0yy^=P1yP0P1S0S1S0S1

ดังนั้นเพื่อให้อัตราส่วนใกล้เคียงกับหนึ่งเราต้องการ subspaces และจะคล้ายกันมาก ตอนนี้และแตกต่างกันโดยเฉพาะว่าเป็นเวกเตอร์พื้นฐานหรือไม่ดังนั้นหมายความว่า น่าจะเป็นพื้นที่ย่อยที่อยู่ใกล้กับมากขึ้นS0S1S0S11S01

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

ตัวอย่าง

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

set.seed(.Random.seed[1])

n <- 220
a <- 0.5
b <- 0.5
se <- 0.25

# Make sure x has a strong mean offset
x <- rnorm(n)/3 + a
y <- a + b*x + se*rnorm(x)

int.lm   <- lm(y~x)
noint.lm <- lm(y~x+0)  # Intercept be gone!

# For comparison to summary(.) output
rsq.int <- cor(y,x)^2
rsq.noint <- 1-mean((y-noint.lm$fit)^2) / mean(y^2)

สิ่งนี้จะให้ผลลัพธ์ต่อไปนี้ เราเริ่มต้นด้วยรูปแบบที่มีการสกัดกั้น

# Include an intercept!
> summary(int.lm)

Call:
lm(formula = y ~ x)

Residuals:
      Min        1Q    Median        3Q       Max
-0.656010 -0.161556 -0.005112  0.178008  0.621790

Coefficients:
            Estimate Std. Error t value Pr(>|t|)
(Intercept)  0.48521    0.02990   16.23   <2e-16 ***
x            0.54239    0.04929   11.00   <2e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.2467 on 218 degrees of freedom
Multiple R-squared: 0.3571,     Adjusted R-squared: 0.3541
F-statistic: 121.1 on 1 and 218 DF,  p-value: < 2.2e-16

จากนั้นดูสิ่งที่เกิดขึ้นเมื่อเราแยกการสกัดกั้น

# No intercept!
> summary(noint.lm)

Call:
lm(formula = y ~ x + 0)

Residuals:
     Min       1Q   Median       3Q      Max
-0.62108 -0.08006  0.16295  0.38258  1.02485

Coefficients:
  Estimate Std. Error t value Pr(>|t|)
x  1.20712    0.04066   29.69   <2e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.3658 on 219 degrees of freedom
Multiple R-squared: 0.801,      Adjusted R-squared: 0.8001
F-statistic: 881.5 on 1 and 219 DF,  p-value: < 2.2e-16

ด้านล่างเป็นพล็อตของข้อมูลที่มีรูปแบบการสกัดกั้นด้วยสีแดงและแบบจำลองที่ไม่มีการสกัดกั้นเป็นสีน้ำเงิน

พล็อตข้อมูลที่มีเส้นการถดถอย


4
นี่เป็นสิ่งที่น่าตื่นเต้นจริงๆ +1 คำถาม: บ่อยครั้งเมื่อเราต้องการที่จะตัดสินแบบจำลอง b / t 2 เราทำการทดสอบแบบจำลองแบบซ้อนกันทำสิ่งนี้ห้ามไม่ให้ทำเช่นนั้นหรือมันจะยังคงถูกต้องในการทดสอบแบบจำลองที่ลดลงโดยไม่มีการสกัดกั้นแบบเต็มรูปแบบ ?
gung

5
@ gung: ไม่ฉันไม่เชื่อว่ามีสิ่งใดที่ห้ามเราจากการทดสอบทั่วไป การทดสอบไม่ได้ขึ้นอยู่กับการมีอยู่ของการสกัดกั้นและแท้จริงฉันเชื่อว่า statistic จะทำงานในกรณีนี้ให้เป็นขวา) นี่ทำให้เรามีข้อมูลเชิงปริมาณเล็กน้อยถ้าหากเราก็รู้ว่าโดยแน่นอนว่าฉันได้ทำพีชคณิตอย่างถูกต้องแล้ว FF
F=(n2)(\y\ytilde22\y\yhat221)
R02>R12
F<(n2)y¯2n1\yy¯\one22,
พระคาร์ดินัล

1
ฉันชอบการแสดงออกR02=Y~2Y2
Stéphane Laurent

3
@ naught101: ฉันจะไม่บอกว่ามันเป็นเรื่องจริงมากขึ้นแต่มันเป็นมุมมองที่สมเหตุสมผลพอสมควรโดยทั่วไปแล้วการพูด สำหรับงานแสดงสินค้าในปัจจุบันมันสะดวกที่จะพิจารณาว่ามันขาดไปในแง่ที่ว่าเรามีความสนใจในความสัมพันธ์ระหว่างพื้นที่ย่อยและที่สุด ความแตกต่างระหว่างทั้งสองคือการปรากฏตัวหรือขาดมันของพื้นฐานเวกเตอร์1 S1S01
พระคาร์ดินัล

1
ฉันคิดถึงบางอย่าง R ทำอะไรถูกต้องไหม ฉันหมายถึงค่า R ^ 2 ที่มีการรายงานแม้เปรียบเทียบระหว่างระยะไกลด้วยและไม่มีกรณีสกัดกั้น?
Andy Clifton

1

ฉันจะตัดสินใจตามเกณฑ์ข้อมูลเช่นเกณฑ์ Akaike หรือ Bayes-Schwarz แทนที่จะเป็น R ^ 2 ถึงอย่างนั้นฉันก็ไม่คิดว่าสิ่งเหล่านี้จะสัมบูรณ์

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

กราฟต่อไปนี้แสดงสิ่งที่เกิดขึ้นในกรณีร้ายแรงนี้ ที่นี่กระบวนการสร้างคือ x = 100,100.1, .... และ y เป็นเพียงแค่ 100 + สัญญาณรบกวนแบบสุ่มที่มีค่าเฉลี่ย 0 และส่วนเบี่ยงเบนมาตรฐาน. 1 จุดคือวงกลมสีดำความพอดีที่ไม่มีจุดตัดคือเส้นสีน้ำเงินและความพอดีกับจุดตัด (zeroing out the slope) คือเส้นสีแดง:

[ขอโทษทีมันจะไม่ให้ฉันโพสต์กราฟ; เรียกใช้รหัส R ด้านล่างเพื่อสร้าง มันแสดงจุดกำเนิดที่มุมซ้ายล่าง, กลุ่มของจุดที่มุมขวาบน ความพอดีที่ไม่มีจุดตัดที่ไม่ดีเริ่มจากซ้ายล่างไปทางขวาบนและการใส่ที่ถูกต้องเป็นเส้นขนานกับแกน x]

แบบจำลองที่ถูกต้องสำหรับสิ่งนี้ควรมีศูนย์ R ^ 2 --- เป็นค่าคงที่บวกกับสัญญาณรบกวนแบบสุ่ม R จะให้คุณและ R ^ 2 ของ. 99 สำหรับความพอดีโดยไม่มีการสกัดกั้น สิ่งนี้จะไม่สำคัญมากถ้าคุณใช้แบบจำลองสำหรับการทำนายด้วยค่า x ภายในช่วงของข้อมูลการฝึกอบรม แต่จะล้มเหลวอย่างน่าสังเวชถ้า x ไปนอกช่วงแคบ ๆ ของชุดการฝึกอบรมหรือคุณพยายามรับข้อมูลเชิงลึกที่แท้จริง เกินคาดการณ์

AIC อย่างถูกต้องแสดงให้เห็นว่ารูปแบบที่มีการสกัดกั้นเป็นที่ต้องการ รหัส R สำหรับสิ่งนี้คือ:

 Nsamp=100
x=seq(1,100,1)*.1+100 # x=101.1,101.2,....
y=rnorm(n=length(x))+100 # random noise +100 (best model is constant)

model_withint=lm(y~x)
print(summary(model_withint))
flush.console()
model_noint=lm(y~x+0) 
print(summary(model_noint))
print (AIC(model_withint))
print(sprintf ('without intercept  AIC=%f',AIC(model_noint)))
print(sprintf ('with intercept  AIC=%f',AIC(model_withint)))
print(sprintf ('constant model  AIC=%f',AIC(lm(y~1))))
plot(x,y,ylim=c(0,105),xlim=c(0,105))
lines( c(0,105),c(0,105)*model_noint$coefficients['x'],col=c('blue'))
lines( c(0,105),c(1,1)*(lm(y~1)$coefficients['(Intercept)']),col=c('red'))

เอาต์พุต AIC คือ

   "without intercept  AIC=513.549626"
    "with intercept  AIC=288.112573"
    "constant model  AIC=289.411682"

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

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