Quando i dati hanno una distribuzione gaussiana, quanti campioni li caratterizzeranno?


12

I dati gaussiani distribuiti in una singola dimensione richiedono due parametri per caratterizzarli (media, varianza) e si dice che circa 30 campioni selezionati casualmente siano di solito sufficienti per stimare questi parametri con una sicurezza ragionevolmente elevata. Ma cosa succede all'aumentare del numero di dimensioni?

In due dimensioni (ad es. Altezza, peso) sono necessari 5 parametri per specificare un'ellisse "best-fit". In tre dimensioni, questo sale a 9 parametri per descrivere un ellissoide e in 4-D richiede 14 parametri. Sono interessato a sapere se il numero di campioni richiesti per stimare questi parametri aumenta anche a un tasso comparabile, a un ritmo più lento o (per favore no!) A un tasso più elevato. Meglio ancora, se ci fosse una regola empirica ampiamente accettata che suggerisce quanti campioni sono necessari per caratterizzare una distribuzione gaussiana in un dato numero di dimensioni, sarebbe bene sapere.

Per essere più precisi, supponiamo di voler definire un limite simmetrico di "adattamento ottimale" centrato nel punto medio all'interno del quale possiamo essere certi che il 95% di tutti i campioni cadrà. Voglio sapere quanti campioni potrebbero essere necessari per trovare i parametri per approssimare questo limite (intervallo in 1-D, ellisse in 2-D, ecc.) Con un'idonea sicurezza (> 95%) e come tale numero varia come aumenta il numero di dimensioni.


3
Senza una definizione sufficientemente precisa di "pin down", non è davvero possibile rispondere a questa domanda anche per un gaussiano univariato.
Glen_b

1
Che ne dite: quanti campioni ci vogliono per essere sicuri almeno del 95% che il 95% di tutti i campioni (ma solo il 95% di tutti i campioni) si troverà all'interno di un intervallo definito / ellisse / ellissoide / iperellifsoide?
omatai,

1
Vale a dire ... Il 95% di tutti i campioni si troverà entro una certa distanza definita dalla media. Quanti campioni sono necessari per definire quella distanza (intervallo / ellisse / ellissoide / ecc.) Con una sicurezza del 95% o superiore?
omatai,

1
Non appena si dispone di un valore di dati indipendente in più rispetto ai parametri (da cui in dimensioni ), è possibile erigere attorno a loro un'area di confidenza al 95%. (Si può fare ancora meglio usando tecniche non tradizionali .) Questa è una risposta - è definitiva - ma probabilmente non è quello che stai cercando. Il punto è che è necessario stipulare una scala assoluta di accuratezza desiderata per ottenere una risposta a questa domanda. d(d+22)d
whuber

1
Snedecor & Cochran [ Metodi statistici , 8a edizione] sono le autorità sul campionamento. Descrivono questo processo nei capitoli 4 e 6: "assumiamo inizialmente che la deviazione standard della popolazione ... sia nota". Successivamente scrivono: "Il metodo è quindi più utile nelle prime fasi di una linea di lavoro ... Ad esempio, precedenti piccoli esperimenti hanno indicato che un nuovo trattamento dà un aumento di circa il 20% e è di circa il 7% L'investigatore ... [vuole un] SE di 2% e quindi imposta , dando ... Questo ... è spesso utile nei lavori successivi σ ± σDσ±n=252(7)/n=2n=25
whuber

Risposte:


7

La quantità di dati necessari per stimare i parametri di una distribuzione normale multivariata con un'accuratezza specificata per una data confidenza non varia con la dimensione, essendo tutte le altre cose uguali. Pertanto è possibile applicare qualsiasi regola empirica per due dimensioni a problemi di dimensione superiore senza alcuna modifica.

Perché dovrebbe? Esistono solo tre tipi di parametri: medie, varianze e covarianze. L'errore di stima in una media dipende solo dalla varianza e dalla quantità di dati, . Pertanto, quando ha una distribuzione normale multivariata e presenta varianze , le stime di dipendono solo da e . Pertanto, per ottenere un'adeguata accuratezza nella stima di tutti i , dobbiamo solo considerare la quantità di dati necessari per con il più grande di( X 1 , X 2 , , X d ) X i σ 2 i E [ X i ] σ i n E [ X i ] X i σ i d σ in(X1,X2,,Xd)Xiσi2E[Xi]σinE[Xi]Xiσi. Pertanto, quando contempliamo una serie di problemi di stima per dimensioni crescenti , tutto ciò che dobbiamo considerare è quanto aumenterà il più grande . Quando questi parametri sono limitati sopra, concludiamo che la quantità di dati necessari non dipende dalla dimensione.dσi

Considerazioni simili si applicano alla stima delle varianze e covarianze : se una certa quantità di dati è sufficiente per stimare una covarianza (o coefficiente di correlazione) per una precisione desiderata, quindi - a condizione che la distribuzione normale sottostante abbia simili valori dei parametri: la stessa quantità di dati sarà sufficiente per stimare qualsiasi covarianza o coefficiente di correlazione. σ i jσi2σij


Per illustrare e fornire supporto empirico a questo argomento, studiamo alcune simulazioni. Quanto segue crea parametri per una distribuzione multinormale di dimensioni specificate, disegna molti insiemi di vettori indipendenti e identicamente distribuiti da quella distribuzione, stima i parametri da ciascuno di tali campioni e riassume i risultati di tali stime dei parametri in termini di (1) le loro medie- -per dimostrare che sono imparziali (e che il codice funziona correttamente - e (2) le loro deviazioni standard, che quantificano l'accuratezza delle stime. (Non confondere queste deviazioni standard, che quantificano l'entità della variazione tra le stime ottenute su più iterazioni della simulazione, con le deviazioni standard utilizzate per definire la distribuzione multinormale sottostante!dd modifiche, a condizione che come modifiche, non introduciamo variazioni maggiori nella distribuzione multinormale sottostante stessa.d

Le dimensioni delle varianze della distribuzione sottostante sono controllate in questa simulazione rendendo il più grande autovalore della matrice di covarianza pari a . Ciò mantiene la densità di probabilità "nuvola" all'interno dei limiti man mano che la dimensione aumenta, indipendentemente dalla forma di questa nuvola. Simulazioni di altri modelli di comportamento del sistema all'aumentare della dimensione possono essere create semplicemente modificando la modalità di generazione degli autovalori; un esempio (usando una distribuzione Gamma) è mostrato commentato nel codice qui sotto.1R

Ciò che stiamo cercando è verificare che le deviazioni standard delle stime dei parametri non cambino sensibilmente quando viene modificata la dimensione . Mostro quindi i risultati per due estremi, e , utilizzando la stessa quantità di dati ( ) in entrambi i casi. È interessante notare che il numero di parametri stimati quando , pari a , supera di gran lunga il numero di vettori ( ) e supera anche i singoli numeri ( ) nell'intero set di dati.d = 2 d = 60 30 d = 60 1890 30 30 60 = 1800dd=2d=6030d=601890303060=1800

Cominciamo con due dimensioni, . Esistono cinque parametri: due varianze (con deviazioni standard di e in questa simulazione), una covarianza (SD = ) e due medie (SD = e ). Con diverse simulazioni (ottenibili modificando il valore iniziale del seme casuale), questi varieranno leggermente, ma saranno costantemente di dimensioni comparabili quando la dimensione del campione è . Ad esempio, nella simulazione successiva le SD sono , , , e0,097 0,182 0,126 0,11 0,15 n = 30 0,014 0,263 0,043 0,04 0,18d=20.0970.1820.1260.110.15n=300.0140.2630.0430.040.18, rispettivamente: sono tutti cambiati ma sono di ordini di grandezza comparabili.

(Queste affermazioni possono essere supportate teoricamente, ma il punto qui è fornire una dimostrazione puramente empirica.)

Ora passiamo a , mantenendo la dimensione del campione a . In particolare, ciò significa che ogni campione è composto da vettori, ciascuno con componenti. Invece di elencare tutte le deviazioni standard, diamo un'occhiata alle loro immagini usando gli istogrammi per rappresentare i loro intervalli.n = 30 30 60 1890d=60n=3030601890

figura

I grafici a dispersione nella riga superiore confrontano i parametri effettivi sigma( ) e ( ) con le stime medie effettuate durante le iterazioni in questa simulazione. Le linee di riferimento grigie segnano il luogo di perfetta uguaglianza: chiaramente le stime funzionano come previsto e sono imparziali.μ 10 4σmuμ104

Gli istogrammi vengono visualizzati nella riga inferiore, separatamente per tutte le voci nella matrice di covarianza (a sinistra) e per i mezzi (a destra). Le SD delle singole varianze tendono a trovarsi tra e mentre le SD delle covarianze tra componenti separati tendono a trovarsi tra e : esattamente nell'intervallo raggiunto quando . Allo stesso modo, le SD delle stime medie tendono a trovarsi tra e , il che è paragonabile a quanto visto quando . Certamente non vi è alcuna indicazione che le SD siano aumentate di0,12 0,04 0,08 d = 2 0,08 0,13 d = 20.080.120.040.08d=20.080.13d=2dsalito da a .260

Il codice segue.

#
# Create iid multivariate data and do it `n.iter` times.
#
sim <- function(n.data, mu, sigma, n.iter=1) {
  #
  # Returns arrays of parmeter estimates (distinguished by the last index).
  #
  library(MASS) #mvrnorm()
  x <- mvrnorm(n.iter * n.data, mu, sigma)
  s <- array(sapply(1:n.iter, function(i) cov(x[(n.data*(i-1)+1):(n.data*i),])), 
        dim=c(n.dim, n.dim, n.iter))
  m <-array(sapply(1:n.iter, function(i) colMeans(x[(n.data*(i-1)+1):(n.data*i),])), 
            dim=c(n.dim, n.iter))
  return(list(m=m, s=s))
}
#
# Control the study.
#
set.seed(17)
n.dim <- 60
n.data <- 30    # Amount of data per iteration
n.iter <- 10^4  # Number of iterations
#n.parms <- choose(n.dim+2, 2) - 1
#
# Create a random mean vector.
#
mu <- rnorm(n.dim)
#
# Create a random covariance matrix.
#
#eigenvalues <- rgamma(n.dim, 1)
eigenvalues <- exp(-seq(from=0, to=3, length.out=n.dim)) # For comparability
u <- svd(matrix(rnorm(n.dim^2), n.dim))$u
sigma <- u %*% diag(eigenvalues) %*% t(u)
#
# Perform the simulation.
# (Timing is about 5 seconds for n.dim=60, n.data=30, and n.iter=10000.)
#
system.time(sim.data <- sim(n.data, mu, sigma, n.iter))
#
# Optional: plot the simulation results.
#
if (n.dim <= 6) {
  par(mfcol=c(n.dim, n.dim+1))
  tmp <- apply(sim.data$s, 1:2, hist)
  tmp <- apply(sim.data$m, 1, hist)
}
#
# Compare the mean simulation results to the parameters.
#
par(mfrow=c(2,2))
plot(sigma, apply(sim.data$s, 1:2, mean), main="Average covariances")
abline(c(0,1), col="Gray")
plot(mu, apply(sim.data$m, 1, mean), main="Average means")
abline(c(0,1), col="Gray")
#
# Quantify the variability.
#
i <- lower.tri(matrix(1, n.dim, n.dim), diag=TRUE)
hist(sd.cov <- apply(sim.data$s, 1:2, sd)[i], main="SD covariances")
hist(sd.mean <- apply(sim.data$m, 1, sd), main="SD means")
#
# Display the simulation standard deviations for inspection.
#
sd.cov
sd.mean

1

Alcune brevi cifre forniscono le seguenti distribuzioni di errori per l'adattamento di 30 campioni creati da una distribuzione normale standard, quindi adattati a un gaussiano univariato.

inserisci qui la descrizione dell'immagine

I quartili sono indicati. Si presume che questo livello di variazione sia desiderato nel caso multidimensionale.

Non ho il tempo di battere MatLab per ottenere il risultato totale, quindi condividerò la mia "regola empirica". Il 30 viene fornito come regola empirica o euristica, quindi si presume che l'euristica non sia inaccettabile.

La mia euristica è usare il triangolo di Pascal moltiplicato per il caso univariato. inserisci qui la descrizione dell'immagine

Se sto usando i dati 2d, vado alla seconda riga e li somma per ottenere il doppio del numero di campioni o 60 campioni. Per i dati 3d vado alla terza riga e la somma per ottenere il numero di campioni 4x o 120 campioni. Per i dati 5d vado alla quinta riga e la somma per ottenere 16 volte il numero di campioni o 480 campioni.

Buona fortuna.

MODIFICARE:

Era intuitivo, ma tutto deve essere difeso in matematica. Non posso semplicemente fare un salto dalla formulazione di forme polinomiali di Finite Elements con esperienza per ottenere un campo da baseball.

L'equazione per la somma della riga del triangolo di Pascal è . kth2k

La mia idea per l'approccio qui è di equiparare l'AIC di una distribuzione dimensionale superiore con più campioni a una distribuzione dimensionale ridotta con meno campioni.

L'Akaike Information Criterion (AIC) è definito come dove è la somma residua di quadrati, è il conteggio dei campioni e è il conteggio dei parametri per il modello . AIC=nlog(RSSn)+2kRSSnk

AIC1=AIC2

n1log(RSS1n1)+2k1=n2log(RSS2n2)+2k2

Per ogni dimensione che eliminiamo questo significa che la media perde una riga e la covarianza perde sia una riga che una colonna. Possiamo affermarlo come

k(d)=d2+d .

di

k(d+1)k(d)=2d+2

Supponendo che l'errore per punto campione sia costante, si collega la somma residua di quadrati al conteggio del campione e il termine nel logaritmo rimane costante. La differenza nel conteggio dei campioni diventa una costante di ridimensionamento.

quindi abbiamo:

n1A+2(k2+2d+2)=n2A+2k2

risolvendo per l'aumento dei campioni con dimensione si ottiene:

n2n1=(2(k2+2d+2)2k2)A1=(4d+4)A1

Quindi qual è la funzione di ridimensionamento? Supponiamo che per un gaussiano multivariato bidimensionale il numero di campioni richiesti sia di 15 per parametro. Ci sono 2 mezzi e 4 elementi della covarianza quindi 6 parametri o 90 campioni. La differenza è di 60 campioni, il valore di . A1=5

inserisci qui la descrizione dell'immagine

A questo punto direi che l'euristica inizia un po 'in basso ma finisce per essere circa il doppio del numero di campioni richiesti. La mia gamma di migliore utilità, secondo la mia opinione personale, è di circa 4 dimensioni circa.

MODIFICARE:

Quindi ho letto la risposta di @whuber e mi piace. È empirico, e in questo caso è autorevole. Ho votato per la sua risposta.

Di seguito sto tentando di discutere e sperando di poter usare più di ~ 300 caratteri e spero di essere in grado di incorporare le immagini. Sto quindi discutendo nei limiti della risposta. Spero che vada bene.

A questo punto non sono convinto che l'uso di AIC per questo, o come siano state utilizzate le dimensioni del campione e le dimensioni dei parametri sia errato.

Prossimi passi:

  • replica i risultati di @ whuber, confermali empiricamente
  • Prova l'AIC, almeno in un certo senso dell'insieme, per confermare se è appropriato
  • Se l'AIC è appropriato, prova a usare metodi empirici per inseguire i difetti nel ragionamento.

Commenti e suggerimenti benvenuti.


4
Potresti fornire qualche giustificazione per la tua euristica?
whuber

1
E potresti confermare che la somma della 5a fila è in realtà 16?
omatai,

1 + 4 + 6 + 4 + 1 = 1 + 10 + 5 = 16. Mi dispiace per quello. 16 22. Devo essere stato mezzo addormentato quando ho aggiunto.
EngrStudent,

1
Come si ottiene per il numero di parametri? Sono troppi. Ad esempio, con componenti sono necessari solo parametri (per medie, covarianze e correlazioni). Questo potrebbe spiegare perché la tua raccomandazione richiede una dimensione del campione straordinariamente alta! d=95499362d+12d=9549936
whuber

1
@whuber, trovo che imparo di più dai miei errori (dopo averne appreso) che dalla mia correttezza. Abbastanza sorprendentemente, sbagliare è esattamente come avere ragione fino a quando non so di aver sbagliato. Grazie. ted.com/talks/kathryn_schulz_on_being_wrong.html
EngrStudent
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.