Wenn Daten eine Gauß-Verteilung haben, wie viele Stichproben werden sie charakterisieren?

12

Gaußsche Daten, die in einer einzigen Dimension verteilt sind, erfordern zwei Parameter, um sie zu charakterisieren (Mittelwert, Varianz), und es geht das Gerücht, dass etwa 30 zufällig ausgewählte Stichproben normalerweise ausreichen, um diese Parameter mit hinreichend hoher Sicherheit abzuschätzen. Aber was passiert, wenn die Anzahl der Dimensionen zunimmt?

In zwei Dimensionen (z. B. Größe, Gewicht) werden 5 Parameter benötigt, um eine "am besten passende" Ellipse anzugeben. In drei Dimensionen steigt dies auf 9 Parameter, um ein Ellipsoid zu beschreiben, und in 4-D werden 14 Parameter benötigt. Ich bin gespannt, ob die Anzahl der Stichproben, die zur Schätzung dieser Parameter erforderlich sind, auch vergleichbar, langsamer oder (bitte nicht!) Schneller ansteigt. Noch besser wäre es zu wissen, wenn es eine allgemein anerkannte Faustregel gäbe, die vorschlägt, wie viele Stichproben erforderlich sind, um eine Gauß-Verteilung in einer bestimmten Anzahl von Dimensionen zu charakterisieren.

Um genauer zu sein, nehmen wir an, wir möchten eine symmetrische "Best-Fit" -Grenze definieren, die auf den mittleren Punkt zentriert ist, innerhalb dessen wir sicher sein können, dass 95% aller Proben fallen werden. Ich möchte wissen, wie viele Abtastungen erforderlich sind, um die Parameter zu finden, um diese Grenze (Intervall in 1-D, Ellipse in 2-D usw.) mit entsprechend hoher Zuverlässigkeit (> 95%) zu approximieren, und wie sich diese Anzahl als ändert Anzahl der Dimensionen erhöht.

omatai
quelle
3
Ohne eine hinreichend genaue Definition von „Pin-down“ ist diese Frage auch für einen univariaten Gauß nicht wirklich zu beantworten.
Glen_b
1
Wie wäre es mit: Wie viele Proben müssen zu mindestens 95% sicher sein, dass 95% aller Proben (aber nur 95% aller Proben) in einem definierten Intervall / Ellipse / Ellipsoid / Hyperellipsoid liegen?
Omatai
1
Das heißt ... 95% aller Stichproben liegen in einem definierten Abstand zum Mittelwert. Wie viele Stichproben sind erforderlich, um diesen Abstand (Intervall / Ellipse / Ellipsoid / usw.) mit 95% oder besserer Sicherheit zu definieren?
Omatai
1
Sobald Sie einen unabhängigen Datenwert mehr haben, als es Parameter gibt (woher (d+22) Werte indDimensionen), können Sie einen Vertrauensbereich von 95% um sie herum erstellen. (Mit nicht-traditionellen Technikenkann manes noch besser machen.) Das ist eine Antwort - es ist definitiv - aber es ist wahrscheinlich nicht das, wonach Sie suchen. Der Punkt ist, dass Sie eineabsoluteSkala der gewünschten Genauigkeitfestlegenmüssen, um eine Antwort auf diese Frage zu erhalten.
whuber
1
Snedecor & Cochran [ Statistical Methods , 8. Auflage] sind Behörden für die Probenahme. Sie beschreiben diesen Vorgang in den Kapiteln 4 und 6: "Wir nehmen zunächst an, dass die Populationsstandardabweichung ... bekannt ist." Später schreiben sie: "Die Methode ist daher am nützlichsten in den frühen Phasen einer Arbeitslinie. ... Zum Beispiel haben frühere kleine Experimente gezeigt, dass eine neue Behandlung eine Zunahme von etwa 20% und σ ergibtσDσ ungefähr 7% beträgt. Der Ermittler ... [will eine] SE von 2% und setzt damit ±,n=25... Dies ... ist bei späteren Arbeiten oft hilfreich. 2(7)/n=2n=25
Whuber

Antworten:

7

Die Datenmenge, die zum Schätzen der Parameter einer multivariaten Normalverteilung mit einer bestimmten Genauigkeit und einem bestimmten Vertrauen benötigt wird, variiert nicht mit der Dimension, alle anderen Faktoren sind gleich. Daher können Sie bei Problemen mit höheren Dimensionen eine beliebige Faustregel für zwei Dimensionen anwenden, ohne dass sich dies ändert.

Warum sollte es Es gibt nur drei Arten von Parametern: Mittelwerte, Varianzen und Kovarianzen. Der Schätzfehler in einem Mittelwert hängt nur von der Varianz und der Datenmenge ab, . Wenn also ( X 1 , X 2 , ... , X d ) eine multivariate Normalverteilung hat und die X i Varianzen σ 2 i haben , dann hängen die Schätzungen von E [ X i ] nur von den σ i und n ab . Woraus, um eine ausreichende Genauigkeit zu erreichen bei der Schätzung aller dern(X1,X2,,Xd)Xiσi2E[Xi]σin σ i zunehmen wird. Wenn diese Parameter oben begrenzt sind, schließen wir, dassdie benötigte Datenmenge nicht von der Dimension abhängt.E[Xi]müssen wir nur die Datenmenge berücksichtigen, die für das mit dem größten von σ i benötigt wird . Wenn wir also eine Abfolge von Schätzproblemen für die Vergrößerung von Dimensionen d betrachten , müssen wir nur berücksichtigen, wie viel die größte istXiσidσi

Ähnliche Überlegungen gelten für die Schätzung der Varianzen und Kovarianzen σ i jσi2σij : Reicht eine bestimmte Datenmenge für die Schätzung einer Kovarianz (oder eines Korrelationskoeffizienten) mit einer gewünschten Genauigkeit aus, so gilt - sofern die zugrunde liegende Normalverteilung ähnliche Parameterwerte aufweist - -die gleiche Datenmenge reicht aus, um einen Kovarianz- oder Korrelationskoeffizienten abzuschätzen.


Um dieses Argument zu veranschaulichen und empirisch zu belegen, wollen wir einige Simulationen untersuchen. Im Folgenden werden Parameter für eine Multinormalverteilung mit bestimmten Dimensionen erstellt, viele unabhängige, identisch verteilte Sätze von Vektoren aus dieser Verteilung gezeichnet, die Parameter aus jeder dieser Stichproben geschätzt und die Ergebnisse dieser Parameterschätzungen in Bezug auf (1) ihre Durchschnittswerte zusammengefasst. -um zu demonstrieren, dass sie unvoreingenommen sind (und der Code korrekt funktioniert - und (2) ihre Standardabweichungen, die die Genauigkeit der Schätzungen quantifizieren. (Verwechseln Sie nicht diese Standardabweichungen, die das Ausmaß der Abweichungen zwischen den über ein Vielfaches erhaltenen Schätzungen quantifizieren Iterationen der Simulation mit den zur Definition der zugrunde liegenden Multinormalverteilung verwendeten Standardabweichungen! ändert sich, sofern alsd ändert sich, wir führen keine größeren Varianzen in die zugrunde liegende Multinormalverteilung selbst ein.d

Die Größen der Varianzen der zugrunde liegenden Verteilung werden in dieser Simulation gesteuert, indem der größte Eigenwert der Kovarianzmatrix gleich 1 . Dies hält die Wahrscheinlichkeitsdichte "Wolke" mit zunehmender Dimension in Grenzen, unabhängig von der Form dieser Wolke. Simulationen anderer Verhaltensmodelle des Systems mit zunehmender Dimension können einfach durch Ändern der Erzeugung der Eigenwerte erstellt werden. Ein Beispiel (unter Verwendung einer Gamma-Verteilung) ist im folgenden RCode auskommentiert.

Was wir suchen, ist zu überprüfen, dass sich die Standardabweichungen der Parameterschätzungen nicht merklich ändern, wenn sich das Maß ändert. Ich zeige daher die Ergebnisse für zwei Extreme, d = 2 und d = 60 , wobei in beiden Fällen die gleiche Datenmenge ( 30 ) verwendet wird. Es ist bemerkenswert, dass die Anzahl der bei d = 60 geschätzten Parameter , die 1890 entspricht , die Anzahl der Vektoren ( 30 ) bei weitem übersteigt und sogar die einzelnen Zahlen ( 30 60 = 1800 ) im gesamten Datensatz übersteigt .dd=2d=6030d=601890303060=1800

Beginnen wir mit zwei Dimensionen, . Es gibt fünf Parameter: zwei Varianzen (mit Standardabweichungen von 0,097 und 0,182 in dieser Simulation), eine Kovarianz (SD = 0,126 ) und zwei Mittelwerte (SD = 0,11 und 0,15 ). Bei verschiedenen Simulationen (erhältlich durch Ändern des Startwerts des Zufallssamens) variieren diese geringfügig, sind jedoch bei einer Stichprobengröße von n = 30 durchgehend von vergleichbarer Größe . Zum Beispiel sind in der nächsten Simulation die SDs 0,014 , 0,263 , 0,043 , 0,04 und 0,18d=20.0970.1820.1260.110.15n=300.0140.2630.0430.040.18jeweils: Sie alle haben sich geändert, sind aber von vergleichbarer Größenordnung.

(Diese Aussagen können theoretisch gestützt werden, hier geht es jedoch nur um eine rein empirische Demonstration.)

Jetzt bewegen wir uns zu , wobei die Stichprobengröße bei n = 30 bleibt . Konkret bedeutet dies, dass jede Probe aus 30 Vektoren mit jeweils 60 Komponenten besteht. Anstatt alle Standardabweichungen von 1890 aufzulisten, schauen wir uns Bilder davon mit Histogrammen an, um ihre Bereiche darzustellen.d=60n=3030601890

Zahl

Die Streudiagramme in der oberen Reihe vergleichen die tatsächlichen Parameter sigma( ) und ( μ ) mit den durchschnittlichen Schätzungen, die während der 10 4 vorgenommen wurdenσmuμ104 Iterationen in dieser Simulation vorgenommen wurden. Die grauen Bezugslinien markieren den Ort der vollkommenen Gleichheit: Die Schätzungen funktionieren eindeutig wie beabsichtigt und sind unvoreingenommen.

Die Histogramme erscheinen in der unteren Reihe getrennt für alle Einträge in der Kovarianzmatrix (links) und für die Mittelwerte (rechts). Die SDs der einzelnen Varianzen liegen tendenziell zwischen und 0,12, während die SDs der Kovarianzen zwischen einzelnen Komponenten tendenziell zwischen 0,04 und 0,08 liegen : genau in dem Bereich, der bei d = 2 erreicht wird . In ähnlicher Weise tendieren die SDs der mittleren Schätzungen dazu, zwischen 0,08 und 0,13 zu liegen , was vergleichbar ist mit dem, was gesehen wurde, wenn d = 2 ist . Sicher gibt es keinen Hinweis darauf, dass die SDs zugenommen haben0.080.120.040.08d=20.080.13d=2as stieg von 2 auf 60 .d260

Der Code folgt.

#
# 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
quelle
1

Einige kurze Zahlen geben die folgenden Fehlerverteilungen für die Anpassung von 30 Stichproben an, die aus einer Standardnormalverteilung erstellt wurden, und passen dann zu einem univariaten Gaußschen.

enter image description here

Die Quartile sind angegeben. Es wird angenommen, dass dieses Variationsniveau im mehrdimensionalen Fall erwünscht ist.

Ich habe nicht die Zeit, MatLab zu verprügeln, um das Gesamtergebnis zu erhalten, also werde ich meine "Faustregel" teilen. Die 30 wird als Faustregel oder Heuristik angegeben, sodass davon ausgegangen wird, dass Heuristiken nicht unannehmbar sind.

Meine Heuristik besteht darin, Pascals Dreieck multipliziert mit dem univariaten Fall zu verwenden. enter image description here

Wenn ich 2D-Daten verwende, gehe ich in die 2. Zeile und summiere sie, um die doppelte Anzahl von Samples oder 60 Samples zu erhalten. Für 3D-Daten gehe ich in die 3. Reihe und summiere sie, um die vierfache Anzahl von Samples oder 120 Samples zu erhalten. Für 5d-Daten gehe ich in die 5. Reihe und summiere sie, um das 16-fache der Anzahl der Abtastwerte oder 480 Abtastwerte zu erhalten.

Viel Glück.

BEARBEITEN:

Es war intuitiv, aber alles muss in Mathe verteidigt werden. Ich kann nicht einfach aus der Formulierung von Polynomformen aus Finiten Elementen mit Erfahrung einen Sprung machen, um einen Ballpark zu erhalten.

kth2k .

Meine Idee für diesen Ansatz ist es, den AIC einer höherdimensionalen Verteilung mit mehr Samples mit einer reduzierten dimensionalen Verteilung mit weniger Samples gleichzusetzen.

AIC=nlog(RSSn)+2kRSSnk

AIC1=AIC2

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

Für jede Dimension, die wir eliminieren, bedeutet dies, dass der Mittelwert eine Zeile und die Kovarianz sowohl eine Zeile als auch eine Spalte verliert. Wir können dies als angeben

k(d)=d2+d .

von

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

Unter der Annahme, dass der Fehler pro Abtastpunkt konstant ist, wird die verbleibende Quadratsumme mit der Abtastzahl in Beziehung gesetzt, und der Term im Logarithmus bleibt konstant. Die Differenz in der Anzahl der Proben wird zu einer Skalierungskonstante.

also haben wir:

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

Das Auflösen nach der Zunahme von Proben mit Dimension ergibt:

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

EIN-1=5 .

enter image description here

An diesem Punkt würde ich sagen, dass die Heuristik etwas niedrig beginnt, aber ungefähr doppelt so hoch ist wie die Anzahl der erforderlichen Abtastungen. Meiner persönlichen Meinung nach liegt der Bereich des besten Nutzens bei etwa vier Dimensionen.

BEARBEITEN:

Also habe ich die Antwort von @whuber gelesen und es gefällt mir. Es ist empirisch und in diesem Fall maßgeblich. Ich habe für seine Antwort gestimmt.

Im Folgenden versuche ich zu diskutieren und hoffe, mehr als ~ 300 Zeichen verwenden zu können, und ich hoffe, Bilder einbetten zu können. Ich diskutiere daher im Rahmen der Antwort. Ich hoffe das ist okay.

Ich bin zum jetzigen Zeitpunkt nicht davon überzeugt, dass die Verwendung von AIC dafür oder die Verwendung von Stichprobengröße und Parametergrößen falsch war.

Nächste Schritte:

  • replizieren Sie die Ergebnisse von @ whuber und bestätigen Sie sie empirisch
  • Testen Sie den AIC, zumindest in gewissem Sinne, um festzustellen, ob er angemessen ist
  • Wenn AIC angemessen ist, versuchen Sie, empirische Methoden zu verwenden, um Begründungsfehler aufzuspüren.

Kommentare und Vorschläge sind willkommen.

EngrStudent - Setzen Sie Monica wieder ein
quelle
4
Könnten Sie Ihre Heuristik begründen?
whuber
1
Und können Sie bestätigen, dass die Summe der 5. Reihe tatsächlich 16 ist?
Omatai
1 + 4 + 6 + 4 + 1 = 1 + 10 + 5 = 16. Tut mir leid. 1622. Ich muss halb geschlafen haben, als ich hinzufügte.
EngrStudent Reinstate Monica
1
Wie kommst du auf 2d+1-2für die Anzahl der Parameter? Das ist viel zu viel. Zum Beispiel mitd=9 nur Komponenten 54 Parameter werden benötigt (z 9 meint, 9 Kovarianzen und 36Korrelationen). Dies könnte erklären, warum Ihre Empfehlung eine so außergewöhnlich hohe Stichprobengröße erfordert!
Whuber
1
@whuber, I find that I learn more by my errors (after I learn of them) than by my being correct. Surprisingly enough, being wrong feels exactly like being right until I know that I am wrong. Thank you. ted.com/talks/kathryn_schulz_on_being_wrong.html
EngrStudent - Reinstate Monica