La rimozione del termine di intercettazione statisticamente significativo aumenta nel modello lineare


101

In un modello lineare semplice con una singola variabile esplicativa,

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

Trovo che la rimozione del termine di intercettazione migliora notevolmente l'adattamento (il valore di va da 0,3 a 0,9). Tuttavia, il termine di intercettazione sembra essere statisticamente significativo.R2

Con intercetta:

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

Senza intercettazione:

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

Come interpreteresti questi risultati? Un termine di intercettazione dovrebbe essere incluso nel modello o no?

modificare

Ecco le somme residue dei quadrati:

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

14
Ricordo che è il rapporto tra varianza spiegata e totale SOLO se l'intercettazione è inclusa. Altrimenti non può essere derivato e perde la sua interpretazione. R2
Momo,

@Momo: buon punto. Ho calcolato le somme residue di quadrati per ciascun modello, il che sembra suggerire che il modello con il termine di intercettazione si adatta meglio a prescindere da ciò che dice . R2
Ernest A

4
Bene, l'RSS deve scendere (o almeno non aumentare) quando si include un parametro aggiuntivo. Ancora più importante, gran parte dell'inferenza standard nei modelli lineari non si applica quando si sopprime l'intercettazione (anche se non è statisticamente significativa).
Macro

14
Ciò che fa quando non c'è intercettazione è che calcola invece (nota, nessuna sottrazione della media in i termini denominatore). Questo rende il denominatore più grande che, per lo stesso o simile MSE, fa aumentare . R
R2=1i(yiy^i)2iyi2
R2
cardinale

5
Il non è necessariamente maggiore. È solo più grande senza un'intercettazione purché il MSE dell'adattamento in entrambi i casi sia simile. Ma, si noti che come @Macro ha sottolineato, il numeratore anche diventa più grande nel caso senza intercetta quindi dipende da quale si vince! Hai ragione sul fatto che non dovrebbero essere confrontati tra loro ma sai anche che l'SSE con intercettazione sarà sempre più piccolo dell'SSE senza intercettazione. Questo è parte del problema con l'utilizzo di misure in-sample per la diagnostica di regressione. Qual è il tuo obiettivo finale per l'uso di questo modello? R2
cardinale il

Risposte:


131

Prima di tutto, dovremmo capire cosa Rsta facendo il software quando nessuna intercettazione è inclusa nel modello. Ricorda che il solito calcolo di quando è presente un'intercettazione è La prima uguaglianza si verifica solo a causa dell'inclusione dell'intercetta nel modello anche se questo è probabilmente il più popolare dei due modi di scriverlo. La seconda uguaglianza in realtà fornisce l'interpretazione più generale! Questo punto è anche l'indirizzo in questa domanda correlata .R2

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

Ma cosa succede se non ci sono intercettazioni nel modello?

Bene, in quel caso, R( silenziosamente! ) Usa la forma modificata

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

Aiuta a ricordare ciò che sta cercando di misurare. Nel primo caso, sta confrontando il modello corrente con il modello di riferimento che include solo un'intercettazione (ovvero, termine costante). Nel secondo caso, non c'è intercettazione, quindi ha poco senso confrontarlo con un tale modello. Quindi, invece, viene calcolato , che utilizza implicitamente un modello di riferimento corrispondente solo al rumore .R2R02

Nel seguito che segue, mi concentro sulla seconda espressione sia per che per poiché quell'espressione si generalizza ad altri contesti ed è generalmente più naturale pensare alle cose in termini di residui.R2R02

Ma come sono diversi e quando?

Facciamo una breve digressione in qualche algebra lineare e vediamo se riusciamo a capire cosa sta succedendo. Prima di tutto, chiamiamo i valori adattati dal modello con intercetta e i valori adattati dal modello senza intercettare . y^y~

Possiamo riscrivere le espressioni per e come e rispettivamente.R2R02

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

Ora, poiché , quindi se e solo se y22=yy¯122+ny¯2R02>R2

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

Il lato sinistro è maggiore di uno poiché il modello corrispondente a è nidificato all'interno di quello di . Il secondo termine sul lato destro è la media quadrata delle risposte divisa per l'errore quadratico medio di un modello solo intercetta. Quindi, maggiore è la media della risposta rispetto all'altra variazione, maggiore è il "gioco" che abbiamo e maggiori sono le probabilità che domini .y~y^R02R2

Si noti che tutte le cose dipendenti dal modello si trovano sul lato sinistro e che le cose non dipendenti dal modello si trovano sul lato destro.

Ok, quindi come possiamo ridurre il rapporto sul lato sinistro?

Ricordiamo che e dove e sono matrici di proiezione corrispondenti a sottospazi e tale che .y~=P0yy^=P1yP0P1S0S1S0S1

Quindi, affinché il rapporto sia vicino a uno, abbiamo bisogno che i sottospazi e siano molto simili. Ora e differiscono solo dal fatto che sia un vettore base o meno, quindi ciò significa che essere un sottospazio che si trova già molto vicino a .S0S1S0S11S01

In sostanza, ciò significa che il nostro predittore dovrebbe avere un offset medio forte stesso e che questo offset medio dovrebbe dominare la variazione del predittore.

Un esempio

Qui proviamo a generare un esempio con un'intercettazione esplicita nel modello e che si comporta vicino al caso nella domanda. Di seguito è riportato un Rcodice semplice da dimostrare.

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)

Questo dà il seguente output. Iniziamo con il modello con intercetta.

# 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

Quindi, vedi cosa succede quando escludiamo l'intercettazione.

# 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

Di seguito è riportato un diagramma dei dati con il modello con intercettazione in rosso e il modello senza intercettazione in blu.

Grafico dei dati con linee di regressione


4
Questo è davvero spettacolare, +1. Una domanda: spesso quando vogliamo giudicare b / t 2 modelli, eseguiamo un test del modello nidificato, questo preclude che, o sarebbe comunque valido testare un modello ridotto senza l'intercettazione contro un modello completo senza ?
gung - Ripristina Monica

5
@gung: No, non credo ci sia qualcosa che ci precluda dal tipico testIl test non dipende dalla presenza di un'intercettazione e, in effetti, credo che lo -statistic funzionerà in questo caso per essere . Questo ci dà un po 'di informazioni quantitative in questo, se davvero , allora sappiamo che supponendo, ovviamente, di aver eseguito correttamente l'algebra. FF
F=(n2)(\y\ytilde22\y\yhat221)
R02>R12
F<(n2)y¯2n1\yy¯\one22,
cardinale

1
Preferisco l'espressioneR02=Y~2Y2
Stéphane Laurent

3
@ naught101: non direi che è più vero, ma è un punto di vista altrettanto ragionevole, in generale. Per la presente esposizione, è conveniente considerarlo assente, nel senso che alla fine siamo interessati alla relazione tra i sottospazi e . La differenza tra i due è la presenza, o la sua mancanza, del vettore di base . S1S01
cardinale

1
Mi manca qualcosa. Cosa fa R, è corretto ? Voglio dire, il valore di R ^ 2 che viene riportato è anche lontanamente paragonabile tra i casi con e senza intercetta?
Andy Clifton,

1

Baserei la mia decisione su criteri di informazione come i criteri Akaike o Bayes-Schwarz anziché R ^ 2; anche allora non li vedrei come assoluti.

Se hai un processo in cui la pendenza è vicina allo zero e tutti i dati sono lontani dall'origine, il tuo R ^ 2 corretto dovrebbe essere basso poiché la maggior parte delle variazioni nei dati sarà dovuta al rumore. Se si tenta di adattare tali dati a un modello senza un'intercettazione, si genererà un termine di pendenza grande e errato e probabilmente un R ^ 2 più bello se si utilizza la versione gratuita di intercettazione.

Il seguente grafico mostra cosa succede in questi casi estremi. Qui il processo di generazione è che x = 100.100,1, .... e y è solo 100 + rumore casuale con media 0 e deviazione standard .1. I punti sono cerchi neri, l'adattamento senza l'intercettazione è la linea blu e l'adattamento con l'intercetta (azzerando la pendenza) è la linea rossa:

[Mi dispiace non mi lascerà pubblicare il grafico; eseguire il codice R di seguito per generarlo. Mostra l'origine nell'angolo in basso a sinistra, il gruppo di punti nell'angolo in alto a destra. Il cattivo adattamento senza intercettazione va dall'angolo inferiore sinistro a quello superiore destro e l'adattamento corretto è una linea parallela all'asse x]

Il modello corretto per questo dovrebbe avere un R ^ 2 di zero --- essere una costante più rumore casuale. R ti darà e R ^ 2 di .99 per l'adattamento senza intercettazione. Ciò non importerà molto se si utilizza il modello solo per la previsione con valori x all'interno dell'intervallo dei dati di allenamento, ma fallirà miseramente se x va oltre l'intervallo ristretto dell'insieme di addestramento o si sta tentando di ottenere informazioni reali oltre la semplice previsione.

L'AIC mostra correttamente che è preferito il modello con l'intercettazione. Il codice R per questo è:

 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'))

L'uscita AIC è

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

Si noti che in questo caso l'AIC ottiene ancora il modello sbagliato, poiché il modello vero è il modello costante; ma altri numeri casuali produrranno dati per i quali l'AIC è più basso per il modello costante. Si noti che se si elimina la pendenza, è necessario rimontare il modello senza di essa, non tentare di utilizzare l'intercettazione dal modello e ignorare la pendenza.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.