Come faccio a confrontare le pendenze della regressione avviata dal boot?


13

Supponiamo che io abbia due set di dati con n osservazioni di coppie di dati di variabile indipendente xe variabile dipendente y ciascuna. Supponiamo inoltre che io voglia generare una distribuzione delle pendenze di regressione per ciascun set di dati avviando il bootstrap delle osservazioni (con la sostituzione) N volte e calcolando la regressione y = a + bxogni volta. Come faccio a confrontare le due distribuzioni per dire che le pendenze sono significativamente diverse? Un test a U per testare la differenza tra le mediane delle distribuzioni sarebbe fortemente dipendente da N, cioè più spesso ripeto il bootstrap, più significativa sarà la differenza. Come devo calcolare la sovrapposizione tra le distribuzioni per determinare una differenza significativa?

Risposte:


19

Il bootstrap viene eseguito per ottenere un'immagine più solida della distribuzione del campionamento rispetto a quella assunta dalla teoria dei campioni di grandi dimensioni. Quando si avvia il bootstrap, non vi è effettivamente alcun limite al numero di "bootsample" che si prendono; in effetti si ottiene una migliore approssimazione alla distribuzione del campionamento più stivali si prende. È comune usare bootcamp, anche se non c'è nulla di magico in quel numero. Inoltre, non si esegue un test su bootsamples; hai una stima della distribuzione campionaria - usala direttamente. Ecco un algoritmo:B=10,000

  1. prendere un bootstamp di un set di dati campionando osservazioni di avvio con sostituzione. [Per quanto riguarda i commenti qui sotto, una domanda rilevante è cosa costituisce una valida "osservazione di avvio" da usare per il tuo bootcampo. In effetti, ci sono diversi approcci legittimi; Ne citerò due che sono robusti e ti consentono di rispecchiare la struttura dei tuoi dati: quando hai dati osservativi (cioè, i dati sono stati campionati su tutte le dimensioni, un'osservazione di avvio può essere una n-tupla ordinata (ad esempio, una riga dal tuo set di dati. Ad esempio, se hai una variabile predittore e una variabile di risposta, campionerai n 1 ( x , y )n1n1 (x,y)Coppie ordinate. D'altra parte, quando si lavora con dati sperimentali, i valori delle variabili predittive non sono stati campionati, ma le unità sperimentali sono state assegnate ai livelli previsti di ciascuna variabile predittore. In un caso come questo, puoi campionare valori y all'interno di ciascuno dei livelli j della tua variabile predittore, quindi accoppiare quelli y con il valore corrispondente di quel livello predittore. In questo modo, non eseguire il campionamento su X. ]n1j yjyX
  2. misura il vostro modello di regressione e memorizzare la stima pendenza (lo chiamano beta 1 )β^1
  3. prendere un bootstamp di altri set di dati campionando osservazioni di avvio con sostituzionen2
  4. montare l'altro modello di regressione e memorizzare la stima pendenza (chiamano  2 )β^2
  5. formare una statistica delle due stime (suggerimento: utilizzare la differenza di pendenza β 1 - β 2 )β^1β^2
  6. memorizzare la statistica e scaricare le altre informazioni per non sprecare memoria
  7. ripetere i passaggi 1 - 6, volteB=10,000
  8. ordina la distribuzione campionata bootstrap delle differenze di pendenza
  9. calcola la% della bsd che si sovrappone a 0 (qualunque sia la più piccola, la coda destra% o la coda sinistra%)
  10. moltiplica questa percentuale per 2

La logica di questo algoritmo come test statistico è fondamentalmente simile ai test classici (ad esempio, test t) ma non si presume che i dati o le distribuzioni di campionamento risultanti abbiano una distribuzione particolare. (Ad esempio, non stai assumendo la normalità.) Il presupposto principale che stai formulando è che i tuoi dati siano rappresentativi della popolazione da cui hai campionato / a cui desideri generalizzare. Cioè, la distribuzione del campione è simile alla distribuzione della popolazione. Nota che, se i tuoi dati non sono correlati alla popolazione che ti interessa, sei sfortunato.

Alcune persone si preoccupano di utilizzare, ad esempio, un modello di regressione per determinare la pendenza se non si è disposti ad assumere la normalità. Tuttavia, questa preoccupazione è errata. Il teorema di Gauss-Markov ci dice che la stima è imparziale (cioè centrata sul valore reale), quindi va bene. La mancanza di normalità significa semplicemente che la vera distribuzione del campionamento può essere diversa da quella teoricamente posta, e quindi i valori p non sono validi. La procedura di bootstrap ti offre un modo per affrontare questo problema.

Altre due questioni relative al bootstrap: Se vengono soddisfatti i presupposti classici, il bootstrap è meno efficiente (ovvero ha meno potenza) di un test parametrico. In secondo luogo, il bootstrap funziona meglio quando si esplora vicino al centro di una distribuzione: i mezzi e le mediane sono buoni, i quartili non sono così buoni, il bootstrap del minimo o del massimo necessariamente falliscono. Per quanto riguarda il primo punto, potrebbe non essere necessario eseguire il bootstrap nella propria situazione; per quanto riguarda il secondo punto, il bootstrap della pendenza va benissimo.


Anche se potrei sbagliarmi, ho pensato che il bootstrap in regressione dovesse essere sui residui piuttosto che sui dati grezzi, per essere convalidato ...
Xi'an,

@ Xi'an, ho sbagliato di fronte a me stesso, ma non capisco perché pensi che siano validi solo i residui del bootstrap. La sezione 9.5 di Efron & Tibshirani (1994) dice "Le coppie di bootstrap sono meno sensibili alle ipotesi rispetto ai residui di bootstrap. L'errore standard ottenuto dalle coppie di bootstrap fornisce risposte ragionevoli anche se [la struttura di probabilità del modello lineare] è completamente sbagliata". L'implicazione è che l'applicazione del bootstrap è più robusta, anche se implicano che in alcuni casi può essere meno efficiente.
gung - Ripristina Monica

La mia preoccupazione per il bootstrap delle coppie è che incorpori anche la distribuzione dei predittori, che di solito viene lasciata fuori dall'immagine nei normali modelli lineari. Ecco perché insegno sempre ai miei studenti a fare il bootstrap solo dei residui.
Xi'an,

@ Xi'an, questo è un punto ragionevole, suppongo che stavo assumendo una struttura di dati osservativa. Ho modificato la mia risposta per aggiungere ulteriori dettagli su queste preoccupazioni. Tuttavia, non vedo come ciò implichi che le coppie di bootstrap siano necessariamente non valide.
gung - Ripristina Monica

Forzare un accoppiamento tra due insiemi di dati indipendenti è artificiale e inefficiente. Puoi fare molto meglio di così!
whuber

4

si

yi=β0+β1xi+β2si+β3sixi+ϵi
β3
E[yix,si=1]=(β0+β2)+(β1+β3)xiE[yix,si=0]=β0+β1xi.
β3nn2n

Se hai una correlazione tra i termini di errore, potresti dover modificare un po 'questa procedura, quindi riscrivi in ​​questo caso.

È possibile generalizzare questo approccio al framework di regressioni apparentemente non correlate (SUR). Questo approccio consente ancora che i coefficienti per l'intercetta e la pendenza siano arbitrariamente diversi nei due set di dati.


1
È una buona idea. Ma questo non presuppone anche che le due regressioni abbiano errori iid?
whuber

1
Buon punto. Richiede che non vi siano variazioni diverse per gli errori per gruppo e che gli errori non siano correlati nei diversi gruppi.
Charlie,

0

Fare tutto in una regressione è pulito, e l'assunzione di indipendenza è importante. Ma calcolare le stime dei punti in questo modo non richiede una varianza costante. Prova questo codice R;

x <- rbinom(100, 1, 0.5)
z <- rnorm(100)
y <- rnorm(100)
coef(lm(y~x*z))
coef(lm(y~z, subset= x==1))[1] - coef(lm(y~z, subset= x==0))[1]
coef(lm(y~z, subset= x==1))[2] - coef(lm(y~z, subset= x==0))[2]

Otteniamo la stessa stima dei punti in entrambi i modi. Le stime dell'errore standard possono richiedere una varianza costante (a seconda di quale si utilizza) ma il bootstrap considerato qui non utilizza errori standard stimati.


1
Se hai intenzione di verificare se la differenza di pendenze è zero (come nella risposta di @ Charlie, a cui sembra che stai seguendo), hai bisogno di una stima accurata e valida degli errori standard. Non importa se bootstrap quella stima o meno.
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.