Domanda:
Perché un modello di regressione lineare con intercetta zero è migliore di un modello con un'intercetta?
KuJ
2012-01-26 07:30:55 UTC
view on stackexchange narkive permalink

Molti libri di testo e articoli affermano che l'intercettazione non dovrebbe essere soppressa. Recentemente, ho utilizzato un set di dati di addestramento per creare un modello di regressione lineare con o senza un'intercetta. Sono stato sorpreso di scoprire che il modello senza un'intercetta predice meglio di quello con un'intercetta in termini di rmse in un set di dati di convalida indipendente. L'accuratezza della previsione è uno dei motivi per cui dovrei usare modelli di intercettazione zero?

Quanto erano grandi le dimensioni del campione di formazione e convalida? Forse il modello senza intercettazione era migliore solo per caso.
La dimensione del campione di addestramento era 289 mentre la dimensione del campione di convalida era 406. A proposito, come determinare le migliori dimensioni del campione di addestramento e convalida?
Cinque risposte:
Peter Flom
2012-01-26 17:08:58 UTC
view on stackexchange narkive permalink

Non penso che dovresti scegliere i modelli semplicemente perché funzionano meglio in un particolare campione, anche se è positivo che tu abbia utilizzato un campione di addestramento e convalida.

Piuttosto, guarda cosa dicono i modelli sulla tua situazione. In alcuni casi ha senso un modello di intercettazione zero. Se il DV dovrebbe essere 0 quando tutti gli IV sono 0, usa un modello di intercettazione zero. Altrimenti, non farlo.

Una conoscenza sostanziale dovrebbe guidare le statistiche, non il contrario

La ragione fornita nel secondo paragrafo, sebbene intuitiva, spesso non è abbastanza forte da sopprimere l'intercettazione in molte di queste situazioni. Questo punto è affrontato in modo più completo in un paio di altre domande su questo sito.
Negli studi di confronto di metodi (o strumenti) (ad esempio il confronto tra ossimetro A e ossimetro B), il DV (livello di ossigeno) dovrebbe essere 0 quando tutti gli IV (livelli di ossigeno) sono 0. Tuttavia, l'intercetta non dovrebbe essere ignorata se Voglio calibrare (o sostituire) l'ossimetro A con l'ossimetro B.
Emil Friedman
2012-02-01 02:21:03 UTC
view on stackexchange narkive permalink

Un modello senza intercettazione può avere senso se vengono soddisfatte due condizioni. In primo luogo, dovrebbe esserci una ragionevole aspettativa di conoscenza della materia affinché l'intercetta sia zero. Secondo, dovrebbe esserci una ragionevole aspettativa di conoscenza dell'oggetto affinché la linea di regressione rimanga una linea retta quando ci si avvicina allo zero. Anche se entrambe le condizioni sono soddisfatte, è consigliabile eseguire un'analisi con un termine di intercettazione e verificare che l'intercetta non sia significativamente diversa da zero.

(Suppongo che tu stia parlando di una Y continua e una X continua)

rolando2
2012-01-26 08:03:03 UTC
view on stackexchange narkive permalink

Sarebbe comprensibile se l'intercetta ottenuta fosse semplicemente rumore - non sig. diverso da zero. (Ho ragione sul fatto che i coefficienti di regressione standardizzati fossero quasi gli stessi in entrambi i modelli?) Se è così non penso che dovresti generalizzare da questo esempio. Quando le intercettazioni sono sig. e sostanziali, aggiungono qualcosa di significativo all'accuratezza predittiva.

1. I coefficienti di regressione standardizzati non erano gli stessi (0,91 e 1,02) per il modello con e senza intercetta). 2. L'intercetta era 9,5 (s.e. 1,7, p <0,001). 3. Per quanto ne so, molti documenti suggeriscono di non sopprimere l'intercetta anche se l'intercetta non era significativa da zero.
Se ci sono variabili fittizie nella regressione, l'intercetta non rappresenta il valore se tutti i manichini sono codificati 0 per quell'osservazione? Non sono sicuro che questo si applichi qui.
No, non c'erano variabili fittizie.
Greg Snow
2012-01-27 00:46:55 UTC
view on stackexchange narkive permalink

Osserva attentamente come vengono calcolate le statistiche rmse o altre statistiche quando si confrontano i modelli senza intercettazione con i modelli di intercettazione. A volte le ipotesi e i calcoli sono diversi tra i 2 modelli e uno può andare peggio, ma ha un aspetto migliore perché viene diviso da qualcosa di molto più grande.

Senza un esempio riproducibile è difficile dire cosa potrebbe contribuire .

Rmse è stato calcolato secondo la formula (usata per confrontare le differenze tra due cose che possono variare, nessuna delle quali è accettata come "standard") data in: http://en.wikipedia.org/wiki/Root-mean-square_deviation Quindi le ipotesi e i calcoli sono gli stessi tra i 2 stimatori derivati ​​dal modello.
Quanto sono simili i tuoi set di addestramento e convalida? Potresti considerare di eseguire una convalida incrociata di 10 volte: dividi i dati in 10 pezzi uguali (o uguali a quanto puoi ottenere) in modo casuale, quindi usane 9 per addestrare un modello e il decimo come pezzo di convalida, quindi ripeti con ciascuno di gli altri 9 pezzi sono il set di convalida. Quindi ripeti l'intero processo (iniziando con una nuova divisione casuale) circa 10 volte.
La variabile Y e le variabili X erano diverse (P = 0,01) tra i set di addestramento e di convalida. Tuttavia, rmse era ancora inferiore con il modello senza intercettazione quando ho utilizzato il pacchetto R MatchIt per abbinare i set di addestramento e convalida. Al contrario, rmse è diventato simile quando ho utilizzato il pacchetto DAAG (cv.lm) per una convalida incrociata di 10 volte del set di dati combinato. Ciò significa che la convalida incrociata di 10 volte è migliore di un semplice set di addestramento e di un set di convalida?
Sì, la convalida incrociata tende ad essere migliore. Cerca di vedere se ci sono altri modi in cui il tuo modello è troppo specificato, è molto insolito che un modello non intercettato si adatti meglio.
In "Spiegare o prevedere?" http://projecteuclid.org/DPubS?verb=Display&version=1.0&service=UI&handle=euclid.ss/1294167961&page=record Il professor Galit Shmueli ha affermato che a volte un modello meno vero può prevedere meglio di un modello più vero. Penso che questo possa essere uno dei motivi di questo caso.
user48956
2017-01-05 05:46:16 UTC
view on stackexchange narkive permalink

Nella regressione lineare, stai adattando:

$ y = f (\ beta, X) = \ beta_0 + \ beta_1 x_1 + \ beta_2 x_2 + \ dots $

Adatti $ \ beta $ dati di addestramento $ (X, Y) $ Supponiamo di eliminare $ \ beta_0 $ e di adattarli al modello, l'errore nell'adattamento:

$ \ sum_i (y_i- f (\ beta, X_i)) ^ 2 $

essere più grande di se lo includessi? In tutti i casi (non degeneri) puoi provare che l'errore sarà uguale o inferiore (sui dati di addestramento) quando includi $ \ beta_0 $ poiché il modello è libero di usare questo parametro per ridurre l'errore se è presente e aiuta e lo imposterà a zero se non aiuta. Inoltre, supponiamo di aver aggiunto una grande costante a y (presumendo che il tuo output dovesse essere $ + 10000 $ rispetto ai dati di addestramento originali) e rimontando il modello, quindi $ \ beta_0 $ diventa chiaramente molto importante.

Forse ti riferisci a modelli regolarizzati quando dici "soppresso". Regolarizzati L1 e L2, questi metodi preferiscono mantenere i coefficienti vicini a zero (e dovresti aver già normalizzato la media e la varianza in anticipo $ X $ per rendere sensato questo passaggio. Nella regolarizzazione, puoi quindi scegliere se includere il intercetta (dovremmo preferire anche un piccolo $ \ beta_0 $?). Anche in questo caso, nella maggior parte dei casi (tutti i casi?), è meglio non regolarizzare $ \ beta_0 $, poiché è improbabile che riduca l'overfitting e riduca il spazio delle funzioni rappresentabili (escludendo quelle con $ \ beta_0 $ elevati) che portano a un errore maggiore.

Nota a margine: la regressione logistica di scikit regolarizza l'intercetta per impostazione predefinita. Qualcuno sa perché: http: // scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html? Non credo che sia una buona idea.

Impara di nuovo a regolarizzare l'intercetta: questo è il caso solo se si utilizza il solutore liblinear e si nota esplicitamente che è cattivo (https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression).Immagino che il parametro intercept_scaling sia incluso in LogisticRegression per mitigare questo problema.
Il ridimensionamento non aiuta se prevedi di interpretare i parametri come odds-ratio.
Sono contento che abbiano aggiornato i documenti.Molte ore perse qui.


Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 3.0 con cui è distribuito.
Loading...