T-test su dati altamente distorti


18

Ho un set di dati con decine di migliaia di osservazioni sui dati relativi ai costi medici. Questi dati sono molto inclinati a destra e hanno molti zeri. Sembra così per due gruppi di persone (in questo caso due fasce d'età con> 3000 obs ciascuno):

 Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
 0.0      0.0      0.0   4536.0    302.6 395300.0 
Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
 0.0      0.0      0.0   4964.0    423.8 721700.0 

Se eseguo il test t di Welch su questi dati ottengo un risultato indietro:

Welch Two Sample t-test

data:  x and y
t = -0.4777, df = 3366.488, p-value = 0.6329
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -2185.896  1329.358
sample estimates:
mean of x mean of y 
 4536.186  4964.455 

So che non è corretto usare un test t su questi dati poiché è così malamente non normale. Tuttavia, se utilizzo un test di permutazione per la differenza dei mezzi, ottengo quasi sempre lo stesso valore p (e si avvicina con più iterazioni).

Utilizzo del pacchetto perm in R e permTS con Monte Carlo esatto

    Exact Permutation Test Estimated by Monte Carlo

data:  x and y
p-value = 0.6188
alternative hypothesis: true mean x - mean y is not equal to 0
sample estimates:
mean x - mean y 
      -428.2691 

p-value estimated from 500 Monte Carlo replications
99 percent confidence interval on p-value:
 0.5117552 0.7277040 

Perché la statistica del test di permutazione sta uscendo così vicino al valore t.test? Se prendo i registri dei dati, ottengo un valore p di t.test di 0,28 e lo stesso dal test di permutazione. Ho pensato che i valori del test t sarebbero stati più spazzatura di quello che sto ottenendo qui. Questo è vero per molti altri set di dati che mi piacciono e mi chiedo perché il test t sembra funzionare quando non dovrebbe.

La mia preoccupazione qui è che i costi individuali non siano evitati. Ci sono molti sottogruppi di persone con distribuzioni di costi molto diverse (donne vs uomini, condizioni croniche ecc.) Che sembrano invalidare il requisito iid per il teorema del limite centrale, o non dovrei preoccuparmi riguardo a questo?


Come può accadere che sia il valore minimo sia la mediana dei dati siano zero?
Alecos Papadopoulos,

Più della metà dei valori sono zero, il che indica che metà delle persone non ha ricevuto cure mediche quell'anno.
Chris,

E perché pensi che il test di permutazione dovrebbe essere diverso? (se entrambi i gruppi hanno una distribuzione altrettanto non normale)
FairMiles,

Tieni presente che iid è due ipotesi separate. Il primo è "indipendente". Il secondo è "identicamente distribuito". Sembra che tu stia suggerendo che le osservazioni non sono "identicamente distribuite". Ciò non dovrebbe influire sulle risposte fornite finora, poiché possiamo ancora supporre che tutte le osservazioni provengano da una grande mescolanza di distribuzioni. Ma se pensi che le osservazioni non siano indipendenti, questo è un problema molto diverso e potenzialmente più difficile.
zkurtz,

Risposte:


29

Né il test t né il test di permutazione hanno molto potere di identificare una differenza nei mezzi tra due di tali distribuzioni straordinariamente inclinate. Pertanto entrambi danno valori p dell'anodyne che non indicano alcun significato. Il problema non è che sembrano essere d'accordo; è che, poiché hanno difficoltà a rilevare alcuna differenza, semplicemente non possono essere in disaccordo!


Per alcune intuizioni, considerare cosa accadrebbe se si verificasse una modifica in un singolo valore in un set di dati. Supponiamo che il massimo di 721.700 non si sia verificato nel secondo set di dati, ad esempio. La media sarebbe diminuita di circa 721700/3000, che è circa 240. Tuttavia la differenza nelle medie è solo 4964-4536 = 438, nemmeno due volte più grande. Ciò suggerisce (sebbene non provi) che qualsiasi confronto dei mezzi non troverebbe la differenza significativa.

Possiamo verificare, tuttavia, che il test t non sia applicabile. Generiamo alcuni set di dati con le stesse caratteristiche statistiche di questi. Per fare ciò ho creato miscele in cui

  • 5/8
  • I dati rimanenti hanno una distribuzione lognormale.
  • I parametri di tale distribuzione sono disposti per riprodurre i mezzi osservati e i terzi quartili.

In queste simulazioni risulta che i valori massimi non sono distanti dai massimi riportati.

Replica il primo set di dati 10.000 volte e monitoriamo la sua media. (I risultati saranno quasi gli stessi quando lo facciamo per il secondo set di dati.) L'istogramma di questi mezzi stima la distribuzione campionaria della media. Il test t è valido quando questa distribuzione è approssimativamente normale; la misura in cui si discosta dalla Normalità indica la misura in cui la distribuzione di Student t errerà. Quindi, per riferimento, ho anche disegnato (in rosso) il PDF della distribuzione normale adatto a questi risultati.

Istogramma 1

Non possiamo vedere molti dettagli perché ci sono alcuni grandi valori anomali. (Questa è una manifestazione di questa sensibilità dei mezzi che ho citato.) Ce ne sono 123 - 1,23% - sopra i 10.000. Concentriamoci sul resto in modo da poter vedere i dettagli e perché questi valori anomali potrebbero derivare dalla presunta lognormalità della distribuzione, che non è necessariamente il caso del set di dati originale.

Istogramma 2

(3000/428)2=50


Ecco il Rcodice che ha prodotto queste cifre.

#
# Generate positive random values with a median of 0, given Q3,
# and given mean. Make a proportion 1-e of them true zeros.
#
rskew <- function(n, x.mean, x.q3, e=3/8) {
  beta <- qnorm(1 - (1/4)/e)
  gamma <- 2*(log(x.q3) - log(x.mean/e))
  sigma <- sqrt(beta^2 - gamma) + beta
  mu <- log(x.mean/e) - sigma^2/2
  m <- floor(n * e)
  c(exp(rnorm(m, mu, sigma)), rep(0, n-m))
}
#
# See how closely the summary statistics are reproduced.
# (The quartiles will be close; the maxima not too far off;
# the means may differ a lot, though.)
#
set.seed(23)
x <- rskew(3300, 4536, 302.6)
y <- rskew(3400, 4964, 423.8)
summary(x)
summary(y)
#
# Estimate the sampling distribution of the mean.
#
set.seed(17)
sim.x <- replicate(10^4, mean(rskew(3367, 4536, 302.6)))
hist(sim.x, freq=FALSE, ylim=c(0, dnorm(0, sd=sd(sim.x))))
curve(dnorm(x, mean(sim.x), sd(sim.x)), add=TRUE, col="Red")
hist(sim.x[sim.x < 10000], xlab="x", freq=FALSE)
curve(dnorm(x, mean(sim.x), sd(sim.x)), add=TRUE, col="Red")
#
# Can a t-test detect a difference with more data?
#
set.seed(23)
n.factor <- 50
z <- replicate(10^3, {
  x <- rskew(3300*n.factor, 4536, 302.6)
  y <- rskew(3400*n.factor, 4964, 423.8)
  t.test(x,y)$p.value
})
hist(z)
mean(z < .05) # The estimated power at a 5% significance level

1
Per un esempio di un set di dati altamente distorto in cui è comunque applicabile il test t (a causa della grande quantità di dati), consultare stats.stackexchange.com/questions/110418/… . Questi due casi insieme mostrano che non esiste una risposta incisiva alla domanda: devi considerare sia la distribuzione dei dati che la quantità di dati quando decidi se il test t sarà significativo e accurato.
whuber

3
Ho preferito questa domanda nella speranza di poterla ritrovare di fronte a persone che pensano che n = 30 o n = 300 sia sufficiente per andare avanti e supporre che i mezzi di campionamento siano normalmente distribuiti (e così via). Ho buoni esempi simulati ma è bello mostrare che questo è un problema anche con dati reali.
Glen_b -Restate Monica

1
+1, ma mi chiedo quale sarebbe la tua raccomandazione pratica in una situazione del genere. Si dovrebbe provare a usare un test di permutazione basato su qualche altra statistica anziché sulla media (forse un alto quantile)? Si dovrebbe provare ad applicare alcune trasformazioni prima di eseguire test standard sui mezzi? O si dovrebbe piuttosto rinunciare a qualche speranza di rilevare una differenza significativa tra due campioni?
ameba dice Ripristina Monica il

@amoeba Se la preoccupazione è testare le differenze di mezzi, il test di permutazione non sarà di alcun aiuto: non troverai una differenza significativa qui. Se testate qualche altra statistica, allora non state testando la media (che è particolarmente rilevante per i dati di costo!), Quindi se ciò può essere raccomandato dipende dagli obiettivi.
whuber

4

Quando n è grande (come 300, anche molto meno di 3000), il test t è essenzialmente lo stesso del test z. Cioè, il test t diventa nient'altro che un'applicazione del teorema del limite centrale, che dice che il MEAN per ciascuno dei due gruppi è quasi esattamente distribuito normalmente (anche se le osservazioni sottostanti i due mezzi sono molto lontane dall'essere normalmente distribuito!). Questo è anche il motivo per cui la tua tipica tabella t non si preoccupa di mostrare valori per n maggiore di 1000 (ad esempio, questa tabella t) . Pertanto, non sono sorpreso di vedere che stai ottenendo risultati così ben educati.

Modifica: mi sembra di aver sottovalutato l'estremità dell'asimmetria e la sua importanza. Mentre il mio punto sopra ha valore in circostanze meno estreme, la risposta di Whuber alla domanda è complessivamente molto migliore.


2
Quando l'asimmetria è estrema - come attestano le statistiche citate - non abbiamo alcuna garanzia che la distribuzione campionaria della media di 300 o addirittura 3000 campioni sarà pressoché normale. Ecco perché l'OP è sorpreso. Lo contrastate dicendo che non siete sorpresi, ma ciò sembra dipendere dall'intuizione di una persona rispetto a quella di un'altra. Quale argomento oggettivo puoi fornire per questi dati che dimostrano che 300 (o 3000) è un campione abbastanza grande per far funzionare bene il test t?
whuber

Ottimo punto Ammetto che, se i dati sono sufficientemente distorti, la mia tesi fallisce. Quindi la domanda per me è: esattamente quanto siano distorti i dati, e c'è un risultato formale là fuori che mette in relazione l'asimmetria con la dimensione del campione richiesta.
zkurtz,

1
Ho pubblicato una risposta a questa domanda. Sappiamo (almeno approssimativamente) quanto siano distorti i dati in base alle statistiche riassuntive nella domanda. Quell'inclinazione è così forte che né 300, né 3000, né nemmeno 30.000 osservazioni per gruppo renderanno la distribuzione campionaria della media "quasi esattamente normale". Probabilmente avrai bisogno di circa 300.000 circa prima che tale affermazione diventi plausibile. Pertanto, dobbiamo cercare una spiegazione diversa del motivo per cui i due test concordano. Il mio è che nessuno dei due è "ben educato" piuttosto che entrambi sono ben educati.
whuber

0

So che questa risposta è in ritardo. Tuttavia, sto ottenendo un dottorato di ricerca nella ricerca sui servizi sanitari, quindi lavoro molto con i dati sanitari, compresi i dati sui costi.

Non so quali dati possedessero i PO. Se si trattasse di dati trasversali, è probabile che fosse IID. Indipendenza significa che ogni unità, quindi ogni persona, è indipendente. Questo è molto probabilmente giustificabile. Per quanto riguarda la distribuzione identica, i dati possono essere modellati come tutti quelli che provengono, per esempio, da una distribuzione gamma in un modello lineare generalizzato con un collegamento log. Questo è ciò che le persone fanno comunemente in pratica. O se vuoi essere sofisticato, probabilmente ci sono modelli di ostacoli (popolari in econometria) che gestiscono gli 0 in eccesso. Che, a proposito, sono abbastanza comuni nella spesa sanitaria. L'OP è tecnicamente corretto che i dati non sono necessariamente distribuiti in modo identico, ad esempio la media e la varianza si sposteranno con l'età, ma è un'ipotesi praticabile in più modelli di regressione.

Se ogni persona fosse nel set di dati per più di un anno, i dati non sarebbero IID. Ci sono modelli più complessi disponibili per questo. Uno di quelli relativamente semplici verrebbe probabilmente generalizzato stimando equazioni, distribuzione gamma e log log di nuovo, assumendo una correlazione di lavoro scambiabile. Oppure, se questi dati provengono da dati di sondaggi disponibili pubblicamente, NON c'è una pari probabilità di essere campionati - molti di questi sondaggi intervistano più persone in ogni famiglia, e stratificano anche la popolazione e sovrastimano alcuni gruppi (ad esempio le minoranze razziali). L'utente dovrebbe correggerlo.

Non utilizzo i test t, soprattutto per i dati osservativi. Ci sono troppi confonditori, quindi dovresti regolarti per loro in un modello lineare (generalizzato). Quindi, non posso commentare le domande relative in modo specifico ai test t.

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.