Dann fände ich Bootstrapping angemessen. Nehmen wir an, Du hast 3000 Werte einer komischen Verteilung, z. B.
- Code: Alles auswählen
werte <- c(rnorm(1500, mean=10, sd=3), runif(1500,min = -.2, max=11))
hist(werte)
Ein Bootstrap-Sample davon kannst Du so ziehen:
- Code: Alles auswählen
boot.sample <- sample(werte, 3000, replace = TRUE)
hist(boot.sample)
Das Histogramm ist dem ersten sehr ähnlich. Es ist ein anderes Sample aus ungefähr der gleichen Verteilung.
Nun ziehen wir viele, sagen wir 100000 dieser Bootstrap-Samples und bestimmen von jedem das 1%-Quantil:
- Code: Alles auswählen
quantiles <- replicate(100000, quantile(sample(werte, 3000, replace=TRUE), .01))
hist(quantiles)
Das braucht jetzt natürlich etwas Zeit zum Rechnen. Im Ergebnis erhälst Du ein Histogramm der 1%-Quantile.
Wieviele dieser Quantile sind jetzt kleiner als 1?
- Code: Alles auswählen
> sum(quantiles < 0)
[1] 30962
> sum(quantiles < 0) / 100000 * 100
[1] 30.962
Oh je, fast 31 % der 1%-Quantile sind kleiner als 0. Wenn Du die Rechnung mehrfach hintereinander machst, dann wird klar, dass die 30 % eine sehr unpräzise Schätzung waren. Wahrscheinlich solltest Du es mit deutlich mehr als 100.000 Wiederholungen nachrechnen, auch wenn das Rechenzeit kostet. Für das 1%-Quantil kommt es halt nur auf die letzten 30 der 3000 Werte an. Hoffentlich ist das mit Deinen Daten klarer. Nötigenfalls läuft so ein Rechner auch mal eine Nacht durch. Oder mehrere.
Wenn Du das nicht wie hier "von Hand" machst, sondern Pakete wie "boot" verwendest, wird es auch nicht unbedingt schneller, aber Du bekommst ein paar schöne Zusatzfunktionen an die Hand:
https://cran.r-project.org/package=bootLG,
Bernhard