Non direi che i classici test t di un campione (incluso accoppiato) e di due campioni di uguale varianza sono esattamente obsoleti, ma ci sono moltissime alternative che hanno proprietà eccellenti e in molti casi dovrebbero essere usate.
Né direi che la capacità di eseguire rapidamente test di Wilcoxon-Mann-Whitney su campioni di grandi dimensioni - o persino test di permutazione - è recente, stavo facendo regolarmente più di 30 anni fa come studente, e la capacità di farlo aveva stato disponibile da molto tempo a quel punto.
†
Quindi, ecco alcune alternative e perché possono aiutare:
Welch-Satterthwaite : quando non si è sicuri che le varianze siano vicine alla parità (se le dimensioni del campione sono uguali, l'assunzione della varianza uguale non è critica)
Wilcoxon-Mann-Whitney - Eccellente se le code sono normali o più pesanti del normale, in particolare in casi vicini al simmetrico. Se le code tendono ad essere vicine alla norma, un test di permutazione sui mezzi offrirà leggermente più potenza.
Test a T rinforzati - ce ne sono diversi che hanno una buona potenza al normale ma funzionano anche bene (e mantengono una buona potenza) con alternative più pesanti o leggermente inclinate.
GLM - utile per conteggi o casi di inclinazione a destra continua (ad es. Gamma); progettato per affrontare situazioni in cui la varianza è correlata alla media.
effetti casuali o modelli di serie temporali possono essere utili nei casi in cui esistono particolari forme di dipendenza
Approcci bayesiani , bootstrap e una pletora di altre importanti tecniche che possono offrire vantaggi simili alle idee di cui sopra. Ad esempio, con un approccio bayesiano è del tutto possibile disporre di un modello in grado di spiegare un processo contaminante, gestire conteggi o dati distorti e gestire particolari forme di dipendenza, allo stesso tempo .
Sebbene esistano moltissime alternative utili, il vecchio test t a due campioni a varianza uguale standard di serie può spesso funzionare bene in campioni di grandi dimensioni e uguali purché la popolazione non sia molto lontana dalla norma (come ad esempio una coda molto pesante / skew) e abbiamo quasi indipendenza.
Le alternative sono utili in una serie di situazioni in cui potremmo non essere altrettanto sicuri con il semplice test t ... e tuttavia in genere funzionano bene quando le assunzioni del test t sono soddisfatte o prossime al raggiungimento.
Il Welch è un valore predefinito ragionevole se la distribuzione tende a non allontanarsi troppo dal normale (con campioni più grandi che consentono un maggiore margine di manovra).
Mentre il test di permutazione è eccellente, senza perdita di potenza rispetto al test t quando le sue ipotesi valgono (e l'utile vantaggio di dare inferenza direttamente sulla quantità di interesse), Wilcoxon-Mann-Whitney è senza dubbio una scelta migliore se le code possono essere pesanti; con un'ipotesi aggiuntiva minore, il WMW può dare conclusioni relative al cambiamento di media. (Ci sono altri motivi per cui uno potrebbe preferirlo al test di permutazione)
[Se sai di avere a che fare con conteggi, tempi di attesa o dati simili, la rotta GLM è spesso ragionevole. Se conosci un po 'le potenziali forme di dipendenza, anche questo viene prontamente gestito e il potenziale di dipendenza dovrebbe essere preso in considerazione.]
Quindi, anche se il test t sicuramente non sarà un ricordo del passato, puoi quasi sempre fare altrettanto bene o quasi quando si applica e potenzialmente guadagnare molto quando non lo fa arruolando una delle alternative . Vale a dire, sono ampiamente d'accordo con il sentimento in quel post relativo al test t ... per la maggior parte del tempo dovresti probabilmente pensare ai tuoi presupposti prima ancora di raccogliere i dati, e se qualcuno di loro non è davvero prevedibile per resistere, con il t-test di solito non c'è quasi nulla da perdere nel non fare semplicemente quel presupposto poiché le alternative di solito funzionano molto bene.
Se uno sta andando nella grande difficoltà di raccogliere dati, non c'è certamente motivo di non investire un po 'di tempo sinceramente considerando il modo migliore per affrontare le proprie inferenze.
Si noti che in genere sconsiglio di verificare esplicitamente i presupposti: non solo risponde alla domanda sbagliata, ma lo fa e quindi la scelta di un'analisi basata sul rifiuto o il non rifiuto dell'assunzione influisce sulle proprietà di entrambe le scelte del test; se non puoi ragionevolmente assumere il presupposto in modo sicuro (o perché conosci il processo abbastanza bene da poterlo assumere o perché la procedura non è sensibile ad esso nelle tue circostanze), in generale stai meglio usare la procedura questo non lo assume.
†
# set up some data
x <- c(53.4, 59.0, 40.4, 51.9, 43.8, 43.0, 57.6)
y <- c(49.1, 57.9, 74.8, 46.8, 48.8, 43.7)
xyv <- stack(list(x=x,y=y))$values
nx <- length(x)
# do sample-x mean for all combinations for permutation test
permmean = combn(xyv,nx,mean)
# do the equivalent resampling for a randomization test
randmean <- replicate(100000,mean(sample(xyv,nx)))
# find p-value for permutation test
left = mean(permmean<=mean(x))
# for the other tail, "at least as extreme" being as far above as the sample
# was below
right = mean(permmean>=(mean(xyv)*2-mean(x)))
pvalue_perm = left+right
"Permutation test p-value"; pvalue_perm
# this is easier:
# pvalue = mean(abs(permmean-mean(xyv))>=abs(mean(x)-mean(xyv)))
# but I'd keep left and right above for adapting to other tests
# find p-value for randomization test
left = mean(randmean<=mean(x))
right = mean(randmean>=(mean(xyv)*2-mean(x)))
pvalue_rand = left+right
"Randomization test p-value"; pvalue_rand
(I valori p risultanti sono rispettivamente 0,538 e 0,539; il corrispondente test t ordinario a due campioni ha un valore p di 0,504 e il test t Welch-Satterthwaite ha un valore p di 0,522.)
Si noti che il codice per i calcoli è in ogni caso 1 riga per le combinazioni per il test di permutazione e il valore p può anche essere eseguito in 1 riga.
Adattarlo a una funzione che eseguiva un test di permutazione o un test di randomizzazione e produceva risultati piuttosto come un test t sarebbe una cosa da poco.
Ecco una visualizzazione dei risultati:
# Draw a display to show distn & p-vale region for both
opar <- par()
par(mfrow=c(2,1))
hist(permmean, n=100, xlim=c(45,58))
abline(v=mean(x), col=3)
abline(v=mean(xyv)*2-mean(x), col=3, lty=2)
abline(v=mean(xyv), col=4)
hist(randmean, n=100, xlim=c(45,58))
abline(v=mean(x), col=3)
abline(v=mean(xyv)*2-mean(x), col=3, lty=2)
abline(v=mean(xyv), col=4)
par(opar)