Haftungsausschluss: An folgenden Stellen wird davon ausgegangen, dass Ihre Daten normal verteilt sind. Wenn Sie tatsächlich etwas konstruieren, sprechen Sie mit einem Experten für starke Statistiken und lassen Sie diese Person auf der Leitung unterschreiben und sagen, wie hoch das Niveau sein wird. Sprich mit fünf oder 25 von ihnen. Diese Antwort ist für einen Studenten des Bauingenieurwesens gedacht, der das "Warum" fragt, nicht für einen Ingenieur, der das "Wie" fragt.
Ich denke, die Frage hinter der Frage ist "Was ist die Extremwertverteilung?". Ja, es sind einige Algebra - Symbole. Na und? Recht?
Denken wir an 1000-jährige Überschwemmungen. Sie sind groß.
Wenn sie passieren, werden sie viele Menschen töten. Viele Brücken stürzen ab.
Weißt du, welche Brücke nicht runtergeht? Ich mache. Das tust du noch nicht.
Frage: Welche Brücke stürzt in einem 1000-jährigen Hochwasser nicht ab?
Antwort: Die Brücke soll es aushalten.
Die Daten, die Sie brauchen, um es auf Ihre Weise zu tun:
Nehmen wir an, Sie haben 200 Jahre tägliche Wasserdaten. Ist die 1000-jährige Flut dort? Nicht aus der Ferne. Sie haben eine Stichprobe von einem Ende der Verteilung. Du hast nicht die Bevölkerung. Wenn Sie die gesamte Geschichte der Überschwemmungen kennen würden, hätten Sie die gesamte Datenmenge. Denken wir mal darüber nach. Wie viele Jahre Daten benötigen Sie, wie viele Stichproben, um mindestens einen Wert zu erhalten, dessen Wahrscheinlichkeit 1 in 1000 ist? In einer perfekten Welt würden Sie mindestens 1000 Proben benötigen. Die reale Welt ist chaotisch, also brauchst du mehr. Sie erhalten 50/50 Gewinnchancen bei ungefähr 4000 Proben. Bei ungefähr 20.000 Proben wird Ihnen garantiert, dass Sie mehr als 1 haben. Probe bedeutet nicht "Wasser eine Sekunde gegen die nächste", sondern ein Maß für jede einzelne Variationsquelle - wie die Variation von Jahr zu Jahr. Eine Maßnahme über ein Jahr, zusammen mit einer weiteren Maßnahme über ein weiteres Jahr zwei Stichproben. Wenn Sie nicht über 4.000 Jahre gute Daten verfügen, haben Sie wahrscheinlich kein Beispiel für eine 1000-Jahres-Flut in den Daten. Das Gute ist, dass Sie nicht so viele Daten benötigen, um ein gutes Ergebnis zu erzielen.
So erzielen Sie bessere Ergebnisse mit weniger Daten:
Wenn Sie die jährlichen Maxima betrachten, können Sie die "Extremwertverteilung" an die 200 Werte der Jahr-Max-Niveaus anpassen und Sie erhalten die Verteilung, die das 1000-Jahres-Hochwasser enthält -Niveau. Es wird die Algebra sein, nicht die tatsächliche "wie groß ist es". Sie können die Gleichung verwenden, um zu bestimmen, wie groß die 1000-jährige Flut sein wird. Angesichts dieser Wassermenge können Sie dann eine Brücke bauen, um Widerstand zu leisten. Schießen Sie nicht für den exakten Wert, sondern für den größeren Wert. Andernfalls wird die 1000-Jahres-Flut zum Scheitern verurteilt. Wenn Sie mutig sind, können Sie mithilfe des Resamplings herausfinden, wie viel darüber hinaus der exakte Wert von 1000 Jahren liegt, auf den Sie ihn aufbauen müssen, damit er widersteht.
Hier ist, warum EV / GEV die relevanten Analyseformen sind:
Die verallgemeinerte Extremwertverteilung gibt an, wie stark das Maximum variiert. Die Variation des Maximums verhält sich wirklich anders als die Variation des Mittelwerts. Die Normalverteilung beschreibt über den zentralen Grenzwertsatz viele "zentrale Tendenzen".
Verfahren:
- mache die folgenden 1000 Male:
i. Wählen Sie 1000 Zahlen aus der Standardnormalverteilung.
ii. Berechne das Maximum dieser Gruppe von Samples und speichere es
Zeichnen Sie nun die Verteilung des Ergebnisses
#libraries
library(ggplot2)
#parameters and pre-declarations
nrolls <- 1000
ntimes <- 10000
store <- vector(length=ntimes)
#main loop
for (i in 1:ntimes){
#get samples
y <- rnorm(nrolls,mean=0,sd=1)
#store max
store[i] <- max(y)
}
#plot
ggplot(data=data.frame(store), aes(store)) +
geom_histogram(aes(y = ..density..),
col="red",
fill="green",
alpha = .2) +
geom_density(col=2) +
labs(title="Histogram for Max") +
labs(x="Max", y="Count")
Dies ist NICHT die "normale Standardverteilung":
Der Peak liegt bei 3,2, aber das Maximum steigt in Richtung 5,0. Es hat schief. Es geht nicht unter 2,5. Wenn Sie tatsächliche Daten (die Standardnormale) hatten und nur den Schwanz auswählen, wählen Sie gleichmäßig zufällig etwas entlang dieser Kurve aus. Wenn Sie Glück haben, sind Sie in Richtung der Mitte und nicht den unteren Schwanz. Engineering ist das Gegenteil von Glück - es geht darum, jedes Mal die gewünschten Ergebnisse zu erzielen. " Zufallszahlen sind viel zu wichtig, um sie dem Zufall zu überlassen " (siehe Fußnote), insbesondere für einen Ingenieur. Die analytische Funktionsfamilie, die am besten zu diesen Daten passt - die Extremwertfamilie der Verteilungen.
Beispielanpassung:
Nehmen wir an, wir haben 200 zufällige Werte des Jahresmaximums aus der Standardnormalverteilung, und wir werden so tun, als wären sie unsere 200-jährige Geschichte der maximalen Wasserstände (was auch immer das bedeutet). Um die Verteilung zu erhalten, würden wir Folgendes tun:
- Beispiel für die Variable "store" (für kurzen / einfachen Code)
- passen zu einer verallgemeinerten Extremwertverteilung
- Bestimmen Sie den Mittelwert der Verteilung
- Verwenden Sie Bootstrapping, um die 95% CI-Obergrenze für die Variation des Mittelwerts zu ermitteln, damit wir unser Engineering darauf ausrichten können.
(Code setzt voraus, dass die oben genannten zuerst ausgeführt wurden)
library(SpatialExtremes) #if it isn't here install it, it is the ev library
y2 <- sample(store,size=200,replace=FALSE) #this is our data
myfit <- gevmle(y2)
Dies ergibt Ergebnisse:
> gevmle(y2)
loc scale shape
3.0965530 0.2957722 -0.1139021
Diese können in die Generierungsfunktion eingesteckt werden, um 20.000 Samples zu erstellen
y3 <- rgev(20000,loc=myfit[1],scale=myfit[2],shape=myfit[3])
Wenn Sie auf Folgendes aufbauen, erhalten Sie 50/50 Fehlerquoten für jedes Jahr:
Mittelwert (y3)
3,23681
Hier ist der Code, um zu bestimmen, wie hoch das 1000-jährige "Hochwasser" -Niveau ist:
p1000 <- qgev(1-(1/1000),loc=myfit[1],scale=myfit[2],shape=myfit[3])
p1000
Wenn Sie auf dieses Folgende aufbauen, sollten Sie 50/50 Chancen haben, bei der 1000-jährigen Flut zu versagen.
p1000
4.510931
Um den 95% oberen CI zu bestimmen, habe ich den folgenden Code verwendet:
myloc <- 3.0965530
myscale <- 0.2957722
myshape <- -0.1139021
N <- 1000
m <- 200
p_1000 <- vector(length=N)
yd <- vector(length=m)
for (i in 1:N){
#generate samples
yd <- rgev(m,loc=myloc,scale=myscale,shape=myshape)
#compute fit
fit_d <- gevmle(yd)
#compute quantile
p_1000[i] <- qgev(1-(1/1000),loc=fit_d[1],scale=fit_d[2],shape=fit_d[3])
}
mytarget <- quantile(p_1000,probs=0.95)
Das Ergebnis war:
> mytarget
95%
4.812148
Dies bedeutet, dass Sie, um der großen Mehrheit der 1000-jährigen Überschwemmungen zu widerstehen, angesichts der Tatsache, dass Ihre Daten makellos normal sind (nicht wahrscheinlich), ...
> out <- pgev(4.812148,loc=fit_d[1],scale=fit_d[2],shape=fit_d[3])
> 1/(1-out)
oder der
> 1/(1-out)
shape
1077.829
... 1078 Jahre Hochwasser.
Fazit:
- Sie haben eine Stichprobe der Daten, nicht die tatsächliche Gesamtbevölkerung. Das bedeutet, dass Ihre Quantile Schätzungen sind und möglicherweise deaktiviert sind.
- Verteilungen wie die verallgemeinerte Extremwertverteilung werden erstellt, um anhand der Stichproben die tatsächlichen Schwänze zu bestimmen. Sie können viel weniger schlecht abschätzen als die Stichprobenwerte, auch wenn Sie nicht genügend Stichproben für den klassischen Ansatz haben.
- Wenn Sie robust sind, ist die Decke hoch, aber das Ergebnis ist - Sie scheitern nicht.
Viel Glück
PS:
PS: mehr Spaß - ein YouTube-Video (nicht meins)
https://www.youtube.com/watch?v=EACkiMRT0pc
Fußnote: Coveyou, Robert R. "Die Generierung von Zufallszahlen ist zu wichtig, um sie dem Zufall zu überlassen." Angewandte Wahrscheinlichkeits- und Monte-Carlo-Methoden und moderne Aspekte der Dynamik. Studium der angewandten Mathematik 3 (1969): 70-111.
extreme value distribution
sondern verwendetthe overall distribution
werden, um die 98,5% -Werte zu erhalten.