È assolutamente difendibile stratificare un set di dati in base alle dimensioni del residuo e fare un confronto a due campioni?


16

Questo è qualcosa che vedo fatto come una specie di metodo ad hoc e mi sembra molto sospetto, ma forse mi manca qualcosa. Ho visto questo fatto in regressione multipla ma manteniamolo semplice:

yi=β0+β1xi+εi

Ora prendi i residui dal modello montato

ei=yi(β^0+β^1xi)

e stratificare il campione in base alla dimensione dei residui. Ad esempio, supponiamo che il primo campione sia il 90% inferiore dei residui e il secondo campione sia il 10% superiore, quindi procedi a fare due confronti tra i campioni: l'ho visto fare entrambi sul predittore nel modello, x e su variabili non presenti nel modello. La logica informale utilizzata è che forse i punti che hanno valori molto al di sopra di quanto ci si aspetterebbe dal modello (ovvero un residuo di grandi dimensioni) sono in qualche modo diversi e tale differenza viene studiata in questo modo.

I miei pensieri sull'argomento sono:

  • Se vedi una differenza di 2 campioni su un predittore nel modello, allora ci sono effetti del predittore non presi in considerazione dal modello nel suo stato attuale (cioè effetti non lineari).
  • Se vedi una differenza di 2 campioni su una variabile non presente nel modello, allora forse dovrebbe essere stata nel modello in primo luogo.

Una cosa che ho trovato empiricamente (attraverso le simulazioni) è che, se si sta confrontando la media di un predittore nel modello e si stratifica in questo modo per produrre i due mezzi campione, ¯ x 1 e ¯ x 2 , sono positivamente correlati tra loro. Questo ha senso poiché entrambi i campioni dipendono dalla ¯ y , ¯ x , σ x , σ y e ρ x yxx¯1x¯2y¯,x¯,σ^x,σ^yρ^xy. Tale correlazione aumenta quando si sposta il cut-down (ovvero la% utilizzata per dividere il campione). Quindi, per lo meno, se hai intenzione di fare un confronto a due campioni, l'errore standard nel denominatore dello statistico deve essere adattato per tenere conto della correlazione (anche se non ho derivato una formula esplicita per il covarianza).t

In ogni caso, la mia domanda di base è: c'è qualche motivo per farlo? In tal caso, in quali situazioni potrebbe essere una cosa utile da fare? Chiaramente non penso che ci sia, ma potrebbe esserci qualcosa a cui non sto pensando nel modo giusto.


i due confronti di esempio usano gli stessi IVs? In tal caso, non riesco a capire il punto perché la divisione residua sta già utilizzando tali informazioni. Puoi fare un esempio di dove l'hai visto, è nuovo per me?
Michelle

1
Bene, uno forse è che potrebbe essere usato come diagnostica per vedere se hai una specifica errata del modello - cosa ne pensi?
Macro

3
Non riesco a vedere alcun punto nel fare questo se non come uno strumento diagnostico per identificare punti problematici o mancare effetti non lineari, come suggerito dai commenti sopra. Penso che i due punti nell'OP ("pensieri sull'argomento ...") siano piuttosto validi.
Peter Ellis,

1
Questa tecnica viene utilizzata da Loh e dai suoi coautori per determinare le variabili divise nei suoi algoritmi di albero SUPPORT e, credo, GUIDE. Poiché il set di dati viene partizionato in questo modo, può essere considerato alla ricerca di un'influenza non lineare (inoltrata da una funzione graduale) e per determinare se una variabile è stata effettivamente dimenticata. Ricordo di essermi domandato se anche quello fosse intelligente, forse potresti trovare maggiori spiegazioni nei loro articoli (non ricordo).
Momo,

1
Certo nessun problema. Ecco Chaudhuri et al. www3.stat.sinica.edu.tw/statistica/j4n1/j4n18/j4n18.htm www3.stat.sinica.edu.tw/statistica/j5n2/j5n217/j5n217.htm riferimenti per SUPPORTO e pagina Loh et al per GUIDE stat. wisc.edu/~loh/guide.html
Momo il

Risposte:


8

Confrontare i mezzi è troppo debole: al contrario, confrontare le distribuzioni.

Vi è anche una domanda riguardante se sia più desiderabile confrontare le dimensioni dei residui (come indicato) o confrontare i residui stessi. Pertanto, valuto entrambi.

Per essere precisi sul significato, ecco un Rcodice per confrontare i dati (dati in array paralleli e ) regredendo y su x , dividendo i residui in tre gruppi tagliandoli sotto il quantile q 0 e sopra il quantile q 1 > q 0 e (mediante un diagramma qq) confrontando le distribuzioni di valori x associati a questi due gruppi.(X,y)xyyxq0q1>q0x

test <- function(y, x, q0, q1, abs0=abs, ...) {
  y.res <- abs0(residuals(lm(y~x)))
  y.groups <- cut(y.res, quantile(y.res, c(0,q0,q1,1)))
  x.groups <- split(x, y.groups)
  xy <- qqplot(x.groups[[1]], x.groups[[3]], plot.it=FALSE)
  lines(xy, xlab="Low residual", ylab="High residual", ...)
}

Il quinto argomento di questa funzione, abs0per impostazione predefinita, utilizza le dimensioni (valori assoluti) dei residui per formare i gruppi. Successivamente possiamo sostituirlo con una funzione che utilizza i residui stessi.

xy

simulate <- function(n, beta0=0, beta1=1, beta2=0, sd=1, q0=1/3, q1=2/3, abs0=abs,
                     n.trials=99, ...) {
  x <- 1:n - (n+1)/2
  y <- beta0 + beta1 * x + beta2 * x^2 + rnorm(n, sd=sd)
  plot(x,y, ylab="y", cex=0.8, pch=19, ...)
  plot(x, res <- residuals(lm(y ~ x)), cex=0.8, col="Gray", ylab="", main="Residuals")
  res.abs <- abs0(res)
  r0 <- quantile(res.abs, q0); r1 <- quantile(res.abs, q1)
  points(x[res.abs < r0], res[res.abs < r0], col="Blue")
  points(x[res.abs > r1], res[res.abs > r1], col="Red")
  plot(x,x, main="QQ Plot of X",
       xlab="Low residual", ylab="High residual",
       type="n")
  abline(0,1, col="Red", lwd=2)
  temp <- replicate(n.trials, test(beta0 + beta1 * x + beta2 * x^2 + rnorm(n, sd=sd), 
                             x, q0=q0, q1=q1, abs0=abs0, lwd=1.25, lty=3, col="Gray"))
  test(y, x, q0=q0, q1=q1, abs0=abs0, lwd=2, col="Black")
}

Questo codice accetta argomenti che determinano il modello lineare: i suoi coefficienti yβ0+β1x+β2x2sdq0q1abs0n.trialsn(x,y)dati, dei loro residui e trame qq di prove multiple - per aiutarci a capire come funzionano i test proposti per un dato modello (come determinato da n, beta, se sd). Di seguito sono riportati esempi di questi grafici.

Usiamo ora questi strumenti per esplorare alcune combinazioni realistiche di non linearità ed eteroscedasticità, usando i valori assoluti dei residui:

n <- 100
beta0 <- 1
beta1 <- -1/n
sigma <- 1/n

size <- function(x) abs(x)
set.seed(17)
par(mfcol=c(3,4))
simulate(n, beta0, beta1, 0, sigma*sqrt(n), abs0=size, main="Linear Homoscedastic")
simulate(n, beta0, beta1, 0, 0.5*sigma*(n:1), abs0=size, main="Linear Heteroscedastic")
simulate(n, beta0, beta1, 1/n^2, sigma*sqrt(n), abs0=size, main="Quadratic Homoscedastic")
simulate(n, beta0, beta1, 1/n^2, 5*sigma*sqrt(1:n), abs0=size, main="Quadratic Heteroscedastic")

xxx

Valori assoluti

xxx

Facciamo la stessa cosa, usando esattamente gli stessi dati , ma analizzando i residui stessi. Per fare ciò, il precedente blocco di codice è stato rieseguito dopo aver apportato questa modifica:

size <- function(x) x

residui

x

Forse combinando entrambe queste tecniche avrebbe funzionato. Queste simulazioni (e varianti di esse, che il lettore interessato può eseguire nel tempo libero) dimostrano che queste tecniche non sono prive di merito.

x(x,y^x)possiamo aspettarci che i test proposti siano meno potenti dei test basati sulla regressione come il Breusch-Pagan .


2

eioXio

Altri hanno commentato che questo potrebbe essere solo uno strumento esplorativo per vedere se i due set di dati debbano essere modellati separatamente. In tal caso, questo e forse altri approcci esplorativi potrebbero andare bene. Ma la domanda diventa allora cosa fai dopo? Se hai intenzione di fare due regressioni separate e trarre conclusioni sui campioni, penso che tu debba tener conto in qualche modo del modo in cui hai diviso il campione.


0

Immagino che potrebbero esserci diverse motivazioni per farlo, ad esempio supponendo che i residui siano coerenti, quindi il metodo che menzioni può aiutare a identificare le osservazioni periferiche, quindi il secondo passo fornisce stimatori "corretti". Tuttavia, esistono tecniche più rigorose che eseguono il rilevamento degli outerers o che forniscono stimatori robusti alla presenza di tali osservazioni, come regressioni quantili, LMS (meno mediana dei quadrati) o stimatori M ecc. Dove tutti questi metodi sono ben definiti e proprietà statistiche note. (Questo è stato scritto da @Michael Chernik)

Un'altra motivazione potrebbe essere l'identificazione dei cluster, ma questo è primitivo se confrontato con le tecniche disponibili per il rilevamento dei cluster che sono anche ben definite e ampiamente implementate.

In entrambi i casi, l'uso dei residui sembra informale e primitivo, ma potrebbe comunque essere tollerato come strumento esplorativo. Dipende anche dal dominio dei lettori. Lo troverei accettabile per alcune scienze sociali in cui gli strumenti quantitativi potrebbero essere meno popolari.

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.