Cargar los datos

library(wooldridge) # Carga el paquete "wooldridge" en RStudio
data(hprice1) # Carga el conjunto de datos "hprice1" desde el paquete "wooldridge" en RStudio.
head(force(hprice1),n=5) # Muestra las primeras 5 filas del conjunto de datos "hprice1" utilizando la función "head()". La función "force()" se utiliza para forzar la evaluación de "hprice1" antes de que se pase como argumento a "head()", lo que ayuda a garantizar que los datos se carguen correctamente.
##   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

Estimar el modelo

modelo_estimado <- lm (formula = price~lotsize+sqrft+bdrms, data = hprice1) # Estima un modelo de regresión lineal múltiple en el conjunto de datos "hprice1", donde "price" es la variable dependiente y "lotsize", "sqrft" y "bdrms" son las variables independientes. La función "lm()" se utiliza para ajustar el modelo y el resultado se guarda en la variable "modelo_estimado".
library(stargazer) # Carga el paquete "stargazer" en RStudio. Este paquete es utilizado para presentar resultados de modelos de manera elegante y fácilmente interpretable.
stargazer(modelo_estimado, title = "Modelo Estimado", type = "text") # Muestra los resultados del modelo estimado utilizando la función "stargazer()". La opción "title" se utiliza para agregar un título a la tabla y "type" se utiliza para especificar el formato de salida (en este caso, texto). 
## 
## Modelo Estimado
## ===============================================
##                         Dependent variable:    
##                     ---------------------------
##                                price           
## -----------------------------------------------
## lotsize                      0.002***          
##                               (0.001)          
##                                                
## sqrft                        0.123***          
##                               (0.013)          
##                                                
## bdrms                         13.853           
##                               (9.010)          
##                                                
## Constant                      -21.770          
##                              (29.475)          
##                                                
## -----------------------------------------------
## Observations                    88             
## R2                             0.672           
## Adjusted R2                    0.661           
## Residual Std. Error      59.833 (df = 84)      
## F Statistic           57.460*** (df = 3; 84)   
## ===============================================
## Note:               *p<0.1; **p<0.05; ***p<0.01

Ajuste de los residuos a la Distribución Normal

library(fitdistrplus)# Carga el paquete "fitdistrplus" en RStudio. Este paquete es utilizado para ajustar distribuciones de probabilidad a los datos observados.
fit.normal <- fitdist(data = modelo_estimado$residuals,distr = "norm") # Ajusta una distribución normal a los residuos del modelo estimado utilizando la función "fitdist()". La opción "distr" se utiliza para especificar la distribución de probabilidad a ajustar, en este caso, "norm" para distribución normal. El resultado se guarda en la variable "fit.normal".
plot(fit.normal) # Grafica la distribución ajustada utilizando la función "plot()". En este caso, la gráfica mostrará la distribución normal ajustada y los datos observados de los residuos del modelo estimado.

summary(fit.normal) # Muestra un resumen de la distribución normal ajustada utilizando la función "summary()". En el resumen se incluyen los parámetros estimados de la distribución, así como la bondad de ajuste del modelo.
## Fitting of the distribution ' norm ' by maximum likelihood 
## Parameters : 
##          estimate Std. Error
## mean 9.992007e-16   6.231624
## sd   5.845781e+01   4.406424
## Loglikelihood:  -482.8775   AIC:  969.7549   BIC:  974.7096 
## Correlation matrix:
##      mean sd
## mean    1  0
## sd      0  1

Verfique el supuesto de normalidad, a través de:

a) La prueba de JB

Usando tseries

library(tseries)# Carga el paquete "tseries" en RStudio. Este paquete es utilizado para realizar análisis de series de tiempo y pruebas de hipótesis sobre la normalidad de los datos.
salida_JB <- jarque.bera.test(modelo_estimado$residuals) # Realiza la prueba de Jarque-Bera sobre los residuos del modelo estimado utilizando la función "jarque.bera.test()". El resultado se guarda en la variable "salida_JB".
salida_JB # Muestra la salida de la prueba de Jarque-Bera, que incluye la estadística de prueba y el p-valor.
## 
##  Jarque Bera Test
## 
## data:  modelo_estimado$residuals
## X-squared = 32.278, df = 2, p-value = 9.794e-08
library(fastGraph) # Carga el paquete "fastGraph" en RStudio. Este paquete es utilizado para graficar distribuciones de probabilidad y realizar pruebas de hipótesis sobre la normalidad de los datos.
alpha_sig <- 0.05 # Asigna el nivel de significancia al que se quiere realizar la prueba de hipótesis (0.05 en este caso).
JB <- salida_JB$statistic # Asigna la estadística de prueba de Jarque-Bera (obtenida previamente en la variable "salida_JB") a la variable "JB".
gl <- salida_JB$parameter# Asigna el número de grados de libertad de la distribución chi-cuadrado (obtenido previamente en la variable "salida_JB") a la variable "gl".
vc <- qchisq(1-alpha_sig,gl,lower.tail = TRUE) # Calcula el valor crítico de la distribución chi-cuadrado utilizando la función "qchisq()" y lo asigna a la variable "vc". El valor crítico se calcula para un nivel de significancia dado y un número de grados de libertad específico.
shadeDist(JB,ddist = "dchisq",
          parm1 = gl,
          lower.tail = FALSE, xmin = 0,
          sub=paste("vc:",round(vc,2),"","JB:",round(JB,2))) # Grafica la distribución chi-cuadrado con el valor crítico sombreado y la estadística de prueba señalada. La función "shadeDist()" se utiliza para graficar distribuciones de probabilidad y sombrear áreas específicas. En este caso, se grafica la distribución chi-cuadrado con el número de grados de libertad especificado en "gl", y se sombrea el área a la derecha del valor crítico calculado en "vc". El parámetro "xmin" se utiliza para especificar el valor mínimo del eje x en la gráfica. El parámetro "sub" se utiliza para incluir un subtitulo en la gráfica con el valor crítico y la estadística de prueba redondeados a dos decimales.

Como se puede observar 32.28 > 5.99 se rechaza la hipotesis nula: Los residuos no tienen distribución normal

B) La prueba KS

library(dplyr)  # carga la librería dplyr para manipulación de datos
library(gt)  # carga la librería gt para la creación de tablas
library(gtExtras)  # carga la librería gtExtras para añadir formatos a las tablas

residuos<-modelo_estimado$residuals  # crea un objeto con los residuos del modelo estimado

residuos %>%  # comienza una tubería para manipulación de datos con los residuos
  as_tibble() %>%  # convierte los residuos en un tibble
  mutate(posicion=row_number()) %>%  # añade una columna con el número de posición de cada residuo
  arrange(value) %>%  # ordena los residuos de menor a mayor
  mutate(dist1=row_number()/n()) %>%  # añade una columna con la distribución empírica acumulada de los residuos
  mutate(dist2=(row_number()-1)/n()) %>%  # añade otra columna con la distribución empírica acumulada de los residuos
  mutate(zi=as.vector(scale(value,center=TRUE))) %>%  # añade una columna con los residuos estandarizados
  mutate(pi=pnorm(zi,lower.tail = TRUE)) %>%  # añade una columna con la probabilidad acumulada según la distribución normal estándar
  mutate(dif1=abs(dist1-pi)) %>%  # añade una columna con la diferencia absoluta entre las distribuciones empírica y teórica (opción 1)
  mutate(dif2=abs(dist2-pi)) %>%  # añade una columna con la diferencia absoluta entre las distribuciones empírica y teórica (opción 2)
  rename(residuales=value) -> tabla.KS  # renombra la columna "value" como "residuales" y guarda la tabla resultante como "tabla.KS"
# fORMATO
tabla.KS %>% 
  gt() %>% 
  tab_header("Tabla Estadistico KS") %>%   # Agrega un encabezado a la tabla
  tab_style(                              # Estilo para la columna dif1
    style = list(
      cell_fill(color = "#4CFF33"),       # Color de relleno de celda
      cell_text(style = "italic")         # Estilo de texto de celda en cursiva
    ),
    locations = cells_body(
      columns = dif1,                     # Selecciona la columna dif1
      rows = dif1 == max(dif1)             # Selecciona la fila que contiene el valor máximo de dif1
    )
  ) %>% 
  tab_style(                              # Estilo para la columna dif2
    style = list(
      cell_fill(color= "#D636EA"),        # Color de relleno de celda
      cell_text(style = "italic")         # Estilo de texto de celda en cursiva
    ),
    locations = cells_body(
      columns = dif2,                     # Selecciona la columna dif2
      rows = dif2 == max(dif2)             # Selecciona la fila que contiene el valor máximo de dif2
    )
  )
Tabla Estadistico KS
residuales posicion 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

Estadístico D:

# Se calcula la distancia máxima entre las distribuciones empírica y teórica
D <- max(max(tabla.KS$dif1),max(tabla.KS$dif2))

# Se imprime el valor de la distancia máxima
print(D)
## [1] 0.0754392

Valor crítico de la tabla de Lilliefors

0.875897/sqrt(88)
## [1] 0.09337093

En conlusión: 0.0754392 < 0.09337093 no se rechaza la hipotesis nula: \(\epsilon\sim N(0,\sigma^2)\), es decir los residuos siguen una distribución normal.

C) La prueba SW

# Cargando las librerías necesarias
library(dplyr)
library(gt)

# Extrayendo los residuos del modelo estimado
residuos <- modelo_estimado$residuals

# Creando un tibble con los residuos y renombrando la variable
residuos %>%
  as_tibble() %>%
  rename(residuales=value) %>%
  arrange(residuales) %>%
  mutate(pi=(row_number()-0.375)/(n()+0.25)) %>% 
  mutate(mi=qnorm(pi,lower.tail = TRUE)) %>%
  mutate(ai=0) -> tabla.SW

# Calculando m y n
m <-sum(tabla.SW$mi^2)
n <- nrow(hprice1)
# Se define el parámetro theta como -1/sqrt(n)
theta <- -1/sqrt(n)

# Se calculan los componentes ai del test de White para la heterocedasticidad
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)
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[n-1]/sqrt(m)
tabla.SW$ai[1]<- -tabla.SW$ai[n]
tabla.SW$ai[2]<- -tabla.SW$ai[n-1]

# Se calcula el parámetro omega del test de White
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 calculan los componentes ai restantes
tabla.SW$ai[3:(n-2)] <- tabla.SW$mi[3:(n-2)]/sqrt(omega)

# Se agregan columnas a la tabla.SW con ai_ui y ui2
tabla.SW %>%
  mutate(ai_ui=ai*residuales,ui2=residuales^2) -> tabla.SW
tabla.SW %>%
  gt() %>% tab_header("Tabla del Estadistico W") %>% 
  tab_source_note(source_note = "Fuente: Elaboracion propia")
Tabla del Estadistico W
residuales pi mi ai ai_ui ui2
-120.026447 0.007082153 -2.45306927 -0.244035544 29.290719285 1.440635e+04
-115.508697 0.018413598 -2.08767462 -0.221512034 25.586566342 1.334226e+04
-107.080889 0.029745042 -1.88455395 -0.208118227 22.285484731 1.146632e+04
-91.243980 0.041076487 -1.73832835 -0.191969996 17.516106503 8.325464e+03
-85.461169 0.052407932 -1.62194155 -0.179116974 15.307545942 7.303611e+03
-77.172687 0.063739377 -1.52411994 -0.168314173 12.989256927 5.955624e+03
-74.702719 0.075070822 -1.43903134 -0.158917527 11.871571378 5.580496e+03
-65.502849 0.086402266 -1.36324747 -0.150548434 9.861351412 4.290623e+03
-63.699108 0.097733711 -1.29457343 -0.142964508 9.106711716 4.057576e+03
-62.566594 0.109065156 -1.23151500 -0.136000733 8.509102650 3.914579e+03
-59.845223 0.120396601 -1.17300649 -0.129539424 7.752315723 3.581451e+03
-54.466158 0.131728045 -1.11825971 -0.123493535 6.726218334 2.966562e+03
-54.300415 0.143059490 -1.06667420 -0.117796758 6.396412866 2.948535e+03
-52.129801 0.154390935 -1.01778137 -0.112397342 5.859251000 2.717516e+03
-51.441108 0.165722380 -0.97120790 -0.107254063 5.517267791 2.646188e+03
-48.704980 0.177053824 -0.92665123 -0.102333505 4.984151336 2.372175e+03
-48.350295 0.188385269 -0.88386232 -0.097608169 4.719383760 2.337751e+03
-47.855859 0.199716714 -0.84263354 -0.093055123 4.453232824 2.290183e+03
-45.639765 0.211048159 -0.80278966 -0.088655017 4.046194128 2.082988e+03
-43.142550 0.222379603 -0.76418130 -0.084391354 3.640858180 1.861280e+03
-41.749618 0.233711048 -0.72667986 -0.080249931 3.350403933 1.743031e+03
-40.869022 0.245042493 -0.69017366 -0.076218417 3.114972174 1.670277e+03
-37.749811 0.256373938 -0.65456498 -0.072286020 2.728783575 1.425048e+03
-36.663785 0.267705382 -0.61976766 -0.068443223 2.509387610 1.344233e+03
-36.646568 0.279036827 -0.58570518 -0.064681578 2.370357843 1.342971e+03
-33.801248 0.290368272 -0.55230918 -0.060993535 2.061657624 1.142524e+03
-29.766931 0.301699717 -0.51951819 -0.057372305 1.707797479 8.860702e+02
-26.696234 0.313031161 -0.48727661 -0.053811749 1.436571035 7.126889e+02
-24.271531 0.324362606 -0.45553386 -0.050306281 1.221010462 5.891072e+02
-23.651448 0.335694051 -0.42424369 -0.046850792 1.108089070 5.593910e+02
-19.683427 0.347025496 -0.39336354 -0.043440584 0.855059559 3.874373e+02
-17.817835 0.358356941 -0.36285409 -0.040071313 0.713984022 3.174752e+02
-16.762094 0.369688385 -0.33267878 -0.036738942 0.615821578 2.809678e+02
-16.596960 0.381019830 -0.30280344 -0.033439698 0.554997350 2.754591e+02
-16.271207 0.392351275 -0.27319601 -0.030170040 0.490902971 2.647522e+02
-13.815798 0.403682720 -0.24382619 -0.026926623 0.372012786 1.908763e+02
-13.462160 0.415014164 -0.21466524 -0.023706272 0.319137634 1.812298e+02
-12.081520 0.426345609 -0.18568573 -0.020505959 0.247743141 1.459631e+02
-11.629207 0.437677054 -0.15686137 -0.017322778 0.201450170 1.352385e+02
-11.312669 0.449008499 -0.12816677 -0.014153928 0.160118704 1.279765e+02
-8.236558 0.460339943 -0.09957734 -0.010996692 0.090574888 6.784089e+01
-7.662789 0.471671388 -0.07106908 -0.007848420 0.060140784 5.871833e+01
-6.752801 0.483002833 -0.04261848 -0.004706515 0.031782163 4.560033e+01
-6.707262 0.494334278 -0.01420234 -0.001568416 0.010519780 4.498736e+01
-6.402439 0.505665722 0.01420234 0.001568416 -0.010041690 4.099122e+01
-5.446904 0.516997167 0.04261848 0.004706515 -0.025635936 2.966876e+01
-3.537785 0.528328612 0.07106908 0.007848420 -0.027766023 1.251592e+01
-2.824941 0.539660057 0.09957734 0.010996692 -0.031065010 7.980294e+00
-2.745208 0.550991501 0.12816677 0.014153928 -0.038855483 7.536170e+00
-0.195089 0.562322946 0.15686137 0.017322778 -0.003379483 3.805971e-02
1.399296 0.573654391 0.18568573 0.020505959 0.028693896 1.958028e+00
5.363331 0.584985836 0.21466524 0.023706272 0.127144583 2.876532e+01
6.700640 0.596317280 0.24382619 0.026926623 0.180425607 4.489858e+01
7.386314 0.607648725 0.27319601 0.030170040 0.222845400 5.455764e+01
9.099900 0.618980170 0.30280344 0.033439698 0.304297901 8.280817e+01
12.433611 0.630311615 0.33267878 0.036738942 0.456797701 1.545947e+02
16.718018 0.641643059 0.36285409 0.040071313 0.669912931 2.794921e+02
18.093192 0.652974504 0.39336354 0.043440584 0.785978819 3.273636e+02
18.801816 0.664305949 0.42424369 0.046850792 0.880879963 3.535083e+02
19.168108 0.675637394 0.45553386 0.050306281 0.964276218 3.674164e+02
19.219211 0.686968839 0.48727661 0.053811749 1.034219350 3.693781e+02
20.334434 0.698300283 0.51951819 0.057372305 1.166633380 4.134892e+02
24.909926 0.709631728 0.55230918 0.060993535 1.519344414 6.205044e+02
26.236229 0.720963173 0.58570518 0.064681578 1.697000688 6.883397e+02
30.924022 0.732294618 0.61976766 0.068443223 2.116539706 9.562951e+02
32.253952 0.743626062 0.65456498 0.072286020 2.331509825 1.040317e+03
32.529367 0.754957507 0.69017366 0.076218417 2.479336850 1.058160e+03
32.675968 0.766288952 0.72667986 0.080249931 2.622244190 1.067719e+03
33.275839 0.777620397 0.76418130 0.084391354 2.808193108 1.107281e+03
36.031430 0.788951841 0.80278966 0.088655017 3.194367056 1.298264e+03
37.147186 0.800283286 0.84263354 0.093055123 3.456735906 1.379913e+03
40.320875 0.811614731 0.88386232 0.097608169 3.935646753 1.625773e+03
44.334467 0.822946176 0.92665123 0.102333505 4.536901375 1.965545e+03
46.907165 0.834277620 0.97120790 0.107254063 5.030984064 2.200282e+03
54.418366 0.845609065 1.01778137 0.112397342 6.116479653 2.961359e+03
55.091131 0.856940510 1.06667420 0.117796758 6.489556624 3.035033e+03
55.470305 0.868271955 1.11825971 0.123493535 6.850223973 3.076955e+03
62.939597 0.879603399 1.17300649 0.129539424 8.153159086 3.961393e+03
66.478628 0.890934844 1.23151500 0.136000733 9.041142119 4.419408e+03
67.426518 0.902266289 1.29457343 0.142964508 9.639599005 4.546335e+03
67.603959 0.913597734 1.36324747 0.150548434 10.177670256 4.570295e+03
69.707122 0.924929178 1.43903134 0.158917527 11.077683495 4.859083e+03
69.843246 0.936260623 1.52411994 0.168314173 11.755608273 4.878079e+03
74.848732 0.947592068 1.62194155 0.179116974 13.406678388 5.602333e+03
112.729191 0.958923513 1.73832835 0.191969996 21.640622466 1.270787e+04
163.795081 0.970254958 1.88455395 0.208118227 34.088741842 2.682883e+04
198.660139 0.981586402 2.08767462 0.221512034 44.005611515 3.946585e+04
209.375830 0.992917847 2.45306927 0.244035544 51.095144499 4.383824e+04
Fuente: Elaboracion propia

Calculo del estadistico W

W <- (sum(tabla.SW$ai_ui)^2)/sum(tabla.SW$ui2)
print(W)
## [1] 0.9295209

Cálculo del \(W_n\) y su p value

# Esta línea de código define una ecuación matemática para calcular el valor de mu en función del logaritmo natural de n
mu <- 0.0038915*log(n)^3-0.083751*log(n)^2-0.31082*log(n)-1.5861

# Esta línea de código define una ecuación matemática para calcular el valor de sigma en función del logaritmo natural de n
sigma <- exp(0.0030302*log(n)^2-0.082676*log(n)-0.4803)

# Esta línea de código utiliza las variables mu y sigma para calcular el valor de Wn, utilizando una fórmula específica
Wn <- (log(1-W)-mu)/sigma

# Esta línea de código imprime el valor de Wn en la consola
print(Wn)
## [1] 3.645488
# Esta línea de código utiliza la función pnorm() para calcular el valor del p-valor
p_value <- pnorm(Wn,lower.tail = FALSE)

# Esta línea de código imprime el valor del p-valor en la consola
print(p_value)
## [1] 0.0001334426
# Esta línea de código carga la librería fastGraph, que se utiliza para crear gráficos rápidos
library(fastGraph)

# Esta línea de código utiliza la función shadeDist() para crear un gráfico que muestra la distribución de Wn
shadeDist(Wn,ddist = "dnorm", lower.tail = FALSE)

Como se puede observar 0.0001334 < 0.05 se rechaza la hipotesis nula: \(\epsilon\nsim N(0,\sigma^2)\) Los residuos no siguen una distribución normal.