Quando è possibile rimuovere l'intercettazione in un modello di regressione lineare?


118

Sto eseguendo modelli di regressione lineare e mi chiedo quali siano le condizioni per rimuovere il termine di intercettazione.

Nel confrontare i risultati di due diverse regressioni in cui una ha l'intercettazione e l'altra no, noto che della funzione senza l'intercettazione è molto più alta. Ci sono alcune condizioni o ipotesi che dovrei seguire per assicurarsi che la rimozione del termine di intercettazione sia valida?R2


1
@chi grazie per aver modificato la mia domanda. ci sono cose che dovrei chiarire o riformulare in eventuali domande future?
analyticsPierce

3
La tua domanda è ben definita. @chl ha gentilmente migliorato la formattazione, tutto qui. Ha coinvolto TeXifying "R ^ 2" (è stato trasformato in R ^ 2 , che diventa ). $ R 2$$R2
whuber

1
Cosa significherebbe l'intercettazione nel tuo modello? Dalle informazioni nella tua domanda, sembra che sarebbe il valore atteso della tua risposta quando sqft = 0 e lotsize = 0 e baths = 0. Succederà mai nella realtà?
timbp,

1
Invece di y = a + b1 x1 + b2 x2 + b3x3, posso omettere a?
Travis,

3
NB : Alcuni di questi commenti e risposte affrontano essenzialmente la stessa domanda (inquadrata nel contesto di una regressione del prezzo delle abitazioni) che è stata fusa con questa come duplicato.
whuber

Risposte:


87

La risposta più breve : mai , a meno che tu non sia sicuro che la tua approssimazione lineare del processo di generazione dei dati (modello di regressione lineare) sia per ragioni teoriche che per altre ragioni sia costretta a passare attraverso l'origine . Altrimenti gli altri parametri di regressione saranno distorti anche se l'intercettazione è statisticamente insignificante (strano ma è così, consultare Brooks Introductory Econometrics per esempio). Infine, come spiego spesso ai miei studenti, lasciando il termine di intercettazione si assicura che il termine residuo sia zero-medio.

Per i tuoi due modelli abbiamo bisogno di più contesto. Può succedere che il modello lineare non sia adatto qui. Ad esempio, è necessario prima registrare la trasformazione se il modello è moltiplicativo. Avendo processi in crescita esponenziale, a volte può capitare che per il modello senza l'intercettazione sia "molto" più alto.R2

Schermare i dati, testare il modello con RESET o qualsiasi altro test di specifica lineare, questo può aiutare a vedere se la mia ipotesi è vera. E, costruire i modelli più alti è una delle ultime proprietà statistiche di cui mi preoccupo davvero, ma è bello presentare a persone che non hanno molta familiarità con l'econometria (ci sono molti trucchi sporchi per rendere la determinazione vicina a 1 :)).R2


3
-1 per "mai", vedi esempio 1 della risposta di Giosuè
Curioso

4
@Curious, "never" è scritto con "a meno che" gli esempi seguenti mostrino solo le eccezioni quando è legale rimuovere l'intercettazione. Quando non si conosce il processo o la teoria di generazione dei dati o non si è obbligati a passare l'origine mediante la standardizzazione o qualsiasi altro modello speciale, tenerlo. Mantenere l'intercettazione è come usare il cestino per raccogliere tutte le distorsioni causate dall'approssimazione lineare e altre semplificazioni. PS praticamente la risposta mostra che hai letto solo il più breve :) Grazie mille a Joshua (+1) per gli esempi estesi.
Dmitrij Celov,

3
Hai perso il punto dell'esempio 1 di Giosuè e sembra che lo ignori ancora completamente. Nei modelli con covariata categorica la rimozione dell'intercetta comporta lo stesso modello con una parametrizzazione diversa. Questo è un caso legittimo quando l'intercettazione può essere rimossa.
Curioso

2
@Curious, nell'esempio 1 di Joshua, è necessario aggiungere una nuova variabile fittizia per il livello della variabile categoriale precedentemente considerata come base e questa nuova variabile fittizia assumerà il valore dell'intercetta, quindi NON si sta rimuovendo l'intercettazione, semplicemente rinominandolo e ri-parametrizzando il resto dei parametri della covariata categorica. Pertanto, l'argomento di Dmitrij è valido.
Rufo,

59

La rimozione dell'intercettazione è un modello diverso, ma ci sono molti esempi in cui è legittimo. Finora le risposte hanno già discusso in dettaglio l'esempio in cui l'intercettazione vera è 0. Mi concentrerò su alcuni esempi in cui potremmo essere interessati a una parametrizzazione del modello atipico.

Esempio 1: il modello in stile ANOVA. Per le variabili categoriali, in genere creiamo vettori binari che codificano l'appartenenza al gruppo. Il modello di regressione standard è parametrizzato come intercettore + k - 1 vettori fittizi. L'intercettazione codifica il valore atteso per il gruppo "riferimento", o il vettore omesso, e i vettori rimanenti verificano la differenza tra ciascun gruppo e il riferimento. Ma in alcuni casi, può essere utile avere il valore atteso di ciascun gruppo.

dat <- mtcars
dat$vs <- factor(dat$vs)

## intercept model: vs coefficient becomes difference
lm(mpg ~ vs + hp, data = dat)

Coefficients:
(Intercept)          vs1           hp  
   26.96300      2.57622     -0.05453  

## no intercept: two vs coefficients, conditional expectations for both groups
lm(mpg ~ 0 + vs + hp, data = dat)

Coefficients:
     vs0       vs1        hp  
26.96300  29.53922  -0.05453  

Esempio 2: il caso di dati standardizzati. In alcuni casi, si potrebbe lavorare con dati standardizzati. In questo caso, l'intercetta è 0 in base alla progettazione. Penso che un classico esempio di questo sia stato il modello o il fattore di equazione strutturale vecchio stile, che ha operato solo sulle matrici di covarianza dei dati. Nel caso seguente, è probabilmente una buona idea stimare l'intercettazione comunque, anche solo per eliminare il grado aggiuntivo di libertà (che avresti davvero perso comunque perché la media è stata stimata), ma ci sono una manciata di situazioni in cui costruzione, i mezzi possono essere 0 (ad esempio, alcuni esperimenti in cui i partecipanti assegnano voti, ma sono costretti a dare uguali positivi e negativi).

dat <- as.data.frame(scale(mtcars))

## intercept is 0 by design
lm(mpg ~ hp + wt, data = dat)

Coefficients:
(Intercept)           hp           wt  
  3.813e-17   -3.615e-01   -6.296e-01  

## leaving the intercept out    
lm(mpg ~ 0 + hp + wt, data = dat)

Coefficients:
     hp       wt  
-0.3615  -0.6296  

Esempio 3: Modelli multivariati e intercettazioni nascoste. Questo esempio è simile al primo in molti modi. In questo caso, i dati sono stati impilati in modo che due diverse variabili siano ora in un vettore lungo. Una seconda variabile codifica le informazioni sul fatto che il vettore di risposta yappartenga mpgo disp. In questo caso, per ottenere le intercettazioni separate per ciascun risultato, è necessario sopprimere l'intercettazione generale e includere entrambi i vettori fittizi per la misurazione. Questa è una sorta di analisi multivariata. In genere non si esegue utilizzandolm()perché hai ripetute misure e probabilmente dovresti consentire la non indipendenza. Tuttavia, ci sono alcuni casi interessanti in cui ciò è necessario. Ad esempio, quando si tenta di eseguire un'analisi di mediazione con effetti casuali, per ottenere la matrice di covarianza della varianza completa, è necessario stimare entrambi i modelli contemporaneamente, cosa che può essere fatta impilando i dati e un uso intelligente dei vettori fittizi.

## stack data for multivariate analysis
dat <- reshape(mtcars, varying = c(1, 3), v.names = "y",
  timevar = "measure", times = c("mpg", "disp"), direction = "long")
dat$measure <- factor(dat$measure)

## two regressions with intercepts only
lm(cbind(mpg, disp) ~ 1, data = mtcars)

Coefficients:
             mpg     disp  
(Intercept)   20.09  230.72

## using the stacked data, measure is difference between outcome means
lm(y ~ measure, data = dat)

Coefficients:
(Intercept)   measurempg  
      230.7       -210.6  

## separate 'intercept' for each outcome
lm(y ~ 0 + measure, data = dat)

Coefficients:
measuredisp   measurempg  
     230.72        20.09  

Non sto sostenendo che le intercettazioni dovrebbero essere generalmente rimosse, ma è bene essere flessibili.


7
+1. Non ho pensato che le persone dicessero rigidamente "mai", ma è sempre bello avere un'altra prospettiva e questa è una risposta molto chiara e ponderata. Benvenuto in CV, sarà fantastico averti come parte della community.
gung

3
@gung grazie, hai ragione. Ho modificato quella lingua dalla mia risposta poiché penso che fosse infiammatoria e non necessaria.
Giosuè,

1
@Joshua: Mi dispiace che stia facendo una domanda su un post di quasi 2 anni, ma ci sono riferimenti nel tuo primo esempio? Sto pensando di eseguire un modello di non intercettazione sui miei dati in cui la variabile predittore è categorica e sono interessato a sapere se ogni livello è significativamente diverso da 0. Grazie!
Alex,

@Alex Qualsiasi buon testo di regressione dovrebbe essere fatto (il capitolo 8 di Analisi di regressione multipla applicata / correlazione per le scienze comportamentali 3a ed. Tratta questo in parte) --- hai solo bisogno che parli di contrasti e come codificare variabili categoriali. Un modo di pensarci è che stai valutando intercettazioni separate per ciascun gruppo, piuttosto che lasciare l'intercettazione fuori.
Giosuè,

@Joshua, il tuo primo esempio ha causato confusione altrove in questo sito . La mia comprensione qui è che stai suggerendo un trucco utile per mostrare le stime dei parametri senza dover fare confusione con l'aggiunta del valore per l'intercettazione e che non stai suggerendo che il solito corso è usare un modello con l'intercettazione rimossa per condurre un'anova. In R, in quasi tutti i casi, si userebbe un modello con un'intercettazione per condurre un'anova tradizionale.
Sal Mangiafico,

29

Ci sono buone risposte qui. Due piccole cose:

  1. Per quanto riguarda un più elevato quando l'intercettazione viene interrotta, dovresti leggere questa eccellente risposta di @cardinal. (In breve, il software statistico a volte usa una definizione diversa per quando l'intercettazione è forzata a 0. Quindi l' per i modelli con e senza un'intercettazione potrebbe semplicemente non essere comparabile.) R 2 R 2R2R2R2
  2. Diverse persone sottolineano che dovresti essere certo che l'intercettazione deve essere 0 (per motivi teorici) prima di lasciarlo cadere, e non solo che non è "significativo". Penso che sia giusto, ma non è l'intera storia. Devi anche sapere che la vera funzione di generazione dei dati è perfettamente lineare in tutta la gamma di cui stai lavorando e fino a 0. Ricorda che è sempre possibile che la funzione sia approssimativamente lineare nei tuoi dati, ma in realtà leggermente curvo. Potrebbe essere abbastanza ragionevole trattare la funzione come se fosse lineare entro l'intervallo delle tue osservazioni, anche se non è perfettamente così, ma se non lo èXanche se l'intercetta vera è 0 .

2
@AdamO fa un punto simile al n. 2 qui: coefficiente di regressione lineare positivo , ma sviluppa l'idea molto più pienamente.
gung

14

Non dovresti eliminare l'intercettazione, indipendentemente dal fatto che tu sia probabile o meno di vedere tutte le variabili esplicative che hanno valori pari a zero.

C'è una buona risposta a una domanda molto simile qui .

Se si rimuove l'intercettazione, tutte le altre stime diventano distorte. Anche se il vero valore dell'intercetta è approssimativamente zero (che è tutto ciò che puoi concludere dai tuoi dati), stai scherzando con le pendenze se lo costringi a essere esattamente zero.

A MENO CHE stai misurando qualcosa con un modello fisico molto chiaro ed evidente che richiede l'intercettazione pari a zero (ad es. Hai altezza, larghezza e lunghezza di un prisma rettangolare come variabili esplicative e la variabile di risposta è volume con qualche errore di misurazione). Se la tua variabile di risposta è il valore della casa, devi assolutamente lasciare l'intercetta.


1
Puoi spiegarci, perché abbiamo bisogno dell'intercettazione per la previsione del prezzo della casa? perché tutte le X dovrebbero essere zero per qualsiasi casa?
Elfo il

10

OK, quindi hai cambiato molto la domanda

Puoi lasciare l'intercettazione quando sai che è 0. Questo è tutto. E no, non puoi farlo perché non è significativamente diverso da 0, devi sapere che è 0 o che i tuoi residui sono distorti. E, in quel caso è 0, quindi non farà alcuna differenza se lo lasci fuori ... quindi, non lasciarlo mai fuori.

La scoperta che hai con suggerisce che i dati non sono lineari. E, dato che avevi un'area come predittore, quella particolare probabilmente non è sicuramente lineare. È possibile trasformare il predittore per risolverlo.R2


2
Che dire di quando desideriamo testare la cointegrazione usando Engle / Granger in 2 passaggi? en.wikipedia.org/wiki/Cointegrazione
Jase

5

La maggior parte dei modelli di regressione multipla include un termine costante (ovvero l'intercettazione), poiché ciò assicura che il modello sarà imparziale, ovvero che la media dei residui sarà esattamente zero. (I coefficienti in un modello di regressione sono stimati da minimi quadrati, cioè minimizzando l'errore al quadrato medio. Ora, l'errore al quadrato medio è uguale alla varianza degli errori più il quadrato della loro media: questa è un'identità matematica. il valore della costante nel modello cambia la media degli errori ma non influenza la varianza, quindi, se la somma degli errori al quadrato deve essere minimizzata, la costante deve essere scelta in modo tale che la media degli errori sia zero. )

In un modello di regressione semplice, la costante rappresenta l'intercetta Y della linea di regressione, in forma non standardizzata. In un modello di regressione multipla, la costante rappresenta il valore che sarebbe previsto per la variabile dipendente se tutte le variabili indipendenti fossero contemporaneamente uguali a zero, una situazione che potrebbe non essere significativa dal punto di vista fisico o economico. Se non sei particolarmente interessato a ciò che accadrebbe se tutte le variabili indipendenti fossero contemporaneamente zero, allora normalmente lasci la costante nel modello indipendentemente dal suo significato statistico. Oltre a garantire che gli errori nel campione siano imparziali, la presenza della costante consente alla linea di regressione di "cercare il proprio livello" e fornire la soluzione migliore per i dati che possono essere solo localmente lineari.

Tuttavia, in rari casi potresti voler escludere la costante dal modello. Questa è un'opzione di adattamento del modello nella procedura di regressione in qualsiasi pacchetto software e talvolta viene definita regressione attraverso l'origine o abbreviazione di RTO. Di solito, questo sarà fatto solo se:

  1. è possibile immaginare che tutte le variabili indipendenti assumano contemporaneamente il valore zero e si ritiene che in questo caso dovrebbe logicamente seguire che anche la variabile dipendente sarà uguale a zero; o altro
  2. la costante è ridondante con l'insieme di variabili indipendenti che si desidera utilizzare.

Un esempio di caso (1) sarebbe un modello in cui tutte le variabili - dipendenti e indipendenti - rappresentavano le prime differenze di altre serie temporali. Se stai regredendo la prima differenza di Y sulla prima differenza di X, stai predicendo direttamente i cambiamenti in Y come una funzione lineare dei cambiamenti in X, senza riferimento ai livelli attuali delle variabili. In questo caso potrebbe essere ragionevole (anche se non richiesto) supporre che Y dovrebbe essere invariato, in media, ogni volta che X è invariato, ovvero che Y non dovrebbe avere una tendenza al rialzo o al ribasso in assenza di qualsiasi modifica livello di X.

Un esempio di caso (2) potrebbe essere una situazione in cui si desidera utilizzare un set completo di variabili dell'indicatore stagionale - ad esempio, si utilizzano dati trimestrali e si desidera includere le variabili Q1, Q2, Q3 e Q4 che rappresentano additivi effetti stagionali. Pertanto, Q1 potrebbe apparire come 1 0 0 0 1 0 0 0 ..., Q2 dovrebbe apparire come 0 1 0 0 0 1 0 0 ... e così via. Non è possibile utilizzare tutti e quattro questi e una costante nello stesso modello, poiché Q1 + Q2 + Q3 + Q4 = 1 1 1 1 1 1 1 1. . . . , che equivale a un termine costante. Vale a dire, le cinque variabili Q1, Q2, Q3, Q4 e COSTANTE non sono linearmente indipendenti: ognuna di esse può essere espressa come una combinazione lineare delle altre quattro. Un prerequisito tecnico per adattare un modello di regressione lineare è che le variabili indipendenti devono essere linearmente indipendenti; altrimenti i coefficienti dei minimi quadrati non possono essere determinati in modo univoco,

Un avvertimento: R-quadrato e la statistica F non hanno lo stesso significato in un modello RTO come in un normale modello di regressione e non sono calcolati allo stesso modo da tutti i software. Vedi questo articolo per alcuni avvertimenti. Non dovresti provare a confrontare il R-quadrato tra i modelli che includono e non includono un termine costante, sebbene sia corretto confrontare l'errore standard della regressione.

Si noti che il termine "indipendente" viene utilizzato in (almeno) tre modi diversi nel gergo di regressione: ogni singola variabile può essere chiamata variabile indipendente se viene utilizzata come predittore, piuttosto che come predicato. Un gruppo di variabili è linearmente indipendente se nessuna di esse può essere espressa esattamente come una combinazione lineare delle altre. Si dice che una coppia di variabili sia statisticamente indipendente se non sono solo linearmente indipendenti ma anche assolutamente non informative l'una rispetto all'altra. In un modello di regressione, si desidera che la propria variabile dipendente sia statisticamente dipendente dalle variabili indipendenti, che devono essere linearmente (ma non necessariamente statisticamente) indipendenti tra loro.


2
A quale articolo ti riferisci?
gung

2

Revisione completa dei miei pensieri. In effetti, la caduta dell'intercettazione causerà un problema di polarizzazione.

Hai considerato di centrare i tuoi dati in modo che un'intercettazione abbia un significato ed eviti di spiegare come alcuni valori (irragionevoli) potrebbero dare valori negativi? Se si regolano tutte e tre le variabili esplicative sottraendo la sqrft media, la taglia media e il bagno medio, l'intercettazione ora indicherà il valore (di una casa?) Con sdrft, lotti grandi e bagni medi.

Questo centraggio non cambierà la relazione relativa delle variabili indipendenti. Pertanto, adattando il modello ai dati centrati, i bagni continueranno a essere insignificanti. Rimontare il modello senza il bagno incluso. Potresti comunque ottenere un grande valore p per l'intercettazione, ma dovrebbe essere incluso e avrai un modello della forma y = a + b (sqrft) + c (lotsize).


1

Ho appena trascorso un po 'di tempo a rispondere a una domanda simile posta da qualcun altro, ma è stata chiusa. Ci sono alcune ottime risposte qui, ma la risposta che fornisco è un po 'più semplice. Potrebbe essere più adatto a persone che hanno una debole comprensione della regressione.

Q1: Come interpretare l'intercettazione nel mio modello?

Nei modelli di regressione, l'obiettivo è ridurre al minimo la quantità di varianza inspiegabile in una variabile di risultato:

y = b0 + b1⋅x + ϵ

dove y è il valore previsto della misura del risultato (ad es. log_blood_hg), b0 è l'intercetta, b1 è la pendenza, x è una variabile predittore e ϵ è un errore residuo.

L'intercetta (b0) è il valore medio previsto di y quando tutto x = 0. In altre parole, è il valore di base di y, prima di aver utilizzato qualsiasi variabile (ad esempio, specie) per minimizzare ulteriormente o spiegare la varianza in log_blood_hg .

Aggiungendo una pendenza (che stima come un aumento / diminuzione di una unità in log_blood_hg cambia con un aumento di una unità in x, ad esempio, specie), aggiungiamo a ciò che già sappiamo sulla variabile di risultato, che è il suo valore di base (cioè intercetta), in base al cambiamento in un'altra variabile.

Q2: quando è appropriato includere o meno l'intercettazione, specialmente per quanto riguarda il fatto che i modelli danno risultati molto diversi?

Per modelli semplici come questo, non è mai davvero appropriato abbandonare l'intercettazione.

I modelli danno risultati diversi quando si rilascia l'intercetta perché invece di mettere a terra la pendenza nel valore di base di Y, è costretto a passare attraverso l'origine di y, che è 0. Pertanto, la pendenza diventa più ripida (cioè più potente e significativa ) perché hai forzato la linea attraverso l'origine, non perché fa un lavoro migliore nel minimizzare la varianza in y. In altre parole, hai creato artificialmente un modello che minimizza la varianza in y rimuovendo l'intercetta o il punto di messa a terra iniziale per il tuo modello.

Ci sono casi in cui la rimozione dell'intercetta è appropriata, ad esempio quando si descrive un fenomeno con un'intercetta 0. Puoi leggerlo qui , così come altri motivi per cui rimuovere un'intercettazione non è una buona idea.


1

Risposta breve : (quasi) MAI. Nel modello di regressione lineare , se si imposta , si dice che SAPERE che il valore atteso di dato è zero. Non lo sai quasi mai.

y=α+βx+ϵ
α=0yx=0

R2 diventa più alto senza intercettazione, non perché il modello sia migliore, ma perché la definizione di utilizzata è un'altra! è un'espressione di un confronto del modello stimato con alcuni modelli standard, espresso come riduzione della somma dei quadrati rispetto alla somma dei quadrati con il modello standard. Nel modello con intercetta, la somma comparativa dei quadrati è attorno alla media. Senza intercettazione, è intorno allo zero! L'ultimo è di solito molto più alto, quindi è più facile ottenere una grande riduzione della somma dei quadrati.R2R2

Conclusione: NON LASCIARE L'INTERCETTO DAL MODELLO (a meno che tu non sappia davvero cosa stai facendo).

Alcune eccezioni : un'eccezione è una regressione che rappresenta un ANOVA a una via con i manichini per TUTTI i livelli di fattore (di solito uno è escluso) (ma che è solo apparentemente un'eccezione, il vettore costante 1 si trova nello spazio di colonna della matrice del modello ) Altrimenti, come le relazioni fisiche dove non ci sono costanti. Ma anche in questo caso, se il modello è solo approssimativo (la velocità non è realmente costante), potrebbe essere meglio lasciarlo in una costante anche se non può essere interpretato. Xs=vt

Ci sono anche modelli speciali che tralasciano l'intercettazione. Un esempio sono dati accoppiati, studi gemelli .

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.