setwd("~/ProbabilidadYEstadistica")

Primer evaluacón de estado de la materia de probabilidad y estadística para ingeniería de software

Caso de estudio 1: Acuacultura

Datos

library(pacman)
p_load("base64enc", "htmltools", "mime", "xfun", "prettydoc", "readr", "knitr", "DT", "scales", "tidyverse", "gridExtra", "modeest" , "fdth")

CAMARONES <- read_csv("CAMARONES.csv")
## Parsed with column specification:
## cols(
##   Estanque = col_character(),
##   EstanqueN = col_double(),
##   Superficie = col_double(),
##   Dias = col_double(),
##   Semana = col_double(),
##   PesoAnterior = col_double(),
##   PesoActual = col_double(),
##   TamanioAlimento = col_double(),
##   AlimentoSemana = col_double(),
##   AlimentoDiario = col_double(),
##   PesoDeseado = col_double(),
##   AlimentoSemanaPrueba = col_double()
## )
head(CAMARONES)
## # A tibble: 6 x 12
##   Estanque EstanqueN Superficie  Dias Semana PesoAnterior PesoActual
##   <chr>        <dbl>      <dbl> <dbl>  <dbl>        <dbl>      <dbl>
## 1 Estanqu~         1          5    14      2        0.145       0.77
## 2 Estanqu~         2          5    14      2        0.153       0.78
## 3 Estanqu~         3          5    14      2        0.149       0.69
## 4 Estanqu~         4          5    14      2        0.154       0.72
## 5 Estanqu~         5          5    14      2        0.166       0.61
## 6 Estanqu~         6          5    14      2        0.215       0.62
## # ... with 5 more variables: TamanioAlimento <dbl>, AlimentoSemana <dbl>,
## #   AlimentoDiario <dbl>, PesoDeseado <dbl>, AlimentoSemanaPrueba <dbl>
datatable(CAMARONES)

Se tienen 12 semanas de datos de 12 estanques en los cuales a partir de la semana número 2 se empiezan a pesar los camarones en crecimiento, también se cuantifica su nivel de comida.

En terminos ideales los 12 estanques tendrían que llegar a la semana número 12 a 12 gramos para poder entonces realizar la “Cosecha”, pero unicamente 3 de los 12 estanques llegaron a este peso.

¿Por qué es un problema? Dado a que se tendra que invertir una semana (o más) para poder llegar al peso ideal, y esto supone una pérdida de dinero

  • Preguntas a responder
  1. Haga un planteamiento del problema a resolver con estadistica y realice una descripción exploratoria de los datos (Media, Moda y Mediana, Medidas de Disperción, Caja de gato y Bigotes)

###Semana 1

datosSemana1 <- t(CAMARONES$PesoAnterior)
datosSemana1 <- as.vector(datosSemana1)
datosSemana1 <- datosSemana1[1:12]

#Variancia / que tanto varian entre los mismos datos
varianza <- var(datosSemana1)
paste("La varianza de los pesos de la semana 1 es", varianza)
## [1] "La varianza de los pesos de la semana 1 es 0.000828151515151515"
#Desviación Estandar / que tan lejos estan del medio
desviacion <- sd(datosSemana1)
paste("La Desviación Estandar de los pesos de la semana 1 es", desviacion)
## [1] "La Desviación Estandar de los pesos de la semana 1 es 0.0287776217771989"
#Media
media <- mean(datosSemana1)
paste("La media de los pesos de la semana 1 es", media)
## [1] "La media de los pesos de la semana 1 es 0.159833333333333"
#Moda
mediana <- median(datosSemana1)
paste("La mediana de los pesos de la semana 1 es", mediana)
## [1] "La mediana de los pesos de la semana 1 es 0.152"
#Mediana
moda <- mfv(datosSemana1)
paste("La moda de los pesos de la semana 1 es", moda)
## [1] "La moda de los pesos de la semana 1 es 0.145"
#Grafico de caja y bigote
boxplot(datosSemana1)

Vemos que en la primera semana tenemos una media bastante pequeña, sin embargo ignorando eso vemos como hay dos estanques atipicos a los datos, pesando mas que el resto

###Semana 2

datosSemana2 <- t(CAMARONES$PesoActual)
datosSemana2 <- as.vector(datosSemana2)
datosSemana2 <- datosSemana2[1:12]

#Variancia / que tanto varian entre los mismos datos
varianza <- var(datosSemana2)
paste("La varianza de los pesos de la semana 2 es", varianza)
## [1] "La varianza de los pesos de la semana 2 es 0.00402424242424242"
#Desviación Estandar / que tan lejos estan del medio
desviacion <- sd(datosSemana2)
paste("La Desviación Estandar de los pesos de la semana 2 es", desviacion)
## [1] "La Desviación Estandar de los pesos de la semana 2 es 0.0634369168879007"
#Media
media <- mean(datosSemana2)
paste("La media de los pesos de la semana 2 es", media)
## [1] "La media de los pesos de la semana 2 es 0.673333333333333"
#Moda
mediana <- median(datosSemana2)
paste("La mediana de los pesos de la semana 2 es", mediana)
## [1] "La mediana de los pesos de la semana 2 es 0.665"
#Mediana
moda <- mfv(datosSemana2)
paste("La moda de los pesos de la semana 2 es", moda)
## [1] "La moda de los pesos de la semana 2 es 0.62"
#Grafico de caja y bigote
boxplot(datosSemana2)

En la semana 2 vemos que los pesos se regularon de mejor manera, siendo el mas pequeño de 0.6, obviamente la media aumento y los datos atipicos se integraron a lo esperado

###Semana 3

datosSemana3 <- t(CAMARONES$PesoActual)
datosSemana3 <- as.vector(datosSemana3)
datosSemana3 <- datosSemana3[13:24]

#Variancia / que tanto varian entre los mismos datos
varianza <- var(datosSemana3)
paste("La varianza de los pesos de la semana 3 es", varianza)
## [1] "La varianza de los pesos de la semana 3 es 0.0231537878787879"
#Desviación Estandar / que tan lejos estan del medio
desviacion <- sd(datosSemana3)
paste("La Desviación Estandar de los pesos de la semana 3 es", desviacion)
## [1] "La Desviación Estandar de los pesos de la semana 3 es 0.15216368777993"
#Media
media <- mean(datosSemana3)
paste("La media de los pesos de la semana 3 es", media)
## [1] "La media de los pesos de la semana 3 es 1.46083333333333"
#Moda
mediana <- median(datosSemana3)
paste("La mediana de los pesos de la semana 3 es", mediana)
## [1] "La mediana de los pesos de la semana 3 es 1.41"
#Mediana
moda <- mfv(datosSemana3)
paste("La moda de los pesos de la semana 3 es", moda)
## [1] "La moda de los pesos de la semana 3 es 1.32"
#Grafico de caja y bigote
boxplot(datosSemana3)

Podemos ver que en esta semana algunos estanques crecieron mas en base al peso que otros, esto puede ser por la comida, el tamaño de la comida, entre otras cosas

###Semana 4

datosSemana4 <- t(CAMARONES$PesoActual)
datosSemana4 <- as.vector(datosSemana4)
datosSemana4 <- datosSemana4[25:36]

#Variancia / que tanto varian entre los mismos datos
varianza <- var(datosSemana4)
paste("La varianza de los pesos de la semana 4 es", varianza)
## [1] "La varianza de los pesos de la semana 4 es 0.0484454545454545"
#Desviación Estandar / que tan lejos estan del medio
desviacion <- sd(datosSemana4)
paste("La Desviación Estandar de los pesos de la semana 4 es", desviacion)
## [1] "La Desviación Estandar de los pesos de la semana 4 es 0.220103281541767"
#Media
media <- mean(datosSemana4)
paste("La media de los pesos de la semana 4 es", media)
## [1] "La media de los pesos de la semana 4 es 2.045"
#Moda
mediana <- median(datosSemana4)
paste("La mediana de los pesos de la semana 4 es", mediana)
## [1] "La mediana de los pesos de la semana 4 es 2.055"
#Mediana
moda <- mfv(datosSemana4)
paste("La moda de los pesos de la semana 4 es", moda)
## [1] "La moda de los pesos de la semana 4 es 2.03"
#Grafico de caja y bigote
boxplot(datosSemana4)

En la semana 4 los datos de los pesos se estabilizaron bastante, dejando una media bastante esperanzadora conforme al crecimiento de peso de los estanques, sin embargo vemos que algunos se encuentran aun muy ligeros

###Semana 5

datosSemana5 <- t(CAMARONES$PesoActual)
datosSemana5 <- as.vector(datosSemana5)
datosSemana5 <- datosSemana5[37:48]

#Variancia / que tanto varian entre los mismos datos
varianza <- var(datosSemana5)
paste("La varianza de los pesos de la semana 5 es", varianza)
## [1] "La varianza de los pesos de la semana 5 es 0.0700083333333333"
#Desviación Estandar / que tan lejos estan del medio
desviacion <- sd(datosSemana5)
paste("La Desviación Estandar de los pesos de la semana 5 es", desviacion)
## [1] "La Desviación Estandar de los pesos de la semana 5 es 0.26459087915749"
#Media
media <- mean(datosSemana5)
paste("La media de los pesos de la semana es", media)
## [1] "La media de los pesos de la semana es 3.16083333333333"
#Moda
mediana <- median(datosSemana5)
paste("La mediana de los pesos de la semana es", mediana)
## [1] "La mediana de los pesos de la semana es 3.095"
#Mediana
moda <- mfv(datosSemana5)
paste("La moda de los pesos de la semana es", moda)
## [1] "La moda de los pesos de la semana es 3.13"
#Grafico de caja y bigote
boxplot(datosSemana5)

Los datos se acomodaron de tal manera que vemos que mas estanques crecieron en base a su peso, lo cual es bueno para el negocio

###Semana 6

datosSemana6 <- t(CAMARONES$PesoActual)
datosSemana6 <- as.vector(datosSemana6)
datosSemana6 <- datosSemana6[49:60]

#Variancia / que tanto varian entre los mismos datos
varianza <- var(datosSemana6)
paste("La varianza de los pesos de la semana 6 es", varianza)
## [1] "La varianza de los pesos de la semana 6 es 0.167929545454545"
#Desviación Estandar / que tan lejos estan del medio
desviacion <- sd(datosSemana6)
paste("La Desviación Estandar de los pesos de la semana 6 es", desviacion)
## [1] "La Desviación Estandar de los pesos de la semana 6 es 0.409792075880617"
#Media
media <- mean(datosSemana6)
paste("La media de los pesos de la semana 6 es", media)
## [1] "La media de los pesos de la semana 6 es 4.0675"
#Moda
mediana <- median(datosSemana6)
paste("La mediana de los pesos de la semana 6 es", mediana)
## [1] "La mediana de los pesos de la semana 6 es 4.07"
#Mediana
moda <- mfv(datosSemana6)
paste("La moda de los pesos de la semana 6 es", moda)
## [1] "La moda de los pesos de la semana 6 es 4.25"
#Grafico de caja y bigote
boxplot(datosSemana6)

En esta semana 6 vemos que los datos se desalinearon, podemos ver que un estanque es atipico en el peso, creciendo mas que el resto, esto probablemente por la comida, mientras que los demas se notan entre una distancia favorable de la media sin embargo hay otros estanques que siguen estando muy ligeros

###Semana 7

datosSemana7 <- t(CAMARONES$PesoActual)
datosSemana7 <- as.vector(datosSemana7)
datosSemana7 <- datosSemana7[61:72]

#Variancia / que tanto varian entre los mismos datos
varianza <- var(datosSemana7)
paste("La varianza de los pesos de la semana 7 es", varianza)
## [1] "La varianza de los pesos de la semana 7 es 0.180151515151515"
#Desviación Estandar / que tan lejos estan del medio
desviacion <- sd(datosSemana7)
paste("La Desviación Estandar de los pesos de la semana 7 es", desviacion)
## [1] "La Desviación Estandar de los pesos de la semana 7 es 0.424442593469971"
#Media
media <- mean(datosSemana7)
paste("La media de los pesos de la semana es", media)
## [1] "La media de los pesos de la semana es 4.63333333333333"
#Moda
mediana <- median(datosSemana7)
paste("La mediana de los pesos de la semana es", mediana)
## [1] "La mediana de los pesos de la semana es 4.675"
#Mediana
moda <- mfv(datosSemana7)
paste("La moda de los pesos de la semana es", moda)
## [1] "La moda de los pesos de la semana es 4.32"
#Grafico de caja y bigote
boxplot(datosSemana7)

En la Semana 7 el patron regular se perdio, y la comida se fue dando de manera desigual, lo que genero perdida en el peso, ya que aqui la media se ve que ya no sigue su crecimiento lineal de 1, sino que parece ser que subio poco menos que ese entero

###Semana 8

datosSemana8 <- t(CAMARONES$PesoActual)
datosSemana8 <- as.vector(datosSemana8)
datosSemana8 <- datosSemana8[73:84]

#Variancia / que tanto varian entre los mismos datos
varianza <- var(datosSemana8)
paste("La varianza de los pesos de la semana 8 es", varianza)
## [1] "La varianza de los pesos de la semana 8 es 0.228187878787879"
#Desviación Estandar / que tan lejos estan del medio
desviacion <- sd(datosSemana8)
paste("La Desviación Estandar de los pesos de la semana 8 es", desviacion)
## [1] "La Desviación Estandar de los pesos de la semana 8 es 0.47769014935194"
#Media
media <- mean(datosSemana8)
paste("La media de los pesos de la semana 8 es", media)
## [1] "La media de los pesos de la semana 8 es 5.81666666666667"
#Moda
mediana <- median(datosSemana8)
paste("La mediana de los pesos de la semana 8 es", mediana)
## [1] "La mediana de los pesos de la semana 8 es 5.765"
#Mediana
moda <- mfv(datosSemana8)
paste("La moda de los pesos de la semana 8 es", moda)
## [1] "La moda de los pesos de la semana 8 es 5.33"
#Grafico de caja y bigote
boxplot(datosSemana8)

En la semana vemos que hubo un crecimiento mayor en la media, sin embargo no fue suficiente ya que muchos estanques o la mayoria se encuentran en un mayor porcentaje debajo de la media

###Semana 9

datosSemana9 <- t(CAMARONES$PesoActual)
datosSemana9 <- as.vector(datosSemana9)
datosSemana9 <- datosSemana9[85:96]

#Variancia / que tanto varian entre los mismos datos
varianza <- var(datosSemana9)
paste("La varianza de los pesos de la semana 9 es", varianza)
## [1] "La varianza de los pesos de la semana 9 es 0.231636363636364"
#Desviación Estandar / que tan lejos estan del medio
desviacion <- sd(datosSemana9)
paste("La Desviación Estandar de los pesos de la semana 9 es", desviacion)
## [1] "La Desviación Estandar de los pesos de la semana 9 es 0.48128615566663"
#Media
media <- mean(datosSemana9)
paste("La media de los pesos de la semana 9 es", media)
## [1] "La media de los pesos de la semana 9 es 6.61"
#Moda
mediana <- median(datosSemana9)
paste("La mediana de los pesos de la semana 9 es", mediana)
## [1] "La mediana de los pesos de la semana 9 es 6.52"
#Mediana
moda <- mfv(datosSemana9)
paste("La moda de los pesos de la semana 9 es", moda)
## [1] "La moda de los pesos de la semana 9 es 7.64"
#Grafico de caja y bigote
boxplot(datosSemana9)

De nuevo un crecimiento desigual, con mas datos a favor de la media superior, viendo como estos se encuentran por ariba, con varios estanques pesando mayor a 6.7

###Semana 10

datosSemana10 <- t(CAMARONES$PesoActual)
datosSemana10 <- as.vector(datosSemana10)
datosSemana10 <- datosSemana10[97:108]

#Variancia / que tanto varian entre los mismos datos
varianza <- var(datosSemana10)
paste("La varianza de los pesos de la semana 10 es", varianza)
## [1] "La varianza de los pesos de la semana 10 es 0.235099242424243"
#Desviación Estandar / que tan lejos estan del medio
desviacion <- sd(datosSemana10)
paste("La Desviación Estandar de los pesos de la semana 10 es", desviacion)
## [1] "La Desviación Estandar de los pesos de la semana 10 es 0.484870335681863"
#Media
media <- mean(datosSemana10)
paste("La media de los pesos de la semana 10 es", media)
## [1] "La media de los pesos de la semana 10 es 8.32583333333333"
#Moda
mediana <- median(datosSemana10)
paste("La mediana de los pesos de la semana 10 es", mediana)
## [1] "La mediana de los pesos de la semana 10 es 8.17"
#Mediana
moda <- mfv(datosSemana10)
paste("La moda de los pesos de la semana 10 es", moda)
## [1] "La moda de los pesos de la semana 10 es 9.46"
#Grafico de caja y bigote
boxplot(datosSemana10)

Aqui vemos un crecimiento mayor a el resto de las semanas hasya ahora haciendo que la mayoria de los estanques llegaran a pesar bastante, aunque esto puede ser ocasionado por la comida servida de forma irregular

###Semana 11

datosSemana11 <- t(CAMARONES$PesoActual)
datosSemana11 <- as.vector(datosSemana11)
datosSemana11 <- datosSemana11[109:120]

#Variancia / que tanto varian entre los mismos datos
varianza <- var(datosSemana11)
paste("La varianza de los pesos de la semana 11 es", varianza)
## [1] "La varianza de los pesos de la semana 11 es 0.216662878787879"
#Desviación Estandar / que tan lejos estan del medio
desviacion <- sd(datosSemana11)
paste("La Desviación Estandar de los pesos de la semana 11 es", desviacion)
## [1] "La Desviación Estandar de los pesos de la semana 11 es 0.465470599273336"
#Media
media <- mean(datosSemana11)
paste("La media de los pesos de la semana 11 es", media)
## [1] "La media de los pesos de la semana 11 es 9.83083333333333"
#Moda
mediana <- median(datosSemana11)
paste("La mediana de los pesos de la semana 11 es", mediana)
## [1] "La mediana de los pesos de la semana 11 es 10.035"
#Mediana
moda <- mfv(datosSemana11)
paste("La moda de los pesos de la semana 11 es", moda)
## [1] "La moda de los pesos de la semana 11 es 10.36"
#Grafico de caja y bigote
boxplot(datosSemana11)

En esta penultima semana los estanques parecen cesar un poco al crecimiento del peso, sin embargo el crecimiento de peso que sufrieron no fue poco, ya que vemos como muchos estanques superaron los 9 gramos, siendo la media de casi 10

###Semana 12

datosSemana12 <- t(CAMARONES$PesoActual)
datosSemana12 <- as.vector(datosSemana12)
datosSemana12 <- datosSemana12[121:132]

#Variancia / que tanto varian entre los mismos datos
varianza <- var(datosSemana12)
paste("La varianza de los pesos de la semana 12 es", varianza)
## [1] "La varianza de los pesos de la semana 12 es 0.230626515151515"
#Desviación Estandar / que tan lejos estan del medio
desviacion <- sd(datosSemana12)
paste("La Desviación Estandar de los pesos de la semana 12 es", desviacion)
## [1] "La Desviación Estandar de los pesos de la semana 12 es 0.480235895317619"
#Media
media <- mean(datosSemana12)
paste("La media de los pesos de la semana 12 es", media)
## [1] "La media de los pesos de la semana 12 es 11.5441666666667"
#Moda
mediana <- median(datosSemana12)
paste("La mediana de los pesos de la semana 12 es", mediana)
## [1] "La mediana de los pesos de la semana 12 es 11.575"
#Mediana
moda <- mfv(datosSemana12)
paste("La moda de los pesos de la semana 12 es", moda)
## [1] "La moda de los pesos de la semana 12 es 12.18"
#Grafico de caja y bigote
boxplot(datosSemana12)

Lastimosamente podemos ver que la mayoria de los estanques no llegaron al peso deseado, siendo que solo 3 estanques de 12 llegaron a este peso deseado, esto nos deja con muchas incognitas de el porque, puede ser que la comida sea un factor importante para esto, ya que a partir de la semana 7 se empezo a dar comida de manera iregular

  1. ¿Qué tienen de diferentes los estanques que si llegaron a 12 gramos en la semana 12 con respecto a los que no?.
datosSemana9 <- t(CAMARONES$AlimentoSemana)
datosSemana9 <- as.vector(datosSemana9)
datosSemana9 <- datosSemana9[85:96]
datosSemana9
##  [1] 1095 1070 1130 1055 1005 1085 1105 1060 1140 1115 1045 1050

A partir de esta semana los encargados del alimento empezaron a dar comida desproporcionada y dispareja a como usualmente se estaba realizando

datosSemana10 <- t(CAMARONES$AlimentoSemana)
datosSemana10 <- as.vector(datosSemana10)
datosSemana10 <- datosSemana10[97:108]
datosSemana10
##  [1] 1305 1240 1375 1440 1415 1340 1370 1350 1350 1500 1450 1325

Podemos ver que siguieron el mismo comportamiento al no dar comida de manera precisa, sino que la sirvieron de manera inconforme o no uniforme a las anteriores semanas

datosSemana11 <- t(CAMARONES$AlimentoSemana)
datosSemana11 <- as.vector(datosSemana11)
datosSemana11 <- datosSemana11[109:120]
datosSemana11
##  [1] 1450 1225 1600 1825 1650 1600 1950 1975 1175 1975 1925 1350

Igualmente vemos que no sigue un patron, por lo que nuevamente la comida es incoonsistentemente distribuida en los estanques de camarones

datosSemana12 <- t(CAMARONES$AlimentoSemana)
datosSemana12 <- as.vector(datosSemana12)
datosSemana12 <- datosSemana12[121:132]
datosSemana12
##  [1] 1950 1900 1975 2000 1900 1975 1925 2050 2025 1900 2075 2075

Todos los estanques sufren de diferencias en como crecen, esto ya que no crecen de fomra lineal, ya que son seres vivos y varias condiciones se escapan de cierto control, esto da a lugar a que no se pueda predecir precisamente los que terminaran con un peso de 12 gramos aunque se les administren diferente cantidad de alimentos

  1. ¿Con que variables se relaciona el aumento de los camarones?(regresion lineal, residuos, confianza).
  • Matríz de diagramas de dispersión
#Tomamos las columnas que necesitamos (En este caso se relacionan mas las del peso)
#pairs(CAMARONES[2:10])
filtro <- (CAMARONES[7:9])
pairs(filtro)

Vemos que de alguna manera parece ser que el peso actual de los camarones esta relacionado con el alimento total que le dan en la semana

Coeficiente de relación

cor(filtro)
##                 PesoActual TamanioAlimento AlimentoSemana
## PesoActual       1.0000000       0.8805769      0.9514703
## TamanioAlimento  0.8805769       1.0000000      0.8484229
## AlimentoSemana   0.9514703       0.8484229      1.0000000

Podemos ver que en efecto, el porcentaje de relacion que tiene el peso actual con el alimento total de la semana es de: 95%

Recta de minímos cuadrados

regresion <- lm(AlimentoSemana ~ PesoActual, data = filtro)
summary (regresion)
## 
## Call:
## lm(formula = AlimentoSemana ~ PesoActual, data = filtro)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -526.00  -89.86    9.59   90.77  380.46 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  285.864     24.864   11.50   <2e-16 ***
## PesoActual   139.697      3.963   35.25   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 153.7 on 130 degrees of freedom
## Multiple R-squared:  0.9053, Adjusted R-squared:  0.9046 
## F-statistic:  1243 on 1 and 130 DF,  p-value: < 2.2e-16

Con base a lo estimado en el análisis de regresión lineal, obtenemos la ecuacion de la recta de mínimos cuadrados

\[ y = 285.864 + 139.697x\] ### Gráfica de la recta de mínimos cuadrados

plot(filtro$PesoActual, filtro$AlimentoSemana, xlab = "Peso actual de camarones", ylab = "Alimento total de la semana")
abline(regresion)

Modelación (cálculo) de predicciones

nuevos.pesos <- data.frame(PesoActual = seq(8,12))
predict(regresion, nuevos.pesos)
##        1        2        3        4        5 
## 1403.442 1543.139 1682.837 1822.534 1962.231

Inferencia en el modelo de regresion simple

  • Suponemos ahora que los datos proceden de un modelo de regresion simple de la forma

\[ y_i = \beta_0 + \beta_1 x_i + \epsilon_i, \ \ \ \ i=1,\ldots,n, \]

Donde: * Los errores aleatorios \(\epsilon_i\) son independientes con distribucion normal 0 y varianza \(\sigma^2\)

  • los errores tipicos de los stimadores de los parametros $ _0 y _1$ se encuentran en columna std. Error serían de manera correspondiente 24.864 y 3.963

Cálculo del nivel de confianza

  • Intervalo de confianza para el 95% de los datos
confint(regresion)
##                2.5 %   97.5 %
## (Intercept) 236.6740 335.0544
## PesoActual  131.8572 147.5372
  • Intervalo de confianza para el 90% de los datos
confint(regresion, level = 0.90)
##                  5 %     95 %
## (Intercept) 244.6733 327.0552
## PesoActual  133.1322 146.2623

Representación gráfica de los intervalos de confianza

nuevos.pesos <- data.frame(PesoActual = seq(2,12))
# Gráfico de dispersion y recta
plot(filtro$PesoActual, filtro$AlimentoSemana, xlab = "Peso Actual", ylab = "Alimento total de la semana")
abline(regresion)

# Intervalos de confianza de la respuesta media
# ip es una matriz con tres columnas
# La primera es la predicción y las otras son los extremos del intervalo
ic <- predict(regresion, nuevos.pesos, interval = "confidence")
lines(nuevos.pesos$PesoActual, ic[,2], lty=2, col = "blue")
lines(nuevos.pesos$PesoActual, ic[,3], lty=2, col = "blue")

#Intervalos de predicción
ip <- predict(regresion, nuevos.pesos, interval = "prediction")
lines(nuevos.pesos$PesoActual, ip[,2], lty=2, col = "red")
lines(nuevos.pesos$PesoActual, ip[,3], lty=2, col = "red")

Vemos que el intervalo de confianza esta muy pegado a la recta, quiere decir que es muy confiable a los datos que estamos comparando, pero el de predicción, esta muy separado lo que nos dice que no acerto precisamente a los datos analizados

  1. ¿Los camarones que iniciaron con mayor peso (semana 2) son también los que terminaron en mayor peso? ¿Cómo varia el crecimiento?.

No, el crecimiento parece depender de la cantidad de comida, pero no es seguro debido a los diferentes factores no controlables de los camarones, ejemplo, su “actividad fisica”, que camarones comieron, digestion, enfermedades, etc.

  1. Realizar un ánalisis de regresión logística para determinar que hace que los camarones lleguen a 12 gramos.
  • Frecuencias de valores
#Semana 12, desde las columnas deseadas
filtro <- (CAMARONES[121:133,11:12])
## Warning: The `i` argument of ``[.tbl_df`()` must lie in [0, rows] if positive, as of tibble 3.0.0.
## Use `NA_integer_` as row index to obtain a row full of `NA` values.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_warnings()` to see where this warning was generated.
table(filtro$PesoDeseado)
## 
## 0 1 
## 9 3

Podemos ver que en la semana 12 de los 12 estanques solo 3 lograron el peso deseado

Representación gráfica de los valores y su relación con la comida

colores <-NULL
colores[filtro$PesoDeseado == 0] <- "red"
colores[filtro$PesoDeseado == 1] <- "green"
plot(filtro$AlimentoSemanaPrueba, filtro$PesoDeseado, pch = 21, bg = colores, xlab = "Alimento Total Semanal", ylab = "Estanques que consiguieron el peso deseado")
legend('topleft', c('No Logrado', 'Logrado'), pch = 21, col = c('red', 'green'))

Podemos ver que a mayor cantidad de alimento, es mas probable que aumenten de peso, pero no esta cien porciento garantizado ya que no se toman en cuenta otros tipos de factores externos que escapan de nuestro control

  • Modelo de regresión logística (familia binaria)
reg <- glm(PesoDeseado ~ AlimentoSemanaPrueba, family = binomial, data = filtro)
summary(reg)
## 
## Call:
## glm(formula = PesoDeseado ~ AlimentoSemanaPrueba, family = binomial, 
##     data = filtro)
## 
## Deviance Residuals: 
##      Min        1Q    Median        3Q       Max  
## -1.28965  -0.68424  -0.39705  -0.00008   2.00729  
## 
## Coefficients:
##                       Estimate Std. Error z value Pr(>|z|)
## (Intercept)          -35.12289   25.87759  -1.357    0.175
## AlimentoSemanaPrueba   0.01705    0.01287   1.325    0.185
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 13.496  on 11  degrees of freedom
## Residual deviance: 11.311  on 10  degrees of freedom
##   (1 observation deleted due to missingness)
## AIC: 15.311
## 
## Number of Fisher Scoring iterations: 5
datos <- data.frame(AlimentoSemanaPrueba = seq(1800,2100))

probabilidades <- predict(reg,datos,type = "response")

plot(filtro$AlimentoSemanaPrueba, filtro$PesoDeseado, pch = 21, bg = colores, xlab = "Alimento Total Semanal", ylab = "Estanques que consiguieron el peso deseado")
legend('topleft', c('No Logrado', 'Logrado'), pch = 21, col = c('red', 'green'))

#originalmente era temp pero da error
lines(datos$AlimentoSemanaPrueba, probabilidades, col="red", lwd = 4)

Según la linea de probabilidad, en efecto si se alimenta con mas cantidad de comida sube la probabilidad de que pesen mas los camarones alimentados