Come visualizzare la bontà bayesiana di adattamento per la regressione logistica


10

Per un problema di regressione logistica bayesiana, ho creato una distribuzione predittiva posteriore. Prendo un campione dalla distribuzione predittiva e ricevo migliaia di campioni di (0,1) per ogni osservazione che ho. Visualizzare la bontà di adattamento è poco interessante, ad esempio:

inserisci qui la descrizione dell'immagine

Questo diagramma mostra i 10.000 campioni + il punto di riferimento osservato (la via a sinistra può distinguere una linea rossa: sì, questa è l'osservazione). Il problema è che questa trama è poco istruttiva e ne avrò 23, una per ogni punto dati.

Esiste un modo migliore per visualizzare i 23 punti dati più i campioni posteriori.


Un altro tentativo:

inserisci qui la descrizione dell'immagine


Un altro tentativo basato sul documento qui

inserisci qui la descrizione dell'immagine


1
Vedi qui per un esempio in cui funziona la tecnica di visualizzazione dei dati sopra.
Cam.Davidson.Pilon

Questo è un sacco di spazio sprecato IMO! Hai davvero solo 3 valori (sotto 0,5, sopra 0,5 e l'osservazione) o è solo un artefatto dell'esempio che hai dato?
Andy W,

In realtà è peggio: ho 8500 0 e 1500 1. Il grafico invia semplicemente questi valori per creare un istogramma collegato. Ma sono d'accordo: molto spazio sprecato. Davvero, per ogni punto dati posso ridurlo a una proporzione (ex 8500/10000) e un'osservazione (o 0 o 1)
Cam.Davidson.Pilon

Quindi hai 23 punti dati e quanti predittori? E la tua distrazione predittiva posteriore per nuovi punti dati o per i 23 che hai usato per adattarsi al modello?
Probislogic

La tua trama aggiornata è vicina a ciò che stavo per suggerire. Cosa rappresenta l'asse x? Sembra che tu abbia alcuni punti super-imposti - che con solo 23 sembra inutile.
Andy W,

Risposte:


5

Ho la sensazione che tu non abbia rinunciato completamente a tutti i beni per la tua situazione, ma dato ciò che abbiamo di fronte, consideriamo l'utilità di un semplice diagramma a punti per visualizzare le informazioni.

Dot Dot

L'unica cosa vera da non qui (che non sono forse comportamenti predefiniti) sono:

  • Ho usato codifiche ridondanti, forma e colore, per discriminare tra i valori osservati senza difetti e difetti. Con tali semplici informazioni, non è necessario posizionare un punto sul grafico. Inoltre hai un problema quando il punto è vicino ai valori medi, ci vuole più ricerca per vedere se il valore osservato è zero o uno.
  • Ho ordinato l'immagine secondo la proporzione osservata.

L'ordinamento è il vero kicker per dot-plot come questi. L'ordinamento per valori di proporzione qui aiuta a scoprire facilmente osservazioni residue elevate. Avere un sistema in cui puoi facilmente ordinare in base ai valori contenuti nella trama o in caratteristiche esterne dei casi è il modo migliore per ottenere il botto per il tuo dollaro.

Questo consiglio si estende anche alle osservazioni continue. È possibile colorare / modellare i punti in base al fatto che il residuo sia negativo o positivo, quindi dimensionare il punto in base al residuo assoluto (o al quadrato). Questo è IMO non necessario qui a causa della semplicità dei valori osservati.


1
Mi piace questa soluzione e il contenuto, sto solo aspettando altri invii. Grazie Andy.
Cam.Davidson.Pilon

1
@ Cam.Davidson.Pilon - Sto aspettando anche altri invii! Poiché il tuo modello ha un solo predittore, l'ordinamento in base alla proporzione prevista di difetti sarebbe sinonimo di ordinamento per temperatura (presupponendo un effetto monotonico - come appare nel grafico). Forse qualcuno verrà con un'altra soluzione che consente effettivamente di vedere sia la proporzione prevista che la temperatura originale (o qualcosa di completamente diverso). Questo display è utile per visualizzare previsioni errate, ma non molto per cose come vedere effetti non lineari.
Andy W

1
Sono felice di assegnarti la generosità. L'ordinamento è la chiave per presentarlo e il documento collegato al tuo post precedente è quello che userò. Grazie!
Cam.Davidson.Pilon

4

Il solito modo per visualizzare l'adattamento di un modello di regressione logistica bayesiana con un predittore è di tracciare la distribuzione predittiva insieme alle proporzioni corrispondenti. (Per favore, fammi sapere se ho capito la tua domanda)

Un esempio che utilizza il popolare set di dati Bliss.

inserisci qui la descrizione dell'immagine

Codice sotto in R:

library(mcmc)

# Beetle data

ni = c(59, 60, 62, 56, 63, 59, 62, 60) # Number of individuals
no = c(6, 13, 18, 28, 52, 53, 61, 60) # Observed successes
dose = c(1.6907, 1.7242, 1.7552, 1.7842, 1.8113, 1.8369, 1.8610, 1.8839) # dose

dat = cbind(dose,ni,no)

ns = length(dat[,1])

# Log-posterior using a uniform prior on the parameters

logpost = function(par){
var = dat[,3]*log(plogis(par[1]+par[2]*dat[,1])) + (dat[,2]-dat[,3])*log(1-plogis(par[1]+par[2]*dat[,1]))

if( par[1]>-100000 ) return( sum(var) )
else return(-Inf)
}

# Metropolis-Hastings
N = 60000

samp <- metrop(logpost, scale = .35, initial = c(-60,33), nbatch = N)

samp$accept

burnin = 10000
thinning = 50

ind = seq(burnin,N,thinning)

mu1p =   samp$batch[ , 1][ind]

mu2p =   samp$batch[ , 2][ind]


# Visual tool

points = no/ni
# Predictive dose-response curve
DRL <- function(d) return(mean(plogis(mu1p+mu2p*d)))
DRLV = Vectorize(DRL)

v <- seq(1.55,2,length.out=55)
FL = DRLV(v)

plot(v,FL,type="l",xlab="dose",ylab="response")
points(dose,points,lwd=2)

Non sono un ragazzo R, puoi fornire la trama / output?
Cam.Davidson.Pilon

@ Cam.Davidson.Pilon Mi dispiace, la mia reputazione non mi consente di includere trame. Ma l'idea è quella di tracciare l'intera curva dose-risposta insieme alle proporzioni osservate.
Cerberis,

Ho aggiunto la foto. Assumi una struttura diversa per i dati in cui gli OP non si estendono direttamente al tuo esempio. I dati del OP sarebbe come se il vostro ni = 23e no = 7e ciascuno dei 23 individui ha un diverso dose. Tuttavia, è possibile creare un grafico simile per i dati dell'OP (i punti vengono posizionati su 0 o 1 sull'asse Y e si traccia la funzione). Vedi alcuni esempi di grafici simili per la regressione logistica nei riferimenti che do a questa risposta .
Andy W

@AndyW Grazie per questo e anche per i chiarimenti.
Cerberis,

@AndyW ah i documenti che colleghi sono abbastanza utili! Dovrò dare un'occhiata più da vicino a quelli per vedere se posso applicarli.
Cam.Davidson.Pilon

3

Sto rispondendo a una richiesta di tecniche grafiche alternative che mostrano come gli eventi di errore ben simulati corrispondano agli eventi di errore osservati. La domanda è sorta in "Programmazione probabilistica e metodi bayesiani per hacker" che si trova qui . Ecco il mio approccio grafico:

Guasti O-Ring simulati rispetto a quelli osservati

Codice trovato qui .


Interessante: puoi offrire qualche argomento sul perché usare questa tecnica? Grazie per la condivisione!
Cam.Davidson.Pilon il

Questo è un risultato probabilistico, non deterministico. Pertanto, ho cercato una rappresentazione che trasmettesse diverse cose: 1) la gamma di eventi osservati e previsti; 2: distribuzione della probabilità dei guasti previsti; 3) la distribuzione di probabilità dei guasti previsti; e 4) intervalli in cui è più probabile l'insuccesso, maggiore probabilità di insuccesso e intervalli in cui si sovrappongono probabilità di insuccesso e insuccesso. Questo grafico mostra tutto ciò per i miei occhi.
user35216

Altre aggiunte / chiarimenti: 1) l' intervallo di temperatura degli eventi osservati e previsti; 5) guasti e guasti non osservati effettivi
user35216
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.