Ejercicio prueba de normalidad 2 Jefferson Eliezer Ventura Martinez

library(wooldridge) #para los datos
data(hprice1) # carga del data set
head(force(hprice1),n=5) #mostrar las primeras 5 observaciones 
##   price assess bdrms lotsize sqrft colonial   lprice  lassess llotsize   lsqrft
## 1   300  349.1     4    6126  2438        1 5.703783 5.855359 8.720297 7.798934
## 2   370  351.5     3    9903  2076        1 5.913503 5.862210 9.200593 7.638198
## 3   191  217.7     3    5200  1374        0 5.252274 5.383118 8.556414 7.225482
## 4   195  231.8     3    4600  1448        1 5.273000 5.445875 8.433811 7.277938
## 5   373  319.1     4    6095  2514        1 5.921578 5.765504 8.715224 7.829630

1. Estimacion del modelo

# Modelo lineal: price = α + β1*lotsize + β2*sqrft + β3*bdrms + ε
modelo <- lm(price ~ lotsize + sqrft + bdrms, data = hprice1)

# Resumen del modelo
summary(modelo)
## 
## Call:
## lm(formula = price ~ lotsize + sqrft + bdrms, data = hprice1)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -120.026  -38.530   -6.555   32.323  209.376 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -2.177e+01  2.948e+01  -0.739  0.46221    
## lotsize      2.068e-03  6.421e-04   3.220  0.00182 ** 
## sqrft        1.228e-01  1.324e-02   9.275 1.66e-14 ***
## bdrms        1.385e+01  9.010e+00   1.537  0.12795    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 59.83 on 84 degrees of freedom
## Multiple R-squared:  0.6724, Adjusted R-squared:  0.6607 
## F-statistic: 57.46 on 3 and 84 DF,  p-value: < 2.2e-16

2. Pruebas de normalidad

Prueba de Jarque-Bera

# Cargamos la librería tseries, que contiene la función jarque.bera.test()
library(tseries)
## Registered S3 method overwritten by 'quantmod':
##   method            from
##   as.zoo.data.frame zoo
# Aplicamos la prueba de Jarque-Bera sobre los residuos del modelo estimado
salida_JB <- jarque.bera.test(modelo$residuals)

# Mostramos los resultados de la prueba
salida_JB
## 
##  Jarque Bera Test
## 
## data:  modelo$residuals
## X-squared = 32.278, df = 2, p-value = 9.794e-08
# Cargamos la librería fastGraph para graficar la distribución chi-cuadrado
library(fastGraph)

# Nivel de significancia (5%)
alpha_sig <- 0.05

# Extraemos el estadístico de la prueba JB
JB <- salida_JB$statistic

# Extraemos los grados de libertad de la prueba (2, por definición de JB)
gl <- salida_JB$parameter

# Calculamos el valor crítico de la distribución chi-cuadrado con gl grados de libertad
VC <- qchisq(1 - alpha_sig, df = gl, lower.tail = TRUE)

# Graficamos el área de rechazo (cola derecha) bajo la distribución chi-cuadrado
shadeDist(JB, ddist = "dchisq",
          parm1 = gl,           # grados de libertad
          lower.tail = FALSE,  # sombrear cola derecha
          xmin = 0,            # desde cero en el eje x
          sub = paste("VC:", round(VC, 2), " | JB:", round(JB, 2)))  # título con valores

## Prueba de normalidad de Kolmogorov-Smirnov-Lilliefors

# Carga la librería dplyr para manipulación de datos.
library(dplyr)
# Carga la librería gt para la creación de tablas en formato HTML.
library(gt) 
# Carga la librería gtExtras que contiene funciones adicionales para la librería gt.
library(gtExtras) 
# Se asigna a la variable residuos los residuos del objeto modelo_price.
residuos<- modelo$residuals 
# Es un operador de canalización (pipe) que permite encadenar varias funciones aplicadas a un objeto.
residuos %>% 
# Convierte el vector residuos en un tibble para su posterior manipulación.
  as_tibble() %>% 
# Agrega una columna Position que indica la posición de cada residuo en el vector.
  mutate(Position=row_number()) %>% 
#  Ordena los residuos por valor.
    arrange(value) %>% 
# Agrega una columna dist1 que contiene la distancia acumulada relativa para cada residuo.
    mutate(dist1=row_number()/n())%>% 
# Agrega una columna dist2 que contiene la distancia acumulada relativa ajustada para cada residuo.
    mutate(dist2=(row_number()-1)/n()) %>% 
# Agrega una columna zi que contiene los residuos estandarizados.
     mutate(zi=as.vector(scale(value,center=TRUE))) %>% 
#  Agrega una columna pi que contiene la función de distribución acumulada normal para cada residuo.
  mutate(pi=pnorm(zi,lower.tail = TRUE)) %>% 
# Agrega una columna dif1 que contiene la diferencia absoluta entre las distancias acumuladas relativas y la ECDF.
  mutate(dif1=abs(dist1-pi)) %>% 
# Agrega una columna dif2 que contiene la diferencia absoluta entre las distancias acumuladas relativas ajustadas y la ECDF.
  mutate(dif2=abs(dist2-pi)) %>% 
# Cambia el nombre de la columna value por residuales y Asigna el resultado final al objeto tabla_KS.
   rename(residuales=value) -> tabla_KS 
# tabla_KSes el objeto de la tabla generado previamente. El %>% se utiliza para encadenar funciones y pasar el objeto tabla_KS a la función gt() .   
 tabla_KS %>% 
# Se utiliza para crear una tabla de gt a partir de un dataframe
  gt() %>%  
# Se aplica la función tab_header para crear un encabezado en la tabla. 
  tab_header("Tabla para calcular el Estadistico KS") %>%  
# Esta línea se utiliza para agregar una nota de fuente a la tabla. tab_source_note se utiliza para agregar una nota de fuente debajo de la tabla y source_note se utiliza para especificar el contenido de la nota de fuente.
    tab_source_note(source_note = "Fuente: Elaboración propia") %>% 
# Esta línea se utiliza para aplicar un estilo específico a las celdas que cumplen ciertos criterios.

# se utiliza para aplicar estilos a la tabla
  tab_style(  
# se utiliza para especificar los estilos a aplicar a las celdas.
    style = list(
# se utiliza para especificar el color de fondo de la celda
      cell_fill(color = "#00FFFF"),  
# se utiliza para especificar el estilo del texto en la celda.
      cell_text(style = "italic")  
      ),
# se utiliza para especificar las celdas en las que se aplicarán los estilos.
# cells_body se utiliza para especificar que se aplicarán estilos a las celdas del cuerpo de la tabla.
    locations = cells_body( 
# se utiliza para especificar las columnas en las que se aplicarán los estilos
      columns = dif1, 
# se utiliza para especificar las filas en las que se aplicarán los estilos.
# En este caso, se especifica que se aplicarán estilos a las celdas de la columna dif1 donde el valor de la fila sea igual al valor máximo de dif1.
      rows = dif1==max(dif1)  
    )) %>%
# Esta línea es similar a la línea anterior, pero se aplica a las celdas de la columna dif2 donde el valor de la fila es igual al valor máximo de dif2. Se especifica que el color de fondo de la celda y el estilo del texto es itálico.
   tab_style( 
    style = list(
      cell_fill(color = "#FF00FF"),  
      cell_text(style = "italic")  
      ),
    locations = cells_body(  
      columns = dif2,  
      rows = dif2==max(dif2)  
    ))
Tabla para calcular el Estadistico KS
residuales Position dist1 dist2 zi pi dif1 dif2
-120.026447 81 0.01136364 0.00000000 -2.041515459 0.02059981 0.0092361731 0.0205998094
-115.508697 77 0.02272727 0.01136364 -1.964673586 0.02472601 0.0019987418 0.0133623781
-107.080889 24 0.03409091 0.02272727 -1.821326006 0.03427866 0.0001877487 0.0115513850
-91.243980 48 0.04545455 0.03409091 -1.551957925 0.06033615 0.0148816002 0.0262452366
-85.461169 12 0.05681818 0.04545455 -1.453598781 0.07302879 0.0162106057 0.0275742421
-77.172687 32 0.06818182 0.05681818 -1.312620980 0.09465535 0.0264735301 0.0378371665
-74.702719 54 0.07954545 0.06818182 -1.270609602 0.10193378 0.0223883300 0.0337519664
-65.502849 39 0.09090909 0.07954545 -1.114130117 0.13261169 0.0417025941 0.0530662305
-63.699108 69 0.10227273 0.09090909 -1.083450505 0.13930425 0.0370315271 0.0483951634
-62.566594 83 0.11363636 0.10227273 -1.064187703 0.14362184 0.0299854747 0.0413491110
-59.845223 36 0.12500000 0.11363636 -1.017900230 0.15436269 0.0293626861 0.0407263225
-54.466158 13 0.13636364 0.12500000 -0.926408352 0.17711690 0.0407532663 0.0521169027
-54.300415 14 0.14772727 0.13636364 -0.923589260 0.17785010 0.0301228311 0.0414864675
-52.129801 15 0.15909091 0.14772727 -0.886669532 0.18762842 0.0285375141 0.0399011505
-51.441108 17 0.17045455 0.15909091 -0.874955638 0.19079902 0.0203444766 0.0317081129
-48.704980 47 0.18181818 0.17045455 -0.828417174 0.20371714 0.0218989601 0.0332625965
-48.350295 29 0.19318182 0.18181818 -0.822384375 0.20542908 0.0122472664 0.0236109028
-47.855859 11 0.20454545 0.19318182 -0.813974573 0.20782976 0.0032843043 0.0146479407
-45.639765 1 0.21590909 0.20454545 -0.776281294 0.21879146 0.0028823668 0.0142460032
-43.142550 9 0.22727273 0.21590909 -0.733806463 0.23153335 0.0042606233 0.0156242596
-41.749618 57 0.23863636 0.22727273 -0.710114247 0.23881665 0.0001802823 0.0115439187
-40.869022 27 0.25000000 0.23863636 -0.695136302 0.24348494 0.0065150566 0.0048485798
-37.749811 34 0.26136364 0.25000000 -0.642082009 0.26040997 0.0009536682 0.0104099682
-36.663785 71 0.27272727 0.26136364 -0.623609925 0.26644190 0.0062853771 0.0050782592
-36.646568 79 0.28409091 0.27272727 -0.623317083 0.26653809 0.0175528221 0.0061891857
-33.801248 37 0.29545455 0.28409091 -0.574921384 0.28267223 0.0127823120 0.0014186757
-29.766931 16 0.30681818 0.29545455 -0.506302171 0.30632227 0.0004959124 0.0108677240
-26.696234 22 0.31818182 0.30681818 -0.454073044 0.32488813 0.0067063089 0.0180699452
-24.271531 23 0.32954545 0.31818182 -0.412831567 0.33986501 0.0103195566 0.0216831929
-23.651448 86 0.34090909 0.32954545 -0.402284648 0.34373728 0.0028281851 0.0141918214
-19.683427 88 0.35227273 0.34090909 -0.334793052 0.36889060 0.0166178738 0.0279815102
-17.817835 10 0.36363636 0.35227273 -0.303061413 0.38092153 0.0172851663 0.0286488027
-16.762094 60 0.37500000 0.36363636 -0.285104441 0.38778206 0.0127820638 0.0241457002
-16.596960 21 0.38636364 0.37500000 -0.282295711 0.38885839 0.0024947507 0.0138583870
-16.271207 58 0.39772727 0.38636364 -0.276755010 0.39098411 0.0067431583 0.0046204781
-13.815798 56 0.40909091 0.39772727 -0.234991254 0.40710776 0.0019831485 0.0093804879
-13.462160 75 0.42045455 0.40909091 -0.228976273 0.40944368 0.0110108666 0.0003527698
-12.081520 4 0.43181818 0.42045455 -0.205493119 0.41859344 0.0132247451 0.0018611087
-11.629207 51 0.44318182 0.43181818 -0.197799788 0.42160086 0.0215809622 0.0102173258
-11.312669 74 0.45454545 0.44318182 -0.192415834 0.42370825 0.0308372092 0.0194735728
-8.236558 3 0.46590909 0.45454545 -0.140094626 0.44429261 0.0216164775 0.0102528411
-7.662789 70 0.47727273 0.46590909 -0.130335452 0.44815052 0.0291222111 0.0177585748
-6.752801 67 0.48863636 0.47727273 -0.114857588 0.45427900 0.0343573625 0.0229937262
-6.707262 31 0.50000000 0.48863636 -0.114083016 0.45458599 0.0454140074 0.0340503710
-6.402439 85 0.51136364 0.50000000 -0.108898313 0.45664157 0.0547220642 0.0433584278
-5.446904 82 0.52272727 0.51136364 -0.092645733 0.46309251 0.0596347676 0.0482711313
-3.537785 43 0.53409091 0.52272727 -0.060173762 0.47600862 0.0580822876 0.0467186512
-2.824941 61 0.54545455 0.53409091 -0.048049090 0.48083856 0.0646159857 0.0532523493
-2.745208 68 0.55681818 0.54545455 -0.046692922 0.48137899 0.0754391961 0.0640755598
-0.195089 65 0.56818182 0.55681818 -0.003318245 0.49867621 0.0695056040 0.0581419676
1.399296 55 0.57954545 0.56818182 0.023800450 0.50949411 0.0700513452 0.0586877088
5.363331 26 0.59090909 0.57954545 0.091224254 0.53634280 0.0545662924 0.0432026561
6.700640 53 0.60227273 0.59090909 0.113970383 0.54536936 0.0569033628 0.0455397265
7.386314 80 0.61363636 0.60227273 0.125632935 0.54998875 0.0636476093 0.0522839730
9.099900 41 0.62500000 0.61363636 0.154779103 0.56150227 0.0634977329 0.0521340965
12.433611 46 0.63636364 0.62500000 0.211481796 0.58374433 0.0526193043 0.0412556680
16.718018 62 0.64772727 0.63636364 0.284354766 0.61193074 0.0357965328 0.0244328965
18.093192 5 0.65909091 0.64772727 0.307744934 0.62086179 0.0382291219 0.0268654856
18.801816 38 0.67045455 0.65909091 0.319797835 0.62543921 0.0450153400 0.0336517036
19.168108 33 0.68181818 0.67045455 0.326028052 0.62779843 0.0540197476 0.0426561112
19.219211 72 0.69318182 0.68181818 0.326897255 0.62812720 0.0650546167 0.0536909803
20.334434 59 0.70454545 0.69318182 0.345865960 0.63527827 0.0692671805 0.0579035442
24.909926 78 0.71590909 0.70454545 0.423689939 0.66410402 0.0518050676 0.0404414312
26.236229 40 0.72727273 0.71590909 0.446248874 0.67229126 0.0549814685 0.0436178321
30.924022 25 0.73863636 0.72727273 0.525982978 0.70054998 0.0380863808 0.0267227444
32.253952 45 0.75000000 0.73863636 0.548603608 0.70836125 0.0416387548 0.0302751184
32.529367 49 0.76136364 0.75000000 0.553288104 0.70996693 0.0513967091 0.0400330727
32.675968 18 0.77272727 0.76136364 0.555781630 0.71081993 0.0619073452 0.0505437088
33.275839 20 0.78409091 0.77272727 0.565984762 0.71429793 0.0697929786 0.0584293423
36.031430 52 0.79545455 0.78409091 0.612854281 0.73001365 0.0654408934 0.0540772571
37.147186 84 0.80681818 0.79545455 0.631832029 0.73625168 0.0705665028 0.0592028664
40.320875 7 0.81818182 0.80681818 0.685812928 0.75358446 0.0645973596 0.0532337232
44.334467 30 0.82954545 0.81818182 0.754079634 0.77459930 0.0549461574 0.0435825211
46.907165 28 0.84090909 0.82954545 0.797838357 0.78751785 0.0533912405 0.0420276041
54.418366 87 0.85227273 0.84090909 0.925595465 0.82267187 0.0296008528 0.0182372164
55.091131 35 0.86363636 0.85227273 0.937038450 0.82563061 0.0380057535 0.0266421172
55.470305 44 0.87500000 0.86363636 0.943487765 0.82728426 0.0477157353 0.0363520989
62.939597 6 0.88636364 0.87500000 1.070532059 0.85781006 0.0285535797 0.0171899433
66.478628 50 0.89772727 0.88636364 1.130727018 0.87091500 0.0268122757 0.0154486394
67.426518 63 0.90909091 0.89772727 1.146849569 0.87427810 0.0348128083 0.0234491719
67.603959 19 0.92045455 0.90909091 1.149867648 0.87490081 0.0455537393 0.0341901029
69.707122 64 0.93181818 0.92045455 1.185640095 0.88211777 0.0497004123 0.0383367759
69.843246 8 0.94318182 0.93181818 1.187955411 0.88257451 0.0606073068 0.0492436705
74.848732 2 0.95454545 0.94318182 1.273093116 0.89850750 0.0560379553 0.0446743189
112.729191 66 0.96590909 0.95454545 1.917397313 0.97240626 0.0064971714 0.0178608078
163.795081 73 0.97727273 0.96590909 2.785970904 0.99733162 0.0200588896 0.0314225260
198.660139 42 0.98863636 0.97727273 3.378986513 0.99963623 0.0109998685 0.0223635048
209.375830 76 1.00000000 0.98863636 3.561248407 0.99981545 0.0001845478 0.0111790885
Fuente: Elaboración propia

Calculo del Estadistico D

# Obtenemos el valor D, que es el máximo entre las dos diferencias
D <- max(max(tabla_KS$dif1), max(tabla_KS$dif2))

# Mostramos el valor de D
print(D)
## [1] 0.0754392

Valor critico de la tabla de Lilliefors

# Definir los valores
valor <- 0.875897
n <- 88

# Calcular el nivel de significancia
resultado <- valor / sqrt(n)

# Imprimir el resultado
resultado
## [1] 0.09337093

Conclusion: En este caso dado que 0.0933709> 0.0754392 no se rechaza la Hipótesis Nula: ϵ∼N(0,σ2) , por lo que hay evidencia los residuos siguen una distribución normal.

Prueba de Shapiro Wilk

# Carga el paquete dplyr que se utiliza para manipulación de datos y filtrado.
library(dplyr)
# Carga el paquete gt que se utiliza para crear tablas con formato
library(gt)
# Crea un objeto llamado 'residuos' que contiene los residuos del modelo 'modelo_price'.
residuos<-modelo$residuals
# Usa el operador pipe (%>%) para pasar el objeto 'residuos' a la siguiente línea.
residuos %>%  
# Convierte el objeto 'residuos' a un tibble y pasa el resultado a la siguiente línea.
  as_tibble() %>%
# Renombra la columna 'residuos' como 'value' y pasa el resultado a la siguiente línea.
  rename(residuales=value) %>%
# Ordena el tibble en orden ascendente por la columna 'residuales' y pasa el resultado a la siguiente línea.
  arrange(residuales) %>%
# Calcula la probabilidad empírica para cada residuo y lo almacena en la columna 'pi', y pasa el resultado a la siguiente línea.
  mutate(pi=(row_number()-0.375)/(n()+0.25)) %>%
# Calcula el cuantil teórico normal para cada probabilidad empírica y lo almacena en la columna 'mi', y pasa el resultado a la siguiente línea.
  mutate(mi=qnorm(pi,lower.tail = TRUE)) %>%
# Crea una nueva columna 'ai' con valor cero en todo el tibble y guarda el resultado en un objeto llamado 'tabla_SW'.
  mutate(ai=0)->tabla_SW
# Calcula la suma de los cuadrados de los cuantiles teóricos normalizados y lo almacena en una variable 'm'.
m<-sum(tabla_SW$mi^2)
# Obtiene el número de filas de la tabla 'hprice1' y lo almacena en la variable 'n'.
n<-nrow(hprice1)
# Calcula un valor constante 'theta' y lo almacena en la variable.
theta<-1/sqrt(n)
# Calcula el valor de 'ai' para la última fila de la tabla y lo almacena en la columna 'ai[n]'.
tabla_SW$ai[n]<- -2.706056*theta^5+4.434685*theta^4-2.071190*theta^3-0.147981*theta^2+0.2211570*theta+tabla_SW$mi[n]/sqrt(m)
# Calcula el valor de 'ai' para la penúltima fila de la tabla y lo almacena en la columna 'ai[n-1]'.
tabla_SW$ai[n-1]<- -3.582633*theta^5+5.682633*theta^4-1.752461*theta^3-0.293762*theta^2+0.042981*theta+tabla_SW$mi[88-1]/sqrt(m)
# se calcula el valor de ai para el primer caso extremo y se guarda en la tabla_SW
tabla_SW$ai[1]<- -tabla_SW$ai[n]
# se calcula el valor de ai para el segundo caso extremo y se guarda en la tabla_SW
tabla_SW$ai[2]<- -tabla_SW$ai[n-1]
# se calcula el valor de omega
omega<-(m-2*tabla_SW$mi[n]^2-2*tabla_SW$mi[n-1]^2)/(1-2*tabla_SW$ai[n]^2-2*tabla_SW$ai[n-1]^2)
# se calcula el valor de ai para los casos intermedios y se guarda en la tabla_SW
tabla_SW$ai[3:(n-2)]<-tabla_SW$mi[3:(n-2)]/sqrt(omega)
# se calculan los valores de ai_ui y ui2
tabla_SW %>% 
  mutate(ai_ui=ai*residuales,ui2=residuales^2) ->tabla_SW
# el operador %>% se utiliza para pasar el dataframe tabla_SW a la siguiente función sin tener que escribir el nombre del objeto varias veces.
tabla_SW %>%
# se llama a la función gt() para crear la tabla. El operador %>% se utiliza de nuevo para pasar la tabla creada a la siguiente función.
  gt() %>% tab_header("Tabla para calcular el Estadistico W") %>%  # Agrega un encabezado a la tabla
# para agregar una nota de fuente a la tabla con el texto
  tab_source_note(source_note = "Fuente: Elaboración propia")
Tabla para calcular el Estadistico W
residuales pi mi ai ai_ui ui2
-120.026447 0.007082153 -2.45306927 -0.286093929 34.338837782 1.440635e+04
-115.508697 0.018413598 -2.08767462 -0.226331231 26.143225495 1.334226e+04
-107.080889 0.029745042 -1.88455395 -0.201511408 21.578020632 1.146632e+04
-91.243980 0.041076487 -1.73832835 -0.185875811 16.960048752 8.325464e+03
-85.461169 0.052407932 -1.62194155 -0.173430814 14.821600075 7.303611e+03
-77.172687 0.063739377 -1.52411994 -0.162970954 12.576906330 5.955624e+03
-74.702719 0.075070822 -1.43903134 -0.153872609 11.494702279 5.580496e+03
-65.502849 0.086402266 -1.36324747 -0.145769197 9.548297773 4.290623e+03
-63.699108 0.097733711 -1.29457343 -0.138426027 8.817614500 4.057576e+03
-62.566594 0.109065156 -1.23151500 -0.131683320 8.238976839 3.914579e+03
-59.845223 0.120396601 -1.17300649 -0.125427129 7.506214499 3.581451e+03
-54.466158 0.131728045 -1.11825971 -0.119573169 6.512691096 2.966562e+03
-54.300415 0.143059490 -1.06667420 -0.114057239 6.193355472 2.948535e+03
-52.129801 0.154390935 -1.01778137 -0.108829231 5.673246083 2.717516e+03
-51.441108 0.165722380 -0.97120790 -0.103849228 5.342119306 2.646188e+03
-48.704980 0.177053824 -0.92665123 -0.099084876 4.825926905 2.372175e+03
-48.350295 0.188385269 -0.88386232 -0.094509548 4.569564512 2.337751e+03
-47.855859 0.199716714 -0.84263354 -0.090101040 4.311862673 2.290183e+03
-45.639765 0.211048159 -0.80278966 -0.085840618 3.917745629 2.082988e+03
-43.142550 0.222379603 -0.76418130 -0.081712307 3.525277277 1.861280e+03
-41.749618 0.233711048 -0.72667986 -0.077702356 3.244043648 1.743031e+03
-40.869022 0.245042493 -0.69017366 -0.073798824 3.016085791 1.670277e+03
-37.749811 0.256373938 -0.65456498 -0.069991263 2.642156946 1.425048e+03
-36.663785 0.267705382 -0.61976766 -0.066270458 2.429725818 1.344233e+03
-36.646568 0.279036827 -0.58570518 -0.062628228 2.295109622 1.342971e+03
-33.801248 0.290368272 -0.55230918 -0.059057264 1.996209250 1.142524e+03
-29.766931 0.301699717 -0.51951819 -0.055550992 1.653582575 8.860702e+02
-26.696234 0.313031161 -0.48727661 -0.052103467 1.390966354 7.126889e+02
-24.271531 0.324362606 -0.45553386 -0.048709282 1.182248861 5.891072e+02
-23.651448 0.335694051 -0.42424369 -0.045363489 1.072912217 5.593910e+02
-19.683427 0.347025496 -0.39336354 -0.042061540 0.827915257 3.874373e+02
-17.817835 0.358356941 -0.36285409 -0.038799229 0.691318234 3.174752e+02
-16.762094 0.369688385 -0.33267878 -0.035572645 0.596272007 2.809678e+02
-16.596960 0.381019830 -0.30280344 -0.032378138 0.537378676 2.754591e+02
-16.271207 0.392351275 -0.27319601 -0.029212277 0.475319006 2.647522e+02
-13.815798 0.403682720 -0.24382619 -0.026071824 0.360203050 1.908763e+02
-13.462160 0.415014164 -0.21466524 -0.022953704 0.309006447 1.812298e+02
-12.081520 0.426345609 -0.18568573 -0.019854987 0.239878409 1.459631e+02
-11.629207 0.437677054 -0.15686137 -0.016772858 0.195055032 1.352385e+02
-11.312669 0.449008499 -0.12816677 -0.013704604 0.155035654 1.279765e+02
-8.236558 0.460339943 -0.09957734 -0.010647596 0.087699542 6.784089e+01
-7.662789 0.471671388 -0.07106908 -0.007599268 0.058231584 5.871833e+01
-6.752801 0.483002833 -0.04261848 -0.004557105 0.030773222 4.560033e+01
-6.707262 0.494334278 -0.01420234 -0.001518626 0.010185824 4.498736e+01
-6.402439 0.505665722 0.01420234 0.001518626 -0.009722911 4.099122e+01
-5.446904 0.516997167 0.04261848 0.004557105 -0.024822110 2.966876e+01
-3.537785 0.528328612 0.07106908 0.007599268 -0.026884576 1.251592e+01
-2.824941 0.539660057 0.09957734 0.010647596 -0.030078835 7.980294e+00
-2.745208 0.550991501 0.12816677 0.013704604 -0.037621996 7.536170e+00
-0.195089 0.562322946 0.15686137 0.016772858 -0.003272200 3.805971e-02
1.399296 0.573654391 0.18568573 0.019854987 0.027782994 1.958028e+00
5.363331 0.584985836 0.21466524 0.022953704 0.123108313 2.876532e+01
6.700640 0.596317280 0.24382619 0.026071824 0.174697904 4.489858e+01
7.386314 0.607648725 0.27319601 0.029212277 0.215771059 5.455764e+01
9.099900 0.618980170 0.30280344 0.032378138 0.294637808 8.280817e+01
12.433611 0.630311615 0.33267878 0.035572645 0.442296424 1.545947e+02
16.718018 0.641643059 0.36285409 0.038799229 0.648646203 2.794921e+02
18.093192 0.652974504 0.39336354 0.042061540 0.761027520 3.273636e+02
18.801816 0.664305949 0.42424369 0.045363489 0.852915978 3.535083e+02
19.168108 0.675637394 0.45553386 0.048709282 0.933664777 3.674164e+02
19.219211 0.686968839 0.48727661 0.052103467 1.001387528 3.693781e+02
20.334434 0.698300283 0.51951819 0.055550992 1.129598008 4.134892e+02
24.909926 0.709631728 0.55230918 0.059057264 1.471112049 6.205044e+02
26.236229 0.720963173 0.58570518 0.062628228 1.643128534 6.883397e+02
30.924022 0.732294618 0.61976766 0.066270458 2.049349072 9.562951e+02
32.253952 0.743626062 0.65456498 0.069991263 2.257494854 1.040317e+03
32.529367 0.754957507 0.69017366 0.073798824 2.400629035 1.058160e+03
32.675968 0.766288952 0.72667986 0.077702356 2.538999708 1.067719e+03
33.275839 0.777620397 0.76418130 0.081712307 2.719045583 1.107281e+03
36.031430 0.788951841 0.80278966 0.085840618 3.092960242 1.298264e+03
37.147186 0.800283286 0.84263354 0.090101040 3.347000059 1.379913e+03
40.320875 0.811614731 0.88386232 0.094509548 3.810707636 1.625773e+03
44.334467 0.822946176 0.92665123 0.099084876 4.392875123 1.965545e+03
46.907165 0.834277620 0.97120790 0.103849228 4.871272904 2.200282e+03
54.418366 0.845609065 1.01778137 0.108829231 5.922308882 2.961359e+03
55.091131 0.856940510 1.06667420 0.114057239 6.283542333 3.035033e+03
55.470305 0.868271955 1.11825971 0.119573169 6.632760113 3.076955e+03
62.939597 0.879603399 1.17300649 0.125427129 7.894332885 3.961393e+03
66.478628 0.890934844 1.23151500 0.131683320 8.754126443 4.419408e+03
67.426518 0.902266289 1.29457343 0.138426027 9.333585010 4.546335e+03
67.603959 0.913597734 1.36324747 0.145769197 9.854574914 4.570295e+03
69.707122 0.924929178 1.43903134 0.153872609 10.726016772 4.859083e+03
69.843246 0.936260623 1.52411994 0.162970954 11.382420482 4.878079e+03
74.848732 0.947592068 1.62194155 0.173430814 12.981076532 5.602333e+03
112.729191 0.958923513 1.73832835 0.185875811 20.953629849 1.270787e+04
163.795081 0.970254958 1.88455395 0.201511408 33.006577315 2.682883e+04
198.660139 0.981586402 2.08767462 0.226331231 44.962993843 3.946585e+04
209.375830 0.992917847 2.45306927 0.286093929 59.901153719 4.383824e+04
Fuente: Elaboración propia

Calculo del Estadistico W

W<-(sum(tabla_SW$ai_ui)^2)/sum(tabla_SW$ui2)
print(W)
## [1] 0.9413208

Calculo del Wn y su p-value

# Cálculo del parámetro mu (media) con una fórmula basada en el tamaño de la muestra (n)
mu <- 0.0038915 * log(n)^3 - 0.083751 * log(n)^2 - 0.31082 * log(n) - 1.5861

# Cálculo del parámetro sigma (desviación estándar) con una fórmula exponencial basada en el tamaño de la muestra (n)
sigma <- exp(0.0030302 * log(n)^2 - 0.082676 * log(n) - 0.4803)

# Cálculo de la estadística Wn
# Primero, se toma el logaritmo natural de (1 - W), luego se resta mu y se divide por sigma
Wn <- (log(1 - W) - mu) / sigma

# Imprimir el resultado de la estadística Wn
print(Wn)
## [1] 3.241867
# Calculamos el valor p asociado a la estadística Wn
# Usamos la función pnorm para calcular la probabilidad acumulada de una distribución normal estándar
# pnorm(Wn) devuelve la probabilidad de obtener un valor menor o igual a Wn en una distribución normal estándar
# Como queremos calcular la probabilidad de obtener un valor mayor a Wn, usamos lower.tail = FALSE
# Esto nos da la cola superior de la distribución, lo que representa la probabilidad de que la estadística sea más extrema que Wn
p.value <- pnorm(Wn, lower.tail = FALSE)

# Imprimimos el valor p
print(p.value)
## [1] 0.0005937472
# Cargamos la librería fastGraph, que contiene funciones para crear gráficos estadísticos.
library(fastGraph)

# Usamos la función shadeDist para graficar la distribución normal
# 'Wn' es la estadística que hemos calculado previamente
# 'ddist = "dnorm"' especifica que la distribución de referencia es la distribución normal estándar
# 'lower.tail = FALSE' indica que estamos interesados en la cola superior (probabilidad de obtener un valor mayor que Wn)
shadeDist(Wn, ddist = "dnorm", lower.tail = FALSE)

En este caso dado que 5.9374724^{-4}<0.05 se rechaza la Hipotesis Nula: ϵ~Ν(0,σ^2 ), por lo que los residuos no siguen una distribucion normal