Facultad de Economía y Planificación
DEPARTAMENTO ACADÉMICO DE ESTADÍSTICA E INFORMÁTICA
Modelo de regresión lineal múltiple para identificar factores que influyen en el promedio de puntuaciones anteriores en estudiantes.
Curso: Análisis de Regresión
Docente: Samuel Huamaní Flores
Integrantes:
Delgado Conzuero Nathaly Sadith
Gamarra Rivas José Ignacio
Jimenez Ruiz Alex Fernando
Leon Ancco Allison Margareth
Ruiz Espinoza Arianne Paola
LA MOLINA - LIMA - PERÚ
2023 - II
El presente trabajo se dedica a nuestras familias, por tanto apoyo y paciencia. Gracias por estar a nuestro lado en cada paso de este trabajo y por inspirarnos a superar nuestros límites.
Quisiéramos expresar un sincero agradecimiento a todas las personas que hicieron posible la culminación de este trabajo de investigación. En primer lugar, agradezco a los docentes por su orientación experta, su paciencia y sus valiosos consejos.
Agradezco también a nuestras familias por su apoyo incondicional a lo largo de todo este proceso. Su fe en nosotros y su constante ánimo nos dieron la fuerza necesaria para superar los desafíos que surgieron en el camino.
A la UNALM por proporcionar los recursos, la infraestructura y el entorno de aprendizaje que facilitaron la realización de esta investigación.
El rendimiento académico de un estudiante es un factor imprescindible en el abordaje del tema de la calidad de la educación superior, debido a que es un indicador que permite una aproximación a la realidad educativa. (Díaz, Peio, Arias, Escudero, Rodríguez, Vidal, 2002). En el plano nacional, un país diverso y culturalmente rico, el análisis del rendimiento académico no solo proporciona una versión crítica de los logros y desafíos en el ámbito educativo, sino que también nos muestra las disparidades que existen en el acceso a una educación de calidad. Por eso, se busca entender las variables que influyen en el éxito educativo de los estudiantes, y por consecuencia en el desarrollo del país. La complejidad de factores que inciden en el rendimiento académico incluye aspectos socioeconómicos, culturales, y estructurales del sistema educativo peruano. La diversidad geográfica y demográfica presenta desafíos únicos que se reflejan en la experiencia educativa de los estudiantes; aquí también se refleja las brechas en el acceso a recursos educativos, calidad de enseñanza, y las oportunidades de desarrollo académico. La evaluación del rendimiento académico a nivel regional no sólo arroja luz sobre los logros y desafíos en el ámbito educativo, sino que también destaca la influencia de factores contextuales en el acceso a recursos educativos y en la calidad de la enseñanza. Desde las zonas costeras hasta las elevadas altitudes de la sierra, cada región enfrenta condiciones únicas que influyen en la experiencia educativa de sus habitantes. En el plano internacional, específicamente en Europa, el más reciente informe del Programa para la Evaluación Internacional de los Estudiantes (PISA), emitido por la Organización para la Cooperación y el Desarrollo Económicos (OCDE), revela una disminución “sin precedentes en el rendimiento escolar” de adolescentes en Europa. Amy. (2023, 9 diciembre). Sin embargo, con una historia cultural y una variedad de enfoques pedagógicos en ese continente, proporciona un escenario interesante para explorar las variables que influyen en el éxito educativo de sus ciudadanos. La diversidad lingüística, los sistemas educativos contrastantes y las iniciativas de integración regional añaden más razones a la comprensión de los factores que afectan el desempeño académico allí. En este trabajo, evaluaremos el rendimiento académico a través de puntuaciones anteriores, que nos permite ver el pasado educativo de los estudiantes proporcionando una herramienta valiosa para comprender, predecir y mejorar sus logros futuros. Al examinar la relación entre el historial académico y los resultados actuales, se busca no solo cuantificar esta conexión, sino también comprender como otros factores como las horas estudiadas, las actividades extracurriculares, las horas de sueño, los ejemplos de cuestionarios practicados y el índice de desempeño pueden influir en esta relación. Para esto, se utilizará el análisis de regresión múltiple para relacionar todas las variables mencionadas con las puntuaciones anteriores y encontrar un modelo adecuado para ello.
Pregunta general
¿Existe un modelo de regresión eficiente que demuestre la relación significativa de las variables que influyen con el promedio de puntuaciones anteriores en estudiantes encuestados de India en 2023?
Preguntas específicas
¿Existen valores influenciales que afecten al modelo de regresión?
¿Los residuales se ajustan a la línea de regresión al establecer los supuestos en el modelo?
¿Existe un alto coeficiente de determinación de ajuste que explique el porcentaje de variabilidad del promedio de puntuaciones anteriores en base a las variables más significativas?
¿Se puede predecir la media del promedio de puntuaciones anteriores para un estudiante con 9 horas de estudio, 6 horas de sueño y con un indíce de desempeño de 89?
En la Universidad Andrés Bello de Santiago de Chile por Bugueño, Curihual, Olivares, Wallace, López, Rivera y Oyanedel (2017) quienes realizaron un estudio “Calidad de sueño y rendimiento académico en alumnos de educación secundaria”, para determinar la relación entre la calidad de sueño y el rendimiento académico de estudiantes de un colegio público. Se hicieron entrevistas a estudiantes de primer y segundo año de secundaria, se hicieron preguntas sobre su origen demográfico, rendimiento académico, actividades escolares y horas de sueño. Los patrones del sueño son cambiantes en la adolescencia debido a los cambios tanto físicos como emocionales, además que el tiempo de sueño para esa población es entre ocho y diez horas por día. Se concluye que una mala calidad de sueño afecta de manera negativa el desempeño académico de los estudiantes.
Valdavieso Miranda, Burbano Pantoja y Burbano Valdivieso (2020), realizaron un estudio “Percepción de estudiantes universitarios colombianos sobre el efecto del confinamiento por el coronavirus, y sus rendimiento académico”, el cual se centra en la comprensión de la percepción de un grupo de universitarios respecto al impacto del coronavirus y el confinamiento en su rendimiento académico. Se adoptaron metodologías cuantitativas con un diseño de tipo exploratorio-descriptivo. La información se obtuvo de una encuesta a 85 estudiantes, y el análisis estadístico se llevó a cabo utilizando el software SPSS. Los resultados que se obtuvieron revelaron que factores como la virtualidad, el estado anímico y la convivencia familiar tuvieron repercusiones significativas en el rendimiento académico. Entonces se pudo concluir que la cuarentena generada por la pandemia afectó de manera notable el rendimiento académico de los estudiantes. Estos hallazgos proporcionan una comprensión más profunda de los diversos aspectos que influyen en el desempeño estudiantil durante situaciones de confinamiento y crisis sanitaria, estas comparaciones del desempeño académico se pueden realizar gracias a calificaciones que se obtuvieron con anterioridad.
Cartagena (2008), realizó un estudio “Relación entre la autosuficiencia y el rendimiento escolar y los hábitos de estudio en alumnos de secundaria”, destinado a comparar puntuaciones anteriores de autosuficiencia en el rendimiento académico como aspectos de los hábitos de estudio relacionados con métodos, organización, tiempo, distracción de los estudiantes de 1º, 2º y 5º de secundaria con alto y bajo rendimiento académico. Estudiaron a 103 alumnos: 37 de 1º de secundaria, 35 de 2º de secundaria, 31 de 5º de secundaria del Colegio Técnico Parroquial Peruano Chino “San Francisco de Asís”, ubicado en el distrito de Ate Vitarte- Huaycàn de la UGEL 06 de Lima; Metropolitana. Se utilizaron dos instrumentos: escala de autosuficiencia de rendimiento escolar y hábitos de estudio CASM - 85 Rev. 98. Los resultados muestran que existen diferencias significativas entre los niveles de hábitos de estudio de los estudiantes de 1º, 2º y 5º, con bajo y alto rendimiento.
Revisión histórica de puntuaciones anteriores
Las puntuaciones anteriores se refieren al promedio de las calificaciones que han obtenido los estudiantes en pruebas anteriores.
¿Es importante?
Por supuesto que si, esta información es relevante en contexto educativos, ya que se puede evaluar el desempeño académico de los estudiantes a lo largo del tiempo. Al hacer un análisis de las puntuaciones anteriores, los docentes, padres o los mismos estudiantes pueden obtener una visión retrospectiva del rendimiento académico, identificar áreas de fortaleza y debilidad, y con esa información tomar decisiones informadas sobre estrategias de estudio o poner mayor esfuerzo en áreas que pueden necesitar atención.
Revisión histórica de horas estudiadas
Las horas estudiadas representan el tiempo dedicado a la actividad de estudio. Esta variable se refiere a la cantidad de horas que una persona ha empleado en la realización de tareas académicas, la preparación para los respectivos exámenes, la lectura de material educativo u otras actividades relacionadas con el aprendizaje durante esas horas. La medición de las horas estudiadas es comúnmente utilizada para evaluar el nivel de dedicación y esfuerzo de una persona en el proceso de educación. Cuanto más tiempo se dedique al estudio, se espera una mayor comprensión y dominio de los temas estudiados.
Revisión histórica de actividades extracurriculares
Las actividades extracurriculares son las actividades que los estudiantes realizan fuera del plan de estudios académicos. Estas actividades complementan la educación formal y suelen ser después del horario escolar. Estas actividades proporcionan a los estudiantes oportunidades para desarrollar habilidades y talentos, así como para explorar sus intereses personales. Además de tener un enfoque más integral de la educación, también pueden contribuir al desarrollo de habilidades sociales, la construcción de relaciones y el fomento del trabajo en equipo.
Revisión histórica de horas de sueño
En el concepto de horas por día de una persona, se han visto por estudios y tendencias generales que demuestran que si una persona ha tenido una negativa con respecto a sus horas de sueño, las puntuaciones anteriores se verán afectadas en diversos factores habituales e individuales de la persona en su vida cotidiana. Es por esto que las horas de sueño se verán relacionadas con las puntuaciones anteriores de una persona.
Revisión histórica de ejemplos de cuestionarios practicados
Hace referencia a la cantidad de cuestionarios de muestra que un estudiante ha completado como parte de su preparación o estudio. Indica la extensión o cantidad de ejercicios prácticos que el estudiante ha realizado.
Revisión histórica de índice de desempeño
El índice de desempeño, es una medida que evalúa el nivel de éxito de un estudiante en sus estudios. Este índice generalmente se calcula a partir de las notas obtenidas en este caso las puntuaciones anteriores. Es una herramienta valiosa tanto para los estudiantes como para las instituciones educativas, ya que proporciona una evaluación cuantitativa del éxito académico.
Objetivo general
Objetivos específicos
Identificar los valores influenciales que afecten al modelo de regresión.
Establecer los supuestos que permitan ver que los residuales se ajusten a la línea de regresión.
Determinar el coeficiente de determinación de ajuste que explique el porcentaje de variabilidad del promedio de puntuaciones anteriores en base a las variables más significativas.
Predecir la media del promedio de puntuaciones anteriores para un estudiante con 9 horas de estudio, 6 horas de sueño y con un indíce de desempeño de 89.
En base a las preguntas de investigación formuladas, presentamos las siguientes hipótesis:
Se encuentran valores influenciales que afecten al modelo de regresión.
Los residuales se ajustan a la línea de regresión al establecer los supuestos en el modelo.
Existe un alto coeficiente de determinación de ajuste que explica el porcentaje de variabilidad del promedio de puntuaciones anteriores en base a las variables más significativas.
Se puede predecir la media del promedio de puntuaciones anteriores para un estudiante con 9 horas de estudio, 6 horas de sueño y con un indíce de desempeño de 89.
Se utilizó la función “read_xlsx” para la lectura de la data. Como variable respuesta se optó por “puntuaciones anteriores <> y”, describe las puntuaciones obtenidas por los estudiantes en pruebas anteriores.
Todos los estudiantes de la ciudad Rourkela de India en el año 2023.
100 estudiantes de la ciudad Rourkela de India en el año 2023.
Descripción de los pasos previos para llegar el resultado.
library(broom)
library(tidyverse)
library(olsrr)
library(GGally)
library(car)
library(nortest)
library(tseries)
library(lmtest)
library(corrplot)
library(PerformanceAnalytics)
library(GGally)
library(readxl)datos <- read_xlsx("dataset.xlsx")
summary(datos)## x1 y x2 x3
## Min. :1.00 Min. :41.00 Length:100 Min. :1.00
## 1st Qu.:3.00 1st Qu.:55.00 Class :character 1st Qu.:5.00
## Median :5.00 Median :75.00 Mode :character Median :7.00
## Mean :4.88 Mean :71.92 Mean :6.53
## 3rd Qu.:7.00 3rd Qu.:89.00 3rd Qu.:8.00
## Max. :9.00 Max. :99.00 Max. :9.00
## x4 x5
## Min. :0.00 Min. :15.00
## 1st Qu.:3.00 1st Qu.:41.75
## Median :5.00 Median :57.50
## Mean :4.83 Mean :57.90
## 3rd Qu.:8.00 3rd Qu.:74.25
## Max. :9.00 Max. :94.00
modelo_completo=lm(y ~ .,datos)
modelo_completo |> summary()##
## Call:
## lm(formula = y ~ ., data = datos)
##
## Residuals:
## Min 1Q Median 3Q Max
## -15.652 -1.426 0.160 1.803 17.680
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 34.27116 1.72864 19.826 <2e-16 ***
## x1 -2.45749 0.14938 -16.451 <2e-16 ***
## x2Yes -0.68201 0.75424 -0.904 0.3682
## x3 -0.12443 0.19978 -0.623 0.5349
## x4 -0.30006 0.12903 -2.326 0.0222 *
## x5 0.90208 0.01986 45.416 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 3.707 on 94 degrees of freedom
## Multiple R-squared: 0.9583, Adjusted R-squared: 0.9561
## F-statistic: 431.9 on 5 and 94 DF, p-value: < 2.2e-16
El modelo en forma global fue significativo, F (5, 94) = 431.9 y p < 0.01. El R2ajus = 0.9561
Modelo: y = 34.27116-2.45749x1 - 0.68201x2Yes - 0.12443x3 - 0.30006x4 + 0.90208*x5.
R2 de predicción
resultados<-modelo_completo%>%
ols_step_all_possible()%>%
data.frame()
resultados %>%
select(n,predrsq,predictors) %>%
arrange(-predrsq) %>% head(10)## n predrsq predictors
## 1 3 0.9522490 x1 x4 x5
## 2 4 0.9516233 x1 x3 x4 x5
## 3 4 0.9515805 x1 x2 x4 x5
## 4 5 0.9509752 x1 x2 x3 x4 x5
## 5 2 0.9501456 x1 x5
## 6 3 0.9496764 x1 x2 x5
## 7 3 0.9494891 x1 x3 x5
## 8 4 0.9490566 x1 x2 x3 x5
## 9 1 0.8311998 x5
## 10 2 0.8285823 x3 x5
mod1<-lm(y~x1+x4+x5,data=datos)Cp de Mallows
resultados %>%
select(n,cp,predictors) %>%
mutate(dif = n-cp,.after=cp) %>%
arrange(abs(dif)) %>% head(10)## n cp dif predictors
## 1 3 3.178089 -0.1780894 x1 x4 x5
## 2 4 4.387924 -0.3879237 x1 x2 x4 x5
## 3 4 4.817655 -0.8176551 x1 x3 x4 x5
## 4 5 6.000000 -1.0000000 x1 x2 x3 x4 x5
## 5 3 7.737607 -4.7376072 x1 x2 x5
## 6 2 6.898467 -4.8984667 x1 x5
## 7 4 9.407966 -5.4079658 x1 x2 x3 x5
## 8 3 8.601397 -5.6013974 x1 x3 x5
## 9 2 271.391956 -269.3919564 x3 x5
## 10 3 272.645273 -269.6452731 x2 x3 x5
mod2<-lm(y~x1+x4+x5,data=datos)Criterio de información de Akaike
resultados %>%
select(n,aic,predictors) %>%
arrange(aic) %>% head(10)## n aic predictors
## 1 3 550.9132 x1 x4 x5
## 2 4 552.0796 x1 x2 x4 x5
## 3 4 552.5338 x1 x3 x4 x5
## 4 5 553.6677 x1 x2 x3 x4 x5
## 5 2 554.7497 x1 x5
## 6 3 555.5925 x1 x2 x5
## 7 3 556.4549 x1 x3 x5
## 8 4 557.2615 x1 x2 x3 x5
## 9 1 682.0066 x5
## 10 2 683.4353 x3 x5
mod3<-lm(y~x1 +x4+ x5,data=datos)Criterio de información Bayesiano de Sawa
resultados %>%
select(n,sbic,predictors) %>%
arrange(sbic) %>% head(10)## n sbic predictors
## 1 3 267.5257 x1 x4 x5
## 2 4 268.8793 x1 x2 x4 x5
## 3 4 269.2867 x1 x3 x4 x5
## 4 5 270.6378 x1 x2 x3 x4 x5
## 5 2 270.9084 x1 x5
## 6 3 271.8258 x1 x2 x5
## 7 3 272.6192 x1 x3 x5
## 8 4 273.5332 x1 x2 x3 x5
## 9 2 394.2346 x3 x5
## 10 1 394.2477 x5
mod4<-lm(y~x1 +x4+ x5 ,data=datos)Criterio de información Bayesiano de Schwarz
resultados %>%
select(n,sbc,predictors) %>%
arrange(sbc) %>%head(10)## n sbc predictors
## 1 3 563.9391 x1 x4 x5
## 2 2 565.1704 x1 x5
## 3 4 567.7106 x1 x2 x4 x5
## 4 4 568.1648 x1 x3 x4 x5
## 5 3 568.6184 x1 x2 x5
## 6 3 569.4807 x1 x3 x5
## 7 5 571.9039 x1 x2 x3 x4 x5
## 8 4 572.8925 x1 x2 x3 x5
## 9 1 689.8221 x5
## 10 2 693.8560 x3 x5
mod5<-lm(y~x1+x4+x5,data=datos)Cuadrado medio del error de predicción
resultados %>%
select(n,msep,predictors) %>%
arrange(msep) %>% head(10)## n msep predictors
## 1 3 1363.031 x1 x4 x5
## 2 4 1366.095 x1 x2 x4 x5
## 3 4 1372.315 x1 x3 x4 x5
## 4 5 1375.109 x1 x2 x3 x4 x5
## 5 3 1428.327 x1 x2 x5
## 6 2 1429.900 x1 x5
## 7 4 1438.751 x1 x2 x3 x5
## 8 3 1440.697 x1 x3 x5
## 9 1 5154.193 x5
## 10 2 5178.215 x3 x5
mod6<-lm(y~x1+x4+x5,data=datos)Error final de predicción
resultados %>%
select(n,fpe,predictors) %>%
arrange(fpe) %>% head(10)## n fpe predictors
## 1 3 14.17242 x1 x4 x5
## 2 4 14.33927 x1 x2 x4 x5
## 3 4 14.40455 x1 x3 x4 x5
## 4 5 14.56971 x1 x2 x3 x4 x5
## 5 2 14.72634 x1 x5
## 6 3 14.85135 x1 x2 x5
## 7 3 14.97997 x1 x3 x5
## 8 4 15.10191 x1 x2 x3 x5
## 9 1 52.57256 x5
## 10 2 53.32973 x3 x5
mod7<-lm(y~x1+x4+x5,data=datos)Criterio de predicción de Amemiya
resultados %>%
select(n,apc,predictors) %>%
arrange(apc) %>% head(10)## n apc predictors
## 1 3 0.04575680 x1 x4 x5
## 2 4 0.04629549 x1 x2 x4 x5
## 3 4 0.04650627 x1 x3 x4 x5
## 4 5 0.04703947 x1 x2 x3 x4 x5
## 5 2 0.04754520 x1 x5
## 6 3 0.04794879 x1 x2 x5
## 7 3 0.04836405 x1 x3 x5
## 8 4 0.04875773 x1 x2 x3 x5
## 9 1 0.16973475 x5
## 10 2 0.17217935 x3 x5
mod8<-lm(y~x1+x4+x5,data=datos)Sp de Hocking
resultados %>%
select(n,hsp,predictors) %>%
arrange(hsp) %>% head(10)## n hsp predictors
## 1 3 0.1434455 x1 x4 x5
## 2 4 0.1452814 x1 x2 x4 x5
## 3 4 0.1459428 x1 x3 x4 x5
## 4 5 0.1477958 x1 x2 x3 x4 x5
## 5 2 0.1489315 x1 x5
## 6 3 0.1503173 x1 x2 x5
## 7 3 0.1516192 x1 x3 x5
## 8 4 0.1530082 x1 x2 x3 x5
## 9 1 0.5313580 x5
## 10 2 0.5393379 x3 x5
mod9<-lm(y~x1+x4+x5,data=datos)# Resumen
library(broom)
library(tidyverse)
library(broom)
Criterio = c("mod1","mod2","mod3","mod4","mod5","mod6","mod7","mod8","mod9")
variables = c(mod1 |> aov() |> tidy() |> nrow() - 1,
mod2 |> aov() |> tidy() |> nrow() - 1,
mod3 |> aov() |> tidy() |> nrow() - 1,
mod4 |> aov() |> tidy() |> nrow() - 1,
mod5 |> aov() |> tidy() |> nrow() - 1,
mod6 |> aov() |> tidy() |> nrow() - 1,
mod7 |> aov() |> tidy() |> nrow() - 1,
mod8 |> aov() |> tidy() |> nrow() - 1,
mod9 |> aov() |> tidy() |> nrow() - 1)
R2aj = c(summary(mod1)$adj.r.squared,
summary(mod2)$adj.r.squared,
summary(mod3)$adj.r.squared,
summary(mod4)$adj.r.squared,
summary(mod5)$adj.r.squared,
summary(mod6)$adj.r.squared,
summary(mod7)$adj.r.squared,
summary(mod8)$adj.r.squared,
summary(mod9)$adj.r.squared)
aic = c(AIC(mod1),
AIC(mod2),
AIC(mod3),
AIC(mod4),
AIC(mod5),
AIC(mod6),
AIC(mod7),
AIC(mod8),
AIC(mod9))
data.frame(Criterio,variables,R2aj,aic) %>% arrange(-R2aj)## Criterio variables R2aj aic
## 1 mod1 3 0.956443 550.9132
## 2 mod2 3 0.956443 550.9132
## 3 mod3 3 0.956443 550.9132
## 4 mod4 3 0.956443 550.9132
## 5 mod5 3 0.956443 550.9132
## 6 mod6 3 0.956443 550.9132
## 7 mod7 3 0.956443 550.9132
## 8 mod8 3 0.956443 550.9132
## 9 mod9 3 0.956443 550.9132
data.frame(Criterio,variables,R2aj,aic) %>% arrange(aic)## Criterio variables R2aj aic
## 1 mod1 3 0.956443 550.9132
## 2 mod2 3 0.956443 550.9132
## 3 mod3 3 0.956443 550.9132
## 4 mod4 3 0.956443 550.9132
## 5 mod5 3 0.956443 550.9132
## 6 mod6 3 0.956443 550.9132
## 7 mod7 3 0.956443 550.9132
## 8 mod8 3 0.956443 550.9132
## 9 mod9 3 0.956443 550.9132
El mejor modelo sería ‘mod1’, ya que tiene el menor AIC y mayor R2aj, por lo tanto el modelo resultante es elegido utilizando cualquiera de los criterios, excepto el Sp de Hocking.
Se obvian a las variables x2(actividades extracurriculares) y x3(horas de sueño).
Una R2 elevada pero pocas razones t significativas
summary(mod1)##
## Call:
## lm(formula = y ~ x1 + x4 + x5, data = datos)
##
## Residuals:
## Min 1Q Median 3Q Max
## -15.3548 -1.7064 0.1255 1.8129 18.0366
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 33.41511 1.27598 26.188 <2e-16 ***
## x1 -2.46175 0.14854 -16.573 <2e-16 ***
## x4 -0.30755 0.12804 -2.402 0.0182 *
## x5 0.89816 0.01944 46.194 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 3.692 on 96 degrees of freedom
## Multiple R-squared: 0.9578, Adjusted R-squared: 0.9564
## F-statistic: 725.6 on 3 and 96 DF, p-value: < 2.2e-16
El modelo resultante(mod1) en forma global fue significativo, F (3, 96) = 222.3 y p < 0.01. El R2ajus = 0.9564. Asimismo, en forma individual todas las variables explicativas fueron significativos al nivel de 0.05.
Asociación de variables
En este gráfico se muestra la dispersión y correlación que existe entre las variables.
dat<-select(datos,y,x1,x4,x5)
dat|> ggpairs()De la gráfica anterior se observa una correlación por encima de 0.800 entre ‘y’ y ‘x5’(r = 0.915).
Valores propios e índice de condición
mod1->modelo
modelo |> model.matrix() -> X
eigen(cor(scale(X[,-1])))$values |> max() -> lambda_max
eigen(cor(scale(X[,-1])))$values |> min() -> lambda_min
# Número de condición
lambda_max/lambda_min ## [1] 2.180406
# Indice de condición
sqrt(lambda_max/lambda_min) ## [1] 1.47662
data.frame(variables = (modelo |> coef() |> names())[-1],
indices = sqrt(lambda_max/eigen(cor(scale(X[,-1])))$values))## variables indices
## 1 x1 1.000000
## 2 x4 1.116142
## 3 x5 1.476620
El número de condición no supera 1000 y tampoco el indice de condición supera 100. Por ende, no se presenta multicolinealidad.
Factor de inflación de la varianza (FIV)
library(car);vif(modelo)## x1 x4 x5
## 1.137545 1.044301 1.154526
No hay indicios de multicolinealidad con el factor de inflación de la varianza (FIV), ya que las 3 variables son menores de 10.
summary(mod1)##
## Call:
## lm(formula = y ~ x1 + x4 + x5, data = datos)
##
## Residuals:
## Min 1Q Median 3Q Max
## -15.3548 -1.7064 0.1255 1.8129 18.0366
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 33.41511 1.27598 26.188 <2e-16 ***
## x1 -2.46175 0.14854 -16.573 <2e-16 ***
## x4 -0.30755 0.12804 -2.402 0.0182 *
## x5 0.89816 0.01944 46.194 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 3.692 on 96 degrees of freedom
## Multiple R-squared: 0.9578, Adjusted R-squared: 0.9564
## F-statistic: 725.6 on 3 and 96 DF, p-value: < 2.2e-16
B0 : Cuando las horas de sueño, cuestionarios resueltos e índice de sueño sean cero, se espera que el valor del promedio de calificaciones sea 33.4151.
B1: Las horas de sueño por día de un estudiante disminuye en un valor de 2.46175, cuando el promedio de calificaciones pasadas disminuyen, manteniendo las demás variables constantes.
B2: Los cuestionarios resueltos por día de un estudiante disminuye en un valor de 0.30775, cuando el promedio de calificaciones pasadas disminuyen, manteniendo las demás variables constantes.
B3: El aumento del índice de desempeño de los estudiantes en 0.89816, provoca el crecimiento del promedio de calificaciones pasadas, manteniendo las demás variables constantes.
Este ajuste penaliza el hecho de tener una muestra pequeña, además disminuye el efecto de las variables que no aportan al modelo o el hecho de tener muchas variables predictoras.
R2ajust = 0.9564
El 95.64% de la variabilidad del promedio de calificaciones anteriores es explicada por las variables horas de sueño, cuestionarios resueltos e índice de desempeño. Para este caso en particular notamos que el R2.
Para realizar esta prediccion individual utilizamos nuestra premisa puesta en los objetivos especificos, “Predecir la media del promedio de puntuaciones anteriores para un estudiante con 9 horas de estudio, 6 horas de sueño y con un indíce de desempeño de 89”
mod1 %>%
predict(data.frame(x1 = 9,
x4 = 6,
x5=89),
interval = "prediction",
level = 0.95)## fit lwr upr
## 1 89.35064 81.85262 96.84867
Seria Y = 89.35064
ei<-mod1$residuals # Cálculo de los residualesVerificamos la normalidad de los errores a través de los residuales estableciendo dos hipótesis con un nivel de significancia del 5%:
Ho: Los errores presentan una distribución normal
H1: Los errores no presentan una distribución normal
shapiro.test(ei)##
## Shapiro-Wilk normality test
##
## data: ei
## W = 0.87644, p-value = 1.287e-07
jarque.bera.test(ei)##
## Jarque Bera Test
##
## data: ei
## X-squared = 258.13, df = 2, p-value < 2.2e-16
ad.test(ei)##
## Anderson-Darling normality test
##
## data: ei
## A = 2.1908, p-value = 1.341e-05
De los tres casos presentados observamos que el p-valor presentan un valor bajo en comparación al nivel de significancia establecido(0.05), tomando como decisión rechazar Ho, concluyendo que los errores no presentan una distribución normal en ninguno de los 3 casos.
Análisis en gráfico
(mod1 |> resid() -> residuales)data.frame(residuales) |>
ggplot(aes(sample=residuales))+
stat_qq(size = 2) +
stat_qq_line(distribution = stats::qnorm)+
labs(x = "Cuantil teórico",
y = "Residuales")+
theme_minimal()Gráficamente podemos ver que la distribución de los residuales tiene una tendencia de apegarse a la línea de regresión, sin embargo se aleja un poco en las colas.
Lo que se evalúa principalmente es que todos los errores presenten la misma varianza estableciendo dos hipótesis con un nivel de significancia del 5%:
Ho: Los errores de la regresión tienen varianza constante.
Ha: Los errores de la regresión no tienen varianza constante
bptest(mod1)##
## studentized Breusch-Pagan test
##
## data: mod1
## BP = 0.92183, df = 3, p-value = 0.8202
El p-valor de la prueba de Breusch-Pagan test obtenido es mayor al nivel de significancia establecido del 0.05, por lo tanto no se rechaza la hipótesis nula, cumpliendo así el supuesto de homocedasticidad.
Análisis en gráfico
y_est<-mod1$fitted.values
datos<-data.frame(datos,y_est,residuales)
g<-ggplot(datos,aes(x=y_est,y=residuales))+
geom_point(size=3.5)+
geom_hline(yintercept = 0,col="red",linetype="dashed")+
xlab("Valores ajustados")+ylab("Residuales") +
ggtitle("Residuales vs Valores ajustados") +
theme_bw()
gCon un nivel de significancia del 0.05, lo que se evalúa que se cumpla en primera instancia es:
Ho: ρ=0(Los errores son independientes)
H1: ρ≠0(Los errores no son independientes)
dwtest(mod1,alternative =c("two.sided"))##
## Durbin-Watson test
##
## data: mod1
## DW = 2.0833, p-value = 0.6873
## alternative hypothesis: true autocorrelation is not 0
Se tiene un p-value =0.6873, esto quiere decir que al tener un p value alto y mayor a 0.05, se concluye no rechazar Ho. Es decir los errores no presentan autocorrelación, por lo tanto son independientes.
Análisis en gráfico
data.frame(residuales) |>
ggplot(aes(x=1:nrow(datos),y=residuales))+
geom_point(size = 3) +
geom_line()+
geom_hline(yintercept=0)+
labs(x = "Orden", y = "Residual", title = "Evaluación de independencia", subtitle = "Modelo")+
theme_minimal()Lo que se busca es que los residuales de cada uno de los datos vaya fluctuando de la manera aleatoria, es decir que no se establezca patrones. Se puede decir que en este gráfico se cumple la independencia.
Esta prueba más que comprobar la linealidad de los errores, comprueba la linealidad del modelo con un nivel de significancia del 0.05.
library(gvlma)
mod1 |> gvlma() |> summary()##
## Call:
## lm(formula = y ~ x1 + x4 + x5, data = datos)
##
## Residuals:
## Min 1Q Median 3Q Max
## -15.3548 -1.7064 0.1255 1.8129 18.0366
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 33.41511 1.27598 26.188 <2e-16 ***
## x1 -2.46175 0.14854 -16.573 <2e-16 ***
## x4 -0.30755 0.12804 -2.402 0.0182 *
## x5 0.89816 0.01944 46.194 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 3.692 on 96 degrees of freedom
## Multiple R-squared: 0.9578, Adjusted R-squared: 0.9564
## F-statistic: 725.6 on 3 and 96 DF, p-value: < 2.2e-16
##
##
## ASSESSMENT OF THE LINEAR MODEL ASSUMPTIONS
## USING THE GLOBAL TEST ON 4 DEGREES-OF-FREEDOM:
## Level of Significance = 0.05
##
## Call:
## gvlma(x = mod1)
##
## Value p-value Decision
## Global Stat 266.26330 0.000000 Assumptions NOT satisfied!
## Skewness 0.71124 0.399033 Assumptions acceptable.
## Kurtosis 257.41517 0.000000 Assumptions NOT satisfied!
## Link Function 0.06454 0.799466 Assumptions acceptable.
## Heteroscedasticity 8.07235 0.004495 Assumptions NOT satisfied!
No todas las pruebas cumplen satisfactoriamente.
Análisis en gráfico
mod1|> residualPlots()## Test stat Pr(>|Test stat|)
## x1 -0.7379 0.4624
## x4 -0.8060 0.4223
## x5 -0.7666 0.4452
## Tukey test 0.2477 0.8044
Observando los residuales parciales, si no se cumpliera la linealidad , la variable x5(índice de desempeño) podría ser una posible causante.
El p valor de la prueba de cada uno de las variables establece que tan curva es la línea y cual es lo suficientemente significativa y según el cuadro se observa que todas las curvas están aceptablemente planas.
Residuales estudentizados
Residual estudentizado internamente
ri<-rstandard(mod1) %>% round(3)
abs(ri)>2## 1 2 3 4 5 6 7 8 9 10 11 12 13
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE
## 14 15 16 17 18 19 20 21 22 23 24 25 26
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## 27 28 29 30 31 32 33 34 35 36 37 38 39
## FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## 40 41 42 43 44 45 46 47 48 49 50 51 52
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## 53 54 55 56 57 58 59 60 61 62 63 64 65
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## 66 67 68 69 70 71 72 73 74 75 76 77 78
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## 79 80 81 82 83 84 85 86 87 88 89 90 91
## FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## 92 93 94 95 96 97 98 99 100
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
data.frame(abs(ri)>2)## abs.ri....2
## 1 FALSE
## 2 FALSE
## 3 FALSE
## 4 FALSE
## 5 FALSE
## 6 FALSE
## 7 FALSE
## 8 FALSE
## 9 TRUE
## 10 FALSE
## 11 FALSE
## 12 FALSE
## 13 FALSE
## 14 FALSE
## 15 FALSE
## 16 FALSE
## 17 FALSE
## 18 FALSE
## 19 FALSE
## 20 FALSE
## 21 FALSE
## 22 FALSE
## 23 FALSE
## 24 FALSE
## 25 FALSE
## 26 FALSE
## 27 FALSE
## 28 FALSE
## 29 TRUE
## 30 FALSE
## 31 FALSE
## 32 FALSE
## 33 FALSE
## 34 FALSE
## 35 FALSE
## 36 FALSE
## 37 FALSE
## 38 FALSE
## 39 FALSE
## 40 FALSE
## 41 FALSE
## 42 FALSE
## 43 FALSE
## 44 FALSE
## 45 FALSE
## 46 FALSE
## 47 FALSE
## 48 FALSE
## 49 FALSE
## 50 FALSE
## 51 FALSE
## 52 FALSE
## 53 FALSE
## 54 FALSE
## 55 FALSE
## 56 FALSE
## 57 FALSE
## 58 FALSE
## 59 FALSE
## 60 FALSE
## 61 FALSE
## 62 FALSE
## 63 FALSE
## 64 FALSE
## 65 FALSE
## 66 FALSE
## 67 FALSE
## 68 FALSE
## 69 FALSE
## 70 FALSE
## 71 FALSE
## 72 FALSE
## 73 FALSE
## 74 FALSE
## 75 FALSE
## 76 FALSE
## 77 FALSE
## 78 FALSE
## 79 FALSE
## 80 FALSE
## 81 TRUE
## 82 FALSE
## 83 FALSE
## 84 FALSE
## 85 FALSE
## 86 FALSE
## 87 FALSE
## 88 FALSE
## 89 FALSE
## 90 FALSE
## 91 FALSE
## 92 FALSE
## 93 FALSE
## 94 FALSE
## 95 FALSE
## 96 FALSE
## 97 FALSE
## 98 FALSE
## 99 FALSE
## 100 FALSE
Residual estudentizado externamente
ti<-mod1 |> rstudent() |> round(3)
abs(ti)>2## 1 2 3 4 5 6 7 8 9 10 11 12 13
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE
## 14 15 16 17 18 19 20 21 22 23 24 25 26
## TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## 27 28 29 30 31 32 33 34 35 36 37 38 39
## FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## 40 41 42 43 44 45 46 47 48 49 50 51 52
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## 53 54 55 56 57 58 59 60 61 62 63 64 65
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## 66 67 68 69 70 71 72 73 74 75 76 77 78
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## 79 80 81 82 83 84 85 86 87 88 89 90 91
## FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## 92 93 94 95 96 97 98 99 100
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
data.frame(abs(ti)>2)## abs.ti....2
## 1 FALSE
## 2 FALSE
## 3 FALSE
## 4 FALSE
## 5 FALSE
## 6 FALSE
## 7 FALSE
## 8 FALSE
## 9 TRUE
## 10 FALSE
## 11 FALSE
## 12 FALSE
## 13 FALSE
## 14 TRUE
## 15 FALSE
## 16 FALSE
## 17 FALSE
## 18 FALSE
## 19 FALSE
## 20 FALSE
## 21 FALSE
## 22 FALSE
## 23 FALSE
## 24 FALSE
## 25 FALSE
## 26 FALSE
## 27 FALSE
## 28 FALSE
## 29 TRUE
## 30 FALSE
## 31 FALSE
## 32 FALSE
## 33 FALSE
## 34 FALSE
## 35 FALSE
## 36 FALSE
## 37 FALSE
## 38 FALSE
## 39 FALSE
## 40 FALSE
## 41 FALSE
## 42 FALSE
## 43 FALSE
## 44 FALSE
## 45 FALSE
## 46 FALSE
## 47 FALSE
## 48 FALSE
## 49 FALSE
## 50 FALSE
## 51 FALSE
## 52 FALSE
## 53 FALSE
## 54 FALSE
## 55 FALSE
## 56 FALSE
## 57 FALSE
## 58 FALSE
## 59 FALSE
## 60 FALSE
## 61 FALSE
## 62 FALSE
## 63 FALSE
## 64 FALSE
## 65 FALSE
## 66 FALSE
## 67 FALSE
## 68 FALSE
## 69 FALSE
## 70 FALSE
## 71 FALSE
## 72 FALSE
## 73 FALSE
## 74 FALSE
## 75 FALSE
## 76 FALSE
## 77 FALSE
## 78 FALSE
## 79 FALSE
## 80 FALSE
## 81 TRUE
## 82 FALSE
## 83 FALSE
## 84 FALSE
## 85 FALSE
## 86 FALSE
## 87 FALSE
## 88 FALSE
## 89 FALSE
## 90 FALSE
## 91 FALSE
## 92 FALSE
## 93 FALSE
## 94 FALSE
## 95 FALSE
## 96 FALSE
## 97 FALSE
## 98 FALSE
## 99 FALSE
## 100 FALSE
mod1 |> ols_plot_resid_stud()Outlier observado: 9
Residuales estandarizados
mod1 |> rstandard() |> round(3) |> abs()## 1 2 3 4 5 6 7 8 9 10 11 12 13
## 0.230 0.220 1.021 0.427 0.271 0.333 0.688 0.314 4.327 1.530 0.467 0.581 0.756
## 14 15 16 17 18 19 20 21 22 23 24 25 26
## 1.981 0.296 0.646 0.681 0.791 0.622 0.628 0.529 0.280 0.614 0.168 0.786 0.525
## 27 28 29 30 31 32 33 34 35 36 37 38 39
## 1.024 0.135 5.131 1.492 0.107 0.884 1.895 1.185 0.107 1.145 0.023 0.045 0.481
## 40 41 42 43 44 45 46 47 48 49 50 51 52
## 0.319 0.150 0.389 0.391 0.491 0.343 0.897 0.058 1.059 0.208 0.776 0.126 0.412
## 53 54 55 56 57 58 59 60 61 62 63 64 65
## 0.209 0.039 1.233 0.049 0.204 0.416 0.670 0.641 0.691 0.885 0.053 1.111 1.169
## 66 67 68 69 70 71 72 73 74 75 76 77 78
## 0.863 0.292 0.261 0.166 1.118 0.201 0.219 0.839 0.471 0.022 0.569 0.464 0.834
## 79 80 81 82 83 84 85 86 87 88 89 90 91
## 0.047 0.127 2.842 1.386 0.275 0.512 0.114 0.309 0.443 1.204 0.553 0.107 1.680
## 92 93 94 95 96 97 98 99 100
## 0.473 0.651 0.335 0.489 0.804 0.234 0.118 1.043 0.550
(mod1|> rstandard() |> round(3) |> abs()) > 2## 1 2 3 4 5 6 7 8 9 10 11 12 13
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE
## 14 15 16 17 18 19 20 21 22 23 24 25 26
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## 27 28 29 30 31 32 33 34 35 36 37 38 39
## FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## 40 41 42 43 44 45 46 47 48 49 50 51 52
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## 53 54 55 56 57 58 59 60 61 62 63 64 65
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## 66 67 68 69 70 71 72 73 74 75 76 77 78
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## 79 80 81 82 83 84 85 86 87 88 89 90 91
## FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## 92 93 94 95 96 97 98 99 100
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
library(olsrr)
mod1 |> ols_plot_resid_stand()Se puede visualizar que hay 3 outliers en el modelo, también que los valores influenciales están debajo del umbral 2.
Outliers observados: 9,29,14
Leverages
X<-mod1 %>% model.matrix
H<-X %*% solve(t(X) %*% X) %*% t(X)
n<-length(dat$x1)
k<-4# Número de coeficientes de la regresión incluido Bo
diag(H) > 2*k/n## 1 2 3 4 5 6 7 8 9 10 11 12 13
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## 14 15 16 17 18 19 20 21 22 23 24 25 26
## FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## 27 28 29 30 31 32 33 34 35 36 37 38 39
## FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## 40 41 42 43 44 45 46 47 48 49 50 51 52
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## 53 54 55 56 57 58 59 60 61 62 63 64 65
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## 66 67 68 69 70 71 72 73 74 75 76 77 78
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## 79 80 81 82 83 84 85 86 87 88 89 90 91
## FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## 92 93 94 95 96 97 98 99 100
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
mod1 |> ols_plot_resid_lev() En el gráfico de outliers y leverages, se observa que los puntos que se encuentran en las derecha son los leverages, siendo estos quienes tienen la influencia en las variables predictoras. Además, se puede observar la influencia en cada observación de los coeficientes estimados, para la distancia de Cook.
Leverages observados: 9,14,16,29,81,83
D de Cook
(mod1 |> cooks.distance()) > (qf(0.50,k,n-k))## 1 2 3 4 5 6 7 8 9 10 11 12 13
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## 14 15 16 17 18 19 20 21 22 23 24 25 26
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## 27 28 29 30 31 32 33 34 35 36 37 38 39
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## 40 41 42 43 44 45 46 47 48 49 50 51 52
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## 53 54 55 56 57 58 59 60 61 62 63 64 65
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## 66 67 68 69 70 71 72 73 74 75 76 77 78
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## 79 80 81 82 83 84 85 86 87 88 89 90 91
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## 92 93 94 95 96 97 98 99 100
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
mod1|> ols_plot_cooksd_chart() Valores observados: 9,14,29,33,81
DFFITS
data.frame((abs(mod1 |> dffits())) > 2*sqrt(k/n))## X.abs.dffits.mod1......2...sqrt.k.n.
## 1 FALSE
## 2 FALSE
## 3 FALSE
## 4 FALSE
## 5 FALSE
## 6 FALSE
## 7 FALSE
## 8 FALSE
## 9 TRUE
## 10 FALSE
## 11 FALSE
## 12 FALSE
## 13 FALSE
## 14 TRUE
## 15 FALSE
## 16 FALSE
## 17 FALSE
## 18 FALSE
## 19 FALSE
## 20 FALSE
## 21 FALSE
## 22 FALSE
## 23 FALSE
## 24 FALSE
## 25 FALSE
## 26 FALSE
## 27 FALSE
## 28 FALSE
## 29 TRUE
## 30 FALSE
## 31 FALSE
## 32 FALSE
## 33 TRUE
## 34 FALSE
## 35 FALSE
## 36 FALSE
## 37 FALSE
## 38 FALSE
## 39 FALSE
## 40 FALSE
## 41 FALSE
## 42 FALSE
## 43 FALSE
## 44 FALSE
## 45 FALSE
## 46 FALSE
## 47 FALSE
## 48 FALSE
## 49 FALSE
## 50 FALSE
## 51 FALSE
## 52 FALSE
## 53 FALSE
## 54 FALSE
## 55 FALSE
## 56 FALSE
## 57 FALSE
## 58 FALSE
## 59 FALSE
## 60 FALSE
## 61 FALSE
## 62 FALSE
## 63 FALSE
## 64 FALSE
## 65 FALSE
## 66 FALSE
## 67 FALSE
## 68 FALSE
## 69 FALSE
## 70 FALSE
## 71 FALSE
## 72 FALSE
## 73 FALSE
## 74 FALSE
## 75 FALSE
## 76 FALSE
## 77 FALSE
## 78 FALSE
## 79 FALSE
## 80 FALSE
## 81 TRUE
## 82 FALSE
## 83 FALSE
## 84 FALSE
## 85 FALSE
## 86 FALSE
## 87 FALSE
## 88 FALSE
## 89 FALSE
## 90 FALSE
## 91 FALSE
## 92 FALSE
## 93 FALSE
## 94 FALSE
## 95 FALSE
## 96 FALSE
## 97 FALSE
## 98 FALSE
## 99 FALSE
## 100 FALSE
mod1 |> ols_plot_dffits() Valores influenciables observados: 9,14,29,33,81
DEBETAS
mod1|> dfbetas()## (Intercept) x1 x4 x5
## 1 2.586231e-02 -0.006597135 -0.0303538036 -0.0160302170
## 2 1.554639e-02 -0.035808505 -0.0043697327 0.0151392122
## 3 9.149017e-02 -0.113367308 0.0693924426 -0.1031068148
## 4 4.232512e-02 0.018789622 -0.0502685667 -0.0183188514
## 5 2.386535e-02 -0.036914545 -0.0032638812 -0.0104928238
## 6 -3.151681e-02 0.008702567 -0.0289571796 0.0349829507
## 7 6.596863e-02 -0.073737035 0.0480546002 -0.0767475479
## 8 1.192281e-03 -0.006003198 -0.0122922779 0.0195897159
## 9 4.861684e-01 0.777612873 -0.4708006442 -0.9568085030
## 10 -3.583783e-01 0.065402717 0.2317268723 0.1847235618
## 11 -7.399267e-02 0.042337625 0.0285904654 0.0254041058
## 12 7.708875e-02 -0.060951570 -0.0401499330 -0.0068244729
## 13 -2.153235e-03 -0.132635170 -0.0006801735 0.0629524487
## 14 2.020794e-01 0.150587928 -0.1546747619 -0.3085275924
## 15 3.439906e-02 -0.032978495 0.0217417351 -0.0198555511
## 16 1.728741e-03 -0.124592421 -0.1239013529 0.1242826039
## 17 1.722928e-02 -0.146764968 -0.1047206033 0.1093748906
## 18 -3.348423e-02 -0.061491779 0.0980671067 0.0500755355
## 19 -3.080514e-02 -0.064240980 0.0029964184 0.0540513446
## 20 -1.531368e-02 -0.104681215 0.0692334489 0.0678928559
## 21 3.942709e-02 -0.049796441 0.0761652534 -0.0723438222
## 22 6.949664e-02 -0.037228970 -0.0466752610 -0.0196787796
## 23 -1.446040e-01 0.052992992 0.0056304474 0.1059742220
## 24 -1.502515e-02 0.012883057 0.0183529822 0.0042094034
## 25 3.813903e-02 0.032494354 -0.0427952309 -0.0147161624
## 26 -1.784086e-02 -0.026259885 0.0297369453 0.0381279363
## 27 8.454788e-02 -0.036982263 -0.0657991736 -0.0020152411
## 28 6.804157e-05 -0.013793167 0.0171252823 0.0038929679
## 29 8.388086e-01 1.244461011 0.1988770314 -1.6549329230
## 30 -2.477018e-01 0.045133246 0.2391523736 0.0700296871
## 31 -1.718678e-02 -0.008410374 0.0106319033 0.0154916918
## 32 -4.457817e-02 0.019103203 -0.1025079320 0.1241219025
## 33 4.036200e-02 -0.270551048 0.2386404424 0.0619949861
## 34 -1.188563e-02 -0.246991828 -0.0993164060 0.1869116160
## 35 -1.330248e-02 0.003639527 -0.0179296579 0.0189627286
## 36 -1.348762e-01 -0.077279673 0.0838814909 0.1183711386
## 37 -4.688913e-03 0.002876993 0.0031244349 0.0025168678
## 38 5.566175e-03 -0.006476569 -0.0036457776 -0.0016438415
## 39 -3.342706e-03 -0.027691232 0.0646754699 0.0020774991
## 40 -2.991782e-02 -0.006954597 -0.0309431326 0.0447858845
## 41 -1.987377e-02 0.013678849 -0.0178550544 0.0184787548
## 42 -1.107896e-02 -0.046270779 0.0460339704 0.0300739786
## 43 6.104070e-03 0.031942471 -0.0645175598 0.0210623744
## 44 -5.538442e-02 0.036293309 -0.0028631546 0.0573208209
## 45 6.717713e-02 -0.045162877 -0.0480431254 -0.0322679803
## 46 9.154724e-03 0.044423778 0.1444898843 -0.0883753687
## 47 2.586290e-03 -0.008073471 0.0052689762 0.0013061716
## 48 -7.667091e-02 -0.048604671 0.1323733747 0.0808681622
## 49 -5.118346e-03 -0.023923658 -0.0137500271 0.0218836916
## 50 6.250441e-02 -0.144136584 -0.0753913210 0.0894268709
## 51 8.395148e-03 0.002947647 0.0115012571 -0.0219379800
## 52 -7.808409e-03 0.005497693 -0.0771218796 0.0615708300
## 53 -1.413403e-02 0.012725311 -0.0232199300 0.0275789232
## 54 3.058682e-03 -0.003068151 0.0013485778 -0.0035134964
## 55 -1.634712e-01 -0.077334034 0.1344651675 0.1198965988
## 56 9.982065e-03 -0.004521241 -0.0062295077 -0.0033457313
## 57 1.328740e-02 0.035137591 -0.0203573377 -0.0196382878
## 58 4.440523e-02 0.034934579 -0.0608517683 -0.0254927487
## 59 1.987494e-02 -0.077086016 -0.0613238482 0.0830789833
## 60 6.394124e-02 -0.025218261 -0.0629519027 -0.0004659797
## 61 4.443026e-02 -0.018357703 0.0553832707 -0.0919707028
## 62 9.282093e-02 -0.164690818 -0.1151574989 0.0939166332
## 63 -3.545322e-03 0.002879326 -0.0020528918 0.0015426601
## 64 -5.169295e-02 0.009011575 0.0726888756 -0.0238975112
## 65 -4.185802e-02 -0.033498135 -0.0144977675 0.1157654867
## 66 1.810212e-02 -0.151037480 -0.0286669110 0.0636534394
## 67 -8.314375e-03 -0.009754281 -0.0251293659 0.0198965060
## 68 1.771418e-03 0.023976014 0.0055215067 -0.0118692940
## 69 -1.838676e-03 -0.012632852 -0.0090084652 0.0206661858
## 70 -2.368209e-01 0.099902607 0.1410102435 0.0890288049
## 71 -8.074215e-03 -0.003529714 -0.0321572472 0.0223811776
## 72 -9.741608e-03 0.030409813 -0.0198463064 -0.0049198707
## 73 1.443485e-01 -0.040230462 -0.0727893128 -0.0697878715
## 74 2.443032e-02 -0.048040118 -0.0396463762 0.0406223011
## 75 2.075055e-04 -0.002024739 0.0020110333 -0.0007604496
## 76 -7.563946e-03 -0.098510087 0.0417452243 0.0681899397
## 77 -1.759564e-02 0.015019871 -0.0690049185 0.0327303423
## 78 -5.346746e-03 0.011496893 0.0628428096 -0.0083412698
## 79 6.098752e-03 -0.002643728 -0.0027459908 -0.0021668536
## 80 -1.505142e-02 -0.011940743 -0.0008031420 0.0209502582
## 81 -3.138179e-01 0.423901913 0.0263189001 -0.0301496354
## 82 1.418427e-01 -0.030486310 -0.1338677667 -0.1139922512
## 83 3.344486e-02 -0.056529413 -0.0570276252 0.0391709310
## 84 -1.168466e-01 0.027375306 0.0208552511 0.0861643890
## 85 4.511435e-03 -0.006022052 0.0037160997 -0.0070377858
## 86 9.554420e-03 0.002798642 0.0026154739 -0.0039371766
## 87 2.114042e-02 0.004208582 -0.0276606680 -0.0260950832
## 88 -1.511584e-02 0.055139364 0.0534590132 -0.0079010925
## 89 4.638416e-02 -0.061507850 -0.0854738503 0.0524586800
## 90 1.009694e-02 -0.020062702 -0.0182584789 0.0079061323
## 91 -1.644279e-01 0.079942925 0.0483144258 0.1647630871
## 92 -2.776031e-02 -0.034486988 -0.0128938678 0.0451411595
## 93 7.173893e-03 -0.035656628 -0.1023846352 0.0928779554
## 94 -1.161668e-02 -0.025594244 -0.0074376398 0.0448225763
## 95 -3.421713e-02 -0.049824685 0.0185069006 0.0445084753
## 96 1.857108e-02 -0.042999659 0.0836673680 -0.0126631610
## 97 -2.058904e-02 -0.001375382 -0.0129674972 0.0236310044
## 98 1.361243e-02 0.000951932 0.0029102271 -0.0137269100
## 99 -1.275905e-01 0.099389366 0.0739416414 0.0748648531
## 100 -1.180577e-01 0.028170462 0.0848520001 0.0506178400
data.frame((abs(mod1 |> dfbetas())) > 2/sqrt(n))## X.Intercept. x1 x4 x5
## 1 FALSE FALSE FALSE FALSE
## 2 FALSE FALSE FALSE FALSE
## 3 FALSE FALSE FALSE FALSE
## 4 FALSE FALSE FALSE FALSE
## 5 FALSE FALSE FALSE FALSE
## 6 FALSE FALSE FALSE FALSE
## 7 FALSE FALSE FALSE FALSE
## 8 FALSE FALSE FALSE FALSE
## 9 TRUE TRUE TRUE TRUE
## 10 TRUE FALSE TRUE FALSE
## 11 FALSE FALSE FALSE FALSE
## 12 FALSE FALSE FALSE FALSE
## 13 FALSE FALSE FALSE FALSE
## 14 TRUE FALSE FALSE TRUE
## 15 FALSE FALSE FALSE FALSE
## 16 FALSE FALSE FALSE FALSE
## 17 FALSE FALSE FALSE FALSE
## 18 FALSE FALSE FALSE FALSE
## 19 FALSE FALSE FALSE FALSE
## 20 FALSE FALSE FALSE FALSE
## 21 FALSE FALSE FALSE FALSE
## 22 FALSE FALSE FALSE FALSE
## 23 FALSE FALSE FALSE FALSE
## 24 FALSE FALSE FALSE FALSE
## 25 FALSE FALSE FALSE FALSE
## 26 FALSE FALSE FALSE FALSE
## 27 FALSE FALSE FALSE FALSE
## 28 FALSE FALSE FALSE FALSE
## 29 TRUE TRUE FALSE TRUE
## 30 TRUE FALSE TRUE FALSE
## 31 FALSE FALSE FALSE FALSE
## 32 FALSE FALSE FALSE FALSE
## 33 FALSE TRUE TRUE FALSE
## 34 FALSE TRUE FALSE FALSE
## 35 FALSE FALSE FALSE FALSE
## 36 FALSE FALSE FALSE FALSE
## 37 FALSE FALSE FALSE FALSE
## 38 FALSE FALSE FALSE FALSE
## 39 FALSE FALSE FALSE FALSE
## 40 FALSE FALSE FALSE FALSE
## 41 FALSE FALSE FALSE FALSE
## 42 FALSE FALSE FALSE FALSE
## 43 FALSE FALSE FALSE FALSE
## 44 FALSE FALSE FALSE FALSE
## 45 FALSE FALSE FALSE FALSE
## 46 FALSE FALSE FALSE FALSE
## 47 FALSE FALSE FALSE FALSE
## 48 FALSE FALSE FALSE FALSE
## 49 FALSE FALSE FALSE FALSE
## 50 FALSE FALSE FALSE FALSE
## 51 FALSE FALSE FALSE FALSE
## 52 FALSE FALSE FALSE FALSE
## 53 FALSE FALSE FALSE FALSE
## 54 FALSE FALSE FALSE FALSE
## 55 FALSE FALSE FALSE FALSE
## 56 FALSE FALSE FALSE FALSE
## 57 FALSE FALSE FALSE FALSE
## 58 FALSE FALSE FALSE FALSE
## 59 FALSE FALSE FALSE FALSE
## 60 FALSE FALSE FALSE FALSE
## 61 FALSE FALSE FALSE FALSE
## 62 FALSE FALSE FALSE FALSE
## 63 FALSE FALSE FALSE FALSE
## 64 FALSE FALSE FALSE FALSE
## 65 FALSE FALSE FALSE FALSE
## 66 FALSE FALSE FALSE FALSE
## 67 FALSE FALSE FALSE FALSE
## 68 FALSE FALSE FALSE FALSE
## 69 FALSE FALSE FALSE FALSE
## 70 TRUE FALSE FALSE FALSE
## 71 FALSE FALSE FALSE FALSE
## 72 FALSE FALSE FALSE FALSE
## 73 FALSE FALSE FALSE FALSE
## 74 FALSE FALSE FALSE FALSE
## 75 FALSE FALSE FALSE FALSE
## 76 FALSE FALSE FALSE FALSE
## 77 FALSE FALSE FALSE FALSE
## 78 FALSE FALSE FALSE FALSE
## 79 FALSE FALSE FALSE FALSE
## 80 FALSE FALSE FALSE FALSE
## 81 TRUE TRUE FALSE FALSE
## 82 FALSE FALSE FALSE FALSE
## 83 FALSE FALSE FALSE FALSE
## 84 FALSE FALSE FALSE FALSE
## 85 FALSE FALSE FALSE FALSE
## 86 FALSE FALSE FALSE FALSE
## 87 FALSE FALSE FALSE FALSE
## 88 FALSE FALSE FALSE FALSE
## 89 FALSE FALSE FALSE FALSE
## 90 FALSE FALSE FALSE FALSE
## 91 FALSE FALSE FALSE FALSE
## 92 FALSE FALSE FALSE FALSE
## 93 FALSE FALSE FALSE FALSE
## 94 FALSE FALSE FALSE FALSE
## 95 FALSE FALSE FALSE FALSE
## 96 FALSE FALSE FALSE FALSE
## 97 FALSE FALSE FALSE FALSE
## 98 FALSE FALSE FALSE FALSE
## 99 FALSE FALSE FALSE FALSE
## 100 FALSE FALSE FALSE FALSE
mod1 |> ols_plot_dfbetas()Valores influenciables observados: 9,10,14,29,30,34,70,81
En conclusión esto sirvió para conocer la influencia de las observaciones en los estimadores.
datos1<-datos[-c(9,29,81,14),]
modelo2<-lm(y~x1+x4+x5,data=datos1)
summary(modelo2)##
## Call:
## lm(formula = y ~ x1 + x4 + x5, data = datos1)
##
## Residuals:
## Min 1Q Median 3Q Max
## -6.2409 -1.0254 -0.2618 1.2634 5.2424
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 31.88110 0.77858 40.948 <2e-16 ***
## x1 -2.84510 0.09282 -30.650 <2e-16 ***
## x4 -0.24811 0.07673 -3.233 0.0017 **
## x5 0.95519 0.01242 76.913 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 2.194 on 92 degrees of freedom
## Multiple R-squared: 0.9849, Adjusted R-squared: 0.9844
## F-statistic: 1995 on 3 and 92 DF, p-value: < 2.2e-16
Utilizando los resultados de la regresión, observamos que las variables independientes explican en 98% la variación de las calificaciones de las pruebas estandarizadas, el estadístico F también indica que el modelo es significativo.
ei<-modelo2$residuals # Cálculo de los residualesVerificamos la normalidad de los errores a través de los residuales estableciendo dos hipótesis con un nivel de significancia del 5%:
Ho: Los errores presentan una distribución normal
H1: Los errores no presentan una distribución normal
shapiro.test(ei)##
## Shapiro-Wilk normality test
##
## data: ei
## W = 0.99148, p-value = 0.8034
jarque.bera.test(ei)##
## Jarque Bera Test
##
## data: ei
## X-squared = 0.13697, df = 2, p-value = 0.9338
ad.test(ei)##
## Anderson-Darling normality test
##
## data: ei
## A = 0.35343, p-value = 0.4575
Observamos que el valor del p-value ha aumentado en los 3 casos, al punto de tener valores mayores, en comparación al nivel de significancia establecido(0.05), concluyendo que los errores presentan una distribución normal en los 3 casos.
Análisis en gráfico
(modelo2 |> resid() -> residual)data.frame(residual) |>
ggplot(aes(sample=residual))+
stat_qq(size = 2) +
stat_qq_line(distribution = stats::qnorm)+
labs(x = "Cuantil teórico",
y = "Residuales")+
theme_minimal()Gráficamente podemos ver que en comparación con la gráfica anterior( antes de retirar observaciones), que en este caso los residuales cambian ligeramente apegándose un poco más en las colas a la línea de tendencia.
Ho: Los errores de la regresión tienen varianza constante.
Ha: Los errores de la regresión no tienen varianza constante
bptest(modelo2)##
## studentized Breusch-Pagan test
##
## data: modelo2
## BP = 1.359, df = 3, p-value = 0.7152
El p-valor de la prueba de Breusch-Pagan test obtenido es mayor al nivel de significancia establecido del 0.05, por lo tanto no se rechaza la hipótesis nula, es decir que se sigue cumpliendo el supuesto de homocedasticidad.
Análisis en gráfico
y_est<-modelo2$fitted.values
dato<-data.frame(datos1,y_est,residual)
g2<-ggplot(dato,aes(x=y_est,y=residual))+
geom_point(size=3.5)+
geom_hline(yintercept = 0,col="red",linetype="dashed")+
xlab("Valores ajustados")+ylab("Residuales") +
ggtitle("Residuales vs Valores ajustados") +
theme_bw()
g2En el gráfico se observa que la dispersión de los puntos tiene una dispersión de puntos similares en la línea roja.
Con un nivel de significancia del 0.05, lo que se evalúa que se cumpla en primera instancia es:
Ho: ρ=0(Los errores son independientes)
H1: ρ≠0(Los errores no son independientes)
dwtest(modelo2,alternative =c("two.sided"))##
## Durbin-Watson test
##
## data: modelo2
## DW = 2.2338, p-value = 0.2566
## alternative hypothesis: true autocorrelation is not 0
Se tiene un p-value = 0.2566, esto quiere decir que al tener un p value alto y mayor a 0.05, se concluye no rechazar Ho. Es decir los errores no presentan autocorrelación, por lo tanto se sigue cumpliendo la independencia.
Análisis en gráfico
library(ggfortify)
residual |>
TSA::acf(lag = 18, plot=F) |>
autoplot() +
labs(x = "Desfase",y = "Autocorrelación") +
theme_minimal()Se observa en el gráfico que ninguna de las autocorrelaciones se salen de los límites de confianza, por lo tanto se sigue cumpliendo la independencia según el gráfico.
Esta prueba más que comprobar la linealidad de los errores, comprueba la linealidad del modelo con un nivel de significancia del 0.05.
library(gvlma)
modelo2 |> gvlma() |> summary()##
## Call:
## lm(formula = y ~ x1 + x4 + x5, data = datos1)
##
## Residuals:
## Min 1Q Median 3Q Max
## -6.2409 -1.0254 -0.2618 1.2634 5.2424
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 31.88110 0.77858 40.948 <2e-16 ***
## x1 -2.84510 0.09282 -30.650 <2e-16 ***
## x4 -0.24811 0.07673 -3.233 0.0017 **
## x5 0.95519 0.01242 76.913 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 2.194 on 92 degrees of freedom
## Multiple R-squared: 0.9849, Adjusted R-squared: 0.9844
## F-statistic: 1995 on 3 and 92 DF, p-value: < 2.2e-16
##
##
## ASSESSMENT OF THE LINEAR MODEL ASSUMPTIONS
## USING THE GLOBAL TEST ON 4 DEGREES-OF-FREEDOM:
## Level of Significance = 0.05
##
## Call:
## gvlma(x = modelo2)
##
## Value p-value Decision
## Global Stat 3.46357 0.48344 Assumptions acceptable.
## Skewness 0.01949 0.88898 Assumptions acceptable.
## Kurtosis 0.11749 0.73178 Assumptions acceptable.
## Link Function 2.89549 0.08883 Assumptions acceptable.
## Heteroscedasticity 0.43110 0.51145 Assumptions acceptable.
Se considera que todas las pruebas cumplen satisfactoriamente.
El mejor modelo se asume a la relación entre el promedio de puntuaciones anteriores con horas de sueño, cuestionarios practicados y el indice de desempeño. (y~x1+x4+x5)
Se identificaron y retiraron 4 valores influenciales que afectan al modelo, logrando así mejorar el supuesto de normalidad y linealidad.
Se logra establecer en los supuestos que los residuales se ajustan a la línea de regresión.
El 95.64% de la variabilidad del promedio de calificaciones anteriores es explicada por las variables horas de sueño, cuestionarios resueltos e índice de desempeño. Para este caso en particular notamos que el R2.
La predicción de las puntuaciones anteriores para estudiantes con 9 horas de estudio, 6 horas de sueño y con un indíce de desempeño de 89, es 89.35064.
Amy. (2023, 9 diciembre). Se desploma rendimiento escolar en países de Europa. JP+ Noticias de Nicaragua y el mundo. https://jpmas.com.ni/se-desploma-rendimiento-escolar-en-paises-de-europa/
La Referencia (2008).Relación entre la autoeficacia y el rendimiento escolar y los hábitos de estudio en alumnos de secundaria https://www.lareferencia.info/vufind/Record/ES_e94ee740422a835a1a70bdcbb2516ce2
Rendimiento académico y deserción de estudiantes universitarios de un curso en modalidad virtual y presencial. (2021, March 14). Redalyc. Retrieved December 19, 2023, from https://www.redalyc.org/journal/3314/331466109011/331466109011.pdf
Valdivieso Miranda, M. A., Burbano Pantoja, V. M., & Burbano Valdivieso, Á. S. (2020, 11 5). Percepción de estudiantes universitarios colombianos sobre el efecto del confinamiento por el coronavirus, y su rendimiento académico. Espacios. https://revistaespacios.com/a20v41n42/a20v41n42p23.pdf
VARIABLES ACADÉMICAS QUE INFLUYEN EN EL RENDIMIENTO ACADÉMICO DE LOS ESTUDIANTES UNIVERSITARIOS1. (2012, January 20). felipe supo. Retrieved December 19, 2023, from https://sisbib.unmsm.edu.pe/bibvirtual/publicaciones/inv_educativa/2011_n27/a11v15n27.pdf