Descargo de responsabilidad: en los siguientes puntos, esto BRUTO supone que sus datos se distribuyen normalmente. Si realmente está diseñando algo, hable con un profesional de estadísticas sólido y deje que esa persona firme en la línea diciendo cuál será el nivel. Hable con cinco de ellos, o 25 de ellos. Esta respuesta está destinada a un estudiante de ingeniería civil que pregunta "por qué", no a un profesional de ingeniería que pregunta "cómo".
Creo que la pregunta detrás de la pregunta es "¿cuál es la distribución de valor extremo?". Sí, es algo de álgebra - símbolos. ¿Y qué? ¿Derecha?
Pensemos en las inundaciones de 1000 años. Ellos son grandes.
Cuando sucedan, van a matar a mucha gente. Se están cayendo muchos puentes.
¿Sabes qué puente no baja? Hago. Tú no ... todavía.
Pregunta: ¿Qué puente no se cae en una inundación de 1000 años?
Respuesta: El puente diseñado para resistirlo.
Los datos que necesita para hacerlo a su manera:
Entonces, digamos que tiene 200 años de datos diarios de agua. ¿Es la inundación de 1000 años allí? No remotamente Tienes una muestra de una cola de la distribución. No tienes la población. Si supiera todo el historial de inundaciones, tendría la población total de datos. Pensemos en esto. ¿Cuántos años de datos necesita tener, cuántas muestras, para tener al menos un valor cuya probabilidad sea 1 en 1000? En un mundo perfecto, necesitaría al menos 1000 muestras. El mundo real es desordenado, por lo que necesitas más. Comienza a obtener probabilidades de 50/50 en aproximadamente 4000 muestras. Comienza a obtener la garantía de tener más de 1 en alrededor de 20,000 muestras. La muestra no significa "agua un segundo frente al siguiente", sino una medida para cada fuente única de variación, como la variación de un año a otro. Una medida durante un año, junto con otra medida durante otro año constituyen dos muestras. Si no tiene 4.000 años de buenos datos, es probable que no tenga un ejemplo de inundación de 1000 años en los datos. Lo bueno es que no necesita tanta información para obtener un buen resultado.
Aquí le mostramos cómo obtener mejores resultados con menos datos:
si observa los máximos anuales, puede ajustar la "distribución de valores extremos" a los 200 valores de niveles máximos anuales y obtendrá la distribución que contiene la inundación de 1000 años -nivel. Será el álgebra, no el verdadero "cuán grande es". Puede usar la ecuación para determinar qué tan grande será la inundación de 1000 años. Luego, dado ese volumen de agua, puede construir su puente para resistirlo. No dispare por el valor exacto, dispare por más grande, de lo contrario lo está diseñando para fallar en la inundación de 1000 años. Si está en negrita, puede usar el remuestreo para determinar cuánto más allá del valor exacto de 1000 años necesita construirlo para que resista.
Aquí es por qué EV / GEV son las formas analíticas relevantes:
La distribución generalizada de valores extremos se trata de cuánto varía el máximo. La variación en el máximo se comporta realmente diferente a la variación en la media. La distribución normal, a través del teorema del límite central, describe muchas "tendencias centrales".
Procedimiento:
- haga lo siguiente 1000 veces:
i. elegir 1000 números de la distribución normal estándar
ii. calcule el máximo de ese grupo de muestras y almacénelo
ahora grafica la distribución del resultado
#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")
Esta NO es la "distribución normal estándar":
El pico está en 3.2 pero el máximo sube hacia 5.0. Tiene sesgo. No se pone por debajo de aproximadamente 2.5. Si tenía datos reales (la normal estándar) y simplemente escoge la cola, entonces está escogiendo algo al azar de manera uniforme a lo largo de esta curva. Si tienes suerte, entonces estás hacia el centro y no hacia la cola inferior. La ingeniería es casi lo opuesto a la suerte: se trata de lograr constantemente los resultados deseados cada vez. " Los números aleatorios son demasiado importantes para dejarlos al azar " (ver nota al pie), especialmente para un ingeniero. La familia de funciones analíticas que mejor se ajusta a estos datos: la familia de distribuciones de valor extremo.
Ajuste de la muestra:
supongamos que tenemos 200 valores aleatorios del año máximo de la distribución normal estándar, y vamos a pretender que son nuestros 200 años de historia de niveles máximos de agua (lo que sea que eso signifique). Para obtener la distribución, haríamos lo siguiente:
- Muestree la variable "almacenar" (para crear un código corto / fácil)
- ajustarse a una distribución generalizada de valores extremos
- encuentra la media de la distribución
- use bootstrapping para encontrar el límite superior de IC del 95% en la variación de la media, para que podamos enfocar nuestra ingeniería para eso.
(el código presupone que lo anterior se ejecutó primero)
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)
Esto da resultados:
> gevmle(y2)
loc scale shape
3.0965530 0.2957722 -0.1139021
Estos se pueden conectar a la función de generación para crear 20,000 muestras
y3 <- rgev(20000,loc=myfit[1],scale=myfit[2],shape=myfit[3])
Desarrollar lo siguiente dará 50/50 probabilidades de fallar en cualquier año:
media (y3)
3.23681
Aquí está el código para determinar cuál es el nivel de "inundación" de 1000 años:
p1000 <- qgev(1-(1/1000),loc=myfit[1],scale=myfit[2],shape=myfit[3])
p1000
Desarrollar lo siguiente debería darle una probabilidad de 50/50 de fallar en la inundación de 1000 años.
p1000
4.510931
Para determinar el IC superior al 95% utilicé el siguiente código:
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)
El resultado fue:
> mytarget
95%
4.812148
Esto significa que, para resistir la gran mayoría de las inundaciones de 1000 años, dado que sus datos son inmaculadamente normales (no es probable), debe construir para ...
> out <- pgev(4.812148,loc=fit_d[1],scale=fit_d[2],shape=fit_d[3])
> 1/(1-out)
o la
> 1/(1-out)
shape
1077.829
... 1078 años de inundación.
Líneas inferiores:
- tiene una muestra de los datos, no la población total real. Eso significa que sus cuantiles son estimaciones y podrían estar apagados.
- Distribuciones como la distribución generalizada de valores extremos están construidas para usar las muestras para determinar las colas reales. Están mucho menos mal estimados que utilizando los valores de muestra, incluso si no tiene suficientes muestras para el enfoque clásico.
- Si eres robusto, el techo es alto, pero el resultado es que no fallas.
La mejor de las suertes
PD:
PD: más divertido: un video de YouTube (no el mío)
https://www.youtube.com/watch?v=EACkiMRT0pc
Nota al pie: Coveyou, Robert R. "La generación de números aleatorios es demasiado importante para dejarla al azar". Probabilidad aplicada y métodos de Monte Carlo y aspectos modernos de la dinámica. Estudios en matemática aplicada 3 (1969): 70-111.
extreme value distribution
lugar dethe overall distribution
ajustar los datos y obtener los valores de 98.5%.