Académique Documents
Professionnel Documents
Culture Documents
INTEGRANTES:
Araujo Cuenca Juan Sebastian – Codigo: 1921980430
Tutor Virtual
Mauricio Gomez Vasquez
1
Trabajo de Estadística
La distribución de Weibul l
Marzo de 2020
## Observations: 133,104
## Variables: 18
## $ Cod_Div <dbl> 5002000, 5002000, 5002000, 5002000, 5002...
## $ Latitud <chr> "5.789.301", "5.789.301", "5.789.301", "...
## $ Longitud <chr> "-7.542.874", "-7.542.874", "-7.542.874"...
## $ Región <chr> "AND", "AND", "AND", "AND", "AND", "AND"...
## $ Departamento <chr> "ANTIOQUIA", "ANTIOQUIA", "ANTIOQUIA", "...
## $ Municipio <chr> "ABEJORRAL", "ABEJORRAL", "ABEJORRAL", "...
## $ Fecha <chr> "8/7/2019", "8/7/2019", "8/7/2019", "8/7...
## $ Hora <time> 14:00:00, 15:00:00, 16:00:00, 17:00:00,...
## $ `Temperatura (°C)` <dbl> 26.0, 25.8, 25.6, 24.0, 22.4, 20.8, 19.9...
## $ `Velocidad del Viento m/s` <dbl> 1.5, 1.5, 1.5, 1.5, 1.3, 1.7, 1.7, 1.7, ...
## $ `Dirección del Viento` <dbl> 158.9, 146.1, 130.6, 110.6, 107.8, 82.9,...
## $ Presión <dbl> 1011.2, 1011.4, 1011.8, 1012.0, 1011.3, ...
## $ `Punto de Rocío` <dbl> 15.7, 17.3, 19.4, 19.4, 18.8, 19.1, 18.4...
## $ `Cobertura total nubosa` <dbl> 50.0, 50.0, 50.0, 50.0, 50.0, 39.2, 50.0...
## $ `Precipitación (mm/h)` <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0...
## $ `Probabilidad de Tormenta` <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0...
## $ Humedad <chr> "53.0", "59.5", "68.3", "75.5", "80.2", ...
## $ Pronóstico <chr> "Parcialmente nublado", "Parcialmente nu...
Desarrollo de la actividad
Numeral 1
Para esta actividad seleccionaremos los departamentos de ANTIOQUIA y BOYACÁ, y solo usaremos las variables
Velocidad del Viento m/s y Temperatura (°C), por lo hacemos:
2
datos <- datos %>%
filter(Departamento %in% c("ANTIOQUIA", "BOYACÁ")) %>%
mutate(Departamento = as.factor(Departamento)) %>%
select(Departamento, `Velocidad del Viento m/s`, `Temperatura
(°C)`)
glimpse(datos)
## Observations: 29,264
## Variables: 3
## $ Departamento <fct> ANTIOQUIA, ANTIOQUIA, ANTIOQUIA, ANTIOQU...
## $ `Velocidad del Viento m/s` <dbl> 1.5, 1.5, 1.5, 1.5, 1.3, 1.7, 1.7, 1.7, ...
## $ `Temperatura (°C)` <dbl> 26.0, 25.8, 25.6, 24.0, 22.4, 20.8, 19.9...
# Un pequeño resumen estadístico de los datos
summary(datos)
2000
1600
1200
800
400
2000
1600
1200
800
400
0
0.0 0.8 1.6 2.4 3.2 4.0 4.8 5.6 6.4
Velocidad del Viento (m/s) para Boyacá
Ahora combinando los dos departamentos apilando las barras:
ggplot(data = datos,
aes(x = `Velocidad del Viento m/s`, fill = Departamento)) +
geom_histogram(breaks = seq(0, 6.4, by = 0.2)) +
labs(x = "Velocidad del Viento
(m/s)", y = "Conteo") +
scale_x_continuous(breaks = seq(0, 6.4, by = 0.8)) +
scale_y_continuous(breaks = seq(0, 10000, by = 800))
+ theme_fira(family = "Fira Sans")
Conteo 4000
3200
2400
Departamento
ANTIOQUIA
BOYACÁ
1600
800
0
0.0 0.8 1.6 2.4 3.2 4.0 4.8 5.6 6.4
Velocidad del Viento (m/s)
Para la variable Temperatura (°C):
ggplot(data = datos %>% filter(Departamento == "ANTIOQUIA"),
aes(x = `Temperatura (°C)`)) +
geom_histogram(breaks = seq(2, 40, by = 1))
+ labs(x = "Temperatura (°C) para
Antioquia",
y = "Conteo") +
scale_x_continuous(breaks = seq(2, 40, by = 4)) +
scale_y_continuous(breaks = seq(0, 4000, by = 200))
+ theme_fira(family = "Fira Sans")
Conteo
1200
1000
800
600
400
200
0
2 6 10 14 18 22 26 30 34 38
Temperatura (°C) para Antioquia
ggplot(data = datos %>% filter(Departamento == "BOYACÁ"),
aes(x = `Temperatura (°C)`)) +
geom_histogram(breaks = seq(2, 40, by = 1))
+ labs(x = "Temperatura (°C) para Boyacá",
y = "Conteo") +
scale_x_continuous(breaks = seq(2, 40, by = 4)) +
scale_y_continuous(breaks = seq(0, 4000, by = 200))
+ theme_fira(family = "Fira Sans")
Conteo 1800
1600
1400
1200
1000
800
600
400
200
2 6 10 14 18 22 26 30 34 38
Temperatura (°C) para Boyacá
Ahora combinando los dos departamentos apilando las barras:
ggplot(data = datos,
aes(x = `Temperatura (°C)`, fill = Departamento)) +
geom_histogram(breaks = seq(2, 40, by = 1)) +
labs(x = "Temperatura
(°C)", y = "Conteo") +
scale_x_continuous(breaks = seq(2, 40, by = 4)) +
scale_y_continuous(breaks = seq(0, 4000, by = 400))
+ theme_fira(family = "Fira Sans")
Conteo
2400
2000
1600
Departamento
1200 ANTIOQUIA
BOYACÁ
800
400
2 6 10 14 18 22 26 30 34 38
Temperatura (°C)
Comparemos la variabilidad de estas variables:
datos_long <- datos %>%
gather(key = "Variable", value = "Valor",
c("Velocidad del Viento m/s", "Temperatura (°C)"))
Es claro que el departamento de Antioqua presenta una mayor variabilidad absoluta en ambas variables, pero
relativamente hablando (coeficiente de variación CV) tenemos que es más la variabilidad de la temperatura
en Boyacá que en Antioquia.
Numeral 2
Hallamos los valores de los parámetros k y c usando las ecuaciones 3 y 4 de la guía las cuales son, respectiva-
mente
σ −1.09 v
k= , c=
v Γ 1 + k1
En este orden de ideas tendríamos:
vars <- datos_long %>% group_by(Departamento, Variable) %>%
summarise(std = sd(Valor),
avg = mean(Valor)) %>%
mutate(k = (std/avg)ˆ(-1.09),
c = avg/gamma(1 + 1/k))
Departamento Variable σ x¯ k c
ANTIOQUIA Temperatura (°C) 4.7097504 19.567085 4.722759 21.381573
ANTIOQUIA Velocidad del Viento m/s 0.5841882 1.320963 2.433482 1.489713
BOYACÁ Temperatura (°C) 4.0772561 13.223274 3.605441 14.673299
BOYACÁ Velocidad del Viento m/s 0.6970873 1.795246 2.804220 2.015993
Y ahora reemplazamos los valores obtenidos y simplificando tendríamos para las dos variables —v y T
(velocidad y temperatura, respectivamente)— en cuestión y los dos departamentos —A y B (Antioquia
y Boyacá, respectivamente)—:
v 1.433482 v 2.433482
fA (v) = 1.6335235 exp −
1.4897135 1.4897135
v 1.8042202 v 2.8042202
fB (v) = 1.3909869 exp −
2.0159933 2.0159933
!
3.7227589 4.7227589
T
fA (T ) = 0.2208799 T exp −
21.3815725
21.3815725
!
2.6054411 3.6054411
T
fB (T ) = 0.2457144 T exp −
14.6732994
14.6732994
Numeral 3
Ahora graficaremos las distribuciones obtenidas para cada departamento y compararemos con los histogramas
del punto 1:
weibull <- function(X, k, c) {
(k/c)*(X/c)ˆ(k-1)*exp(-
(X/c)ˆk)}
X <- seq(0, 6.4, by = 0.05)
f <- weibull(X, k = vars$k[2], c = vars$c[2])
ggplot() +
geom_histogram(
data = datos %>% filter(Departamento == "ANTIOQUIA"),
aes(x = `Velocidad del Viento m/s`, y =
..density..), breaks = seq(0, 6.4, by = 0.2)) +
geom_line(aes(x = X, y = f)) +
labs(x = "Velocidad del Viento (m/s) para
Densidad de probabilidad
0.8
0.6
0.4
0.2
0.0
0.0 0.8 1.6 2.4 3.2 4.0 4.8 5.6 6.4
Velocidad del Viento (m/s) para Antioquia
X <- seq(0, 6.4, by = 0.05)
f <- weibull(X, k = vars$k[4], c = vars$c[4])
ggplot() +
geom_histogram(
data = datos %>% filter(Departamento == "BOYACÁ"),
aes(x = `Velocidad del Viento m/s`, y =
..density..), breaks = seq(0, 6.4, by = 0.2)) +
geom_line(aes(x = X, y = f)) +
labs(x = "Velocidad del Viento (m/s) para
Boyacá", y = "Densidad de probabilidad") +
scale_x_continuous(breaks = seq(0, 6.4, by = 0.8))
+ scale_y_continuous(breaks = seq(0, 1, by = 0.2))
+ theme_fira(family = "Fira Sans")
Densidad de probabilidad
0.8
0.6
0.4
0.2
0.0
0.06
0.04
0.02
0.00
2 6 10 14 18 22 26 30 34 38
Temperatura (°C) para Antioquia
X <- seq(0, 40, by = 0.1)
f <- weibull(X, k = vars$k[3], c = vars$c[3])
ggplot() +
geom_histogram(
data = datos %>% filter(Departamento == "BOYACÁ"),
aes(x = `Temperatura (°C)`, y =
..density..), breaks = seq(2, 40, by = 1)) +
geom_line(aes(x = X, y = f)) +
labs(x = "Temperatura (°C) para
Boyacá", y = "Densidad de
probabilidad") +
scale_x_continuous(breaks = seq(2, 40, by = 4)) +
scale_y_continuous(breaks = seq(0, 1, by = 0.02))
+ theme_fira(family = "Fira Sans")
Densidad de probabilidad
0.12
0.10
0.08
0.06
0.04
0.02
0.00
2 6 10 14 18 22 26 30 34 38
Temperatura (°C) para Boyacá
Numeral 4
Se tiene que la velocidad más probable para el viento está dada por:
1/k
k−1
vmp = c
k
## [1] 1.198548
# Para Boyacá
vars$c[4]*((vars$k[4]-1)/vars$k[4])ˆ(1/vars$k[4])
## [1] 1.722626
Ahora, la ecuación que permite hallar la velocidad del viento que entregaría la máxima energía eólica es:
1/k
k+ 2
vmaxE = c
k
## [1] 1.906154
# Para
Boyacá
vars$c[4]*((vars$k[4]+2)/vars$k[4])ˆ(1/vars$k[4])
## [1]
2.442684
De acuerdo con lo anterior, es claro que el departamento que es más viable para generar energía eólica es
Boyacá pues tiene una media mayor de velocidad del viento (ver tabla del punto 2) con menos variabilidad
(ver tabla del punto 1).
Numeral 5
La distribución acumulada de probabilidad para la distribución de Weibull viene dada por:
!
k
X
F (X ) = 1 − exp −
c
## # A tibble: 2 x 2
## Departamento p75
## <fct> <dbl>
## 1 ANTIOQUIA 1.6
## 2 BOYACÁ 2
Ahora la probabilidad buscada es:
# Para Antioquia
1 - (1 - exp(-(1.6/vars$c[2])ˆvars$k[2]))
## [1] 0.3042772
# Para Boyacá
1 - (1 - exp(-(2.4/vars$c[4])ˆvars$k[4]))
## [1] 0.1958163
Esto es, del 30.4% y del 19.6% (aprox.), respectivamente para Antioquia y para Boyacá. Esto se explica y
entiende en virtud del hecho de que existe menor variabilidad en la variable velocidad del viento para Boyacá.
Numeral 6
Primero hallamos los percentiles 50 y 70:
datos %>% group_by(Departamento) %>%
summarise(p50 = quantile(`Velocidad del Viento m/s`,
0.50), p70 = quantile(`Velocidad del Viento
m/s`, 0.70))
## # A tibble: 2 x 3
## Departamento p50 p70
## <fct> <dbl> <dbl>
## 1 ANTIOQUIA 1.2 1.5
## 2 BOYACÁ 1.8 2
Ahora la probabilidad buscada es:
# Para Antioquia
(1 - exp(-(1.5/vars$c[2])ˆvars$k[2])) - (1 - exp(-(1.2/vars$c[2])ˆvars$k[2]))
## [1] 0.1921622
# Para Boyacá
(1 - exp(-(2.0/vars$c[4])ˆvars$k[4])) - (1 - exp(-(1.8/vars$c[4])ˆvars$k[4]))
## [1] 0.1068961
Esto es, del 19.2% y 10.7% (aprox.) para Antioquia y Boyacá, respectivamente.