Campos Aleatorios Reales

require(RandomFields)
require(rgdal)

Primera imagen

Se trabajará con una imagen de tamaño 400x712 en escala de grises de 8bit para calcular el variograma empírico y ajustar una función Matérn. La imagen a color es un Muro de la Universidad Nacional:

Muro

# Cargar imagen 8bit
img <- readGDAL("Muro.png")
## Muro.png has GDAL driver PNG 
## and has 400 rows and 712 columns
## Warning in readGDAL("Muro.png"): GeoTransform values not available
summary(img)
## Object of class SpatialGridDataFrame
## Coordinates:
##   min max
## x   0 712
## y   0 400
## Is projected: NA 
## proj4string : [NA]
## Grid attributes:
##   cellcentre.offset cellsize cells.dim
## x               0.5        1       712
## y               0.5        1       400
## Data attributes:
##      band1      
##  Min.   :  0.0  
##  1st Qu.: 97.0  
##  Median :113.0  
##  Mean   :110.8  
##  3rd Qu.:128.0  
##  Max.   :183.0
# Graficar imagen en escala de grises
image(img, col = gray(seq(0,1, length = 256)))

# Cálculo del variograma
variog <- RFempiricalvariogram(data = sp2RF(img), bin = seq(0, 15))
plot(variog)

# Histograma del Campo Aleatorio
hist(img$band1, freq = FALSE, col = "lightblue", nclass = 100,
     main = "Histograma del campo aleatorio del Muro",
     ylab = "Densidad",
     xlab = "Valor de intensidad digital (Nivel de gris)")
lines(density(img$band1), col = "red", lwd = 3)

La media y la varianza de los niveles de grises son:

  Media Varianza
GreyScale 110.8 620.5
# Ajuste modelo Matérn con nu=1/2, var y media de los niveles de grises
MaternFit<-RMmatern(nu=1/2,var=620.5,scale = 5/3) + RMtrend(mean=110.8)

# Gráfico conjunto variograma y ajuste Matérn
plot(variog,model=MaternFit)

El modelo Matérn ajusta con un \(\kappa = 1/2\), es decir una función de correlación exponencial, este ajuste indica que el proceso no tiene tendencia en media y en varianza.

Segunda imagen

Contrario al caso anterior, esta vez se trabajará con una imagen de tamaño 400x712 en escala de grises de 8bit para calcular el variograma empírico y ajustar una función Matérn. La imagen a color es una Cobija a una escala de 20cm:

Cobija

# Cargar imagen 8bit
img1 <- readGDAL("Cobija.png")
## Cobija.png has GDAL driver PNG 
## and has 400 rows and 712 columns
## Warning in readGDAL("Cobija.png"): GeoTransform values not available
summary(img1)
## Object of class SpatialGridDataFrame
## Coordinates:
##   min max
## x   0 712
## y   0 400
## Is projected: NA 
## proj4string : [NA]
## Grid attributes:
##   cellcentre.offset cellsize cells.dim
## x               0.5        1       712
## y               0.5        1       400
## Data attributes:
##      band1       
##  Min.   :  0.00  
##  1st Qu.: 56.00  
##  Median : 74.00  
##  Mean   : 74.31  
##  3rd Qu.: 91.00  
##  Max.   :189.00
# Graficar imagen en escala de grises
image(img1, col = gray(seq(0,1, length = 256)))

# Cálculo del variograma
variog1 <- RFempiricalvariogram(data = sp2RF(img1), bin = seq(0,25,1.25))
plot(variog1)

# Histograma del Campo Aleatorio
hist(img1$band1, freq = FALSE, col = "darkseagreen3", nclass = 100,
     main = "Histograma del campo aleatorio del Musgo",
     ylab = "Densidad",
     xlab = "Valor de intensidad digital (Nivel de gris)")
lines(density(img1$band1), col = "darkblue", lwd = 3)

La media y la varianza de los niveles de grises son:

  Media Varianza
GreyScale 74.31 679.7
# Ajuste modelo Matérn con nu=1/3, var y media de los niveles de grises
MaternFit<-RMmatern(nu=1/3,var=679.7,scale = 10/3) + RMtrend(mean=74.31)

# Gráfico conjunto variograma y ajuste Matérn
plot(variog1,model=MaternFit,ylim=c(0,680))

El modelo Matérn ajusta con un \(\kappa = 1/3\), sin embargo, el ajuste no se adecúa a la varianza del modelo, esto puede darse a que existe una tendencia en la media o en la varianza.