TRABAJO DE INVESTIGACIÓN

UNIVERSIDAD NACIONAL AGRARIA LA MOLINA

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

DEDICATORIA

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.

AGRADECIMIENTO

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.

1. PLANTEAMIENTO DEL PROBLEMA

Descripción del problema

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.

Preguntas de investigación

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

  1. ¿Existen valores influenciales que afecten al modelo de regresión?

  2. ¿Los residuales se ajustan a la línea de regresión al establecer los supuestos en el modelo?

  3. ¿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?

  4. ¿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?

2. MARCO TEÓRICO

Antecedentes

Antecedentes Internacionales

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.

Antecedentes Nacionales

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.

Bases teóricos-científicos

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.

3. OBJETIVOS

Objetivo general

  • Determinar el 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.

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.

4. HIPÓTESIS

En base a las preguntas de investigación formuladas, presentamos las siguientes hipótesis:

Hipótesis global

  • Existe un modelo de regresión eficiente que demuestra la relación significativa de las variables que influyen con el promedio de puntuaciones anteriores en estudiantes encuestados de India en 2023.

Hipótesis específicas

  • 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.

5. METODOLOGÍA

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.

Variables predictoras

Variable respuesta

Población

Todos los estudiantes de la ciudad Rourkela de India en el año 2023.

Muestra

100 estudiantes de la ciudad Rourkela de India en el año 2023.

Procedimiento

Descripción de los pasos previos para llegar el resultado.

Paquetes y funciones de R

library(broom)
library(tidyverse)
library(olsrr)
library(GGally)
library(car)
library(nortest)
library(tseries)
library(lmtest)
library(corrplot)
library(PerformanceAnalytics)
library(GGally)
library(readxl)

Lectura de datos

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

6. RESULTADOS

  • Planteamiento del modelo

    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.

    Selección de variables

    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).

    Detección de multicolinealidad

    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.

    • Comprobando con todos estos puntos, se observa que no hay multicolinealidad con nuestro modelo seleccionado(mod1).

    Estimación puntual de parámetros

    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.

    Coeficiente de ajuste

    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.

    Predicción individual

    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

    Comprobación de los supuestos

    ei<-mod1$residuals # Cálculo de los residuales
    • Normalidad

    Verificamos 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.

    • Homocedastecidad

    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()
    g

    • Independencia de errores

    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(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.

    • Linealidad

    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.

    Valores influenciales y outliers

    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.

    Eliminando las observaciones con mayor frecuencia:

    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.

    Comprobación de los supuestos

    ei<-modelo2$residuals # Cálculo de los residuales
    • Normalidad

    Verificamos 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.

    • Homocedastecidad

    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()
    g2

    En el gráfico se observa que la dispersión de los puntos tiene una dispersión de puntos similares en la línea roja.

    • Independencia de errores

    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.

    • Linealidad

    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.

7. CONCLUSIONES

  • 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.

8. REFERENCIAS