Bontà di adattamento per campioni di dimensioni molto grandi


12

Raccolgo campioni molto grandi (> 1.000.000) di dati categorici ogni giorno e voglio vedere i dati "significativamente" diversi tra i giorni per rilevare errori nella raccolta dei dati.

Ho pensato che usare un test di buona misura (in particolare un test G) sarebbe una buona misura (gioco di parole) per questo. La distribuzione prevista è data dalla distribuzione del giorno precedente.

Ma poiché le dimensioni dei miei campioni sono così grandi, il test ha una potenza molto elevata e produce molti falsi positivi. Vale a dire, anche una minima fluttuazione giornaliera darà un valore p quasi zero.

Ho finito per moltiplicare la mia statistica test per una costante (0,001), che ha la bella interpretazione di campionare i dati a quel ritmo. Questo articolo sembra concordare con questo approccio. Dicono che:

Chi square è il più affidabile con campioni tra circa 100 e 2500 persone

Sto cercando alcuni commenti più autorevoli su questo. O forse alcune soluzioni alternative ai falsi positivi quando si eseguono test statistici su grandi set di dati.


3
È una buona domanda Tuttavia, non esiste una base obiettivamente sostenibile per il tuo approccio ad hoc . Ciò non significa che funzionerà male - ma suggerisce fortemente che ci sono procedure migliori. Per trovarli, sarebbe utile se potessi modificare questa domanda per spiegare quali tipi di errori stai tentando di identificare, incluso quanto potrebbero essere grandi, quanti di essi potrebbero verificarsi e quali sono le conseguenze di (a) non riuscire a identificare alcuni degli errori e (b) contrassegnare i dati corretti come errori.
whuber

2
Da un punto di vista matematico, un test di bontà di adattamento con molto grande va benissimo - è solo che la corrispondente ipotesi nulla non è molto interessante: perché dovresti fare una domanda "sì / no" quando puoi ottenere una risposta "quanto"? Nel tuo caso, su base giornaliera, potresti stimare la variazione proporzionale per ogni categoria, aggiungere un intervallo di confidenza ciascuno e vedere se non raggiungono una regione di tolleranza predefinita intorno a 0.n
Michael M

L'uso di termini come "significativo" e "falso positivo" sembra essere in contrasto con il significato statistico di tali termini, soprattutto se si sta eseguendo il test correttamente *. Ti suggerisco di evitare quei termini se non li usi rigorosamente in senso tecnico. Il tuo problema di base è quello di utilizzare i test di ipotesi in situazioni in cui può avere poco senso farlo; in parole semplici, non tecniche, in inglese qual è la tua vera domanda di interesse? * (in particolare, usare il giorno precedente come 'popolazione' non è giusto, se non si consente la sua variabilità - generalmente è variabile come oggi)
Glen_b -Reinstate Monica

Risposte:


4

Il test sta restituendo il risultato corretto. Le distribuzioni non sono le stesse di giorno in giorno. Questo, ovviamente, non ti serve. Il problema che stai affrontando è noto da tempo. Vedi: Karl Pearson e RA Fisher su test statistici: uno scambio del 1935 dalla natura

Potresti invece guardare indietro ai dati precedenti (tuoi o da qualche altra parte) e ottenere la distribuzione delle modifiche quotidiane per ogni categoria. Quindi si controlla se è probabile che si sia verificata la modifica corrente data quella distribuzione. È difficile rispondere in modo più specifico senza conoscere i dati e i tipi di errori, ma questo approccio sembra più adatto al tuo problema.


4

Andiamo avanti e uccidiamo la vacca sacra del 5%.

Hai (correttamente) sottolineato che il problema è quello del potere esuberante del test. Potresti voler ricalibrarlo verso un potere più rilevante, come dire un valore più tradizionale dell'80%:

  1. Decidi la dimensione dell'effetto che vuoi rilevare (es. Spostamento dello 0,2%)
  2. Decidi il potere che è abbastanza buono per te in modo che non sia sopraffatto (ad es.1β=80%)
  3. Lavora dalla teoria esistente del test di Pearson per determinare il livello che renderebbe pratico il tuo test.

Supponiamo di avere 5 categorie con pari probabilità, e la tua alternativa è . Quindi per , . La distribuzione asintotica è chi-quadrato non centrale con (# categorie-1) = 4 df e parametro di non centralità Con questo grande valore di , questo è abbastanza vicino a . L'80% -tile èp + δ / p1=p2=p3=p4=p5=0.2p+δ/n=(0.198,0.202,0.2,0.2,0.2)n=106δ=(2,+2,0,0,0)k=

λ=jδj2/pj=4/0.2+4/0.2=40
λN(μ=λ+k=44,σ2=2(k+2λ)=168)44+13Φ1(0.8)=44+130.84=54.91. Quindi il tuo livello desiderabile del test è il cdf della coda inversa di da 54,91: Quindi quello sarebbe il livello che dovresti valuta la possibilità di testare i tuoi dati in modo tale da avere il potere dell'80% di rilevare le differenze dello 0,2%.χ42
Prob[χ42>54.91]=3.31011

(Per favore, controlla la mia matematica, questo è un livello ridicolo di un test, ma è quello che volevi con i tuoi Big Data, vero? D'altra parte, se vedi abitualmente Pearson nel range di una coppia cento, questo può essere un valore critico del tutto significativo da intrattenere.)χ2

Tieni presente, tuttavia, che le approssimazioni, sia per il nullo sia per l'alternativa, possono funzionare male nelle code, vedi questa discussione .


2

In questi casi, il mio professore ha suggerito di calcolare la V di Cramér, che è una misura dell'associazione basata sulla statistica del chi quadro. Questo dovrebbe darti la forza e aiutarti a decidere se il test è ipersensibile. Ma non sono sicuro che sia possibile utilizzare la V con il tipo di statistica restituita dai test G2.

Questa dovrebbe essere la formula per V:

ϕc=χ2n(k1)

dove è il totale complessivo delle osservazioni e è il numero di righe o il numero di colonne qualunque sia inferiore. O per bontà dei test di adattamento, il è apparentemente il no. di file.k knkk


0

Un approccio sarebbe quello di rendere più significativi i test di idoneità adattandoli su blocchi di dati più piccoli.

È possibile dividere i dati da un determinato giorno in ad esempio 1000 blocchi di 1000 campioni ciascuno ed eseguire un test di bontà di adattamento individuale per ciascun blocco, con la distribuzione prevista fornita dall'insieme di dati completo del giorno precedente. Mantieni il livello di significatività per ogni singolo test al livello che stavi usando (es. ). Quindi cerca le partenze significative del numero totale di test positivi dal numero atteso di falsi positivi (sotto l'ipotesi nulla che non vi siano differenze nelle distribuzioni, il numero totale di test positivi è distribuito binomialmente, con parametro ).αα=0.05α

È possibile trovare una buona dimensione del blocco da utilizzare prendendo set di dati da due giorni in cui è possibile supporre che la distribuzione sia la stessa e vedere quale dimensione del blocco fornisce una frequenza di test positivi che è approssimativamente uguale a (ovvero, quale dimensione del blocco si ferma il tuo test dal segnalare differenze spurie).α


Potresti per favore approfondire il senso in cui questo approccio sarebbe "più significativo?"
whuber

È significato statistico contro significato del mondo reale. Usando 10 ^ 3 invece di 10 ^ 6 campioni, la potenza di un singolo test viene deliberatamente ridotta, quindi i rigetti dell'ipotesi nulla tenderanno a corrispondere a una grande mancanza di adattamento. Ciò rende più significativo il risultato di un singolo test perché all'OP non interessa la "piccola fluttuazione giornaliera". Per 10 ^ 6 campioni, il test potrebbe sempre rifiutare H0 a causa di differenze minori, quindi non è chiaro se un risultato del test rappresenti informazioni significative.
CJ Stoneking,

1
Grazie: il tuo commento solleva questioni interessanti e importanti che iniziano a sostenere quella che penso sia la vera domanda di fondo; vale a dire, come si dovrebbero misurare le differenze tra i dati al fine di rilevare errori e quanto grande sarebbe una preoccupazione? Sebbene la tua risposta possa essere appropriata in alcune circostanze, sembra improbabile che rileverà efficacemente molti dei tipi di errori che potrebbero verificarsi nei dati e lascia aperta anche la domanda (naturale) su quali blocchi di dimensioni dei dati si dovrebbero usare.
whuber

@whuber, il problema può essere ridefinito in modo tale che il valore nullo e la sua deviazione siano invarianti nella dimensione dei dati ma cerchi una rappresentazione qualitativa?
Vass
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.