setwd("~/EstadisticaAplicada")
library(pacman)
p_load("readxl", "prettydoc", "DT", "readr", "fdth", "modeest", "scott", "FD", "Sturges", "ggplot")
## Installing package into 'C:/Users/erika/Documents/R/win-library/3.6'
## (as 'lib' is unspecified)
## Warning: package 'scott' is not available (for R version 3.6.3)
## Warning: unable to access index for repository http://www.stats.ox.ac.uk/pub/RWin/bin/windows/contrib/3.6:
##   no fue posible abrir la URL 'http://www.stats.ox.ac.uk/pub/RWin/bin/windows/contrib/3.6/PACKAGES'
## Warning in p_install(package, character.only = TRUE, ...):
## Warning in library(package, lib.loc = lib.loc, character.only = TRUE,
## logical.return = TRUE, : there is no package called 'scott'
## Installing package into 'C:/Users/erika/Documents/R/win-library/3.6'
## (as 'lib' is unspecified)
## Warning: package 'Sturges' is not available (for R version 3.6.3)
## Warning: unable to access index for repository http://www.stats.ox.ac.uk/pub/RWin/bin/windows/contrib/3.6:
##   no fue posible abrir la URL 'http://www.stats.ox.ac.uk/pub/RWin/bin/windows/contrib/3.6/PACKAGES'
## Warning in p_install(package, character.only = TRUE, ...):
## Warning in library(package, lib.loc = lib.loc, character.only = TRUE,
## logical.return = TRUE, : there is no package called 'Sturges'
## Installing package into 'C:/Users/erika/Documents/R/win-library/3.6'
## (as 'lib' is unspecified)
## Warning: package 'ggplot' is not available (for R version 3.6.3)
## Warning: unable to access index for repository http://www.stats.ox.ac.uk/pub/RWin/bin/windows/contrib/3.6:
##   no fue posible abrir la URL 'http://www.stats.ox.ac.uk/pub/RWin/bin/windows/contrib/3.6/PACKAGES'
## Warning in p_install(package, character.only = TRUE, ...):
## Warning in library(package, lib.loc = lib.loc, character.only = TRUE,
## logical.return = TRUE, : there is no package called 'ggplot'
## Warning in p_load("readxl", "prettydoc", "DT", "readr", "fdth", "modeest", : Failed to install/load:
## scott, Sturges, ggplot
library(fdth)
library(plotly)
## Loading required package: ggplot2
## Registered S3 method overwritten by 'httr':
##   method         from  
##   print.response rmutil
## 
## Attaching package: 'plotly'
## The following object is masked from 'package:ggplot2':
## 
##     last_plot
## The following object is masked from 'package:stats':
## 
##     filter
## The following object is masked from 'package:graphics':
## 
##     layout

Primer evaluación de estado de la materia de probabilidad y estadística para ingenierías

Caso de estudio 1: Acuacualtura

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

En términos ideales los 12 estanques tendrían que llegar en la semana número 12 a 12 gramos para poder entonces realizar la ‘cosecha’, pero únicamente 3 de los 12 estanques llegaros a este peso.

¿Por qué esto es un problema? dado que se tendrá 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 estadística y realice una descripción exploratoria de los datos (MMM, MD, CB)

  2. ¿Que tienen de diferentes los estanques que SI llegaron a 12 gramos en la semana 12 con respecto a los que no?

3.- ¿Con qué variables se relaciona el aumento de peso de los camarones? (regresión lineal, residuos, confianza)

4.- ¿Los camarones que iniciaron con mayor peso ( semana 2) son también los que terminaron en mayor peso? ¿Cómo varía el crecimiento?

5.- Realice un análisis de regresión logística para determinar que hace que los camarones llegen a 12 gramos.

Datos

library(readr)
library(DT)
CAMARONES <- read_csv("CAMARONES.csv")
## Warning: Missing column names filled in: 'X11' [11]
## 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(),
##   X11 = col_double()
## )
datatable(CAMARONES)
CAMARONES2 <- read_csv("CAMARONES2.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(),
##   CamaronBien = col_double()
## )
datatable(CAMARONES2)

`

alimentocam <-(CAMARONES2$AlimentoDiario)
library(fdth)
alimentocam
##  [1] 278.5714 271.4286 282.1429 285.7143 271.4286 282.1429 275.0000 292.8571
##  [9] 289.2857 271.4286 296.4286 296.4286

Definición de Estadistica

Tabla de Distribución de Frecuencia

dist <- fdt(alimentocam, breaks = "Sturges")
dist
##       Class limits f   rf rf(%) cf  cf(%)
##   [268.714,274.85) 3 0.25 25.00  3  25.00
##   [274.85,280.986) 2 0.17 16.67  5  41.67
##  [280.986,287.121) 3 0.25 25.00  8  66.67
##  [287.121,293.257) 2 0.17 16.67 10  83.33
##  [293.257,299.393) 2 0.17 16.67 12 100.00

Graficas de frecuencias

hist(alimentocam, breaks="Sturges")

#alimento camaron de frecuancia 
plot(dist, type = "fh", col="pink")

# Poligono de frecuancia acomulada
plot(dist, type = "cfp", col="blue")

# Histograma de frecuencia acomulada
plot(dist, type="cfh", col="green")

sort(alimentocam)
##  [1] 271.4286 271.4286 271.4286 275.0000 278.5714 282.1429 282.1429 285.7143
##  [9] 289.2857 292.8571 296.4286 296.4286

Medidas de Frecuencia Central

####Media

mean(alimentocam)
## [1] 282.7381

Mediana

median(alimentocam)
## [1] 282.1429

Moda

mfv(alimentocam)
## [1] 271.4286

Cuantiles

summary(alimentocam)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   271.4   274.1   282.1   282.7   290.2   296.4

Varianza

var(alimentocam)
## [1] 90.05875

Desviación Estandar

sd(alimentocam)
## [1] 9.489929

Grafico de caja y bigote

boxplot(alimentocam, col="pink")

ggplot(data = CAMARONES2) +
  geom_point(mapping = aes(x=AlimentoDiario, y=PesoActual), col="orange", lwd=2)

## 2da. Parte

¿Que tienen de diferentes los estanques que SI llegaron a 12 gramos en la semana 12 con respecto a los que no?

Los datos obtenidos se puede observar que la interprentación entre los tanques no es diferentes y todos los tanques reciben la misma cantidad de alimento y el mismo tamaño de tanque. Lo que pudo ver afectado son las condiciones ambientales del tanque como el ambiente y pudo ver afectado las condiciones de temperatura y oxigenación del tanque para el desarrollo de los camarones.

Parte 3

Recta de minimos cuadrados de todas las semanas

minimo <- lm(PesoActual ~ AlimentoDiario, data = CAMARONES)
summary(minimo)
## 
## Call:
## lm(formula = PesoActual ~ AlimentoDiario, data = CAMARONES)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -2.3032 -0.6334 -0.0752  0.6261  3.8672 
## 
## Coefficients:
##                 Estimate Std. Error t value Pr(>|t|)    
## (Intercept)    -1.351719   0.209245   -6.46 1.92e-09 ***
## AlimentoDiario  0.045363   0.001287   35.25  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.047 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

Ecuación de la recta de minimos de todas las semans

\[ y=-1.3517x+0.0453\] \[ y=-6.46x+35.25\]

recta de minimos cuadrados de la semana 12

minimo12 <- lm(PesoActual ~ AlimentoDiario, data = CAMARONES2)
summary(minimo12)
## 
## Call:
## lm(formula = PesoActual ~ AlimentoDiario, data = CAMARONES2)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -0.9169 -0.2628  0.1056  0.2560  0.6956 
## 
## Coefficients:
##                Estimate Std. Error t value Pr(>|t|)
## (Intercept)     7.48560    4.34095   1.724    0.115
## AlimentoDiario  0.01435    0.01535   0.935    0.372
## 
## Residual standard error: 0.483 on 10 degrees of freedom
## Multiple R-squared:  0.08046,    Adjusted R-squared:  -0.01149 
## F-statistic: 0.875 on 1 and 10 DF,  p-value: 0.3716

####Ecuacioón de la recta de minimos cuadrados de la semana 12 \[ y=7.4856x + 0.0143\] ### Intervalos de Confianzas

confint(minimo12)
##                      2.5 %      97.5 %
## (Intercept)    -2.18664004 17.15784171
## AlimentoDiario -0.01983703  0.04854605

Análisis de gráficos de residuos

plot(minimo12)

Shapiro-Wilk

shapiro.test(minimo12$residuals)
## 
##  Shapiro-Wilk normality test
## 
## data:  minimo12$residuals
## W = 0.97249, p-value = 0.9351

Matriz de correlación

Para todas las semanas

PesoA1 <- CAMARONES$PesoActual
AlimD1 <- CAMARONES$AlimentoDiario
cor1 <- data.frame(PesoA1,AlimD1)
pairs(cor1)

Para solo la semana 12

PesoA2 <- CAMARONES2$PesoActual
AlimD2 <- CAMARONES2$AlimentoDiario
cor2 <- data.frame(PesoA2,AlimD2)
pairs(cor2, col= "brown")

Parte 4

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

No, ya que se puede observa que los pesos anteriores con mayor peso al empezar solo dos de los 12 tanques terminaron con peso mayor y los otros 10 tanques que iniciaron con mayor peso terminaron con el peso que los de peso menor al inicio.

peso1 <- t(CAMARONES$PesoActual [CAMARONES$Estanque == "Estanque 1"])
peso12 <- t(CAMARONES$PesoActual [CAMARONES$Estanque == "Estanque 12"])
peso6 <- t(CAMARONES$PesoActual [CAMARONES$Estanque == "Estanque 6"])
sort(peso1)
##  [1]  0.77  1.32  2.03  3.13  4.25  4.32  6.21  7.64  9.46 10.36 12.18
sort(peso6)
##  [1]  0.62  1.43  1.83  2.91  3.42  4.03  5.33  6.51  8.51 10.19 11.12
sort(peso12)
##  [1]  0.60  1.39  1.93  2.97  4.17  5.17  5.86  6.25  7.85 10.12 12.05

Parte 5

Realice un análisis de regresión logística para determinar que hace que los camarones llegen a 12 gramos.

Regresión Logística

Regresión Logística para las 12 semanas

plot(CAMARONES$AlimentoDiario,CAMARONES$PesoActual, xlab = "Comida diaria proporcionada", ylab = "Peso en gramos del camaron")
abline(minimo, col= "red")

CamaronBien <- t(CAMARONES2$CamaronBien)
CamaronBien[CAMARONES2$CamaronBien==0] <- "orange"
CamaronBien[CAMARONES2$CamaronBien==1] <- "pink"
plot(CAMARONES2$AlimentoDiario, CAMARONES2$CamaronBien, pch = 21, bg = CamaronBien, xlab = 'Alimento diario', ylab = 'Probabilidad de defectos')
legend("bottomleft", c('Peso no deseado', 'Peso deseado'), pch = 21, col = c('orange', 'pink'))

CamaronBien <- t(CAMARONES2$CamaronBien)
datos <- data.frame(AlimentoDiario=seq(57.43,296.43,0.1))
probabilidades <- predict(minimo12, datos, type = "response")
CamaronBien[CAMARONES2$PesoActual<12] <- "red"
CamaronBien[CAMARONES2$PesoActual>=12] <- "green"
plot(CAMARONES2$AlimentoDiario,CAMARONES2$PesoActual, pch=21, bg=CamaronBien, xlab = "Comida diaria proporcionada", ylab = "Probabilidad de peso de los camarones")
legend('bottomright', c('Peso logrado','Peso no logrado'), pch=21, col = c('yellow','red'))

lines(datos$AlimentoDiario, probabilidades, col = "pink", lwd = 3)

CamaronBien <- t(CAMARONES2$CamaronBien)
datos <- data.frame(AlimentoDiario=seq(57.43,296.43,0.1))
probabilidades <- predict(minimo, datos, type = "response")
CamaronBien[CAMARONES2$PesoActual<12] <- "red"
CamaronBien[CAMARONES2$PesoActual>=12] <- "green"
plot(CAMARONES$AlimentoDiario,CAMARONES$PesoActual, pch=21, bg=CamaronBien, xlab = "Comida diaria proporcionada", ylab = "Probabilidad de peso de los camarones")
legend('bottomright', c('Peso logrado','Peso no logrado'), pch=21, col = c('yellow','red'))

lines(datos$AlimentoDiario, probabilidades, col = "pink", lwd = 3)