De acuerdo con la necesidad de análisis de información, se procede a cargar las siguientes librerias
library(readxl)
Datos_Completos_Aguacate <- read_excel("Datos_Completos_Aguacate.xlsx")
View(Datos_Completos_Aguacate)Debido a que el filtrado se realizará con base en la fecha 01-10-2020, se opta por crear una variable que permita separar la fecha de la hora, con el fin de obtener el dataframe filtrado.
Asimismo, se verifica que cada árbol de la finca cuente con sus respectivas coordenadas geográficas y con la variable de temperatura.
#se convierte la columna de fecha en formato date
Datos_Completos_Aguacate$fecha = as.Date(Datos_Completos_Aguacate$FORMATTED_DATE_TIME, format = "%d-%m-%Y %H:%M")
#se crea la columna fecha_1 para separar fecha de hora
fecha_hora = dmy_hms(Datos_Completos_Aguacate$FORMATTED_DATE_TIME)
hora = hour(fecha_hora)
fecha_1 = date(fecha_hora)
Datos_Completos_Aguacate$fecha_1 = fecha_1
#se filtra por la fecha 01/10/2020
aguacates_final = Datos_Completos_Aguacate[Datos_Completos_Aguacate$fecha_1 == as.Date("2020-10-01"), ]
names(aguacates_final)## [1] "id_arbol" "Latitude"
## [3] "Longitude" "FORMATTED_DATE_TIME"
## [5] "Psychro_Wet_Bulb_Temperature" "Station_Pressure"
## [7] "Relative_Humidity" "Crosswind"
## [9] "Temperature" "Barometric_Pressure"
## [11] "Headwind" "Direction_True"
## [13] "Direction_Mag" "Wind_Speed"
## [15] "Heat_Stress_Index" "Altitude"
## [17] "Dew_Point" "Density_Altitude"
## [19] "Wind_Chill" "Estado_Fenologico_Predominante"
## [21] "Frutos_Afectados" "fecha"
## [23] "fecha_1"
La finca está ubicada en la zona rural del municipio de Popayán y presenta una distribución espacial bastante regular.
plot(
aguacates_final[,3:2],
col = "#2E8B57",
pch = 8,
cex = 1,
main = "Distribución árboles - finca de aguacates",
xlab = "Longitud",
ylab = "Latitud"
)
# 2.1.2 Ubiación Geografica
#se pasa aguacates_final a formato de geodata con variable temperatura
aguacates_geo = as.geodata(aguacates_final, coords.col = 3:2, data.col=9)
plot(aguacates_geo)
# 2.3 Semivariograma para temperatura de la finca aguacate
A partir del semivariograma se evidencia la presencia de autocorrelación espacial, lo que indica que las mediciones más cercanas tienden a registrar temperaturas similares, a diferencia de aquellas ubicadas a mayor distancia.
Además, se construye un intervalo de confianza que permite respaldar que el semivariograma refleja un patrón espacial y no un comportamiento aleatorio de los datos.
## variog: computing omnidirectional variogram
# Generar intervalo de confianza Monte Carlo
variograma_ag <- variog.mc.env(
aguacates_geo,
obj.variog = semi_aguacate
)## variog.env: generating 99 simulations by permutating data values
## variog.env: computing the empirical variogram for the 99 simulations
## variog.env: computing the envelops
# Graficar variograma con envolvente
plot(
semi_aguacate,
envelope = variograma_ag,
main = "Variograma experimental con intervalo de confianza",
xlab = "distance",
ylab = "semivariance"
)
La figura presenta el variograma experimental y la envolvente Monte
Carlo para la distribución espacial de los árboles en la finca de
aguacates. Se observa que la semivarianza aumenta al inicio y luego se
estabiliza, lo que evidencia dependencia espacial: los árboles cercanos
presentan comportamientos más similares que los distantes. Además,
algunos puntos fuera de la envolvente sugieren que la distribución no es
completamente aleatoria, sino que existe una estructura espacial
significativa.
#3. Módelo Teorico.
#Ajuste del modelo de semivarianza
ini.vals = expand.grid(seq(2.5,3.5,l=10), seq(6e-04,8e-04,l=10)) # para temperatura
plot(semi_aguacate)
model_mco_exp = variofit(semi_aguacate, ini=ini.vals, cov.model = "exponential",
wei = "npair", min = "optim")## variofit: covariance model used is exponential
## variofit: weights used: npairs
## variofit: minimisation function used: optim
## variofit: searching for best initial value ... selected values:
## sigmasq phi tausq kappa
## initial.value "3.5" "0" "0" "0.5"
## status "est" "est" "est" "fix"
## loss value: 134058.673070192
model_mco_gaus = variofit(semi_aguacate, ini = ini.vals, cov.model = "gaussian",
wei ="npair", min="optim", nugget = 0)## variofit: covariance model used is gaussian
## variofit: weights used: npairs
## variofit: minimisation function used: optim
## variofit: searching for best initial value ... selected values:
## sigmasq phi tausq kappa
## initial.value "3.5" "0" "0" "0.5"
## status "est" "est" "est" "fix"
## loss value: 202567.144389584
model_mco_spe = variofit(semi_aguacate, ini = ini.vals, cov.model = "spherical",
fix.nugget = TRUE, wei = "npair", min = "optim")## variofit: covariance model used is spherical
## variofit: weights used: npairs
## variofit: minimisation function used: optim
## variofit: searching for best initial value ... selected values:
## sigmasq phi tausq kappa
## initial.value "3.39" "0" "0" "0.5"
## status "est" "est" "fix" "fix"
## loss value: 22755.7548444676
plot(semi_aguacate)
lines(model_mco_exp, col = "red")
lines(model_mco_gaus, col = "yellow")
lines(model_mco_spe, col = "darkgreen")
La gráfica muestra el variograma experimental de los datos de aguacate y
el ajuste de tres modelos teóricos de semivarianza: exponencial,
gaussiano y esférico. Los puntos representan la semivarianza observada
para diferentes distancias entre árboles, mientras que las líneas de
colores muestran cómo cada modelo intenta aproximarse a ese
comportamiento espacial. En términos generales, el variograma evidencia
que la semivarianza aumenta con la distancia, lo que indica que los
árboles cercanos tienden a ser más similares entre sí que aquellos más
alejados.
Al comparar los modelos, el modelo exponencial —línea roja— parece seguir mejor la tendencia creciente del variograma experimental, especialmente en las distancias medias y altas. El modelo gaussiano —línea amarilla— presenta un comportamiento más suave y casi plano al inicio, por lo que puede subestimar la variabilidad a cortas distancias. El modelo esférico —línea verde— alcanza rápidamente una meseta y no representa adecuadamente el incremento gradual observado. Por tanto, visualmente, el modelo exponencial sería el ajuste más apropiado para representar la estructura espacial de estos datos.
# prediccion Espacial Kriging
datos_grid = expand.grid(lon=seq(-76.7120, -76.7100, l=100), lat=seq(2.3920,2.3938, l=100))
plot(datos_grid)
points(aguacates_final[,3:2], col="white")
Para la etapa de predicción espacial se construyó una malla regular de
puntos dentro del área de estudio, la cual servirá como base para
aplicar el método de interpolación Kriging. Esta malla permite estimar
valores en ubicaciones donde no existen observaciones directas,
generando una representación continua del comportamiento espacial de la
variable analizada en la finca de aguacates.
Adicionalmente, se incorporaron las observaciones reales obtenidas en campo, correspondientes a la ubicación de los árboles registrados en el año 2020. La integración entre los datos observados y la malla espacial permite que el modelo aproveche la dependencia espacial identificada previamente en el variograma, facilitando la estimación de patrones espaciales y zonas con comportamientos similares dentro del cultivo.
#prediccion para temperatura con modelo exponencial
datos_ko = krige.conv(aguacates_geo, loc=datos_grid,
krige = krige.control(nugget = 0, trend.d = "cte",
trend.l = "cte", cov.pars = c(sigmasq=4.6320, phi=0.0028)))## krige.conv: model with constant mean
## krige.conv: Kriging performed using global neighbourhood
image(datos_ko, main = "kriging predict", xlab="longitud", ylab="latitud")
contour(datos_ko, main="kriging predict", add=TRUE, drawlabels=TRUE)
La figura corresponde al resultado de la predicción espacial mediante
Kriging, utilizando el modelo de variograma exponencial ajustado
previamente. El mapa muestra la distribución estimada de la variable
analizada dentro del área de la finca, permitiendo observar cómo cambian
los valores entre las zonas donde existen observaciones y aquellas donde
no se cuenta con mediciones directas.
Las zonas con colores más intensos representan valores estimados más altos, mientras que las zonas más claras indican valores menores. Las curvas de nivel complementan la interpretación al mostrar áreas con valores similares, evidenciando la presencia de patrones espaciales diferenciados dentro del cultivo. En términos generales, el resultado permite identificar sectores de la finca con comportamientos similares y zonas donde la variable presenta mayores o menores valores estimados, lo cual puede apoyar decisiones de manejo agronómico más focalizadas.
A partir del análisis espacial realizado, se logró identificar la existencia de dependencia espacial en la distribución de los datos asociados a la finca de aguacates, evidenciada mediante el variograma experimental y el ajuste de modelos teóricos de semivarianza. El modelo exponencial presentó el mejor comportamiento para representar la estructura espacial observada, permitiendo describir adecuadamente la variabilidad entre las observaciones a diferentes distancias.
Asimismo, la aplicación del método de interpolación Kriging permitió generar mapas continuos de predicción espacial, identificando zonas con comportamientos diferenciados dentro del área de estudio. Los resultados obtenidos evidencian la utilidad de las técnicas geoestadísticas para apoyar el análisis espacial y la toma de decisiones en contextos agrícolas, facilitando la identificación de patrones y áreas de interés dentro del cultivo.