Lorsque les données ont une distribution gaussienne, combien d'échantillons la caractériseront?

12

Les données gaussiennes distribuées dans une seule dimension nécessitent deux paramètres pour la caractériser (moyenne, variance), et la rumeur veut qu'une trentaine d'échantillons sélectionnés au hasard est généralement suffisant pour estimer ces paramètres avec une confiance raisonnablement élevée. Mais que se passe-t-il lorsque le nombre de dimensions augmente?

En deux dimensions (par exemple la hauteur, le poids), il faut 5 paramètres pour spécifier une ellipse "la mieux adaptée". En trois dimensions, cela monte à 9 paramètres pour décrire un ellipsoïde, et en 4-D il faut 14 paramètres. Je suis intéressé de savoir si le nombre d'échantillons requis pour estimer ces paramètres augmente également à un rythme comparable, à un rythme plus lent ou (s'il vous plaît non!) À un rythme plus élevé. Mieux encore, s'il existait une règle générale largement acceptée qui suggère combien d'échantillons sont nécessaires pour caractériser une distribution gaussienne dans un nombre donné de dimensions, ce serait bien de le savoir.

Pour être plus précis, supposons que nous voulions définir une frontière symétrique «la mieux ajustée» centrée au point moyen à l'intérieur duquel nous pouvons être sûrs que 95% de tous les échantillons tomberont. Je veux savoir combien d'échantillons cela pourrait prendre pour trouver les paramètres pour approximer cette limite (intervalle en 1-D, ellipse en 2-D, etc.) avec une confiance convenablement élevée (> 95%), et comment ce nombre varie à mesure que le le nombre de dimensions augmente.

omatai
la source
3
Sans une définition suffisamment précise du «pin down», il n'est pas vraiment possible de répondre à cette question même pour un gaussien univarié.
Glen_b -Reinstate Monica
1
Que diriez-vous: combien d'échantillons faut-il pour être sûr à au moins 95% que 95% de tous les échantillons (mais seulement 95% de tous les échantillons) se trouveront dans un intervalle défini / ellipse / ellipsoïde / hyperellipsoïde?
omatai
1
C'est-à-dire que 95% de tous les échantillons se trouveront à une certaine distance définie de la moyenne. Combien d'échantillons sont nécessaires pour définir cette distance (intervalle / ellipse / ellipsoïde / etc) avec une confiance de 95% ou mieux?
omatai
1
Dès que vous avez une valeur de données indépendante de plus qu'il n'y a de paramètres (d'où les valeurs dans les dimensions ), vous pouvez ériger une région de confiance à 95% autour d'eux. (On peut faire encore mieux en utilisant des techniques non traditionnelles .) C'est une réponse - c'est une réponse définitive - mais ce n'est probablement pas ce que vous cherchez. Le fait est que vous devez stipuler une échelle absolue de précision souhaitée afin d'obtenir une réponse à cette question. d(d+22)d
whuber
1
Snedecor & Cochran [ Méthodes statistiques , 8e édition] sont les autorités responsables de l'échantillonnage. Ils décrivent ce processus dans les chapitres 4 et 6: "nous supposons dans un premier temps que l'écart-type de la population ... est connu." Plus tard, ils écrivent: "La méthode est donc très utile dans les premiers stades d'une ligne de travail. ... Par exemple, de petites expériences précédentes ont indiqué qu'un nouveau traitement donne une augmentation d'environ 20% et est d'environ 7%. L'enquêteur ... [veut un] SE de 2% et définit donc , donnant ... Cela ... est souvent utile dans le travail plus tard. σ ± σDσ±n=252(7)/n=2n=25
whuber

Réponses:

7

La quantité de données nécessaires pour estimer les paramètres d'une distribution normale multivariée avec une précision spécifiée à une confiance donnée ne varie pas avec la dimension, toutes les autres choses étant les mêmes. Par conséquent, vous pouvez appliquer n'importe quelle règle empirique pour deux dimensions à des problèmes de dimension supérieure sans aucun changement.

Pourquoi cela? Il n'y a que trois types de paramètres: les moyennes, les variances et les covariances. L'erreur d'estimation dans une moyenne ne dépend que de la variance et de la quantité de données, . Ainsi, lorsque a une distribution normale multivariée et que les ont des variances , alors les estimations de ne dépendent que des et . D'où, pour obtenir une précision adéquate dans l'estimation de tous les , il suffit de considérer la quantité de données nécessaires pour que les ayant le plus grand des( 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. Par conséquent, lorsque nous envisageons une succession de problèmes d'estimation pour des dimensions croissantes , tout ce que nous devons considérer est de savoir combien le plus grand augmentera. Lorsque ces paramètres sont limités ci-dessus, nous concluons que la quantité de données nécessaires ne dépend pas de la dimension.dσi

Des considérations similaires s'appliquent à l'estimation des variances et des covariances : si une certaine quantité de données suffit pour estimer une covariance (ou coefficient de corrélation) avec la précision souhaitée, alors - à condition que la distribution normale sous-jacente ait une similitude valeurs des paramètres - la même quantité de données suffira pour estimer toute covariance ou coefficient de corrélation. σ i jσi2σij


Pour illustrer et fournir un support empirique à cet argument, étudions quelques simulations. Ce qui suit crée des paramètres pour une distribution multinormale de dimensions spécifiées, tire de nombreux ensembles de vecteurs indépendants et identiques à partir de cette distribution, estime les paramètres de chacun de ces échantillons et résume les résultats de ces estimations de paramètres en termes de (1) leurs moyennes - -pour démontrer qu'ils ne sont pas biaisés (et le code fonctionne correctement - et (2) leurs écarts-types, qui quantifient la précision des estimations. (Ne pas confondre ces écarts-types, qui quantifient la quantité de variation entre les estimations obtenues sur plusieurs itérations de la simulation, avec les écarts-types utilisés pour définir la distribution multinormale sous-jacente!d change, à condition que change, nous n'introduisons pas de plus grandes variances dans la distribution multinormale sous-jacente elle-même.d

Les tailles des variances de la distribution sous-jacente sont contrôlées dans cette simulation en faisant la plus grande valeur propre de la matrice de covariance égale à . Cela maintient la densité de probabilité "nuage" dans les limites à mesure que la dimension augmente, quelle que soit la forme de ce nuage. Des simulations d'autres modèles de comportement du système à mesure que la dimension augmente peuvent être créées simplement en changeant la façon dont les valeurs propres sont générées; un exemple (utilisant une distribution Gamma) est montré commenté dans le code ci-dessous.1R

Ce que nous recherchons, c'est de vérifier que les écarts-types des estimations de paramètres ne changent pas sensiblement lorsque la dimension est modifiée. Je montre donc les résultats pour deux extrêmes, et , en utilisant la même quantité de données ( ) dans les deux cas. Il est à noter que le nombre de paramètres estimés lorsque , égal à , dépasse de loin le nombre de vecteurs ( ) et dépasse même les nombres individuels ( ) dans l'ensemble de données.d = 2 d = 60 30 d = 60 1890 30 30 60 = 1800dd=2d=6030d=601890303060=1800

Commençons par deux dimensions, . Il y a cinq paramètres: deux variances (avec des écarts types de et dans cette simulation), une covariance (SD = ) et deux moyennes (SD = et ). Avec différentes simulations (pouvant être obtenues en changeant la valeur de départ de la graine aléatoire), celles-ci varieront un peu, mais elles seront toujours de taille comparable lorsque la taille de l'échantillon est . Par exemple, dans la prochaine simulation, les écarts-types sont , , , et0,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, respectivement: ils ont tous changé mais sont d'un ordre de grandeur comparable.

(Ces déclarations peuvent être étayées théoriquement, mais il s'agit ici de fournir une démonstration purement empirique.)

Passons maintenant à , en maintenant la taille de l'échantillon à . Plus précisément, cela signifie que chaque échantillon se compose de vecteurs, chacun ayant composants. Plutôt que d'énumérer tous les écarts-types de , regardons simplement leurs photos à l'aide d'histogrammes pour représenter leurs plages.n = 30 30 60 1890d=60n=3030601890

Figure

Les diagrammes de dispersion dans la rangée supérieure comparent les paramètres réels sigma( ) et ( ) aux estimations moyennes faites au cours des itérations de cette simulation. Les lignes de référence grises indiquent le lieu de l'égalité parfaite: il est clair que les estimations fonctionnent comme prévu et ne sont pas biaisées.μ 10 4σmuμ104

Les histogrammes apparaissent dans la ligne du bas, séparément pour toutes les entrées de la matrice de covariance (à gauche) et pour les moyennes (à droite). Les écarts-type des variances individuelles ont tendance à se situer entre et tandis que les écarts-types des covariances entre les composants séparés ont tendance à se situer entre et : exactement dans la plage atteinte lorsque . De même, les écarts-types des estimations moyennes ont tendance à se situer entre et , ce qui est comparable à ce qui a été observé lorsque . Certes, il n'y a aucune indication que les SD ont augmenté en tant que0,12 0,04 0,08 d = 2 0,08 0,13 d = 2 d 2 600.080.120.040.08d=20.080.13d=2dest passé de à .260

Le code suit.

#
# 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
la source
1

Quelques brèves données numériques donnent les distributions d'erreur suivantes pour l'ajustement de 30 échantillons créés à partir d'une distribution normale standard puis ajustés à une gaussienne univariée.

entrez la description de l'image ici

Les quartiles sont indiqués. On suppose que ce niveau de variation est souhaité dans le cas multidimensionnel.

Je n'ai pas le temps de battre MatLab pour obtenir le résultat total, donc je partagerai ma "règle d'or". Le 30 est fourni en règle générale ou heuristique, il est donc supposé que l'heuristique n'est pas inacceptable.

Mon heuristique est d'utiliser le triangle de Pascal multiplié par le cas univarié. entrez la description de l'image ici

Si j'utilise des données 2D, je vais à la 2e ligne et je fais la somme pour obtenir 2x le nombre d'échantillons, soit 60 échantillons. Pour les données 3D, je vais à la 3e rangée et je fais la somme pour obtenir 4x le nombre d'échantillons ou 120 échantillons. Pour les données 5d, je vais à la 5ème ligne et je fais la somme pour obtenir 16 fois plus d'échantillons, soit 480 échantillons.

Bonne chance.

ÉDITER:

C'était intuitif, mais tout doit être défendu en mathématiques. Je ne peux pas simplement faire un bond de la formulation des formes polynomiales des éléments finis avec l'expérience pour obtenir un stade approximatif.

L'équation pour la somme de la ligne du triangle de Pascal est . 2 kkth2k

Mon idée pour l'approche ici est d'assimiler l'AIC d'une distribution de dimension supérieure avec plus d'échantillons à une distribution dimensionnelle réduite avec moins d'échantillons.

Le critère d'information Akaike (AIC) est défini comme où est la somme résiduelle des carrés, est le nombre d'échantillons et est le nombre de paramètres pour le modèle . RSSnkAIC=nlog(RSSn)+2kRSSnk

AIC1=AIC2

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

Pour chaque dimension que nous éliminons, cela signifie que la moyenne perd une ligne et la covariance perd à la fois une ligne et une colonne. Nous pouvons dire ceci comme

k(d)=d2+d .

de

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

En supposant que l'erreur par point d'échantillon est constante, la somme résiduelle des carrés est liée au nombre d'échantillons et le terme dans le logarithme reste constant. La différence de nombre d'échantillons devient une constante de mise à l'échelle.

nous avons donc:

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

la résolution de l'augmentation des échantillons avec dimension donne:

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

Alors, quelle est la fonction de mise à l'échelle? Supposons que pour une gaussienne multivariée bidimensionnelle, le nombre d'échantillons requis est de 15 par paramètre. Il existe 2 moyennes et 4 éléments de la covariance donc 6 paramètres ou 90 échantillons. La différence est de 60 échantillons, la valeur de . A1=5

entrez la description de l'image ici

À ce stade, je dirais que l'heuristique commence un peu bas mais finit par être environ 2x le nombre d'échantillons requis. Sa gamme de meilleure utilité, à mon avis, est d'environ 4 dimensions.

ÉDITER:

J'ai donc lu la réponse de @whuber et je l'aime bien. Elle est empirique et, dans ce cas, fait autorité. J'ai voté pour sa réponse.

Dans ce qui suit, j'essaie de discuter et j'espère pouvoir utiliser plus de ~ 300 caractères, et j'espère pouvoir incorporer des images. Je discute donc dans les limites de la réponse. J'espère que ça va.

Je ne suis pas convaincu à ce stade que l'utilisation de l'AIC pour cela, ou comment la taille de l'échantillon et la taille des paramètres ont été utilisés était incorrecte.

Prochaines étapes:

  • reproduire les résultats de @ whuber, les confirmer empiriquement
  • Testez l'AIC, au moins dans un certain sens d'ensemble, pour confirmer s'il est approprié
  • Si l'AIC est approprié, essayez d'utiliser des méthodes empiriques pour éliminer les défauts de raisonnement.

Commentaires et suggestions bienvenus.

EngrStudent
la source
4
Pourriez-vous fournir une justification de votre heuristique?
whuber
1
Et pourriez-vous confirmer que la somme de la 5ème ligne est bien 16?
omatai
1 + 4 + 6 + 4 + 1 = 1 + 10 + 5 = 16. Désolé pour cela. 16 22. Je devais être à moitié endormi quand j'ai ajouté.
EngrStudent
1
Comment trouvez-vous pour le nombre de paramètres? C'est beaucoup trop. Par exemple, avec composantes, seuls paramètres sont nécessaires (pour moyennes, covariances et corrélations). Cela pourrait expliquer pourquoi votre recommandation préconise une taille d'échantillon extraordinairement élevée! j = 9 54 9 9 362d+12d=9549936
whuber
1
@whuber, je trouve que j'apprends plus par mes erreurs (après les avoir apprises) que par mon exactitude. Étonnamment, avoir tort, c'est exactement comme avoir raison jusqu'à ce que je sache que je me trompe. Je vous remercie. ted.com/talks/kathryn_schulz_on_being_wrong.html
EngrStudent