Posso utilizzare il test Kolmogorov-Smirnov e stimare i parametri di distribuzione?


14

Ho letto che il test di Kolmogorov-Smirnov non dovrebbe essere usato per testare la bontà di adattamento di una distribuzione i cui parametri sono stati stimati dal campione.

Ha senso dividere il mio campione in due e usare la prima metà per la stima dei parametri e la seconda per il test KS?

Grazie in anticipo


1
Con quale distribuzione vuoi testare e perché?
gung - Ripristina Monica

Sospetto che i dati seguano una distribuzione esponenziale.
Sortega,

Risposte:


13

L'approccio migliore consiste nel calcolare il valore critico del valore p mediante simulazione. Il problema è che quando si stimano i parametri dai dati anziché utilizzare valori ipotizzati, la distribuzione della statistica KS non segue la distribuzione nulla.

Puoi invece ignorare i valori p dal test KS e simulare invece un gruppo di set di dati dalla distribuzione candidata (con un set significativo di parametri) della stessa dimensione dei tuoi dati reali. Quindi per ogni set stimare i parametri ed eseguire il test KS utilizzando i parametri stimati. Il tuo valore p sarà la proporzione delle statistiche di test degli insiemi simulati che sono più efficaci rispetto ai dati originali.


2
Trovo la soluzione un po 'confusa (almeno per me); cosa intendi con "un insieme significativo di parametri" per la distribuzione candidata? Inizialmente non conosci i parametri della distribuzione candidata, come faresti a sapere che cos'è un "insieme significativo di parametri"?
Néstor,

Puoi provare diversi set di parametri per vedere se fa la differenza o no (per il normale no, ma alcune distribuzioni potrebbero). Quindi pensa alla scienza alla base dei tuoi dati o parla con un esperto della zona, dovresti essere in grado di avere un'idea generale da dove iniziare, ad esempio ho idea di quale sia l'altezza media dei maschi adulti in Nigeria, ma lo sono abbastanza sicuro che sia positivo e meno di 3 metri.
Greg Snow,

@GregSnow Mi sono imbattuto in questo post in quanto è rilevante per il mio lavoro attuale. Mi chiedevo se ci fosse qualche giustificazione teorica per il metodo che suggerisci? Cioè, come facciamo a sapere che il "valore p" proposto è effettivamente distribuito uniformemente da 0 a 1? Il valore p proposto non sembra essere il valore p convenzionale perché l'ipotesi Null è ora un insieme di distribuzioni
renrenthehamster,

@renrenthehamster, hai un buon punto, ecco perché ho suggerito di simulare in condizioni diverse. Per alcune distribuzioni (mi aspetterei il normale) non importerà molto, ma altre potrebbero richiedere tagli diversi per valori di parametro reali diversi. In tal caso, l'utente (tu) deve trovare un valore nullo da testare rispetto al quale includa sia la forma della distribuzione sia un insieme o intervallo di parametri con cui si è a proprio agio.
Greg Snow,

1
@LilyLong, le simulazioni erano molto più difficili e richiedevano tempo, quindi i test sono stati sviluppati per essere più veloci / facili della simulazione, alcune delle prime tabelle sono state create dalla simulazione. Molti test ora possono essere facilmente sostituiti dalla simulazione, ma probabilmente saranno con noi ancora per un po 'a causa della tradizione e della semplicità.
Greg Snow,

7

La suddivisione del campione potrebbe forse ridurre il problema con la distribuzione della statistica, ma non lo rimuove.

La tua idea evita il problema che le stime saranno "troppo vicine" rispetto ai valori della popolazione perché si basano sullo stesso campione.

Non stai evitando il problema che sono ancora stime. La distribuzione della statistica del test non è quella tabulata.

In questo caso aumenta il tasso di rifiuto sotto il valore null, invece di ridurlo notevolmente.

Una scelta migliore consiste nell'utilizzare un test in cui non si presume che i parametri siano noti, come uno Shapiro Wilk.

Se sei sposato con un tipo di test di Kolmogorov-Smirnov, puoi seguire l'approccio del test di Lilliefors.

Cioè, per usare la statistica KS ma avere la distribuzione della statistica del test riflettere l'effetto della stima dei parametri - simulare la distribuzione della statistica del test sotto la stima dei parametri. (Non è più privo di distribuzione, quindi sono necessarie nuove tabelle per ogni distribuzione.)

http://en.wikipedia.org/wiki/Lilliefors_test

Liliefors ha usato la simulazione per il caso normale ed esponenziale, ma puoi farlo facilmente per qualsiasi distribuzione specifica; in qualcosa come R è una questione di momenti per simulare 10.000 o 100.000 campioni e ottenere una distribuzione della statistica di test sotto il valore null.

[Un'alternativa potrebbe essere quella di considerare l'Anderson-Darling, che ha lo stesso problema, ma che - a giudicare dal libro di D'Agostino e Stephens ( tecniche di bontà di adattamento ) sembra essere meno sensibile ad esso. Potresti adattare l'idea di Lilliefors, ma suggeriscono una regolazione relativamente semplice che sembra funzionare abbastanza bene.]

Ma ci sono ancora altri approcci; ci sono famiglie di test regolari di bontà di adattamento, ad esempio (ad esempio vedere il libro di Rayner e Best) che in un certo numero di casi specifici possono gestire la stima dei parametri.

* l'effetto può essere ancora piuttosto grande - forse più grande di quanto normalmente sarebbe considerato accettabile; Momo ha ragione a esprimere preoccupazione al riguardo. Se un tasso di errore di tipo I superiore (e una curva di potenza più piatta) è un problema, questo potrebbe non essere un miglioramento!


1
potresti spiegare come "la suddivisione del campione risolverebbe il problema con la distribuzione della statistica"? A mio avviso, i parametri sarebbero stati stimati da un sottocampione e quindi inseriti per il test KS del secondo sottocampione, ma i parametri sarebbero comunque associati a un errore di campionamento che non viene preso in considerazione nella distribuzione nulla. Questo mi sembra come se con un'idea simile si potesse dividere un campione da una distribuzione normale, stimare le deviazioni standard in un sottocampione ed effettuare un confronto medio con il normale normale piuttosto che la t-dist nel secondo sottocampione.
Momo,

1
@Momo 'risolvere' è troppo forte; 'ridurre' è meglio. Se i parametri sono stimati dalle stesse osservazioni si sta testando, quindi - a meno che non si rappresentano in tal senso - le deviazioni del campione dalla distribuzione saranno 'troppo piccolo' - il tasso di rifiuto va waay verso il basso. L'uso di un altro campione rimuove tale effetto. I valori dei parametri risultanti dalla stima di un secondo campione risentono ancora dell'errore di campionamento. Ciò avrà un certo impatto sul test (aumenta il tasso di errore di tipo I), ma non avrà il drammatico effetto di differenziazione che utilizzare gli stessi dati per entrambi.
Glen_b -Restate Monica

@Momo Ho modificato il mio commento per rimuovere 'risolvi' e sostituirlo con qualche spiegazione
Glen_b -Reinstate Monica

5

Temo che non risolva il problema. Credo che il problema non sia che i parametri siano stimati dallo stesso campione ma da qualsiasi campione. La derivazione della consueta distribuzione nulla del test KS non tiene conto di alcun errore di stima nei parametri della distribuzione di riferimento, ma piuttosto li vede come dati. Vedi anche Durbin 1973 che discute a lungo di questi argomenti e offre soluzioni.


1
Questi sono in realtà due problemi separati. Se usi gli stessi dati per stimare i parametri e per fare il test KS, generalmente vedrai valori p gonfiati , perché essenzialmente adatterai la distribuzione ai dati prima di testarli. Se si utilizzano due set indipendenti di campioni, tuttavia, non è così. Tuttavia, stime di parametri imprecise potrebbero ridurre i valori p in questo caso, perché ora stai essenzialmente testando una distribuzione (leggermente) errata .
fgp,
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.