Predicion temperatura para finca produtora de aguacate

El ojetivo principal de este trabajo es realizar una predicion espacil de la temperatura en una finca productora de aguacate, mediante la geoestadistica y mapas de calor.

Ubicacion de la finca

leaflet() %>% addTiles() %>% addCircleMarkers(lng = geo_datos$Longitude,
                                              lat = geo_datos$Latitude,radius = 0.2,color = "black")

Podemos observar que la finca se encuentra ubicada en el departamento del Cauca, exactamente en el corregimiento la chorrera, que tiene como cabecera principal el municipio de Timbio, ubicado en el centro del departamento de Cauca.

Estadistica Descriptiva

geo_temp=as.geodata(geo_datos,coords.col = 3:2,data.col = 9)
plot(geo_temp)

Grafico superior izquierdo: Distribucion espacial de los datos

Muestra la distribucion esacial de los adtos (variabilidad), deonde las coordenadas X e Y representa la ubicacion geografica de cada arbl en la finca, donde los simbolos de triangulo, cruces y cuadros, representa las diferentes temperaturas en la zona de estudio. La grafica nos indica que la temperatura dentro de la finca no se distribuye de manera aleatoria, sigue un patron lineal espcila continuo.

Grafico superior derecha: Temperatura vs coordenada Y

Analiza la variacion de la temperatura con la latitud, que refleja una tendencia de agrupacion a un rango de temperatura media

Grafico inferior izquierdo: Temperatura vs cooordenada X

Analiza la variacion de la temperatura con la longitud, que refleja un patron mas definido de agrupacion, lo que refuerza la idea de que exite una dependencia espacial.

Grafico inferior derecho: Histograma

El histograma muestra una variabilidad moderada y una distribucion homogenea de la temperatura dentro del area de estudio, con valores promedios entre los 25 y 27 grados centigrados.

Este conjutno de datos confirman la existencia de dependencia espacial en la variable temperatura, lo que valida la aplicacion de de interpolacion, variograma, entre otros para predecir valores.

Variograma

summary(dist(geo_datos[,3:2]))
##      Min.   1st Qu.    Median      Mean   3rd Qu.      Max. 
## 1.712e-05 4.051e-04 6.408e-04 6.827e-04 9.178e-04 1.959e-03
variograma=variog(geo_temp,option = "bin",uvec=seq(0,0.0009178,9.178e-05))
## variog: computing omnidirectional variogram
plot(variograma)


variograma_mc=variog.mc.env(geo_temp,obj=variograma)
## variog.env: generating 99 simulations by permutating data values
## variog.env: computing the empirical variogram for the 99 simulations
## variog.env: computing the envelops
lines(variograma_mc)

El variograma mide la similitud entre puntos en un espacio, en este caso, entre mas cerca esten los puntos significa que las temperaturas tienden a parecerse ylos punto mas lejanos, la temperatura varia mucho con respecto al punto mas “cercano”. En el grafico se identifica la presencia de autocorrrelacion espacial positiva a corta distancia.

Modelos teoricos del variograma

Son modwelos que describen como la similitud espacial entre observaciones disminuye con la distancia. El Loss value entre mas bajo sea, mejor es el modelo

Modelo exponencial

model_mco_exp=variofit(variograma, 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 "8"     "0"   "0"   "0.5"
## status        "est"   "est" "est" "fix"
## loss value: 156114.005690545
## Warning in variofit(variograma, ini = ini.vals, cov.model = "exponential", :
## unreasonable initial value for sigmasq (too high)

Loss value: 156.114

Modelo gaussiano

model_mco_gaus=variofit(variograma, 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 "8"     "0"   "0"   "0.5"
## status        "est"   "est" "est" "fix"
## loss value: 241375.808889425
## Warning in variofit(variograma, ini = ini.vals, cov.model = "gaussian", :
## unreasonable initial value for sigmasq (too high)

Loss value: 241.375

Modelo esferico

model_mco_spe=variofit(variograma, ini=ini.vals, cov.model="spheric",fix.nug=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 "8"     "0"   "0"   "0.5"
## status        "est"   "est" "fix" "fix"
## loss value: 1408023.65801076
## Warning in variofit(variograma, ini = ini.vals, cov.model = "spheric", fix.nug
## = TRUE, : unreasonable initial value for sigmasq (too high)

Loss value: 1.408.023

Por lo tanto, el modelo mas adecuado para representar la estructura espacial de la temepratura es el modelo exponencial

Grafica variograma y modelos

# Graficar el variograma empírico
plot(variograma, main = "Ajuste de Modelos Teóricos de Variograma",
     xlab = "Distancia", ylab = "Semivarianza")

# Añadir los tres modelos teóricos ajustados
lines(model_mco_exp, col = "blue")
lines(model_mco_gaus, col = "red")
lines(model_mco_spe, col = "purple")

# Añadir la leyenda
legend("bottomright",                              # Posición de la leyenda (puede ser "topleft", "topright", etc.)
       legend = c("Exponencial", "Gaussiano", "Esférico"),  # Nombres que aparecerán
       col = c("blue", "red", "purple"),           # Colores correspondientes
       lty = 1,                                    # Tipo de línea (1 = continua)
       bty = "n",                                  # Sin recuadro ("box type = none")
       cex = 0.8)  

Prediccion de Kriging universal

Es la tecnica usada para estimar el valor de una variable, aprovechando la correlacion espacial entre las observaciones

geodatos_grid=expand.grid( lon=seq(-76.71022,-76.7118,l=100),lat=seq(2.393634 ,2.392101 ,l=100))
plot(geodatos_grid)
points(geo_datos[,3:2],col="red")

Esta grafica representa el grid donde estan ubicados los datos y se estimara los valores de temperatura a partir de la infromacion disponible.

##Grafica de la prediccion

geodatos_ko=krige.conv(geo_temp, loc=geodatos_grid,
                       krige= krige.control(nugget=0,trend.d="cte", 
                                            trend.l="cte",cov.pars=c(sigmasq=12.7080, phi=0.0007 )))
## krige.conv: model with constant mean
## krige.conv: Kriging performed using global neighbourhood
image(geodatos_ko, main="kriging Predict", xlab="East", ylab="North")
contour(geodatos_ko,main="kriging Predict", add=TRUE, drawlabels=TRUE)

El mapa muestra una estructura espacial definida, osea, el fenomeno (temperatura) analizado no se distribuye de forma aleatoria, posiblemente infuida por factores topograficos de la zona o situaciones climaticas locaes.

Grafico de la predicion desviacion estandar

image(geodatos_ko, main="Desviacion estandar predicha",val=sqrt(geodatos_ko$krige.var), xlab="East", ylab="North")
contour(geodatos_ko,main="Desviacion estandar predicha",val=sqrt(geodatos_ko$krige.var), add=TRUE, drawlabels=TRUE)

Mediante este mapa, se muestra que tan confiables son las predicciones espaciales hechas en cada observacion dentro del espacio, las zonas donde el color es mas intenso es donde se presenta mayor incertidumbre a la hora de predecir, osea, el modelo tiene menos infromacion para estimar de manera precisa.

Interpolacion

pred=cbind(geodatos_grid,geodatos_ko$predict)
temp_predict=rasterFromXYZ(cbind(geodatos_grid,geodatos_ko$predict))
levelplot(temp_predict,par.settings =BuRdTheme)

La interpolacion, muestra una estructura clara espacial de la variable temperatura, con valores altos concentrados en los extremos y valores bajos ubicados en la franja central, esto indica que posiblemente la topgrafica influya mucho en la distribucion espacial de la temepratura