Ejercicio 1 - Prueba de hipótesis de una media.
El Centro de Control de Enfermedades de EEUU cotidianamente llevan a cabo la Encuesta Nacional de Crecimiento Familiar. Entre las muchas cosas que preguntan, está la edad en la que cada persona se casó por primera vez. Aquí usaremos una muestra aleatoria recabada entre 2006 y 2010, en la que se le preguntó a 5,534 mujeres seleccionadas aleatoriamente a qué edad se habían casado por primera vez.
Puedes descargar los datos de esta muestra usando el siguiente chunk de código.
# Fuente: https://www.openintro.org/data/index.php?data=age_at_mar # Datos modificados para esta clase
library(tidyverse)
library(moderndive)
edad_matrimonio <-
read_csv("http://segasi.com.mx/clases/cide/datos/edad_matrimonio.csv")Imagina que quieres responder la siguiente pregunta:
Durante el período 2006 y 2010, ¿la edad promedio de las mujeres al casarse por primera vez fue mayor a 23.25 años?
Lleva a cabo todos los pasos necesarios para realizar la prueba de hipótesis que se deriva de esta pregunta. Debes usar un procedimiento computacional diferente a bootstrap.
Paso 1. Ver que datos tengo.
Datos:
- Tengo una muestra aleatoria de mujeres en la que se pregunta la edad en la que se casaron. A continuación hacemos una exploración básica:
## # A tibble: 6 x 1
## edad
## <dbl>
## 1 32
## 2 25
## 3 24
## 4 26
## 5 32
## 6 29
# Media Muestral
media_muestra <- mean(edad_matrimonio$edad)
# Grafica de exploracion
ggplot(data = edad_matrimonio, aes(edad)) +
geom_density()Paso 2. Definir la hipótesis a probar.
Dado el problema:
Durante el período 2006 y 2010, ¿la edad promedio de las mujeres al casarse por primera vez fue mayor a 23.25 años?
La \(H_0\) va a ser la siguiente:
\(H_0:\mu_{edadCasamiento}=23.25\)
Mientras que la hipótesis alternativa sería:
\(H_a:\mu_{edadCasamiento} > 23.25\)
El que sea una hipótesis de mayor qué nos obliga a utilizar una prueba de cola derecha.
Paso 3. Definir el método a utilizar y el nivel de confianza o significancia.
Dado que no podemos utilizar el método Bootstrap, el método que vamos a utilizar va a ser la simulación de la \(H_0\) a partir de los datos de la muestra.
El nivel de significancia para esta prueba será de 0.05, o sea, se considerará un nivel de confianza del 99%.
Paso 4. Simular la \(H_0\)
Para simular los datos de la muestra, utilizaremos como proxy los datos de la muestra que tenemos.
# Obtencion de la sd de la muestra para acomodarla en la poblacion
(sd_poblacion <- sd(edad_matrimonio$edad))## [1] 4.721365
A partir de estos datos, simulamos la muestra:
# Simulando la poblacion a trav'es de la muestra:
poblacion <- tibble(edad_simulada =
rnorm(1e5, mean = 23.25,
sd = sd_poblacion))
# Obtenemos la distribucion muestral de la media (!)
dist_muestral_nula <- poblacion %>%
rep_sample_n(size = nrow(edad_matrimonio),
replace = F,
reps = 10000) %>%
summarise(media_muestral_nula = mean(edad_simulada))
# Graficamos la simulacion
ggplot(dist_muestral_nula) +
geom_density(aes(x = media_muestral_nula)) +
geom_vline(xintercept = 23.25,
color = "red",
linetype = "dashed") +
theme_classic() Paso 5. Obtener el criterio de decisión
Para aceptar o rechazar la Hipótesis nula, tenemos los siguientes dos criterios: 1. Si el p-value (la probabilidad de observar un valor igual o más extremo bajo la \(H_0\)) es menor al nivel de significancia, \(\alpha\), rechazamos \(H_0\) con un nivel de confianza igual a \(1-\alpha\).
- Si el estimador puntual cae fuera del intervalo de confianza, podemos decir también que rechazamos \(H_0\) con un nivel de confianza igual a \(1-\alpha\).
Para la presente prueba de hipótesis, vamos a usar los dos criterios, aunque ambos son equivalentes.
Paso 6. Obtención del p-value y los intervalos de confianza
A continuación, vamos a calcular los I.C. y el p-value, colocando sobre las gráficas el valor obtenido de nuestras muestras.
1. Obtenemos el I.C.:
# Graficamos la curva
dist_muestral_nula %>%
ggplot(aes(x = media_muestral_nula)) +
geom_density() +
geom_vline(xintercept = 23.25, color = "red",
linetype = "dashed") +
geom_vline(xintercept = quantile(dist_muestral_nula$media_muestral_nula,
1-(alpha)),
color = "blue") +
geom_vline(xintercept = media_muestra,
color = "green",
linetype = 10) +
theme_classic()2. Obtenemos el p-value:
# Calcular p-value
p_value <- dist_muestral_nula %>%
summarise(num_obs_cumplen_condicion =
sum(media_muestral_nula >= 23.44019),
prop_obs_cumplen_condicion = num_obs_cumplen_condicion/nrow(dist_muestral_nula)) %>%
select(prop_obs_cumplen_condicion) %>%
pull()
# Imprimimos el p-value
p_value## [1] 0.0018
# Regla de decisi'on
if (p_value < alpha){
print("Se rechaza H_0 con un nivel de confianza del 99%")
} else {
print("Se falla en rechazar H_0 con un nivel de confianza del 99%")
}## [1] "Se rechaza H_0 con un nivel de confianza del 99%"
Paso último: La conclusión de la hipótesis.
Para concluir cualquier prueba de hipótesis tenemos que rechazar o fallar en rechazar la hipótesis nula. Dado lo obtenido en el paso anterior, nuestra conclusión sería que:
Dada la evidencia, se rechaza la hipótesis nula de que la edad promedio de matrimonio de las mujeres encuestadas es igual a 23.5 con un nivel de confianza del 99%
Ejercicio 2 - Prueba de hipótesis de una proporción.
Supongamos que Slim declara a la prensa que 80 % de los 100,000 clientes de Telcel en un municipio están satisfechos con el servicio que reciben.
Supongamos además que un periódico local quiere responder la siguiente pregunta de investigación:
¿La proporción de usuaries de Telcel en el municipio que está satisfecha con el servicio fue diferente a 80 %?
Para ello, el periódico selecciona una muestra aleatoria de 100 usuaries de Telcel y les pregunta su opinión del servicio. Después de analizar sus datos, el periódico reporta que 73 % de los usuarios en el municipio están satisfechos con el servicio.
Por desgracia, la base de datos de no es pública.
Lleva a cabo todos los pasos necesarios para realizar la prueba de hipótesis que se deriva de la pregunta arriba planteando. Debes usar bootstrap.
Definimos las hipotesis.
\(H_0: \hat{\pi}_{satisfechos} = 80\)
\(H1: \hat{\pi}_{satisfechos} \neq 80\)
Definimos el nivel de significancia
Construimos la distribución muestral asumiendo que \(H_0\) es verdadera
Paso 1 - Recrear la muestra a partir de la muestra del periodico, dado que es la muestra que tenemos disponible de la población supuesta por Slim (la población bajo \(H_0\)).
# Simulamos la población a partir de la muestra original
muestra <-
tibble(nivel_satisfaccion = c(rep("satisfecho", 73),
rep("no satisfecho", 27)))
#Tomar muchas muestras bootstrap a partir de la muestra original
muestra %>%
rep_sample_n(size = nrow(muestra),
replace = T,
reps = 10000)## # A tibble: 1,000,000 x 2
## # Groups: replicate [10,000]
## replicate nivel_satisfaccion
## <int> <chr>
## 1 1 satisfecho
## 2 1 satisfecho
## 3 1 satisfecho
## 4 1 satisfecho
## 5 1 satisfecho
## 6 1 satisfecho
## 7 1 satisfecho
## 8 1 satisfecho
## 9 1 satisfecho
## 10 1 satisfecho
## # … with 999,990 more rows
# Paso 3 - Construir la distribución bootstrap
dist_bootstrap <-
muestra %>%
rep_sample_n(size = nrow(muestra),
replace = T,
reps = 10000) %>%
summarise(proporcion_muestral_bootstrap =
mean(nivel_satisfaccion == "satisfecho"))Recordemos que en el metodo bootstrap, se necesita re-centrar para poder obtener la distribución bajo la hipótesis nula.
# Paso 4 - Recentrar la distribución bootstrap para construir la distribución bootstrap nula
ajuste <- 0.07 #(Diferencia entre 73% y 80%)
# Distribución bootstrap nula (trasladada)
dist_bootstrap_nula <- dist_bootstrap %>%
mutate(proporcion_muestral_bootstrap_nula =
proporcion_muestral_bootstrap + ajuste)
# Graficar dist_bootstrap_nula (opcional)
dist_bootstrap_nula %>%
ggplot() +
# Distribución bootstrap nula
geom_density(aes(x = proporcion_muestral_bootstrap_nula)) +
geom_vline(xintercept = 0.80, color = "red", linetype = "dashed") +
geom_vline(xintercept = quantile(dist_bootstrap_nula$proporcion_muestral_bootstrap_nula, alpha/2), color = "blue") +
geom_vline(xintercept = quantile(dist_bootstrap_nula$proporcion_muestral_bootstrap_nula, (1-alpha/2)), color = "blue") +
geom_vline(xintercept = 0.73, color = "green", linetype = 10)# Calcular p-value
p_value <- dist_bootstrap_nula %>%
summarise(num_obs_cumplen_condicion_dos_colas = sum(proporcion_muestral_bootstrap_nula <= 0.73 | proporcion_muestral_bootstrap_nula >= 0.87),
prop_obs_cumplen_condicion_dos_colas = num_obs_cumplen_condicion_dos_colas/nrow(dist_bootstrap_nula)) %>%
pull(prop_obs_cumplen_condicion_dos_colas)
# Imprimimos el p_value
p_value## [1] 0.1433
Conclusión
No podemos rechazar la hipótesis nula, con un nivel de confianza del 95%
Por lo que el resultado de la encuesta se encuentra dentro del rango de resultados posibles si la proporción de clientes satisfechos es igual al 80%
Ejercicio 3 - Prueba de hipótesis de una diferencia de medias con observaciones independientes.
En 2004 Carolina del Norte liberó una enorme base de datos con información sobre los nacimientos registrados en su estado. Vamos a usar una muestra aleatoria de 1,000 observaciones tomada de esta base de datos para analizar la relación entre el peso de los bebés al nacer y si la madre fumo o no durante el embarazo.
Los datos están en bebes.
# Fuente original: https://www.openintro.org/data/index.php?data=ncbirths # Datos modificados para esta clase
bebes <-
read_csv("http://segasi.com.mx/clases/cide/datos/bebes_cn.csv")## Parsed with column specification:
## cols(
## edad_madre = col_double(),
## peso_bebe_nacimiento = col_double(),
## madre_fuma = col_character()
## )
Imagina que quieres responder la siguiente pregunta:
En promedio, ¿el peso de los bebes nacidos de madres que no fumaron durante el embarazo es diferente del peso de los bebés cuyas madres sí fumaron?
Lleva a cabo todos los pasos necesarios para realizar la prueba de hipótesis que se deriva de esta pregunta.
Debes usar un procedimiento computacional diferente a bootstrap.
Paso 1. Ver que datos tengo.
## # A tibble: 6 x 3
## edad_madre peso_bebe_nacimiento madre_fuma
## <dbl> <dbl> <chr>
## 1 13 3.46 No
## 2 14 3.57 No
## 3 15 3.01 No
## 4 15 3.63 No
## 5 15 2.89 No
## 6 15 2.44 No
Paso 2. Definir la hipótesis a probar.
- Ho: En promedio los bebés de madres que no fuman pesan IGUAL que las madres que fuman.
\[H_0: \mu_{bebesNoFuma} = \mu_{bebesNoFuma}\]
- Ha: En promedio los bebés de madres que no fuman pesan DISTINTO a los de madres que fuman.
\[H_0: \mu_{bebesNoFuma} \neq \mu_{bebesNoFuma}\]
Paso 3. Definir el método a utilizar y el nivel de confianza o significancia.
El método que vamos a utilizar será el método de permutaciones, el cual nos permite romper las relaciones que existen entre las variables explicativas y los valores resultantes.
Igualmente, establecemos un nivel de significancia:
Paso 4. Obtener la estimación puntual
La estimación puntual que vamos a obtener va a ser la diferencia de medias. En este caso, la diferencia de medias de los pesos de los bebes de las madres que fuman vs. los de las que no fuman se calcula de la manera siguiente:
# Obtencion de la diferencia de medias
(diferencia_medias <- bebes %>%
group_by(madre_fuma) %>%
summarise(media = mean(peso_bebe_nacimiento)) %>%
ungroup() %>%
summarise(diff_medias =diff(media)) %>%
pull())## [1] -0.1431275
La diferencia de medias es igual a -0.1431275.
Paso 4. Simular la \(H_0\)
En este problema, vamos a obtener la distribución muestral de la diferencia de medias bajo la Hipótesis nula, es decir, bajo el supuesto en que las medias de los pesos de los bebés de las mujeres que fuman son iguales a las medias de los pesos de los bebes de las mujeres que no fuman.
# Usamos el metodo de permutaciones para sacar la distribucion muestral de la diferencia de medias bajo la hip'otesis nula.
dist_nula <- bebes %>%
rep_sample_n(size =nrow(bebes),
replace = F,
reps = 1000) %>%
# Permutamos las muestras
mutate(madre_fuma_permutada = sample(madre_fuma,
replace = F)) %>%
group_by(replicate,
madre_fuma_permutada) %>%
# Sacamos el promedio por muestra y tipo de mama'
summarise(media = mean(peso_bebe_nacimiento)) %>%
ungroup() %>%
group_by(replicate) %>%
# Sacamos la diferencia de medias por grupo
summarise(diff_medias =diff(media))
# Realizamos la grafica de H_0
dist_nula %>%
ggplot(aes(x=diff_medias)) +
geom_density()Paso 5. Obtener el criterio de decisión
Para aceptar o rechazar la Hipótesis nula, tenemos los siguientes dos criterios:
Si el
p-value(la probabilidad de observar un valor igual o más extremo bajo la \(H_0\)) es menor al nivel de significancia, \(\alpha\), rechazamos \(H_0\) con un nivel de confianza igual a \(1-\alpha\).Si el estimador puntual cae fuera del intervalo de confianza, podemos decir también que rechazamos \(H_0\) con un nivel de confianza igual a \(1-\alpha\).
Para la presente prueba de hipótesis, vamos a usar los dos criterios, aunque ambos son equivalentes.
Paso 6. Obtención del p-value y los intervalos de confianza
A continuación, vamos a calcular los I.C. y el p-value, colocando sobre las gráficas el valor obtenido de nuestras muestras.
1. Obtenemos los I.C.:
# Realizamos la grafica de H_0
dist_nula %>%
ggplot(aes(x=diff_medias)) +
geom_density() +
geom_vline(xintercept = mean(dist_nula$diff_medias), color = "red", linetype = 2) +
geom_vline(xintercept = quantile(dist_nula$diff_medias, alpha/2), color = "blue") +
geom_vline(xintercept = quantile(dist_nula$diff_medias, 1-alpha/2), color = "blue") +
geom_vline(xintercept = diferencia_medias,
color = "green",
linetype = 10)2. Obtenemos el p-value:
p_value <- dist_nula %>%
summarise(cumplen_condicion = sum(diff_medias <= diferencia_medias),
proporcion = cumplen_condicion/nrow(dist_nula)) %>%
select(proporcion) %>%
pull()
# Imprimimos el p-value
p_value## [1] 0.016
# Regla de decision
if (p_value < alpha/2){
print(paste0("Se rechaza H_0 con un nivel de confianza del ",
(1-alpha)*100,
"%"))
} else {
print(paste0("Se falla en rechazar H_0 con un nivel de confianza del ",
(1-alpha)*100,
"%"))
}## [1] "Se rechaza H_0 con un nivel de confianza del 95%"
Paso último: La conclusión de la hipótesis.
Dada la evidencia encontrada, la hipótesis nula que establecía que los pesos de los bebes de las madres fumadoras y no fumadoras era el mismo se rechaza con un nivel de confianza del 95%, por lo que podemos concluir que la evidencia indica que si hay un efecto de fumar sobre el peso del producto.
Ejercicio 4 - Prueba de hipótesis de una diferencia de proporciones con observaciones independiente
En los años setenta Benson Rosen y Thomas H. Jerdee diseñaron un experimento para analizar la relación entre el sexo de una persona y sus probabilidades de ascenso en el trabajo.
Para ello, los investigadores le pidieron a 48 supervisores de un banco que asumieran el rol de director general de un banco hipotético con diversas sucursales, para después:
Proporcionarles el CV de una persona interesada en recibir un acenso dentro del banco.
Preguntarles si, de acuerdo con la información en el CV, el/la candidata reunía los méritos suficientes para ser promovida a una nueva posición.
Todos los CVs eran idénticos excepto por un elemento. Para 24 de los CVs el sexo de la persona solicitando la promoción tenía un nombre de mujer y para los otros 24 CVs los nombres eran de hombres.
La asignación de los 48 CVs al mismo número de supervisores fue aleatoria. Los datos están en el tibble discriminacion.
### Discriminación
# Fuente: https://www.openintro.org/data/index.php?data=gender_discriminati # Datos modificados para esta clase
discriminacion <-
tibble(decision = c(rep("promoción", 35),
rep("no promoción", 13)),
sexo = c(rep("hombre", 21),
rep("mujer", 14),rep("hombre", 3),
rep("mujer", 10))) %>%
mutate(contratada =ifelse(decision=="promoción",1,0))¿La proporción de mujeres que fueron promovidas es diferente a la proporción de hombres que fueron promovidos?
Lleva a cabo todos los pasos necesarios para realizar la prueba de hipótesis que se deriva de esta pregunta. Debes usar bootstrap.
Paso 1. Ver que datos tengo.
Exploramos rapidamente los datos:
## # A tibble: 5 x 3
## decision sexo contratada
## <chr> <chr> <dbl>
## 1 promoción hombre 1
## 2 promoción hombre 1
## 3 promoción hombre 1
## 4 promoción hombre 1
## 5 promoción hombre 1
# Generamos una tabla de contingencia de las variables
prop.table(table(discriminacion$decision, discriminacion$sexo),
margin = 2)##
## hombre mujer
## no promoción 0.1250000 0.4166667
## promoción 0.8750000 0.5833333
Paso 2. Definir la hipótesis a probar.
La \(H_0\) va a ser la siguiente:
\(H_0:p_{HombresAscendidos} = p_{MujeresAscendidas}\)
Mientras que la hipótesis alternativa sería:
\(H_a::p_{HombresAscendidos} \neq p_{MujeresAscendidas}\)
Paso 3. Definir el método a utilizar y el nivel de confianza o significancia.
El estimador puntual es la diferencia de proporciones.
El método a utilizar es diferencia de proporciones mediante
bootstrap.El nivel de significancia va a ser del 0.05, lo que implica que el nivel de confianza será del 95%.
Paso 4. Simular la \(H_0\)
Simulamos la H_0 a partir de la distribución Bootstrap.
Primero: Calculamos proporciones muestrales:
## - Calcular porporciones muestrales
discriminacion %>%
group_by(sexo) %>%
summarise(proporcion_muestral = mean(decision == "promoción")) %>%
ungroup()## # A tibble: 2 x 2
## sexo proporcion_muestral
## <chr> <dbl>
## 1 hombre 0.875
## 2 mujer 0.583
## Paso 3 - Calcular diferencia y guardarla en un objeto
dif_proporcion_muestral <-
discriminacion %>%
group_by(sexo) %>%
summarise(proporcion_muestral = mean(decision == "promoción")) %>%
ungroup() %>%
# Obtenemos la diferencia de proporción muestral:
summarise(dif_proporciones_muestrales = diff(proporcion_muestral)) %>%
pull()Generar muchas muestras bootstrap
## - Generar muchas muestras bootstrap
discriminacion %>%
rep_sample_n(size = nrow(discriminacion),
replace = T,
reps = 1000)## # A tibble: 48,000 x 4
## # Groups: replicate [1,000]
## replicate decision sexo contratada
## <int> <chr> <chr> <dbl>
## 1 1 promoción hombre 1
## 2 1 promoción mujer 1
## 3 1 promoción hombre 1
## 4 1 promoción mujer 1
## 5 1 promoción hombre 1
## 6 1 promoción hombre 1
## 7 1 promoción mujer 1
## 8 1 promoción hombre 1
## 9 1 promoción mujer 1
## 10 1 promoción hombre 1
## # … with 47,990 more rows
Calcular proporciones muestrales bootstrap por sexo y muestra
## - Calcular proporciones muestrales bootstrap por sexo y muestra
discriminacion %>%
rep_sample_n(size = nrow(discriminacion),
replace = T,
reps = 1000) %>%
# Argupar por replicate y la variable explicativa, que en este caso es sexo
group_by(replicate, sexo) %>%
# Calcular proporciones muestrales bootstrap
summarise(proporcion_muestral_bootstrap =
mean(decision == "promoción")) %>%
ungroup() ## # A tibble: 2,000 x 3
## replicate sexo proporcion_muestral_bootstrap
## <int> <chr> <dbl>
## 1 1 hombre 0.826
## 2 1 mujer 0.6
## 3 2 hombre 0.944
## 4 2 mujer 0.7
## 5 3 hombre 0.962
## 6 3 mujer 0.636
## 7 4 hombre 0.889
## 8 4 mujer 0.381
## 9 5 hombre 0.897
## 10 5 mujer 0.579
## # … with 1,990 more rows
Calcular diferencia en proporciones muestrales bootstrap por muestra y generar el tibble dist_bootstrap
## - Calcular diferencia en proporciones muestrales bootstrap por muestra y generar el tibble dist_bootstrap
dist_bootstrap <-
discriminacion %>%
rep_sample_n(size = nrow(discriminacion),
replace = T, reps = 10000) %>%
# Argupar por muestra y la variable explicativa, que en este caso es sexo
group_by(replicate, sexo) %>%
# Calcular proporciones muestrales bootstrap
summarise(proporcion_muestral_bootstrap = mean(decision == "promoción")) %>%
ungroup() %>%
# Argupar por muestra
group_by(replicate) %>%
# Calcular diferencia de proporciones
summarise(dif_proporcion_muestral_bootstrap = diff(proporcion_muestral_bootstrap)) %>%
ungroup()Graficar la distribución muestral bootstrap
## - Graficar la distribución muestral bootstrap
dist_bootstrap %>%
ggplot(aes(dif_proporcion_muestral_bootstrap)) +
geom_density()Recentrar la distribución muestral bootstrap para que esté alrededor del valor puntual propuesto por la hipótesis nula, y guardar el resultado en dist_bootstrap_nula
## - Recentrar la distribución muestral bootstrap para que esté alrededor del valor puntual propuesto por la hipótesis nula, y guardar el resultado en dist_bootstrap_nula
ajuste <- 0 - dif_proporcion_muestral
dist_bootstrap_nula <-
dist_bootstrap %>%
mutate(dif_proporcion_muestral_bootstrap_nula = dif_proporcion_muestral_bootstrap + ajuste)
## Paso 9 - Graficar dist_bootstrap_nula para estar seguros que el ajuste fue adecuado
dist_bootstrap_nula %>%
ggplot(aes(x = dif_proporcion_muestral_bootstrap_nula)) +
geom_density() +
geom_vline(xintercept = quantile(dist_bootstrap_nula$dif_proporcion_muestral_bootstrap_nula, 0.025), color = "blue") +
geom_vline(xintercept = quantile(dist_bootstrap_nula$dif_proporcion_muestral_bootstrap_nula, 0.975), color = "blue") +
geom_vline(xintercept = 0, color = "red", linetype = 2) +
geom_vline(xintercept = dif_proporcion_muestral,
color = "green", linetype = 10) ## Paso 10 - Calcular p-value
valor_inferior <- dif_proporcion_muestral
valor_superior <- abs(dif_proporcion_muestral)
# Opción 1
dist_bootstrap_nula %>%
summarise(num_obs_cumplen_condicion_dos_colas = sum(dif_proporcion_muestral_bootstrap_nula <= valor_inferior | dif_proporcion_muestral_bootstrap_nula >= valor_superior),
prop_obs_cumplen_condicion_dos_colas = num_obs_cumplen_condicion_dos_colas/nrow(dist_bootstrap_nula)) %>%
as.data.frame()## num_obs_cumplen_condicion_dos_colas prop_obs_cumplen_condicion_dos_colas
## 1 196 0.0196
Se rechaza la hipótesis nula con un 95% de confianza de que las proporciones de ascenso son iguales para hombres y mujeres, por lo que la evidencia indíca que si hay cierto efecto de discriminación hacia las mujeres a la hora de recibir ascensos.