Este es el examen final de la asignatura Estadística y Biometría.
Se presentan instrucciones generales para las diferentes partes del examen. Tenga en cuenta que para el examen usted recibirá preguntas diferentes a las aquí planteadas pero que se resuleven de la misma manera.
Los datos para este trabajo están contenidos en una tabla llamda “clima” de la librería “datos”. La primera vez deberá instalar la librería.
# install.packages("datos")
Una vez instalada la librería debe cargarla. Con esto estará disponible el conjunto de datos “clima”. Para explorarlo con mayor facilidad los cargará en un objeto llamado también “clima”
La función help(clima) mostrará en la ventana de ayuda la descripción de las variables.
# cargar la libreria "datos"
library(datos)
help(clima)
#cargar los datos en un objeto llamado "clima"
clima <- clima
Este conjunto de datos contiene observaciones de 9 variables climáticas en tres estaciones meteorológicas de USA durante el año 2013. Las observaciones fueron recolectadas cada hora.
Explore el conjunto de datos “clima” y responda las siguientes preguntas:
En esta parte creará subconjuntos de datos a partir de condiciones de algunas variables.
Recuerde que usted puede crear subconjuntos de datos usando la función subset(). Recuerde el curso de introducción a R de DataCamp: https://campus.datacamp.com/courses/introduccion-a-r/1600?ex=10
En la función subset() hay dos argumentos separados por una coma. El primero es el dataset del cual se extraerán los datos, el segundo es la condición que debe cumplir.
# Ejemplos de subconjuntos
# Subconjunto de todos los datos de febrero
# Para obtener un valor exacto (igualdad) se debe escribir dos símbolos de igual "=="
clima.febrero <- subset(clima, mes==2)
# Subconjunto de todos los datos con origen "JFK".
# Cuando la variable es de tipo texto (chr), el valor debe ir entre comillas
clima.jfk <- subset(clima, origen=="JFK")
# Subconjunto de todos los datos con temperatura menor o igual a 40°F
clima.frio <- subset(clima, temperatura<=40)
# Subconjunto de todos los datos con temperatura mayor o igual a 60°F en con origen EWR. Cuando hay más de una condición se deben concetenar con el símbolo "&"
clima.EWR.calor <- subset(clima, temperatura>60 & origen=="EWR")
# Subconjunto de todos los datos de JFK de enero y marzo en los que ha llovido
clima.lluvia_ene_feb <- subset(clima,
origen=="JFK" &
mes>=1 &
mes<=3 &
precipitacion>0)
# Para obtener los datos de una columna específica de un conjunto de datos puede usar el símbolo $ con el nombre de la columna.
# Por ejemplo, solamente los datos de temperatura del subconjunto anterior
clima.lluvia_ene_feb$temperatura
#también puede usar la función subset() con el argumento select
temp.lluvia_ene_feb <- subset(clima,
origen=="JFK" &
mes>=1 &
mes<=3 &
precipitacion>0,
select = "temperatura")
Responda las siguientes preguntas:
¿Cuantas observaciones hay con velocidad del viendo menor a 40 mph?
¿Cuantas observaciones hay con dirección del viento entre 90° y 180°?
Recuerde que pueden haber observaciones con datos “vacíos” o “perdidos” (representados con el valor NA) que darán un error cuando se realizan cálculos. Para evitar este error, debe omitir en los cálculos el valor de NA.
#media de temperatura
mean(clima$presion) #da error porque hay valores NA en la variable
#ver los primeros 300 valores de la variable presion. Observar que hay varios NA
head(clima$presion, 300)
# se puede calcular el número total de valores NA en una variable con la función is.na
sum(is.na(clima$presion)) # La variable presion tiene 2729 valores vacíos
# Así mismo se puede calcular los que no son NA con la función !is.na
sum(!is.na(clima$presion))
# La variable presion tiene 23386 valores con datos no vacíos
# crear un subconjunto con datos no vacios
clima.presion.comp <- subset(clima, !is.na(presion), "presion")
# también puede usar la función complete.cases()
presion.comp <- clima[complete.cases(clima$presion),"presion"]
# se puede calcular una estadística descriptiva descartando los valores perdidos usando el argumento na.rm=TRUE
mean(clima$presion, na.rm = TRUE)
# También se puede usar la función summary( ), que entrega varias estadísticas descriptivas descartando los valores NA. además indica el número de NA.
summary(clima)
¿Cuántos valores perdidos hay en la variable temperatura en el año 2013?
¿En cual de las tres estaciones de origen hubo mayor número de ráfagas de viento en Mayo? (Cuando no hay ráfaga de viento, la variable velocidad_rafagaes NA)
Responda las siguientes preguntas (recuerde que debe eliminar los datos perdidos NA):
¿Cual es la temperatura media en la estación de origen “JFK”?
¿Cual es la desviación estándar de la humedad en enero?
¿Hay mayor variabilidad de la velocidad del viento en Mayo o en Agosto?
Analizando el coeficiente de variación, ¿varía más la temperatura o la humedad en el mes de Abril?
¿Cual es el valor del cuartil Q1 de precipitación en Julio?
¿Cual es el valor del rango intercuartil de temperatura entre las 08h00 y las 12h00 en la estación de origen “EWR” ?
# Crear el subconjunto de datos
temp.jfk <-
#Calcular el estadístico descriptivo
Realice un histograma de temperatura para el mes de Junio en la estación JFK. ¿Diría que es simétrica, con sesgo a la izquierda o sesgo a la derecha?
Realice un BoxPlot de la variable punto_rocio.
¿Cuantos valores atípicos bajos hubo en el punto de rocío entre enero y marzo en la estación EWR?
# Crear el subconjunto de datos
temp.junio.jfk <-
#boxplot
#histograma
Los datos de clima representan una muestra de las variables climáticas.
Basándose en los principios básicos de probabilidad y asumiendo una distribución normal de los valores, responda las siguientes preguntas. Redondear siempre a 3 decimales con la función round():
¿Cuál es la probabilidad de observar una temperatura mayor a 80°F entre mayo y octubre en la estación LGA?
¿Cuál es la probabilidad de observar un valor de punto de rocío menor a a 20°F entre enero y octubre en la estación JFK?
¿Cuál es la probabilidad de que la presión supere los 1080 milibares en la estación EWR?
Puede utilizar la función pnorm() o la función pnormGC() de la librería tigerstats. Recuerde que debe instalar esta librería en caso de no tenerla. También puede usar la calculadora gráfica en línea: <https://temporalista.shinyapps.io/calculadora_distribucion/>.
# Crear el subconjunto de datos
d <- subset( )
#media de la muestra
xbarra <-
#desviación estándar de la muestra
s <-
#probabilidad mayor a 80 en una distribución normal.
pnorm(q = ,
mean = ,
sd = s,
lower.tail =
)
library(tigerstats)
pnormGC(bound = ,
region = ,
mean = ,
sd= ,
graph = TRUE)
Realice la estimación puntual y de intervalo de la media poblacional de las siguientes variables. Recuerde que el conjunto de datos “clima” es una muestra y no conocemos los parámetros poblacionales. Recuerde que el tamaño de la muestra es el número de observaciones que tiene el subconjunto de datos (excluyendo los datos perdidos NA).
Temperatura media entre las 08h00 y 18h00 en la estación JFK para el mes de julio con un nivel de confianza del 95%.
Presión media de mayo en la estación LGA con un nivel de confianza del 90%.
# Recuerde quedarse solo con los valores completos, sin los valores NA
# Crear el subconjunto de datos
d <- subset( )
med <- #Media muestral
s <- #DE muestral
n <- #Tamaño de la muestra
nc <- # Nivel de confianza
#Calcular alfa
alfa <-
#obtener el estadístico t
t <-
#Margen de error
E <-
#Limites Superior e Inferior del IC
ls <-
li <-
Una persona desea establecer un centro de acopio de granos en la zona de Newark (estación origen EWR). El tipo de granos puede dañarse si la humedad supera el 90%. Se acepta un riesgo máximo del 5% de que se dañen los granos. ¿Recomendaría usted establecer el centro de acopio?
¿Cuales son las hipótesis Nula y Alternativa?
¿Es una prueba de una o dos colas?
¿Qué estadístico de prueba debe utilizar?
¿Cuales son los tamaños de las muestras?
¿Cuales son los valores críticos?
¿Cual es la interpretación del resultado?
¿Cual es el valor-p de la prueba de hipótesis?
# Datos de humedad de Newark, excluyendo datos vacios
h.ewr <- subset(clima,
origen== &
!is.na( ),
select=humedad
)
mu <-
alfa <-
t.test(
)
Los habitantes de Newark (estación EWR) afirman que en su zona hace más frío en diciembre que en La Guardia (estación LGA).
Realice una prueba de hipótesis de dos muestras con sigma desconocida para las temperaturas medias de diciembre de las dos estaciones para determinar si la afirmación se razonable. Utilice un nivel de significancia de 0.05.
¿Cuales son las hipótesis Nula y Alternativa?
¿Es una prueba de una o dos colas?
¿Qué estadístico de prueba debe utilizar?
¿Cuales son los tamaños de las muestras?
¿Cual es la interpretación del resultado?
¿Cual es el valor-p de la prueba de hipótesis?
# Temperatura de diciembre de Newark, excluyendo datos vacios
t.ewr <- subset( )
# Temperatura de diciembre de La Guardia , excluyendo datos vacios
t.lga <- subset( )
# Aplicar el test estadístico
Realice un gráfico de dispersión entre las variables temperatura y humedad para la estación LGA en el mes de Mayo. Calcule el coeficiente de correlación de Pearson. Realice una prueba de importancia de la correlación.
¿Diría que hay una correlación positiva, negativa o nula?
¿Diría que la correlación es fuerte o débil?
¿Cuál es el valor de r?
¿La correlación es significativa para un alfa de 0.05?
d <- subset( )
plot( )
cor.test( )
Explore las correlaciones entre las variables 6 a 14 (desde “temperatura” hasta “visibilidad”)
¿Qué par de variables tienen la correlación positiva más fuerte?
¿Entre que par de variables se observa la correlación negativa más fuerte?
¿Cómo es la correlación entre la temperatura y la velocidad del viento?
#Matriz de correlación entre las variables, excluyendo valores vacios
cm <- cor(d[complete.cases(d),6:14])
#Gráfico de correlación de la matriz de correlación
library(corrplot)
corrplot()
Crear un modelo de regresión lineal múltiple para predecir el punto de rocío para la estación JFK. Primero utilice las siguientes variables predictoras:
temperatura
humedad
dirección del viento
velocidad del viento
velocidad de ráfaga
precipitación
presión
d <- subset( )
mod1 <- lm( )
summary(mod1)
Responda las siguientes preguntas:
¿Cuántas variables predictoras fueron significativas considerando un alfa de 0.05?
Según el valor-p ¿El modelo creado es significativo considerando un alfa de 0.001?
¿Cual es el valor del coeficiente de determinación múltiple y del coeficiente de determinación ajustado del modelo?
¿Diría que el modelo puede predecir adecuadamente el punto de rocío?
¿Considera que debería quitar alguna variable del modelo? ¿Por qué?
Observando la correlación entre variables del modelo ¿existe colinealidad entre ellas? ¿considera que debe retirar alguna?
Intente crear un nuevo modelo con menos variables predictoras
mod2 <-
summary( )
summary( )
¿Cuales variables predictoras decidió tener en el nuevo modelo?
Compare el R2 de este modelo con el anterior. ¿Es mayor o menor? ¿Qué tanto ha variado?
¿El nuevo modelo es mejor o peor que el anterior? ¿Por qué?
Finalmente utilice la función step ( ) en el modelo 1 para que el algoritmo seleccione los mejores predictores
mod3 <- step( )
summary( )
summary( )
¿Cuales variables predictoras seleccionó el algoritmo?
Usted considera que el nuevo modelo tiene una buena bondad de ajuste? ¿Por qué?
Compare el R2 de este modelo con el modelo 1. ¿Es mayor o menor? ¿Qué tanto ha variado?
¿El nuevo modelo es mejor o peor que el modelo 1? ¿Por qué?
¿Qué variables tienen una influencia positiva sobre el punto de rocío?
¿Qué variables tienen una influencia negativa sobre el punto de rocío?
Manteniendo todas las otras predictoras constantes, ¿Cuánto se espera que cambie el punto de rocío con un aumento de la humedad de 1%?
Si aumenta la precipitación ¿El punto de rocío subirá o bajará?
Si disminuye la temperatura ¿El punto de rocío subirá o bajará?