U1A10

Javier Salgueiro

24/09/2020

Análisis del crecimiento de camarones en una granja acuícola

Regresión lineal simple

Importar

Paquetes

library(pacman)
p_load("readr", "tidyverse")

Datos

datos <- read.csv("Camarones.csv")

Transformar

Tiempo <- as.numeric(datos$Semana)
Peso <- as.numeric(datos$Peso)
Alimento <- as.numeric(datos$AlimentoSemana)
tamaño <- data.frame(Tiempo, Peso, Alimento)
names(tamaño)
## [1] "Tiempo"   "Peso"     "Alimento"

Visualizar

  • Gráfico de correlación, gráfico de pares
head(tamaño)
##   Tiempo Peso Alimento
## 1      2 0.77      402
## 2      2 0.78      402
## 3      2 0.69      402
## 4      2 0.72      402
## 5      2 0.61      402
## 6      2 0.62      402
pairs(tamaño)

Modelar

Grado de correlación lineal

  • Matriz de coeficientes de correlación:
cor(tamaño)
##             Tiempo      Peso  Alimento
## Tiempo   1.0000000 0.9821447 0.9520315
## Peso     0.9821447 1.0000000 0.9586748
## Alimento 0.9520315 0.9586748 1.0000000

Es demaciado fácil deducir que el tamaño (de cualquier cosa) aunmenta conforme pasa el tiempo, es por eso que el grado de correlación es del casi el 100%, más sin embargo, esto depende claramente de la cantidad de alimento que ingieren los camarones por semana, ya que sin esto no aumentaría de peso, A continuación represento la recta de mínimos cuadrados para la relación del peso de los camarones conforme pasa el tiempo y por la cantidad de alimento que se les proporciona.

Granja Acuíola

Cálculo y representación de las rectas de mínimos cuadrados

regresion <- lm(Peso ~ Tiempo, data=tamaño)
summary(regresion)
## 
## Call:
## lm(formula = Peso ~ Tiempo, data = tamaño)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -1.33105 -0.42017 -0.05064  0.54900  1.69082 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  -2.0633     0.1490  -13.84   <2e-16 ***
## Tiempo        1.0527     0.0194   54.26   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.6435 on 108 degrees of freedom
## Multiple R-squared:  0.9646, Adjusted R-squared:  0.9643 
## F-statistic:  2944 on 1 and 108 DF,  p-value: < 2.2e-16
  • Entonces, la recta de mínimos cuadrados para este caso, sería la siguiente:

\[ y = -2.0633 + 1.0527x \]

regresion1 <- lm(Peso ~ Alimento, data=tamaño)
summary(regresion1)
## 
## Call:
## lm(formula = Peso ~ Alimento, data = tamaño)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -2.2270 -0.6245 -0.1415  0.6869  3.7317 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -1.295985   0.210119  -6.168 1.23e-08 ***
## Alimento     0.006548   0.000187  35.018  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.9732 on 108 degrees of freedom
## Multiple R-squared:  0.9191, Adjusted R-squared:  0.9183 
## F-statistic:  1226 on 1 and 108 DF,  p-value: < 2.2e-16
  • Entonces, la recta de mínimos cuadrados para este otro caso, sería la siguiente:

\[ y = -1.295985 + 0.006548x \]

Representación gráfica de las rectas

plot (tamaño$Tiempo, tamaño$Peso, xlab = "Tiempo/Semana", ylab = "Peso (grms)")
abline(regresion)

plot (tamaño$Alimento, tamaño$Peso, xlab = "Alimento/Semana", ylab = "Peso (grms)")
abline(regresion1)

Modelación de valores

nuevos.pesos <- data.frame(Tiempo = seq(2,13))
predict(regresion, nuevos.pesos)
##           1           2           3           4           5           6 
##  0.04209091  1.09480000  2.14750909  3.20021818  4.25292727  5.30563636 
##           7           8           9          10          11          12 
##  6.35834545  7.41105455  8.46376364  9.51647273 10.56918182 11.62189091
nuevos.pesos1 <- data.frame(Alimento = seq(1900,2000))
predict(regresion1, nuevos.pesos1)
##        1        2        3        4        5        6        7        8 
## 11.14586 11.15241 11.15896 11.16551 11.17206 11.17861 11.18515 11.19170 
##        9       10       11       12       13       14       15       16 
## 11.19825 11.20480 11.21135 11.21790 11.22444 11.23099 11.23754 11.24409 
##       17       18       19       20       21       22       23       24 
## 11.25064 11.25719 11.26373 11.27028 11.27683 11.28338 11.28993 11.29648 
##       25       26       27       28       29       30       31       32 
## 11.30302 11.30957 11.31612 11.32267 11.32922 11.33577 11.34231 11.34886 
##       33       34       35       36       37       38       39       40 
## 11.35541 11.36196 11.36851 11.37506 11.38160 11.38815 11.39470 11.40125 
##       41       42       43       44       45       46       47       48 
## 11.40780 11.41435 11.42089 11.42744 11.43399 11.44054 11.44709 11.45364 
##       49       50       51       52       53       54       55       56 
## 11.46018 11.46673 11.47328 11.47983 11.48638 11.49293 11.49947 11.50602 
##       57       58       59       60       61       62       63       64 
## 11.51257 11.51912 11.52567 11.53222 11.53876 11.54531 11.55186 11.55841 
##       65       66       67       68       69       70       71       72 
## 11.56496 11.57151 11.57806 11.58460 11.59115 11.59770 11.60425 11.61080 
##       73       74       75       76       77       78       79       80 
## 11.61735 11.62389 11.63044 11.63699 11.64354 11.65009 11.65664 11.66318 
##       81       82       83       84       85       86       87       88 
## 11.66973 11.67628 11.68283 11.68938 11.69593 11.70247 11.70902 11.71557 
##       89       90       91       92       93       94       95       96 
## 11.72212 11.72867 11.73522 11.74176 11.74831 11.75486 11.76141 11.76796 
##       97       98       99      100      101 
## 11.77451 11.78105 11.78760 11.79415 11.80070

Podemos observar que los valores generados en ambos casos se acercan demasiado a los valores reales, mostrados en las graficas, lo que indica que hay un valor de error estándar, por ende nos incita a hacer lo siguiente.

Inferencia en el modelo de regresión lineal simple

Suponemos que los datos proceden de un modelo de regresión simple de la forma:

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

Los errores aleatorios \(\epsilon_i\) son independientes con distribución normal de medida 0 y varianza \(\sigma^2\)

Bajo este modelo:

  • Los errores típicos de los estimadores de los parámetros \(\beta_0\) y \(\beta_1\) se encuentran en la columna Std Error de la salida anterior. Los valores para Peso ~ Tiempo son: 0.1490 y 0.0194 respectivamente y para Peso ~ Alimento son: 0.210119 y 0.000187 respectivamente.

  • Los intervalos de confianza de los parámetros se obtienen con el comando confint. El parámetro level permite elegir el nivel de confianza (por lo regular es 0.95)

confint(regresion)
##                 2.5 %    97.5 %
## (Intercept) -2.358747 -1.767907
## Tiempo       1.014249  1.091169
confint(regresion, level = 0.9)
##                   5 %      95 %
## (Intercept) -2.310595 -1.816060
## Tiempo       1.020518  1.084901
confint(regresion1)
##                    2.5 %       97.5 %
## (Intercept) -1.712477295 -0.879493325
## Alimento     0.006177679  0.006919004
confint(regresion1, level = 0.9)
##                      5 %         95 %
## (Intercept) -1.644590349 -0.947380271
## Alimento     0.006238096  0.006858588
  • ¿Que tan confiable son estos modelos?

Comparativa de datos reales vs datos predecidos, respectivamente.

  • Los intervalos de confianza para la respuesta media y los intervalos de confianza para la respuesta se pueden obtener con el comando predict. Por ejemplo el código a continuación estima y representa los dos tipos de intervalos (para el rango de tiempo de 2 a 13 semanas), los de predicción en rojo.
nuevos.pesos <- data.frame(Tiempo =seq(2,13))
#Gráfico de dispersión y recta  
plot (tamaño$Tiempo, tamaño$Peso, xlab = "Tiempo", ylab = "Peso")
abline(regresion)

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

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

El código a continuación estima y representa los dos tipos de intervalos (para el rango de Alimento de 400 a 2000 gramos), los de predicción en rojo.

nuevos.pesos1 <- data.frame(Alimento =seq(400,2000))
#Gráfico de dispersión y recta  
plot (tamaño$Alimento, tamaño$Peso, xlab = "Alimento/Semana", ylab = "Peso (grms)")
abline(regresion1)

#Intervalos de confianza de la respuesta media
# ic es una matriz con tres columnas:
#la primera es la predicción, las otras son los extremos del intervalo
ic <- predict(regresion1, nuevos.pesos1, interval = "confidence")
lines(nuevos.pesos1$Alimento, ic[,2], lty = 2)
lines(nuevos.pesos1$Alimento, ic[,3], lty = 2)

#Intervalos de predicción
ic <- predict(regresion1, nuevos.pesos1, interval = "prediction")
lines(nuevos.pesos1$Alimento, ic[,2], lty = 2, col = "red")
lines(nuevos.pesos1$Alimento, ic[,3], lty = 2, col = "red")

ANOVA

  • La tabla de análisis de varaianza se obtiene con el comando anova
anova(regresion)
## Analysis of Variance Table
## 
## Response: Peso
##            Df  Sum Sq Mean Sq F value    Pr(>F)    
## Tiempo      1 1219.02 1219.02  2943.6 < 2.2e-16 ***
## Residuals 108   44.73    0.41                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
anova(regresion1)
## Analysis of Variance Table
## 
## Response: Peso
##            Df  Sum Sq Mean Sq F value    Pr(>F)    
## Alimento    1 1161.45 1161.45  1226.3 < 2.2e-16 ***
## Residuals 108  102.29    0.95                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Conclusión

En este ejercicio, se realizo a detalle un análisis de la correlación de las variables: Tiempo (expresado en semanas) , Peso (expresado en gramos) y Alimento (Cantidad/semana) para el tamaño de los camarones en una granja acuícola. Puedo concluir que las tres variables estan correlacionadas entre sí, ya que obviamente conforme pase el tiempo, alimentando a los camarones, estos aunmentaran su tamaño considerablemente. Al hacer el análisis de las variables por separado podemos apreciar que los dos modelos son bastantes confiables ya que la mayoria de los datos están dentro de los intervalos de confianza. Finalmente para concluir este ejercicio realizamos un análisis de varianza para evaluar la variabilidad de los datos.

Investigación

Intervalos de confianza

La estimación puntual aproxima mediante un número el valor de una característica poblacional o parámetro desconocido (la altura media de los españoles, la intención de voto a un partido en las próximas elecciones generales, el tiempo medio de ejecución de un algoritmo, el número de taxis, etc) pero no nos indica el error que se comete en dicha estimación. Lo razonable, en la práctica, es adjuntar, junto a la estimación puntual del parámetro, un intervalo que mida el margen de error de la estimación. La construcción de dicho intervalo es el objetivo de la estimación por intervalos de confianza.

Un intervalo de confianza para un parámetro con un nivel de confianza 1−α (0<α<1), es un intervalo de extremos aleatorios (L,U) que, con probabilidad 1−α, contiene al parámetro en cuestión.

P(parámetro∈(L,U))=1−α.

Los valores más habituales del nivel de confianza 1−α son 0.9, 0.95 o 0.99 (la confianza es del 90%, 95% o 99%). En ocasiones también se emplea la terminología nivel de significación para el valor α.

En la estimación por intervalos de confianza partimos de una muestra x1,…,xn. A partir de estos valores obtenemos un intervalo numérico. Por ejemplo, podríamos hablar de que, con una confianza del 99 por ciento, la proporción de voto al partido político “Unidas Ciudadanas” está entre el 29 y el 31 por ciento. O que, con una confianza del 90 por ciento, la estatura media está entre 1.80 y 1.84.

¿Que es ANOVA?

Un análisis de Varianza (ANOVA), consiste en una agrupación de modelos estadísticos y sus procedimientos asociados, donde la varianza está particionada en ciertos componentes, debido a variables explicativas diversas. Si desglosamos sus siglas en inglés, ANOVA significa: ANalysis Of VAriance (Análisis de la varianza).

Este análisis surge de los conceptos de regresión lineal. La regresión lineal, en estadística, es un modelo matemático que se utiliza para aproximar la relación de dependencia entre una variable dependiente Y (por ejemplo la ansiedad), las variables independientes Xi (por ejemplo diferentes tratamientos) y un término aleatorio.

El ANOVA es un tipo de prueba paramétrica. Esto quiere decir que deben cumplirse una serie de supuestos para aplicarla, y que el nivel de la variable de interés debe ser, como mínimo, cuantitativo (es decir, como mínimo de intervalo, por ejemplo el coeficiente intelectual, donde existe un 0 relativo). Sirve para determinar si diferentes tratamientos (por ejemplo, tratamientos psicológicos) muestran diferencias significativas, o si por el contrario, puede establecerse que sus medias poblaciones no difieren (son prácticamente iguales, o su diferencia no es significativa).

Es decir, se utiliza la ANOVA para contrastar hipótesis acerca de diferencias de medias (siempre más de dos). El ANOVA implica un análisis o descomposición de la variabilidad total; ésta, a su vez, se puede atribuir principalmente a dos fuentes de variación:

  • Variabilidad intergrupo
  • Variabilidad intragrupo o error

Tipos de ANOVA

Existen dos tipos de análisis de varianza (ANOVA):

  1. Anova I Cuando solo existe un criterio de clasificación (variable independiente; por ejemplo, tipo de técnica terapéutica). A su vez, puede ser intergrupo (existen varios grupos experimentales) e intragrupo (existe un único grupo experimental).

  2. Anova II En este caso, hay más de un criterio de clasificación (variable independiente). Igual que en el caso anterior, esta puede ser intergrupo e intragrupo.

Bibliografia

Rio, A. (2020). 7.4 Intervalos de confianza | Estadística Básica Edulcorada. Retrieved 25 September 2020, from https://bookdown.org/aquintela/EBE/intervalos-de-confianza.html

Ruiz Mitjana, L. (2020, 21 septiembre). Análisis de Varianza (ANOVA): qué es y cómo se usa en estadística. Psicología y Mente. https://psicologiaymente.com/cultura/analisis-de-varianza-anova