Objetivos del trabajo: 1. Extraer y mostrar los datos de “Producción de biomasa” simulada y observada en campo para un cultivo de arroz en Montería (Córdoba) y Saldaña (Tolima), a su vez dividir los datos por cada locación. 2. Generar un resumen reporte estadístico de la base de datos. 3. Crear una nueva variable de nombre “Residuales” que muestre la diferencia entre los valores de biomasa simulados y los observados en campo. 4. Evaluar gráfica y estadísticamente la “Robustez” del modelo para cada una de las locaciones y, después, para cada uno de los ciclos de cultivo de cada locación. 5. Analizar los resultados de la evaluación gráfica y estadística y concluir a partir de ellos.
Procedimiento Para evaluar y analizar los datos de ambas zonas se realizó lo siguiente:
Paso 1: Importar las librerías necesarias para el proceso:
##-- Importar las librerías --##
library(ggplot2)
library(DT)
Paso 2: Luego se importa la base de datos y se hace un resumen estadístico de esos datos:
##-- Importar la base de datos
getwd()
## [1] "C:/Users/user/Downloads"
setwd("C:/Users/user/OneDrive - Universidad EAFIT/Escritorio") # Extraer el archivo correspondiente #
dat=read.table("Base de datos_Produccion de biomasa total (1).csv", header=TRUE, sep=",")# Leer la base de datos #
summary(dat) # Resumen estadístico #
## Municipio Ciclo.Cultivo Biomasa.Total_Obs Biomasa.Total_Sim
## Length:63 Length:63 Min. : 64 Min. : 97.15
## Class :character Class :character 1st Qu.: 1410 1st Qu.: 1665.90
## Mode :character Mode :character Median : 5279 Median : 6111.00
## Mean : 6823 Mean : 6508.73
## 3rd Qu.:11640 3rd Qu.:10849.00
## Max. :21579 Max. :16739.00
Paso 3: Luego se muestra la tabla con los valores anteriomente mencionados:
## Mostar la tabla de los datos importados #
DT::datatable(dat)
Paso 5: Luego se crea la variable “Residuales”, se dividen la base de datos de acuerdo a la región y se muestran las tablas de ambas regiones:
##-- Obtener los datos residuales --##
dat$Residuales=(dat$Biomasa.Total_Sim - dat$Biomasa.Total_Obs)
##-- Dividir los datos de acuerdo a la región --##
datmon=dat[1:33,] # Datos de Montería (Córdoba) #
datsal=dat[34:63,] # Datos de Saldana (Tolima) #
##-- Mostrar las nuevas tablas --##
DT::datatable(datmon)
DT::datatable(datsal)
Paso 6: Posteriormente se evalúan gráficamente los datos de las dos localidades:
##-- Evaluación gráfica Montería --##
ggplot(datmon, aes(Biomasa.Total_Obs, Biomasa.Total_Sim)) + geom_point() # Hacer el gráfico de dispersión #
ggplot(datmon, aes(Biomasa.Total_Obs, Biomasa.Total_Sim)) + geom_point() + geom_abline(intercept=0 , slope=1) # Gráfico de dispersión con linea 1:1, para identificar los valores subestimados y los sobrestimados #
ggplot(datmon, aes(Biomasa.Total_Obs, Biomasa.Total_Sim)) + geom_point() + geom_abline(intercept=0 , slope=1) + geom_smooth(method = "lm", formula = y ~ x) # Gráfico con intervalo de confianza #
ggplot(datmon, aes(Biomasa.Total_Obs, Residuales)) + geom_point() + geom_abline(intercept=0 , slope=0) # Gráfica de residuales vs biomasa observada#
##-- Evaluación gráfica Montería --##
ggplot(datsal, aes(Biomasa.Total_Obs, Biomasa.Total_Sim)) + geom_point() # Hacer el gráfico de dispersión #
ggplot(datsal, aes(Biomasa.Total_Obs, Biomasa.Total_Sim)) + geom_point() + geom_abline(intercept=0 , slope=1) # Gráfico de dispersión con linea 1:1, para identificar los valores subestimados y los sobrestimados #
ggplot(datsal, aes(Biomasa.Total_Obs, Biomasa.Total_Sim)) + geom_point() + geom_abline(intercept=0 , slope=1) + geom_smooth(method = "lm", formula = y ~ x) # Gráfico con intervalo de confianza #
ggplot(datsal, aes(Biomasa.Total_Obs, Residuales)) + geom_point() + geom_abline(intercept=0 , slope=0) # Gráfica de residuales vs biomasa observada"
Paso 7: La última evaluación es la estadistica, en este caso se realiza a evaluación estadística de acuerdo a la locación:
##-- Evaluación estadística de Montería --##
Mon.RMSD=((sum(datmon$Residuales**2))/32)**0.5 # Identificar el "Error Cuadrático de la Desviación" (RMSD) #
Mon.Sesgo=sum(datmon$Residuales)/33 # Identificar el Sesgo
Mon.CC= cor(datmon$Biomasa.Total_Obs,datmon$Biomasa.Total_Sim) # Identificar el Coeficiente de Correlación (CC) #
##-- Evaluación estadística de Saldaña --##
Sal.RMSD=(sum((datsal$Residuales**2))/29)**0.5
Sal.Sesgo=sum(datsal$Residuales)/30
Sal.CC= cor(datsal$Biomasa.Total_Obs,datsal$Biomasa.Total_Sim)
Paso 8 Posteriormente, se dividen las localidades en los ciclos de cultivo, esto para obtener el ciclo con el mayor error de simulación de ambas localidades.
datmonA=dat[1:7,] # Montería ciclo A#
datmonB=dat[8:19,] # Montería ciclo B#
datmonC=dat[20:33,] # Montería ciclo C#
datsalA=dat[34:40,] # Saldaña ciclo A#
datsalB=dat[41:50,] # Saldaña cilo B#
datsalC=dat[51:63,] #Saldaña ciclo C#
Paso 9 Se procede entonces a evaluar cada ciclo por separado, iniciando con los ciclos de MONTERIA en orden alfabético:
##-- Evaluación gráfica Montería A--##
ggplot(datmonA, aes(Biomasa.Total_Obs, Biomasa.Total_Sim)) + geom_point() + geom_abline(intercept=0 , slope=1) + geom_smooth(method = "lm", formula=y~x) # Gráfico con intervalo de confianza #
ggplot(datmonA, aes(Biomasa.Total_Obs, Residuales)) + geom_point() + geom_abline(intercept=0 , slope=0) # Gráfica de residuales #
##-- Evaluación gráfica Montería B--##
ggplot(datmonB, aes(Biomasa.Total_Obs, Biomasa.Total_Sim)) + geom_point() + geom_abline(intercept=0 , slope=1) + geom_smooth(method = "lm", formula=y~x) # Gráfico con intervalo de confianza #
ggplot(datmonB, aes(Biomasa.Total_Obs, Residuales)) + geom_point() + geom_abline(intercept=0 , slope=0) # Gráfica de residuales #
##-- Evaluación gráfica Montería C--##
ggplot(datmonC, aes(Biomasa.Total_Obs, Biomasa.Total_Sim)) + geom_point() + geom_abline(intercept=0 , slope=1) + geom_smooth(method = "lm", formula = y ~ x) # Gráfico con intervalo de confianza #
ggplot(datmonC, aes(Biomasa.Total_Obs, Residuales)) + geom_point() + geom_abline(intercept=0 , slope=0) # Gráfica de residuales #
Paso 10 Se continúa con Saldaña (Tolima):
##-- Evaluación gráfica Saldaña --##
ggplot(datsalA, aes(Biomasa.Total_Obs, Biomasa.Total_Sim)) + geom_point() + geom_abline(intercept=0 , slope=1) + geom_smooth(method = "lm", formula= y~x)
ggplot(datsalA, aes(Biomasa.Total_Obs, Residuales)) + geom_point() + geom_abline(intercept=0 , slope=0)
ggplot(datsalB, aes(Biomasa.Total_Obs, Biomasa.Total_Sim)) + geom_point() + geom_abline(intercept=0 , slope=1) + geom_smooth(method = "lm", formula=y~x)
ggplot(datsalB, aes(Biomasa.Total_Obs, Residuales)) + geom_point() + geom_abline(intercept=0 , slope=0)
ggplot(datsalC, aes(Biomasa.Total_Obs, Biomasa.Total_Sim)) + geom_point() + geom_abline(intercept=0 , slope=1) + geom_smooth(method = "lm", formula=y~x)
ggplot(datsalC, aes(Biomasa.Total_Obs, Residuales)) + geom_point() + geom_abline(intercept=0 , slope=0)
Paso 11 Pr último se realiza la evaluación estadística de cada uno de los ciclos de los dos municipios. MONTERIA:
#-- Evaluación estadística de Montería A --##
MonA.RMSD=((sum(datmonA$Residuales**2))/33)**0.5
MonA.Sesgo=sum(datmonA$Residuales)/34
MonA.CC= cor(datmonA$Biomasa.Total_Obs,datmonA$Biomasa.Total_Sim)
print(MonA.RMSD)
## [1] 2273.293
print(MonA.Sesgo)
## [1] -775.9688
print(MonA.CC)
## [1] 0.9977477
#-- Evaluación estadística de Montería B --##
MonB.RMSD=((sum(datmonB$Residuales**2))/33)**0.5
MonB.Sesgo=sum(datmonB$Residuales)/34
MonB.CC= cor(datmonB$Biomasa.Total_Obs,datmonB$Biomasa.Total_Sim)
print(MonB.RMSD)
## [1] 1323.882
print(MonB.Sesgo)
## [1] -451.2132
print(MonB.CC)
## [1] 0.9905208
#-- Evaluación estadística de Montería C --##
MonC.RMSD=((sum(datmonC$Residuales**2))/33)**0.5
MonC.Sesgo=sum(datmonC$Residuales)/34
MonC.CC= cor(datmonC$Biomasa.Total_Obs,datmonC$Biomasa.Total_Sim)
print(MonC.RMSD)
## [1] 574.7579
print(MonC.Sesgo)
## [1] 167.9239
print(MonC.CC)
## [1] 0.9859327
SALDAÑA:
##-- Evaluación estadística de Saldaña A--##
SalA.RMSD=(sum((datsalA$Residuales**2))/29)**0.5
SalA.Sesgo=sum(datsalA$Residuales)/30
SalA.CC= cor(datsalA$Biomasa.Total_Obs,datsalA$Biomasa.Total_Sim)
print(SalA.RMSD)
## [1] 902.4297
print(SalA.Sesgo)
## [1] -190.6507
print(SalA.Sesgo)
## [1] -190.6507
##-- Evaluación estadística de Saldaña B--##
SalB.RMSD=(sum((datsalB$Residuales**2))/29)**0.5
SalB.Sesgo=sum(datsalB$Residuales)/30
SalB.CC= cor(datsalB$Biomasa.Total_Obs,datsalB$Biomasa.Total_Sim)
print(SalB.RMSD)
## [1] 776.4501
print(SalB.Sesgo)
## [1] 352.945
print(SalB.CC)
## [1] 0.9925802
##-- Evaluación estadística de Saldaña C--##
SalC.RMSD=(sum((datsalC$Residuales**2))/29)**0.5
SalC.Sesgo=sum(datsalC$Residuales)/30
SalC.CC= cor(datsalC$Biomasa.Total_Obs,datsalC$Biomasa.Total_Sim)
print(SalC.RMSD)
## [1] 1078.955
print(SalC.Sesgo)
## [1] 378.383
print(SalC.CC)
## [1] 0.9857811
Conclusiones
Desde una visión general, en Monteria se presentó una mayor subestimación, es decir, al momento de la simulación de la biomasa total que se podría haber producido hubo un porcentaje de error bastante alto, ya que la biomasa T. observada fue menor a lo esperado. Mientras que en Saldaña se presentó un modelo más robusto, hubo mayor sobrestimación, es decir, la biomasa total observada fue mayor a la esperada.
Observando el sesgo de Saldaña podemos concluir que el sistema de medición mide por encima del valor real, ya que es un valor positivo y cercano a 0. Se mide con mayor exactitud. También podemos mencionar que el coeficiente de correlación está cerca de 1, es decir, que las variables están asociadas en sentido directo, más alta es su asociación.
Observando el sesgo de Monteria podemos concluir que el sistema de medición mide por debajo del valor real, ya que es un valor negativo y no tan cercano a 0. También podemos mencionar que el coeficiente de correlación está cerca de 1, es decir, que las variables están asociadas en sentido directo, más alta es su asociación, pero está por debajo del valor de Saldaña.
De acuerdo con los ciclos observados en Saldaña, se puede concluir hay una sobre estimación, muy por encima de la simulación realizada, mientras que en el ciclo a y b de monteria se presenta una subestimación, se observó menos de lo que se había simulado.
De acuerdo con todo lo analizado, se llegó a la conclusión de que Saldaña es el lugar con mayor producción de biomasa observado, a pesar de que en el ciclo A halla mayor subestimación.