Interpretazione dell'output di R per regressione binomiale


38

Sono abbastanza nuovo su questo con i test binomiali dei dati, ma dovevo farne uno e ora non sono sicuro di come interpretare il risultato. La variabile y, la variabile di risposta, è binomiale e i fattori esplicativi sono continui. Questo è ciò che ho ottenuto riassumendo il risultato:

glm(formula = leaves.presence ~ Area, family = binomial, data = n)

Deviance Residuals: 
Min      1Q  Median      3Q     Max  
-1.213  -1.044  -1.023   1.312   1.344  

Coefficients:
                        Estimate Std. Error z value Pr(>|z|) 
(Intercept)           -0.3877697  0.0282178 -13.742  < 2e-16 ***
leaves.presence        0.0008166  0.0002472   3.303 0.000956 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1 
(Dispersion parameter for binomial family taken to be 1)

Null deviance: 16662  on 12237  degrees of freedom
Residual deviance: 16651  on 12236  degrees of freedom
(314 observations deleted due to missingness)
AIC: 16655
Number of Fisher Scoring iterations: 4

Ci sono un certo numero di cose che non capisco qui, cosa dice veramente questo:

                        Estimate Std. Error z value Pr(>|z|) 
(Intercept)           -0.3877697  0.0282178 -13.742  < 2e-16 ***
leaves.presence        0.0008166  0.0002472   3.303 0.000956 ***

E cosa significano le iterazioni di AIC e del numero di punteggi Fisher?

> fit
Call:  glm(formula = Lövförekomst ~ Areal, family = binomial, data = n)

Coefficients:
(Intercept)        Areal  
-0.3877697    0.0008166  

Degrees of Freedom: 12237 Total (i.e. Null);  12236 Residual
(314 observations deleted due to missingness)
Null Deviance:      16660 
Residual Deviance: 16650        AIC: 16650

E qui cosa significa:

Coefficients:
(Intercept)        Areal  
-0.3877697    0.0008166 

6
Poiché la tua domanda è molto ampia: "come si interpreta una regressione binomiale?" - Suggerirei di prendere un testo introduttivo sull'argomento. Un'introduzione all'analisi dei dati categorici di Agresti è molto accessibile.
Sycorax dice di reintegrare Monica il

2
Questo potrebbe essere troppo ampio per rispondere qui; come diceva @ user777, consultare un buon testo potrebbe essere in ordine. Agresti è bravo, sono d'accordo. Anche Hosmer e Lemeshow sono bravi. Se vuoi qualcosa di breve e gratuito (avviso di auto plug) vedi la mia introduzione alla regressione logistica, ma potrebbe essere troppo semplice per le tue esigenze.
Peter Flom - Ripristina Monica

Ok, grazie per le risposte rapide, proverò Agresti e vedrò se aiuta :)
user40116

4
Non credo che questa domanda sia troppo ampia per rispondere. Mi sembra che sia essenzialmente la versione della regressione logistica dell'interpretazione dell'output di rs-lm , che è stata costantemente considerata sull'argomento.
gung - Ripristina Monica

1
Sono con @gung su questo, se la domanda riguarda l'interpretazione di ciò che R ha spruzzato sullo schermo. Dove c'è ambiguità è cosa si intende per "media"? Se l'OP è felice di sapere che i coefficienti sono i valori stimati del modello con valori sulla scala delle probabilità del log, allora questa Q è OK. Se l'OP non è soddisfatto di ciò e richiede una spiegazione del loro significato in termini di dati, modello, ecc., Si tratterebbe di una domanda troppo ampia dato che si tratta solo di una delle numerose domande poste.
Ripristina Monica - G. Simpson,

Risposte:


74

Quello che hai fatto è la regressione logistica . Questo può essere fatto praticamente in qualsiasi software statistico e l'output sarà simile (almeno nel contenuto, sebbene la presentazione possa essere diversa). C'è una guida alla regressione logistica con R sull'eccellente sito Web di aiuto per le statistiche dell'UCLA. Se non hai familiarità con questo, la mia risposta qui: la differenza tra i modelli logit e probit , può aiutarti a capire di cosa tratta LR (anche se è scritto in un contesto diverso).

Sembra che tu abbia presentato due modelli, mi concentrerò principalmente su quello in alto. Inoltre, sembra che ci sia stato un errore di copiare e incollare il modello o l'uscita, così sarò scambiare leaves.presencecon Areanell'output per renderlo coerente con il modello. Ecco il modello a cui mi riferisco (nota che ho aggiunto (link="logit"), il che è implicito family=binomial; vedi ? Glm e ? Famiglia ):

glm(formula = leaves.presence ~ Area, family = binomial(link="logit"), data = n)

Esaminiamo questo output (notare che ho cambiato il nome della variabile nella seconda riga sotto Coefficients):

Deviance Residuals: 
   Min      1Q  Median      3Q     Max  
-1.213  -1.044  -1.023   1.312   1.344  

Coefficients:
                        Estimate Std. Error z value Pr(>|z|) 
(Intercept)           -0.3877697  0.0282178 -13.742  < 2e-16 ***
Area                   0.0008166  0.0002472   3.303 0.000956 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1 
(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 16662  on 12237  degrees of freedom
Residual deviance: 16651  on 12236  degrees of freedom
(314 observations deleted due to missingness)
AIC: 16655
Number of Fisher Scoring iterations: 4

Proprio come ci sono residui nella regressione lineare (OLS), ci possono essere residui nella regressione logistica e altri modelli lineari generalizzati. Tuttavia, sono più complicati quando la variabile di risposta non è continua. I GLiM possono avere cinque diversi tipi di residui, ma ciò che viene elencato come standard sono i residui di devianza. ( Devianza e la devianza residui sono più avanzate, quindi sarò breve qui; se questa discussione è un po 'difficile da seguire, io non preoccupatevi troppo, si può saltare):

Deviance Residuals: 
   Min      1Q  Median      3Q     Max  
-1.213  -1.044  -1.023   1.312   1.344  

Per ogni punto dati utilizzato nel modello, viene calcolata la devianza associata a quel punto. Fatto questo per ogni punto, hai un insieme di tali residui e l'output sopra è semplicemente una descrizione non parametrica della loro distribuzione.


Successivamente vediamo le informazioni sulle covariate, che è ciò che le persone in genere sono principalmente interessate a:

Coefficients:
                        Estimate Std. Error z value Pr(>|z|) 
(Intercept)           -0.3877697  0.0282178 -13.742  < 2e-16 ***
Area                   0.0008166  0.0002472   3.303 0.000956 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1 

AreaEstimateleaves.presenceArealeaves.presenceArea0.) Nella colonna successiva, vediamo l' errore standard associato a queste stime. Cioè, sono una stima di quanto, in media, queste stime rimbalzerebbero se lo studio venisse ripetuto in modo identico, ma con nuovi dati, ancora e ancora. (Se non si ha molta familiarità con l'idea di un errore standard, può essere utile leggere la mia risposta qui: come interpretare gli errori standard del coefficiente nella regressione lineare .) Se dovessimo dividere la stima per l'errore standard, dovremmo ottenere un quoziente che si presume sia normalmente distribuito con campioni sufficientemente grandi. Questo valore è elencato in sotto z value. Di seguito Pr(>|z|)sono elencati i valori p a due codeche corrispondono a quei valori z in una distribuzione normale standard. Infine, ci sono le stelle di significato tradizionali (e nota la chiave sotto la tabella dei coefficienti).


Il Dispersion linea è stampata di default con GLiMs, ma qui non aggiunge molte informazioni (è più importante con i modelli di conteggio, ad es.). Possiamo ignorarlo.


Infine, otteniamo informazioni sul modello e sulla sua bontà di adattamento:

    Null deviance: 16662  on 12237  degrees of freedom
Residual deviance: 16651  on 12236  degrees of freedom
(314 observations deleted due to missingness)
AIC: 16655
Number of Fisher Scoring iterations: 4

La linea su missingness è spesso mancante. Si presenta qui perché hai avuto 314 osservazioni per il quale sia leaves.presence, Areao entrambi mancavano. Tali osservazioni parziali non sono state utilizzate per adattare il modello.

Il Residual devianceè una misura della mancanza di adattamento del modello considerato nel suo complesso, mentre il Null devianceè una tale misura per un modello ridotto che solo include l'intercetta. Si noti che i gradi di libertà associati a questi due differiscono di uno solo. Poiché il tuo modello ha una sola covariata, è stato stimato solo un parametro aggiuntivo (il Estimatefor Area), e quindi è stato consumato solo un ulteriore grado di libertà. Questi due valori possono essere usati per condurre un test del modello nel suo insieme, che sarebbe analogo alla globaleF test che viene fornito con un modello di regressione lineare multipla. Dato che hai una sola covariata, un test del genere non sarebbe interessante in questo caso.

Il AIC è un'altra misura della bontà dell'adattamento che tiene conto della capacità del modello di adattarsi ai dati. Ciò è molto utile quando si confrontano due modelli in cui uno può adattarsi meglio, ma forse solo in virtù della sua maggiore flessibilità e quindi migliore capacità di adattamento di qualsiasi dato. Dal momento che hai un solo modello, questo non è informativo.

Il riferimento Fisher scoring iterationsha a che fare con la stima del modello. Un modello lineare può essere adattato risolvendo equazioni in forma chiusa. Sfortunatamente, ciò non può essere fatto con la maggior parte dei GLiM, inclusa la regressione logistica. Invece, viene utilizzato un approccio iterativo (l' algoritmo Newton-Raphson di default). Liberamente, il modello si adatta sulla base di un'ipotesi su quali potrebbero essere le stime. L'algoritmo quindi si guarda intorno per vedere se l'adattamento sarebbe migliorato utilizzando invece stime diverse. In tal caso, si sposta in quella direzione (ad esempio, utilizzando un valore più elevato per la stima) e quindi si adatta nuovamente al modello. L'algoritmo si interrompe quando non si accorge che spostarsi di nuovo comporterebbe molti ulteriori miglioramenti. Questa riga indica quante iterazioni c'erano prima che il processo si arrestasse e producesse i risultati.



Per quanto riguarda il secondo modello e l'output che elenchi, questo è solo un modo diverso di visualizzare i risultati. In particolare, questi

Coefficients:
(Intercept)       Areal  
-0.3877697    0.0008166

sono lo stesso tipo di stime discusse sopra (anche se da un modello diverso e presentate con informazioni meno supplementari).


1

Chiamata : questa è solo la chiamata effettuata alla funzione. Sarà lo stesso codice che hai digitato in R. Questo può essere utile per vedere se hai fatto errori di battitura.

(Devianza) Residui: puoi praticamente ignorarli per la regressione logistica. Per Poisson o regressione lineare, si desidera che questi siano distribuiti più o meno normalmente (che è la stessa cosa che stanno controllando i primi due grafici diagnostici). Puoi verificarlo vedendo se il valore assoluto di 1Q e 3Q sono vicini (ish) tra loro e se la mediana è vicina a 0. La media non viene mostrata perché è sempre 0. Se qualcuno di questi è super spento allora probabilmente hai qualche strano disallineamento nei tuoi dati. (Questo verrà visualizzato anche nei grafici diagnostici!)

Coefficienti : questa è la carne dell'output.

  • Intercetta : per Poisson e regressione lineare, questo è l'output previsto quando tutti i nostri input sono 0. Per la regressione logistica, questo valore sarà più lontano da 0 maggiore sarà la differenza tra il numero di osservazioni in ogni classe .. L'errore standard rappresenta quanto siamo incerti su questo (inferiore è meglio). In questo caso, poiché la nostra intercettazione è lontana da 0 e il nostro errore standard è molto più piccolo dell'intercettazione, possiamo essere abbastanza sicuri che una delle nostre classi (fallita o non fallita) abbia molte più osservazioni al suo interno. (In questo caso è "non fallito", per fortuna!)

  • Vari input (ogni input sarà su una riga diversa): questa stima rappresenta quanto pensiamo che l'output cambierà ogni volta che aumentiamo questo input di 1. Maggiore è la stima, maggiore è l'effetto di questa variabile di input sull'output. L'errore standard è quanto siamo certi. Di solito, possiamo essere abbastanza sicuri che un input sia informativo se l'errore standard è 1/10 del preventivo. Quindi in questo caso siamo abbastanza sicuri che l'intercettazione sia importante.

  • Signif. Codici : questa è una chiave per il significato di ciascuno: input e intercettazione. Questi sono corretti solo se si adatta solo un modello ai dati. (In altre parole, sono perfetti per i dati sperimentali se fin dall'inizio a quali variabili sei interessato e non come informativo per l'analisi dei dati o la selezione delle variabili.)

    Aspetta, perché non possiamo usare il significato statistico? In genere non lo consiglierei. Nella scienza dei dati spesso dovrai adattare più modelli utilizzando lo stesso set di dati per provare a scegliere il modello migliore. Se mai esegui più di un test per significatività statistica sullo stesso set di dati, devi compensare il tuo valore p per compensarlo. Puoi pensarci in questo modo: se decidi di accettare risultati inferiori a p = 0,05, in pratica stai dicendo che stai bene a sbagliarne uno su venti volte. Se poi fai cinque test, tuttavia, e per ognuno c'è una probabilità 1/20 che ti sbagli, ora hai una probabilità 1/4 di aver sbagliato su almeno uno di quei test ... ma tu non so quale. Puoi correggerlo (moltiplicando il valore p accetterai come significativo per il numero di test che preformi ) ma in pratica trovo che in genere sia più facile evitare di usare del tutto i valori p.

(Parametro di dispersione per famiglia binomiale considerato 1): lo vedrai solo per la regressione di Poisson e binomiale (logistica). Ti sta solo facendo sapere che è stato aggiunto un parametro di ridimensionamento aggiuntivo per adattarlo al modello. Puoi ignorarlo.

Deviazione nulla: la deviazione nulla ci dice quanto bene possiamo prevedere il nostro output solo usando l'intercetta. Più piccolo è meglio.

Devianza residua: la devianza residua ci dice quanto bene possiamo prevedere il nostro output usando l'intercettazione e i nostri input. Più piccolo è meglio. Maggiore è la differenza tra la deviazione nulla e la deviazione residua, più utili sono state le nostre variabili di input per prevedere la variabile di output.

AIC: L'AIC è il "criterio di informazione di Akaike" ed è una stima di quanto bene il tuo modello sta descrivendo gli schemi nei tuoi dati. Viene utilizzato principalmente per confrontare modelli addestrati sullo stesso set di dati. Se è necessario scegliere tra i modelli, il modello con AIC inferiore sta facendo un lavoro migliore descrivendo la varianza nei dati.

Numero di iterazioni del punteggio Fisher: questa è solo una misura di quanto tempo ci è voluto per adattarsi al modello. Puoi tranquillamente ignorarlo.

Suggerisco questo toturial per saperne di più. https://www.kaggle.com/rtatman/regression-challenge-day-5

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.