Quando os dados têm uma distribuição gaussiana, quantas amostras o caracterizam?

12

Dados gaussianos distribuídos em uma única dimensão requerem dois parâmetros para caracterizá-los (média, variância), e há rumores de que cerca de 30 amostras selecionadas aleatoriamente são geralmente suficientes para estimar esses parâmetros com confiança razoavelmente alta. Mas o que acontece quando o número de dimensões aumenta?

Em duas dimensões (por exemplo, altura, peso), são necessários 5 parâmetros para especificar uma elipse de "melhor ajuste". Em três dimensões, isso aumenta para 9 parâmetros para descrever um elipsóide, e em 4-D são necessários 14 parâmetros. Estou interessado em saber se o número de amostras necessárias para estimar esses parâmetros também aumenta a uma taxa comparável, a uma taxa mais lenta ou (por favor, não!) A uma taxa mais alta. Melhor ainda, se houvesse uma regra geral amplamente aceita que sugerisse quantas amostras são necessárias para caracterizar uma distribuição gaussiana em um determinado número de dimensões, seria bom saber.

Para ser mais preciso, suponha que desejamos definir um limite simétrico de "melhor ajuste" centrado no ponto médio dentro do qual podemos ter certeza de que 95% de todas as amostras cairão. Quero saber quantas amostras são necessárias para encontrar os parâmetros para aproximar esse limite (intervalo em 1-D, elipse em 2-D etc.) com confiança adequadamente alta (> 95%) e como esse número varia conforme o o número de dimensões aumenta.

omatai
fonte
3
Sem uma definição suficientemente precisa de 'fixar', não é realmente possível responder a essa pergunta, mesmo para um gaussiano univariado.
Glen_b -Reinstate Monica
1
Que tal: quantas amostras são necessárias para ter pelo menos 95% de confiança de que 95% de todas as amostras (mas apenas 95% de todas as amostras) estarão dentro de um intervalo definido / elipse / elipsóide / hiperelipsoide?
Omatai
1
Ou seja, 95% de todas as amostras estarão dentro de uma distância definida da média. Quantas amostras são necessárias para definir essa distância (intervalo / elipse / elipsóide / etc) com 95% ou mais de confiança?
omatai
1
Assim que você tiver mais um valor de dados independente do que os parâmetros (de onde valores emddimensões), você pode erguer uma região de confiança de 95% ao seu redor. (Pode-sefazer ainda melhor usando técnicas não tradicionais.) Essa é uma resposta - é definitiva - mas provavelmente não é o que você está procurando. O ponto é que você precisa estipular umaescalaabsolutada precisão desejada para obter uma resposta para essa pergunta. (d+22)d
whuber
1
Snedecor e Cochran [ Métodos Estatísticos , 8ª edição] são autoridades em amostragem. Eles descrevem esse processo nos capítulos 4 e 6: "supomos inicialmente que o desvio padrão da população ... seja conhecido". Mais tarde, eles escrevem: "O método é, portanto, mais útil nos estágios iniciais de uma linha de trabalho. ... Por exemplo, pequenas experiências anteriores indicaram que um novo tratamento gera um aumento de cerca de 20% e σ é de cerca de 7%. O investigador ... [deseja um] SE de ± 2% e, assim, define σDσ±, dandon=25... Isso ... geralmente é útil em trabalhos posteriores. 2(7)/n=2n=25
whuber

Respostas:

7

A quantidade de dados necessários para estimar os parâmetros de uma distribuição Normal multivariada com precisão especificada até uma determinada confiança não varia com a dimensão, sendo todas as outras coisas iguais. Portanto, você pode aplicar qualquer regra de ouro para duas dimensões a problemas dimensionais mais altos sem nenhuma alteração.

Por que deveria? Existem apenas três tipos de parâmetros: médias, variações e covariâncias. O erro de estimativa em uma média depende apenas da variação e da quantidade de dados, . Assim, quando ( X 1 , X 2 , ... , X d ) tem uma distribuição Normal multivariada e X i tem variações σ 2 i , então as estimativas de E [ X i ] dependem apenas de σ i e n . Portanto, para obter uma precisão adequada na estimativa de todos osn(X1,X2,...,Xd)XEuσEu2E[XEu]σEun , precisamos apenas considerar a quantidade de dados necessários para o X i ter omaiordos σ i . Portanto, quando contemplamos uma sucessão de problemas de estimativa para aumentar as dimensões d , tudo o que precisamos considerar é quantoaumentaráo maior σ i . Quando esses parâmetros são delimitados acima, concluímos quea quantidade de dados necessária não depende da dimensão.E[XEu]XEuσEudσEu

Considerações semelhantes se aplicam à estimativa das variâncias covariâncias σ i j : se uma certa quantidade de dados for suficiente para estimar uma covariância (ou coeficiente de correlação) com a precisão desejada, então - desde que a distribuição normal subjacente tenha valores de parâmetros semelhantes - - a mesma quantidade de dados será suficiente para estimar qualquer covariância ou coeficiente de correlação.σEu2σEuj


Para ilustrar e fornecer suporte empírico para esse argumento, vamos estudar algumas simulações. A seguir, cria parâmetros para uma distribuição multinormal de dimensões especificadas, extrai muitos conjuntos independentes de vetores distribuídos de forma idêntica a partir dessa distribuição, estima os parâmetros de cada amostra e resume os resultados dessas estimativas de parâmetros em termos de (1) suas médias - - demonstrar que são imparciais (e o código está funcionando corretamente - e (2) seus desvios-padrão, que quantificam a precisão das estimativas. (Não confunda esses desvios-padrão, que quantificam a quantidade de variação entre as estimativas obtidas em múltiplos iterações da simulação, com os desvios padrão usados ​​para definir a distribuição multinormal subjacente! muda, desde que, à medida que d mude, não introduzamos variações maiores na própria distribuição multinormal subjacente.dd

Os tamanhos das variâncias da distribuição subjacente são controlados nesta simulação, tornando o maior valor próprio da matriz de covariância igual a . Isso mantém a densidade de probabilidade "nuvem" dentro dos limites à medida que a dimensão aumenta, independentemente da forma que essa nuvem possa ter. Simulações de outros modelos de comportamento do sistema à medida que a dimensão aumenta podem ser criadas simplesmente alterando a maneira como os autovalores são gerados; Um exemplo (usando uma distribuição Gamma) é mostrado comentado no código abaixo.1R

O que estamos procurando é verificar se os desvios padrão das estimativas de parâmetros não mudam sensivelmente quando a dimensão é alterada. Eu, portanto, mostram os resultados para dois extremos, d = 2 e d = 60 , utilizando a mesma quantidade de dados ( 30 ) em ambos os casos. Vale ressaltar que o número de parâmetros estimados quando d = 60 , igual a 1890 , excede em muito o número de vetores ( 30 ) e até os números individuais ( 30 × 60 = 1800 ) em todo o conjunto de dados.dd=2d=6030d=601890303060=1800

Vamos começar com duas dimensões, . Existem cinco parâmetros: duas variâncias (com desvios padrão de 0,097 e 0,182 nesta simulação), uma covariância (DP = 0,126 ) e duas médias (DP = 0,11 e 0,15 ). Com diferentes simulações (obtidas através da alteração do valor inicial da semente aleatória), elas variam um pouco, mas terão consistentemente um tamanho comparável quando o tamanho da amostra for n = 30 . Por exemplo, na próxima simulação, os SDs são 0,014 , 0,263 , 0,043 , 0,04 e 0,18d=20.0970.1820.1260.110.15n=300.0140.2630.0430.040.18, respectivamente: todos mudaram, mas são de ordens de magnitude comparáveis.

(Essas declarações podem ser apoiadas teoricamente, mas o objetivo aqui é fornecer uma demonstração puramente empírica.)

Agora passamos para , mantendo o tamanho da amostra em n = 30 . Especificamente, isso significa que cada amostra consiste em 30 vetores, cada um com 60 componentes. Em vez de listar todos os desvios-padrão de 1890 , vamos apenas ver fotos deles usando histogramas para representar seus intervalos.d=60n=3030601890

Figura

Os gráficos de dispersão na linha superior comparam os parâmetros reais sigma( ) e ( μ ) com as estimativas médias feitas durante as 10 4 iterações nesta simulação. As linhas de referência cinzas marcam o lócus da perfeita igualdade: claramente as estimativas estão funcionando como pretendido e são imparciais.σmuμ104

Os histogramas aparecem na linha inferior, separadamente para todas as entradas na matriz de covariância (esquerda) e para as médias (direita). Os DPs das variações individuais tendem a situar-se entre e 0,12, enquanto os DPs das covariâncias entre componentes separados tendem a situar-se entre 0,04 e 0,08 : exatamente na faixa alcançada quando d = 2 . Da mesma forma, os DPs das estimativas médias tendem a situar-se entre 0,08 e 0,13 , o que é comparável ao observado quando d = 2 . Certamente não há indicação de que os SDs tenham aumentado0.080.120.040.08d=20.080.13d=2como subiu de 2 para 60 .d260

O código 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
whuber
fonte
1

Alguns breves números fornecem as seguintes distribuições de erro para o ajuste de 30 amostras criadas a partir de uma distribuição normal padrão e depois ajustadas a um gaussiano univariado.

insira a descrição da imagem aqui

Os quartis são indicados. Supõe-se que esse nível de variação seja desejado no caso multidimensional.

Não tenho tempo para bater no MatLab para obter o resultado total, por isso compartilharei minha "regra de ouro". Os 30 são fornecidos como regra geral, ou heurística, portanto, pressupõe-se que as heurísticas não sejam inaceitáveis.

Minha heurística é usar o triângulo de Pascal multiplicado pelo caso univariado. insira a descrição da imagem aqui

Se eu estiver usando dados 2D, vou para a segunda linha e somará para obter 2x o número de amostras ou 60 amostras. Para dados em 3D, eu vou para a terceira linha e somamos para obter 4x o número de amostras ou 120 amostras. Para dados 5d, vou para a 5ª linha e somo-a para obter 16x o número de amostras, ou 480 amostras.

Boa sorte.

EDITAR:

Foi intuitivo, mas tudo tem que ser defendido em matemática. Não posso simplesmente pular da formulação de formas polinomiais da Finite Elements com experiência para obter uma estimativa.

kth2k

Minha idéia para a abordagem aqui é equiparar o AIC de uma distribuição de dimensões mais altas com mais amostras a uma distribuição dimensional reduzida com menos amostras.

AIC=nlog(RSSn)+2kRSSnk

AIC1=AIC2

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

Para cada dimensão que eliminamos, isso significa que a média perde uma linha e a covariância perde uma linha e uma coluna. Podemos afirmar isso como

k(d)=d2+d

do

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

Assumir que o erro por ponto de amostra é constante relaciona a soma residual dos quadrados com a contagem de amostras e o termo no logaritmo permanece constante. A diferença na contagem de amostras se torna uma constante de escala.

então nós temos:

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

resolver para o aumento de amostras com dimensão fornece:

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

A1=5

insira a descrição da imagem aqui

Neste ponto, eu diria que a heurística começa um pouco baixa, mas acaba sendo aproximadamente o dobro do número de amostras necessárias. Sua gama de melhor utilidade, na minha opinião pessoal, é de cerca de 4 dimensões.

EDITAR:

Então, eu li a resposta do @whuber e gostei. É empírico e, neste caso, autoritário. Votei na sua resposta.

A seguir, estou tentando discutir e esperando poder usar mais de ~ 300 caracteres, e espero poder incorporar imagens. Estou, portanto, discutindo dentro dos limites da resposta. Espero que isso esteja bem.

Neste momento, não estou convencido de que o uso da AIC para isso ou de que tamanho de amostra e tamanhos de parâmetro foram usados ​​estava incorreto.

Próximos passos:

  • replicar os resultados do @ whuber, confirme-os empiricamente
  • Teste o AIC, pelo menos em algum sentido do conjunto, para confirmar se é apropriado
  • Se o AIC for apropriado, tente usar métodos empíricos para detectar falhas no raciocínio.

Comentários e sugestões são bem-vindos.

EngrStudent - Restabelecer Monica
fonte
4
Você poderia fornecer alguma justificativa para sua heurística?
whuber
1
E você pode confirmar que a soma da 5ª linha é de fato 16?
omatai
1 + 4 + 6 + 4 + 1 = 1 + 10 + 5 = 16. Desculpe por isso. 1622. Eu devia estar meio adormecido quando adicionei.
EngrStudent - Restabelece Monica
1
Como você cria 2d+1-2para o número de parâmetros? Isso é demais. Por exemplo, comd=9 apenas componentes 54 parâmetros são necessários (para 9 significa, 9 covariâncias e 36.correlações). Isso pode explicar por que sua recomendação exige um tamanho de amostra extraordinariamente alto!
whuber
1
@whuber, acho que aprendo mais com meus erros (depois de aprender sobre eles) do que por estar correto. Surpreendentemente, estar errado parece exatamente como estar certo até que eu saiba que estou errado. Obrigado. ted.com/talks/kathryn_schulz_on_being_wrong.html
EngrStudent - Restabelece Monica