Comprensione della banda di confidenza da una regressione polinomiale


14

Sto cercando di capire il risultato che vedo nel mio grafico qui sotto. Di solito, tendo a usare Excel e ottengo una linea di regressione lineare, ma nel caso seguente sto usando R e ottengo una regressione polinomiale con il comando:

ggplot(visual1, aes(ISSUE_DATE,COUNTED)) + geom_point() + geom_smooth()

Quindi le mie domande si riducono a questo:

  1. Qual è l'area grigia (freccia n. 1) attorno alla linea di regressione blu? È questa la deviazione standard della regressione polinomiale?

  2. Posso dire che tutto ciò che è al di fuori dell'area grigia (freccia n. 2) è un 'valore anomalo' e che qualunque cosa rientri nell'area grigia (freccia n. 3) rientra nella deviazione standard?

inserisci qui la descrizione dell'immagine

Risposte:


14

La banda grigia è una banda di confidenza per la linea di regressione. Non ho abbastanza familiarità con ggplot2 per sapere con certezza se si tratta di una banda di confidenza 1 SE o di una fascia di confidenza al 95%, ma credo che sia la prima ( Modifica: evidentemente è una CI al 95% ). Una banda di confidenza fornisce una rappresentazione dell'incertezza sulla linea di regressione. In un certo senso, potresti pensare che la vera linea di regressione sia alta quanto la parte superiore di quella banda, bassa quanto la parte inferiore, o che si muova diversamente all'interno della banda. (Nota che questa spiegazione è intesa come intuitiva e non tecnicamente corretta, ma la spiegazione completamente corretta è difficile da seguire per la maggior parte delle persone.)

Dovresti usare la banda di confidenza per aiutarti a capire / pensare alla linea di regressione. Non dovresti usarlo per pensare ai punti di dati grezzi. Ricorda che la linea di regressione rappresenta la media di in ogni punto di (se hai bisogno di capirlo più a fondo, può aiutarti a leggere la mia risposta qui: qual è l'intuizione dietro le distribuzioni gaussiane condizionate? ). D'altra parte, certamente non ti aspetti che tutti i punti di dati osservati siano uguali alla media condizionale. In altre parole, non è necessario utilizzare la banda di confidenza per valutare se un punto dati è un valore anomalo. YX


( Modifica: questa nota è periferica rispetto alla domanda principale, ma cerca di chiarire un punto per il PO. )

Una regressione polinomiale non è una regressione non lineare, anche se ciò che si ottiene non sembra una linea retta. Il termine "lineare" ha un significato molto specifico in un contesto matematico, in particolare, che i parametri che si stanno valutando - i beta - sono tutti coefficienti. Una regressione polinomiale significa solo che le tue covariate sono , , , ecc., Cioè hanno una relazione non lineare tra loro, ma i tuoi beta sono ancora coefficienti, quindi è ancora un modello lineare . Se i tuoi beta fossero, diciamo, esponenti, allora avresti un modello non lineare. XX2X3

In breve, il fatto che una linea appaia o meno dritta non ha nulla a che fare con il fatto che un modello sia lineare o meno. Quando si adatta un modello polinomiale (diciamo con e ), il modello non "sa" che, ad esempio, è in realtà solo il quadrato di . "Pensa" che queste siano solo due variabili (sebbene possa riconoscere che esiste una certa multicollinearità). Così, in realtà è giusto una regressione (dritto / piatto) piano in uno spazio tridimensionale piuttosto che un (curvo) regressione linea in uno spazio bidimensionale. Questo non è utile per noi a cui pensare, e in effetti, estremamente difficile da vedere poiché è una funzione perfetta diXX2X2X1X2X. Di conseguenza, non ci preoccupiamo di pensarlo in questo modo e i nostri grafici sono in realtà proiezioni bidimensionali sul piano . Tuttavia, nello spazio appropriato, la linea è in realtà "diritta" in un certo senso. (X, Y)

Da una prospettiva matematica, un modello è lineare se i parametri che si sta tentando di stimare sono coefficienti. Per chiarire ulteriormente, prendere in considerazione il confronto tra il modello di regressione lineare standard (OLS) e un semplice modello di regressione logistica presentato in due diverse forme: Il modello principale è la regressione OLS, mentre i due inferiori sono la regressione logistica, sebbene presentati in modi diversi. In tutti e tre i casi, quando si adatta il modello, si stanno valutando i . I primi due modelli sono lineari , perché tutti i

Y=β0+β1X+ε
ln(π(Y)1-π(Y))=β0+β1X
π(Y)=exp(β0+β1X)1+exp(β0+β1X)
ββs sono coefficienti, ma il modello inferiore non è lineare (in questa forma) perché s sono esponenti. (Questo può sembrare abbastanza strano, ma la regressione logistica è un'istanza del modello lineare generalizzato , perché può essere riscritta come modello lineare. Per ulteriori informazioni a riguardo, può essere utile leggere la mia risposta qui: Differenza tra i modelli logit e probit .) β

+1 Gli esempi nella documentazione mi suggeriscono che la fiducia è piuttosto elevata, forse del 95%.
whuber

@gung grazie per la risposta dettagliata (anche tu hai un assegno!). Ho letto la tua prima dichiarazione e sono un po 'confuso. Puoi per favore approfondire di più al riguardo. Se la linea risultante non è una linea retta (y = mx + b), allora cosa la rende lineare? Grazie ancora per la risposta.
Adhg

I documenti di docs.ggplot2.org/0.9.3.1/stat_smooth.html affermano che è una fascia di confidenza del 95% per la curva di regressione.
whuber

2
Penso che lo Loess predefinito sia più regolare in uso qui, piuttosto che la regressione polinomiale?
xan,

@adhg, pensavo di aver coperto il lineare rispetto al non lineare da qualche altra parte, ma non sono riuscito a trovarlo. Quindi ho aggiunto del materiale extra qui. HTH
gung - Ripristina Monica

11

Per aggiungere alle risposte già esistenti, la banda rappresenta un intervallo di confidenza della media, ma dalla tua domanda stai chiaramente cercando un intervallo di predizione . Gli intervalli di previsione sono un intervallo che se si tracciava un nuovo punto, quel punto sarebbe teoricamente contenuto nell'intervallo X% delle volte (dove è possibile impostare il livello di X).

library(ggplot2)
set.seed(5)
x <- rnorm(100)
y <- 0.5*x + rt(100,1)
MyD <- data.frame(cbind(x,y))

Possiamo generare lo stesso tipo di trama che hai mostrato nella tua domanda iniziale con un intervallo di confidenza attorno alla media della linea di regressione del loess levigata (il valore predefinito è un intervallo di confidenza al 95%).

ConfiMean <- ggplot(data = MyD, aes(x,y)) + geom_point() + geom_smooth()
ConfiMean

inserisci qui la descrizione dell'immagine

Per un esempio rapido e sporco di intervalli di previsione, qui creo un intervallo di previsione usando la regressione lineare con spline di livellamento (quindi non è necessariamente una linea retta). Con i dati di esempio funziona abbastanza bene, per i 100 punti solo 4 sono al di fuori dell'intervallo (e ho specificato un intervallo del 90% sulla funzione di previsione).

#Now getting prediction intervals from lm using smoothing splines
library(splines)
MyMod <- lm(y ~ ns(x,4), MyD)
MyPreds <- data.frame(predict(MyMod, interval="predict", level = 0.90))
PredInt <- ggplot(data = MyD, aes(x,y)) + geom_point() + 
           geom_ribbon(data=MyPreds, aes(x=fit,ymin=lwr, ymax=upr), alpha=0.5)
PredInt

inserisci qui la descrizione dell'immagine

Ora qualche altra nota. Concordo con Ladislav sul fatto che dovresti considerare i metodi di previsione delle serie temporali poiché hai una serie regolare da qualche tempo nel 2007 ed è chiaro dalla tua trama se guardi duro c'è stagionalità (collegare i punti renderebbe molto più chiaro). Per questo suggerirei di provare la funzione forecast.stl nel pacchetto di previsione in cui è possibile scegliere una finestra stagionale e fornisce una solida decomposizione della stagionalità e della tendenza usando Loess. Cito metodi robusti perché i tuoi dati hanno alcuni picchi evidenti.

Più in generale per i dati di serie non temporali prenderei in considerazione altri metodi efficaci se si dispone di dati con valori anomali occasionali. Non so come generare intervalli di predizione usando Loess direttamente, ma potresti considerare la regressione quantile (a seconda di quanto debbano essere estremi gli intervalli di predizione). Altrimenti, se vuoi solo essere potenzialmente non lineare, puoi considerare le spline per consentire alla funzione di variare su x.


4

Bene, la linea blu è una regressione locale regolare . È possibile controllare la fluttuazione della linea tramite il spanparametro (da 0 a 1). Ma il tuo esempio è una "serie temporale", quindi prova a cercare alcuni metodi di analisi più adeguati che adattarsi solo a una curva regolare (che dovrebbe servire solo a rivelare una possibile tendenza).

Secondo la documentazione di ggplot2(e libro nel commento sotto): stat_smooth è un intervallo di confidenza del liscio mostrato in grigio. Se si desidera disattivare l'intervallo di confidenza, utilizzare se = FALSE.


1
(1) Non vedo nel tuo riferimento dove afferma che l'area grigia è l'intervallo di confidenza puntuale. Sembra abbastanza chiaro dagli esempi che l'area grigia è invece un intervallo di confidenza per la curva . (2) Nessuno dichiarerebbe ragionevolmente la grande proporzione di punti oltre l'area grigia come "valori anomali"; ce ne sono troppi.
whuber

(1) errore mio, qui aggiungo un libro che fa riferimento a "intervallo di confidenza puntuale": Wickham H (2009) ggplot2 Elegant Graphics for Data Analysis. Media 212. (pagina 14). (2) Sono d'accordo.
Ladislav Naďo,

Qualcuno dei tuoi riferimenti indica a quale livello di confidenza predefinito è impostato?
whuber

No, non riesco a trovare alcun riferimento sull'impostazione predefinita.
Ladislav Naďo,

Ho trovato il valore predefinito nella prima pagina del riferimento: "(0,95 per impostazione predefinita)." Ciò significa che o questo più liscio ha bug gravi oppure la tua interpretazione del riferimento è sbagliata: poiché una così grande percentuale dei punti dati si trova in genere oltre l'area grigia e supponendo che il codice sia corretto, l'area grigia deve essere una regione di confidenza per la previsione (curva adattata) e non una regione di confidenza per i punti.
whuber
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.