Domanda:
Determina se tre è statisticamente diverso da dieci per un numero molto elevato di osservazioni (1.000.000)
Elpezmuerto
2010-07-28 22:36:25 UTC
view on stackexchange narkive permalink

Per 1.000.000 di osservazioni, ho osservato un evento discreto, X, 3 volte per il gruppo di controllo e 10 volte per il gruppo di test. Come faccio a determinare per un numero elevato di osservazioni (1.000.000), se tre è statisticamente diverso da dieci?

A proposito, è un duplicato di quello che hai postato qui? http://stats.stackexchange.com/questions/920/test-if-probabilities-are-statistically-different
Non pensavo fosse un duplicato. Una domanda riguarda le probabilità e questa si occupa di una variabile discreta.
Sette risposte:
Harvey Motulsky
2010-07-29 21:50:11 UTC
view on stackexchange narkive permalink

Gli enormi denominatori liberano la propria intuizione. Poiché le dimensioni del campione sono identiche e le proporzioni basse, il problema può essere riformulato: si sono verificati 13 eventi e si prevedeva (per ipotesi nulla) che si verificassero allo stesso modo in entrambi i gruppi. In effetti la divisione era 3 in un gruppo e 10 nell'altro. Quanto è raro? Il test binomiale risponde.

Inserisci questa riga in R: binom.test (3,13,0.5, alternative = "two.sided")

Il valore P a due code è 0,09229, identico a quattro cifre per i risultati del test di Fisher.

Visto in questo modo, i risultati non sono sorprendenti. Il problema è equivalente a questo: se lanciassi una moneta 13 volte, quanto sarebbe sorprendente vedere tre o meno, o dieci o più, teste. Uno di questi risultati si verifica nel 9,23% delle volte.

logica eccellente, ma non sarebbe binom.test (3,13,0.5) (che è lo stesso di binom.test (10,13,0.5)
Grazie Andreas. L'ho riparato. Hai ragione, certo, ed è quello che ho inserito in R. Non sono sicuro di come ho copiato e incollato qualcosa di completamente diverso in questa risposta, ma ora è stato risolto.
Michel de Ruiter
2010-07-29 20:57:21 UTC
view on stackexchange narkive permalink

Un test esatto di Fisher (bilaterale) fornisce il valore p = 0.092284”.

  funzione p = fexact (k, x, m, n)% FEXACT Test esatto di Fisher.% Y = FEXACT (K, X, M, N) calcola il valore P per il test% esatto di Fisher.% K, X, M e N devono essere vettori interi non negativi della stessa lunghezza%. Anche quanto segue deve contenere:% X < = N < = M, X < = K < = M e K + N - M < = X. Qui:% K è il numero di elementi nel gruppo,% X è il numero di elementi nel gruppo con la funzione,% M è il numero totale di elementi,% N è il numero totale di elementi con la funzione, se nargin < 4 help (mfilename); ritorno; endnr = lunghezza (k); se nr ~ = lunghezza (x) | nr ~ = lunghezza (m) | nr ~ = length (n) help (mfilename); ritorno; endna = nan; v = na (unità (nr, 1)); mi = max (0, k + n - m); ma = min (k, n); d = hygepdf (x, m, k, n) * (1 + 5.8e-11); per i = 1: nr y = hygepdf (mi (i): ma (i), m (i), k (i), n (i)); v (i) = sum (y (y < = d (i))); endp = max (min (v, 1), 0); p (isnan (v)) = nan;  

Per il tuo esempio, prova fexact (1e6, 3, 2e6, 13) .

Dovresti davvero indicare la lingua per cui è il codice di esempio.
@csgillespie: mi dispiace; è il codice Matlab, come Elpezmuerto ha chiesto nel suo commento all'altra risposta.
JoFrhwld
2010-07-28 22:43:48 UTC
view on stackexchange narkive permalink

Penso che un semplice test del chi quadrato farà il trucco. Hai 1.000.000 di osservazioni sia per il controllo che per il test? Se è così, la tua tabella delle osservazioni sarà (in codice R)

Modifica: Woops! Lasciato zero!

  m <- rbind (c (3, 1000000-3), c (10, 1000000-10)) # [, 1] [, 2] # [1 ,] 3 999997 # [2,] 10 999990  

E il test del chi quadrato sarà

  chisq.test (m)  

Che restituisce chi quadrato = 2,7692, df = 1, valore p = 0,0961, che non è statisticamente significativo al livello p < 0,05. Sarei sorpreso se questi potessero essere comunque clinicamente significativi.

#JoFrhwld, ti capita di conoscere la funzione Matlab per calcolarlo? Non ho accesso a R :(
Mi spiace, non ho accesso a Matlab! Vorrei solo cercarlo su Google. È sorprendente che tu non abbia accesso a R, considerando che è gratuito e indipendente dalla piattaforma.
@MJoFrhwld, Devo usare Matlab in modo da poterlo incorporare nel mio framework di simulazione.
Esiste una funzione di test chi-quadrato in Matlab Central File Exchange: http://www.mathworks.com/matlabcentral/fileexchange/4779
Wojtek
2010-07-30 00:22:18 UTC
view on stackexchange narkive permalink

In questo caso Poisson è una buona approssimazione per la distribuzione per numero di casi. C'è una formula semplice per approssimare la varianza del log RR (metodo delta).

log RR = 10/3 = 1.2, se log RR = sqrt (1/3 + 1/10) = 0,66, quindi 95% CI = (-0,09; 2,5)

Non è una differenza significativa a livello 0,05 usando il test a due code Chi basato su LR -square test per il modello di Poisson dà p = 0,046 e Wald test p = 0,067.Questi risultati sono simili al test Chi-quadrato di Pearson senza correzione di continuità (Chi2 con correzione p = 0,096) .Un'altra possibilità è chisq.test con l'opzione simulate.p .value = T, in questo caso p = 0,092 (per 100000 simulazioni).

In questo caso le statistiche dei test sono piuttosto discrete, quindi il test di Fisher può essere conservativo. Ci sono alcune prove che la differenza può essere significativa . Prima della conclusione finale, è necessario tenere in considerazione il processo di raccolta dei dati.

user28
2010-07-28 22:40:56 UTC
view on stackexchange narkive permalink

Sarei davvero sorpreso se trovassi la differenza statisticamente significativa. Detto questo, potresti voler utilizzare un test per una differenza di proporzioni (3 su 1 milione contro 10 su 1 milione).

Christian
2010-07-29 23:06:32 UTC
view on stackexchange narkive permalink

Oltre alle altre risposte: se hai 1.000.000 di osservazioni e quando il tuo evento si presenta solo poche volte, è probabile che tu voglia guardare molti eventi diversi. Se guardi 100 eventi diversi, correrai nei problemi se lavori con p<0.05 come criterio di significatività.

user1076
2010-08-24 22:08:01 UTC
view on stackexchange narkive permalink

Se si desidera verificare la significatività in modo non parametrico, è possibile eseguire il bootstrap degli intervalli di confidenza sul rapporto, oppure eseguire un test di permutazione sulle due classi. Ad esempio, per eseguire il bootstrap, creare due array: uno con 3 unità e 999.997 zeri e uno con 10 unità e 999.990 zeri. Quindi disegnare con la sostituzione un campione di 1 milione di articoli dalla prima popolazione e un campione di 1 milione di articoli dalla seconda popolazione. Il rapporto che ci interessaèil rapporto tra "hit" nel primo gruppo e rapporto tra "hit" nel secondo gruppo, oppure: (proporzione di quelli nel primo campione) / (proporzione di quelli nel secondo campione ). Lo facciamo 1000 volte. Non ho matlab a portata di mano, ma ecco il codice R per farlo:

  # genera i dati del test da campionare da v1 <- c (rep (1,3), rep (0,999997 )) v2 <- c (rep (1,10), rep (0,999990)) # imposta i vettori che manterranno la nostra proporzionest1 <- vector () t2 <- vector () # loop 1000 volte ogni volta campione con sostituire dai dati del test e # registrare la proporzione di 1 da ogni campione # nota: questo passaggio richiede alcuni minuti. Ci sono modi per scriverlo in modo che # vada più veloce in R (si applica), ma è più ovvio cosa sta succedendo in questo modo: per (i in 1: 1000) {t1 [i] <- length (which (sample ( v1,1000000, replace = TRUE) == 1)) / 1000000 t2 [i] <- length (which (sample (v2,1000000, replace = TRUE) == 1)) / 1000000} # qual era il rapporto tra proporzione di 1 tra ciascun gruppo per ciascun sorteggio casuale? rapporti <- t1 / t2 # afferra l'intervallo di confidenza del 95% sul quantile di campioni bootstrap (rapporti, c (.05, .95)) # e l'intervallo di confidenza del 99 %quantile (rapporti, c (.01, .99))  

L'output è: 5% 95% 0,0000000 0,8333333 e: 1% 99% 0,00 1,25 Poiché l'intervallo di confidenza del 95% non si sovrappone all'ipotesi nulla (1), ma l'intervallo di confidenza del 99% sì, credo che sarebbe corretto affermare che questo è significativo ad un alfa di 0,05 ma non a 0,01.

Un altro modo per vederlo è con un test di permutazione per stimare la distribuzione dei rapporti data l'ipotesi nulla. In questo caso mescolerai i due campioni insieme e li divideresti casualmente in due gruppi da 1.000.000 di elementi. Quindi vedresti come appare la distribuzione dei rapporti sotto l'ipotesi nulla, e il tuo valore p empirico è quanto sia estremo il rapporto vero data questa distribuzione di rapporti nulli. Di nuovo, il codice R:

  # genera i dati del test da campionare da v1 <- c (rep (1,3), rep (0,999997)) v2 <- c (rep (1 , 10), rep (0,999990)) v3 <- c (v1, v2) # vettori per mantenere l'ipotesi nulla ratiost1 <- vettore () t2 <- vettore () # loop 1000 volte; ogni volta dividi casualmente i campioni # in 2 gruppi e vedi quali sono le proporzioni di quei due gruppi casuali (i in 1: 1000) {idxs <- sample (1: 2000000,1000000, replace = FALSE) s1 <- v3 [idxs] s2 <- v3 [-idxs] t1 [i] <- lunghezza (which (s1 == 1)) / 1000000 t2 [i] <- lunghezza (which (s2 == 1)) / 1000000} # vettore dei rapporti <- t1 / t2 # dai un'occhiata al diagramma di distribuzione (densità (rapporti)) # calcola il rapporto campionato delle proporzioni campione.ratio <- ((3/1000000) / (10/1000000)) # dove si trova questa caduta sulla distribuzione di proporzioni nulle? plot (abline (v = sample.ratio)) # questo rapporto (r + 1) / (n + 1) fornisce il valore p del campione reale (length (which (ratios < = sample.ratio) ) + 1) / (1001)  

L'output è ~ .0412 (ovviamente questo varierà da corsa a esecuzione poiché si basa su estrazioni casuali). Quindi, di nuovo, potresti potenzialmente chiamarlo significativo al valore .05.

Dovrei emettere delle avvertenze: dipende anche da come sono stati raccolti i tuoi dati e dal tipo di studio, e io sono solo uno studente laureato, quindi non prendere la mia parola come oro. Se qualcuno dovesse criticare i miei metodi, mi piacerebbe sentirli visto che sto facendo queste cose anche per il mio lavoro e mi piacerebbe scoprire che i metodi sono difettosi qui piuttosto che nella revisione tra pari. Per altre cose come questa, dai un'occhiata a Efron & Tibshirani 1993, o al capitolo 14 di Introduzione alla pratica delle statistiche di David Moore (un buon libro di testo generale per professionisti).

Considera questo intervento come una domanda a sé stante. Sarei molto interessato a ciò che i guru hanno da dire su questo.


Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 2.0 con cui è distribuito.
Loading...