Los datos dados a continuación corresponden a lecturas de concentración de un proceso químico,medidos cada 30 minutos.

DATOS<-c(204, 202, 201, 202, 197, 201, 198, 188, 195, 189,
         195, 192, 196, 194, 196, 199, 197, 197, 192,195, 
         190,196, 199,203, 199, 207, 204,207, 209, 205,
         202, 200, 208, 214, 205, 211, 212, 214, 210, 208,
         208, 209, 209, 206, 200, 203,202, 195, 196, 203,
         196, 197, 197, 203, 205, 194, 199, 201, 198, 202, 
         207, 204, 201, 197, 189, 189, 196, 193, 193,198,
         194, 198, 199, 204, 200, 203, 200, 197, 196, 202,
         200, 202, 202, 207, 206, 211, 205, 210, 210, 198, 
         194, 192,189, 188, 189, 194, 194, 198, 196, 200)

a).

Calcule la función de autocorrelación muestral, la función de autocorrelación parcial muestral a los datos dados. Proveer interpretaciones. (1 punto)

SOLUCIóN:

acf(DATOS) #funcion de autocorrelación muestral

pacf(DATOS) #funcion de autocorrelacion parcial muestral.

En la funcion de autocotrelacion parcial muestral (pacf) la mayoria de las espigas se salen de los margenes de confianza, y eso evidencia no independencia en los datos.

veamos la prueba de Lion Box para independencia,esta mirará la correlación que existe \(crr(xt,xt-lag)\)

Box.test(DATOS,lag = 1)
## 
##  Box-Pierce test
## 
## data:  DATOS
## X-squared = 55.677, df = 1, p-value = 8.538e-14
Box.test(DATOS,lag = 2)
## 
##  Box-Pierce test
## 
## data:  DATOS
## X-squared = 96.048, df = 2, p-value < 2.2e-16
Box.test(DATOS,lag = 3)
## 
##  Box-Pierce test
## 
## data:  DATOS
## X-squared = 123.13, df = 3, p-value < 2.2e-16
Box.test(DATOS,lag = 3)
## 
##  Box-Pierce test
## 
## data:  DATOS
## X-squared = 123.13, df = 3, p-value < 2.2e-16
Box.test(DATOS,lag = 4)
## 
##  Box-Pierce test
## 
## data:  DATOS
## X-squared = 138.35, df = 4, p-value < 2.2e-16
Box.test(DATOS,lag = 5)
## 
##  Box-Pierce test
## 
## data:  DATOS
## X-squared = 144.02, df = 5, p-value < 2.2e-16
Box.test(DATOS,lag = 6)
## 
##  Box-Pierce test
## 
## data:  DATOS
## X-squared = 145.99, df = 6, p-value < 2.2e-16
Box.test(DATOS,lag = 7)
## 
##  Box-Pierce test
## 
## data:  DATOS
## X-squared = 146.61, df = 7, p-value < 2.2e-16
Box.test(DATOS,lag = 8)
## 
##  Box-Pierce test
## 
## data:  DATOS
## X-squared = 146.79, df = 8, p-value < 2.2e-16

Conclución:

De los graficos anteriores y de la prueba de ligion Box se puede concluir que los datos están autocorrelacionados, no hay independencia en ellos.

b).

Construir cartas de control individuales a los datos dados. ¿Las cartas de control son las apropiadas para determinar si el proceso se encuentra bajo control estadístico o no?, ¿y por qué? (1 punto)

Solucion:

Construimos la carta x para datos individuales utilizando la libreria qcc

library(qcc)
## Package 'qcc' version 2.7
## Type 'citation("qcc")' for citing this R package in publications.
qcc(DATOS,type = "xbar.one")

## List of 11
##  $ call      : language qcc(data = DATOS, type = "xbar.one")
##  $ type      : chr "xbar.one"
##  $ data.name : chr "DATOS"
##  $ data      : num [1:100, 1] 204 202 201 202 197 201 198 188 195 189 ...
##   ..- attr(*, "dimnames")=List of 2
##  $ statistics: Named num [1:100] 204 202 201 202 197 201 198 188 195 189 ...
##   ..- attr(*, "names")= chr [1:100] "1" "2" "3" "4" ...
##  $ sizes     : int [1:100] 1 1 1 1 1 1 1 1 1 1 ...
##  $ center    : num 200
##  $ std.dev   : num 3.22
##  $ nsigmas   : num 3
##  $ limits    : num [1, 1:2] 190 210
##   ..- attr(*, "dimnames")=List of 2
##  $ violations:List of 2
##  - attr(*, "class")= chr "qcc"

Construimos la carta de rangos moviles MR para los datos individuales.

XX<-matrix(0,99,2)

for (j in 1:99) {
  
  XX[j,]<-DATOS[j:(j+1)]
  
}
XX
##        [,1] [,2]
##   [1,]  204  202
##   [2,]  202  201
##   [3,]  201  202
##   [4,]  202  197
##   [5,]  197  201
##   [6,]  201  198
##   [7,]  198  188
##   [8,]  188  195
##   [9,]  195  189
##  [10,]  189  195
##  [11,]  195  192
##  [12,]  192  196
##  [13,]  196  194
##  [14,]  194  196
##  [15,]  196  199
##  [16,]  199  197
##  [17,]  197  197
##  [18,]  197  192
##  [19,]  192  195
##  [20,]  195  190
##  [21,]  190  196
##  [22,]  196  199
##  [23,]  199  203
##  [24,]  203  199
##  [25,]  199  207
##  [26,]  207  204
##  [27,]  204  207
##  [28,]  207  209
##  [29,]  209  205
##  [30,]  205  202
##  [31,]  202  200
##  [32,]  200  208
##  [33,]  208  214
##  [34,]  214  205
##  [35,]  205  211
##  [36,]  211  212
##  [37,]  212  214
##  [38,]  214  210
##  [39,]  210  208
##  [40,]  208  208
##  [41,]  208  209
##  [42,]  209  209
##  [43,]  209  206
##  [44,]  206  200
##  [45,]  200  203
##  [46,]  203  202
##  [47,]  202  195
##  [48,]  195  196
##  [49,]  196  203
##  [50,]  203  196
##  [51,]  196  197
##  [52,]  197  197
##  [53,]  197  203
##  [54,]  203  205
##  [55,]  205  194
##  [56,]  194  199
##  [57,]  199  201
##  [58,]  201  198
##  [59,]  198  202
##  [60,]  202  207
##  [61,]  207  204
##  [62,]  204  201
##  [63,]  201  197
##  [64,]  197  189
##  [65,]  189  189
##  [66,]  189  196
##  [67,]  196  193
##  [68,]  193  193
##  [69,]  193  198
##  [70,]  198  194
##  [71,]  194  198
##  [72,]  198  199
##  [73,]  199  204
##  [74,]  204  200
##  [75,]  200  203
##  [76,]  203  200
##  [77,]  200  197
##  [78,]  197  196
##  [79,]  196  202
##  [80,]  202  200
##  [81,]  200  202
##  [82,]  202  202
##  [83,]  202  207
##  [84,]  207  206
##  [85,]  206  211
##  [86,]  211  205
##  [87,]  205  210
##  [88,]  210  210
##  [89,]  210  198
##  [90,]  198  194
##  [91,]  194  192
##  [92,]  192  189
##  [93,]  189  188
##  [94,]  188  189
##  [95,]  189  194
##  [96,]  194  194
##  [97,]  194  198
##  [98,]  198  196
##  [99,]  196  200
qcc(XX,type = 'R')

## List of 11
##  $ call      : language qcc(data = XX, type = "R")
##  $ type      : chr "R"
##  $ data.name : chr "XX"
##  $ data      : num [1:99, 1:2] 204 202 201 202 197 201 198 188 195 189 ...
##   ..- attr(*, "dimnames")=List of 2
##  $ statistics: Named num [1:99] 2 1 1 5 4 3 10 7 6 6 ...
##   ..- attr(*, "names")= chr [1:99] "1" "2" "3" "4" ...
##  $ sizes     : int [1:99] 2 2 2 2 2 2 2 2 2 2 ...
##  $ center    : num 3.64
##  $ std.dev   : num 3.22
##  $ nsigmas   : num 3
##  $ limits    : num [1, 1:2] 0 11.9
##   ..- attr(*, "dimnames")=List of 2
##  $ violations:List of 2
##  - attr(*, "class")= chr "qcc"

Conclución

veamos normalidad en los datos:

library(tseries)
## Registered S3 method overwritten by 'quantmod':
##   method            from
##   as.zoo.data.frame zoo
shapiro.test(DATOS)
## 
##  Shapiro-Wilk normality test
## 
## data:  DATOS
## W = 0.98286, p-value = 0.2206
jarque.bera.test(DATOS)
## 
##  Jarque Bera Test
## 
## data:  DATOS
## X-squared = 1.6715, df = 2, p-value = 0.4336

Para hacer la construir de las cartas para datos individulaes se debe partir del supuesto de normalidad e indepencencia, en nuestro caso los dtaos cumplen normalidad pero como se evidencia en el enciso anterior (a), los datos no son independientes,Así las cartas costruidas no son apropiadas para determinar un control estadístico, por tanto se deben construir preferibemente en base a algún modelo autorregresivo.

Además la contruccíon así hecha, muestra que ambas cartas no están bajo contro estadístico, suponiendo que las causas son asignables y no dependen de la naturaleza de los datos.

c).

Ajuste un modelo autorregresivo de orden uno AR(1) a los datos dados (muestre el modelo). Obtenga los residuales del modelo. ¿Los residuales poseen un buen comportamiento?. Explique y justifique sus respuestas. (2 puntos)

SOLUCIÓN:

Modelo<-arima(DATOS,order = c(1,0,0)) #AR(1)#Proceso autorregresivo de orden 1
Modelo
## 
## Call:
## arima(x = DATOS, order = c(1, 0, 0))
## 
## Coefficients:
##          ar1  intercept
##       0.7420   200.1182
## s.e.  0.0654     1.5523
## 
## sigma^2 estimated as 16.95:  log likelihood = -283.82,  aic = 573.64
library(tseries)

tsdiag(Modelo)

res<-Modelo$residuals #para obtener los residuales del modelo
shapiro.test(res) #para determinar normalidad en los residuos
## 
##  Shapiro-Wilk normality test
## 
## data:  res
## W = 0.98443, p-value = 0.2885
acf(res)

pacf(res)

Conclusión:

Notamos que los redidios se comportan bien puesto que hay normalidad e independancia en ellos, por tanto sobre ellos si es viable hacer la contruccion de alguna carta de control estadístico para este caso.

d).

Construir cartas de control individuales a los residuales que se obtienen en el punto c). Realice interpretaciones de estas cartas de control. ¿Las cartas de control son las apropiadas para determinar si el proceso se encuentra bajo control estadístico o no?, ¿y por qué?. (1 punto)

SOLUCIóN:

Ahora debemos sacar la carta pero a los residuales:

qcc(res,type = 'xbar.one')

## List of 11
##  $ call      : language qcc(data = res, type = "xbar.one")
##  $ type      : chr "xbar.one"
##  $ data.name : chr "res"
##  $ data      : num [1:100, 1] 2.602 -0.998 -0.514 1.228 -4.514 ...
##   ..- attr(*, "dimnames")=List of 2
##  $ statistics: Named num [1:100] 2.602 -0.998 -0.514 1.228 -4.514 ...
##   ..- attr(*, "names")= chr [1:100] "1" "2" "3" "4" ...
##  $ sizes     : int [1:100] 1 1 1 1 1 1 1 1 1 1 ...
##  $ center    : num -0.0416
##  $ std.dev   : num 4.55
##  $ nsigmas   : num 3
##  $ limits    : num [1, 1:2] -13.7 13.6
##   ..- attr(*, "dimnames")=List of 2
##  $ violations:List of 2
##  - attr(*, "class")= chr "qcc"

Se puede observar que la carta xbar.one para los datos se encuentra bajo control estadístico.

#ahora hacemos la carta para el RM

XX<-matrix(0,99,2)

for (j in 1:99) {
  
  XX[j,]<-res[j:(j+1)]
  
}
XX
##                [,1]         [,2]
##   [1,]   2.60236656  -0.99847537
##   [2,]  -0.99847537  -0.51449066
##   [3,]  -0.51449066   1.22750169
##   [4,]   1.22750169  -4.51449066
##   [5,]  -4.51449066   3.19547111
##   [6,]   3.19547111  -2.77249831
##   [7,]  -2.77249831 -10.54652124
##   [8,] -10.54652124   3.87340230
##   [9,]   3.87340230  -7.32054418
##  [10,]  -7.32054418   3.13140995
##  [11,]   3.13140995  -4.32054418
##  [12,]  -4.32054418   1.90543288
##  [13,]   1.90543288  -3.06253653
##  [14,]  -3.06253653   0.42144817
##  [15,]   0.42144817   1.93746347
##  [16,]   1.93746347  -2.28851360
##  [17,]  -2.28851360  -0.80452889
##  [18,]  -0.80452889  -5.80452889
##  [19,]  -5.80452889   0.90543288
##  [20,]   0.90543288  -6.32054418
##  [21,]  -6.32054418   3.38941759
##  [22,]   3.38941759   1.93746347
##  [23,]   1.93746347   3.71148640
##  [24,]   3.71148640  -3.25648301
##  [25,]  -3.25648301   7.71148640
##  [26,]   7.71148640  -1.22445243
##  [27,]  -1.22445243   4.00152463
##  [28,]   4.00152463   3.77554757
##  [29,]   3.77554757  -1.70843714
##  [30,]  -1.70843714  -1.74046772
##  [31,]  -1.74046772  -1.51449066
##  [32,]  -1.51449066   7.96949405
##  [33,]   7.96949405   8.03355522
##  [34,]   8.03355522  -5.41839891
##  [35,]  -5.41839891   7.25953228
##  [36,]   7.25953228   3.80757815
##  [37,]   3.80757815   5.06558580
##  [38,]   5.06558580  -0.41839891
##  [39,]  -0.41839891   0.54957051
##  [40,]   0.54957051   2.03355522
##  [41,]   2.03355522   3.03355522
##  [42,]   3.03355522   2.29156286
##  [43,]   2.29156286  -0.70843714
##  [44,]  -0.70843714  -4.48246008
##  [45,]  -4.48246008   2.96949405
##  [46,]   2.96949405  -0.25648301
##  [47,]  -0.25648301  -6.51449066
##  [48,]  -6.51449066  -0.32054418
##  [49,]  -0.32054418   5.93746347
##  [50,]   5.93746347  -6.25648301
##  [51,]  -6.25648301  -0.06253653
##  [52,]  -0.06253653  -0.80452889
##  [53,]  -0.80452889   5.19547111
##  [54,]   5.19547111   2.74351699
##  [55,]   2.74351699  -9.74046772
##  [56,]  -9.74046772   3.42144817
##  [57,]   3.42144817   1.71148640
##  [58,]   1.71148640  -2.77249831
##  [59,]  -2.77249831   3.45347876
##  [60,]   3.45347876   5.48550934
##  [61,]   5.48550934  -1.22445243
##  [62,]  -1.22445243  -1.99847537
##  [63,]  -1.99847537  -3.77249831
##  [64,]  -3.77249831  -8.80452889
##  [65,]  -8.80452889  -2.86859005
##  [66,]  -2.86859005   4.13140995
##  [67,]   4.13140995  -4.06253653
##  [68,]  -4.06253653  -1.83655947
##  [69,]  -1.83655947   3.16344053
##  [70,]   3.16344053  -4.54652124
##  [71,]  -4.54652124   2.42144817
##  [72,]   2.42144817   0.45347876
##  [73,]   0.45347876   4.71148640
##  [74,]   4.71148640  -2.99847537
##  [75,]  -2.99847537   2.96949405
##  [76,]   2.96949405  -2.25648301
##  [77,]  -2.25648301  -3.03050595
##  [78,]  -3.03050595  -1.80452889
##  [79,]  -1.80452889   4.93746347
##  [80,]   4.93746347  -1.51449066
##  [81,]  -1.51449066   1.96949405
##  [82,]   1.96949405   0.48550934
##  [83,]   0.48550934   5.48550934
##  [84,]   5.48550934   0.77554757
##  [85,]   0.77554757   6.51753992
##  [86,]   6.51753992  -3.19242185
##  [87,]  -3.19242185   6.25953228
##  [88,]   6.25953228   2.54957051
##  [89,]   2.54957051  -9.45042949
##  [90,]  -9.45042949  -4.54652124
##  [91,]  -4.54652124  -3.57855183
##  [92,]  -3.57855183  -5.09456712
##  [93,]  -5.09456712  -3.86859005
##  [94,]  -3.86859005  -2.12659770
##  [95,]  -2.12659770   2.13140995
##  [96,]   2.13140995  -1.57855183
##  [97,]  -1.57855183   2.42144817
##  [98,]   2.42144817  -2.54652124
##  [99,]  -2.54652124   2.93746347
qcc(XX,type = 'R')

## List of 11
##  $ call      : language qcc(data = XX, type = "R")
##  $ type      : chr "R"
##  $ data.name : chr "XX"
##  $ data      : num [1:99, 1:2] 2.602 -0.998 -0.514 1.228 -4.514 ...
##   ..- attr(*, "dimnames")=List of 2
##  $ statistics: Named num [1:99] 3.601 0.484 1.742 5.742 7.71 ...
##   ..- attr(*, "names")= chr [1:99] "1" "2" "3" "4" ...
##  $ sizes     : int [1:99] 2 2 2 2 2 2 2 2 2 2 ...
##  $ center    : num 5.13
##  $ std.dev   : num 4.55
##  $ nsigmas   : num 3
##  $ limits    : num [1, 1:2] 0 16.8
##   ..- attr(*, "dimnames")=List of 2
##  $ violations:List of 2
##  - attr(*, "class")= chr "qcc"

Se puede observar que la carta MR para los datos se encuentra bajo control estadístico. execto aunte la posible violación de alguna regla de shiwar.

Conclusion:

Se observa que las cartas exhiben control estadístico. Se puede por tanto concluir que el proceso esta bajo control respecto a su media y su variabilidad.