Sto utilizzando il metodo di Fisher per combinare p -values, e ho notato un comportamento strano per valori p grandi e $ n. $

Nel mio caso ho un gran numero di risultati non statisticamente significativi (ad es. da .1 a .5), e Sto usando il metodo di Fisher per combinarli. Tuttavia, ho notato che il metodo di Fisher sembra mostrare un comportamento instabile per questi valori di p elevati. Pertanto, la modifica dei valori di p da .367 a .368 ha comportato cambiamenti drastici per il valore di p combinato. Perché?

p_value=fisherIntegration(rep(.367,10000000) #p_value=1.965095e-14 p_value=fisherIntegration(rep(.368,10000000) #pvalue=0.8499356 

Al contrario, per valori p bassi e $ n piccolo, $ si è comportato molto bene. Ad esempio:

p_value=fisherIntegration(rep(.05,10)) #pvalue=7.341634e-06 

Ecco la funzione che utilizzo per lintegrazione con Fisher:

fisherIntegration <- function (vector){ my_length=length(vector) deg_free=my_length*2 y=-2*sum(log(vector)) p.val <- 1-pchisq(y, df = deg_free); p.val=as.numeric(p.val); return(p.val) 

}

MODIFICA Questo post è in qualche modo correlato ma non spiega perché .367 è un numero magico in questo contesto: Perché il metodo di Fisher ' produce $ p \ gg 0,5 $ quando si combinano diversi valori p tutti uguali a $ 0,5 $?

Commenti

  • Hai notato che $ 0,367 \ lt e ^ {- 1} \ lt 0,368 $? (Questo sarebbe lunico punto di un esercizio che pretende di combinare $ 10 ^ 7 $ valori p in questo modo: non ha alcun uso statistico.)
  • I ' non lha notato. ' scommetto che questo ha qualcosa a che fare con il comportamento strano, ma non sono sicuro del perché.
  • Dallaltra parte, cosa ' è la media della distribuzione chi quadrato?
  • Penso che potresti trovare questo Q & Un interessante soprattutto Christoph Hanck ' s answer stats.stackexchange.com/questions/243003/…

Risposta

Come spiegato in https://stats.stackexchange.com/a/314739/919 , il metodo di Fisher combina i valori p $ p_1, p_2, \ ldots, p_n $ presupponendo che sorgano indipendentemente in ipotesi nulle con statistiche di test continue. Ciò significa che ognuno è distribuito indipendentemente in modo uniforme tra $ 0 $ e $ 1. $ Un semplice calcolo stabilisce che $ -2 \ log (p_i) $ ha una distribuzione $ \ chi ^ 2 (2) $, da cui

$$ P = \ sum_ {i = 1} ^ n -2 \ log (p_i) $$

ha una distribuzione $ \ chi ^ 2 (2n) $. Per $ n $ grandi (come garantito dal teorema del limite centrale) questa distribuzione è approssimativamente normale. Ha una media di $ 2n $ e una varianza di $ 4n, $ come possiamo facilmente calcolare.

Supponiamo, ora, che $ P $ sia “molto” diverso da questa media. “Molto” significa, come al solito, rispetto alla deviazione standard. In altre parole, supponiamo che $ P $ differisca da $ 2n $ per più di alcuni multipli di $ \ sqrt {4n} = 2 \ sqrt {n}. $ Dalle informazioni di base sulle distribuzioni Normali ciò implica che $ P $ sia insolitamente piccolo o insolitamente grande. Di conseguenza, poiché $ P $ varia da $ 2n-2K \ sqrt {n} $ a $ 2n + 2K \ sqrt {n} $ per $ K \ approx 3, il metodo di $ Fisher assegna una probabilità cumulativa (cioè combinata valore p) compreso tra quasi $ 0 $ e quasi $ 1. $

In altre parole, tutta la probabilità “interessante” per $ P $ si verifica entro lintervallo $ (2n-2K \ sqrt {n}, 2n + 2K \ sqrt {n}) $ per $ K $ piccoli. Man mano che $ n $ cresce, questo intervallo si restringe rispetto al suo centro (a $ 2n $).

Una conclusione che possiamo trarre da questo risultato è che quando $ \ sqrt {n} $ è abbastanza grande da dominare $ 2K $, cioè quando $ n $ è molto più grande di $ (2 \ times3) ^ 2 \ circa 40 $ circa, quindi il metodo di Fisher potrebbe raggiungere i limiti della sua utilità.


Nelle circostanze di la domanda, $ n = 10 ^ 7. $ Lintervallo interessante per il valore p del log medio , $ -P / (2n), $ è quindi approssimativamente

$$ – (2n-2K \ sqrt {n}, 2n + 2K \ sqrt {n}) / (2n) \ approx (-0.999051, -1.00095) $$

quando $ K = 3. $

Il corrispondente g I valori p medi eometrici sono

$$ e ^ {- 0.999051} = 0.368229 \ text {e} e ^ {- 1.00095} = 0.367531. $$

Il valore inferiore di $ 0,367 $ utilizzato nella domanda è al di fuori di questo intervallo, fornendo una probabilità di coda essenzialmente pari a zero (inferiore), mentre il valore superiore di $ 0,368 $ si trova allinterno di questo intervallo, dando una probabilità che è ancora sensibilmente inferiore a $ 1. $ Questo è un esempio estremo della nostra conclusione precedente, che potrebbe essere riformulato in questo modo:

Quando il logaritmo naturale medio dei valori p differisce molto da $ -1 Il metodo di $ Fisher produrrà un valore p combinato estremamente vicino a $ 0 $ o vicino a $ 1 $. “Much” è proporzionale a $ 1 / \ sqrt {2n}. $

Commenti

  • Sulla base di questa risposta, diresti che lintegrazione di stouffer è più appropriata nei casi di grande n?
  • Credo che dal momento che una tale enorme quantità di informazioni viene scartata combinando un gran numero di valori p e poiché il risultato con $ n $ grandi è sensibile al presupposto di indipendenza (che raramente è vero) , nessun metodo per combinarli in ununica decisione è adatto nella maggior parte delle circostanze. Il metodo di Stouffer ' differisce appena dal metodo ' di Fisher.
  • Io non ' sono daccordo, in quanto almeno lintegrazione di Stouffer non mostra questo strano comportamento della " soglia ". Per quanto ne so, passare un vettore di punteggi z costantemente sopra 0 (ad esempio 1000 punteggi z uguali a 0,5) produrrà sempre un punteggio z finale sopra loriginale, il che è logico. Il metodo di Fisher ' qui è nella mia mente un ' bug '
  • Qualunque siano le differenze, nessuno dei due metodi è stato concepito né è utile per combinare milioni di valori p. Nelle loro aree di applicazione utile tendono a non differire molto. ' nessun " bug " in Fisher ' s approccio: ' è perfettamente accurato, dati i suoi presupposti e il suo obiettivo. Stouffer ' s è un po ad hoc che si basa implicitamente su presupposti aggiuntivi. Per essere più costruttivi: quando hai molti valori p (indipendenti), otterrai molte più informazioni da essi studiando come la loro distribuzione si discosta dalluniformità di quanto non ne otterrai da una singola statistica combinata.
  • Ok. Non ' veramente daccordo con te riguardo al metodo di Fisher '. Simile allesempio concreto che abbiamo discusso di " fisherIntegration (rep (.367,1000)) =. 4999 " ma " fisherIntegration (rep (.367,10000000)) = 1.965095e-14 " è intuitivamente sciocco. Qualsiasi metodo può essere giustificato in base alle sue ipotesi / obiettivi, ma in questo caso questo tipo di comportamento dipendente dalla soglia non si adatterebbe a ciò che la maggior parte degli utenti riterrebbe ragionevole. Naturalmente, sono daccordo con te sul fatto che una singola statistica riassuntiva sarà peggio che esaminare più attentamente la distribuzione.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *