Una función muy común de correlación definida en geoestadística es la función Matérn definida como:
\[\rho(u;\phi,\kappa)=\{2^{\kappa-1} \Gamma(\kappa)\}^{-1} (u/ \phi)^\kappa K_\kappa (u/ \phi)\]
Donde \(K_\kappa(.)\) es una función de Bessel modificada de segunda clase, de orden \(\kappa\). El parámetro \(\phi > 0\) determina la tasa a la cual decae a cero la correlación en la medida que decrece \(u\). El parámetro \(k > 0\) es el orden del modelo Matérn y está asociado a la forma del descenso de la función.
Se tienen dos situaciones muy comunes de funciones de correlación que se derivan de la función Matérn:
Si \(\kappa=\cfrac{1}{2}\) entonces se tiene que la función queda reducida a:
\[\rho(u;\phi,\kappa)=\mathit{e}^{-\cfrac{u}{\phi}}\]
Si \(\kappa \to \infty\) entonces la función Matérn tiene como límite:
\[\rho(u;\phi,\kappa)=\mathit{e}^{- \left( \cfrac{u}{\phi} \right)^2}\]
El rango práctico se define como el valor de \(u\) en donde la función \(\rho(u)\) tiene un valor de \(0.05\). O en otras palabras es el valor de u a partir del cual se puede considerar que \(\rho(u) \approx 0\).
#Vector de Distancias
u1<-seq(0,40,length.out = 1000)
u2<-seq(0,25,length.out = 1000)
#Correlación Exponencial
fExp<-function(u,p) exp(-(u/p))
#Rango práctico fcn Exponencial
Rexp1<-u1[which.max(fExp(u1,1)<=0.05)]
Rexp3<-u1[which.max(fExp(u1,3)<=0.05)]
Rexp5<-u1[which.max(fExp(u1,5)<=0.05)]
Rexp10<-u1[which.max(fExp(u1,10)<=0.05)]
Rexp<-data.frame(cbind(Phi_1=Rexp1,Phi_3=Rexp3,Phi_5=Rexp5,Phi_10=Rexp10),row.names="Exponencial")
#Correlación Gaussiana
fGaus<-function(u,p) exp(-(u/p)^2)
#Rango práctico fcn Gaussiana
Rgau1<-u2[which.max(fGaus(u2,1)<=0.05)]
Rgau3<-u2[which.max(fGaus(u2,3)<=0.05)]
Rgau5<-u2[which.max(fGaus(u2,5)<=0.05)]
Rgau10<-u2[which.max(fGaus(u2,10)<=0.05)]
Rgau<-data.frame(cbind(Phi_1=Rgau1,Phi_3=Rgau3,Phi_5=Rgau5,Phi_10=Rgau10),row.names="Gaussiana")
knitr::kable(rbind(Rexp,Rgau),align = 'l')
| Phi_1 | Phi_3 | Phi_5 | Phi_10 | |
|---|---|---|---|---|
| Exponencial | 3.003003 | 9.009009 | 15.015015 | 29.98999 |
| Gaussiana | 1.751752 | 5.205205 | 8.658659 | 17.31732 |
par(mfrow=c(1,2))
#Gráfico Función Exponencial
plot(u1,fExp(u1,1),type='l',ylab='Correlación',xlab='Distancias',ylim=c(0,1),
main = "Función Exponencial",lwd=2)
lines(u1,fExp(u1,3),col=2,lwd=2)
lines(u1,fExp(u1,5),col=3,lwd=2)
lines(u1,fExp(u1,10),col=4,lwd=2)
#Rangos prácticos
abline(h=0.05,lty=3)
abline(v=c(Rexp1,Rexp3,Rexp5,Rexp10),lty=2,col=1:4)
text(c(Rexp1,Rexp3,Rexp5,Rexp10),0.9,col=1:4,cex=1,lwd=2,
as.expression(c(bquote(u==.(round(Rexp1,2))),bquote(u==.(round(Rexp3,2))),
bquote(u==.(round(Rexp5,2))),bquote(u==.(round(Rexp10,2))))))
legend("topright",col=1:4,lty=1,lwd=2,
legend=c(expression(phi==1),expression(phi==3),
expression(phi==5),expression(phi==10)))
#Gráfico Función Gaussiana
plot(u2,fGaus(u2,1),type='l',ylab='Correlación',xlab='Distancias',ylim=c(0,1),
main = "Función Gaussiana",lwd=2)
lines(u2,fGaus(u2,3),col=2,lwd=2)
lines(u2,fGaus(u2,5),col=3,lwd=2)
lines(u2,fGaus(u2,10),col=4,lwd=2)
#Rangos prácticos
abline(h=0.05,lty=3)
abline(v=c(Rgau1,Rgau3,Rgau5,Rgau10),lty=2,col=1:4)
text(c(Rgau1,Rgau3,Rgau5,Rgau10)+1,1,col=1:4,cex=1,lwd=2,
as.expression(c(bquote(u==.(round(Rgau1,2))),bquote(u==.(round(Rgau3,2))),
bquote(u==.(round(Rgau5,2))),bquote(u==.(round(Rgau10,2))))))
legend("topright",col=1:4,lty=1,lwd=2,
legend=c(expression(phi==1),expression(phi==3),
expression(phi==5),expression(phi==10)))
Debido al crecimiento urbano, el uso de materiales de construcción (cemento, grava, ladrillo, acero, entre otros) ha causado un aumento de temperatura en la ciudades considerable, a este fenómeno se le conoce como “Isla de Calor Urbana”. Para mitigar las alzas súbitas de temperatura, sobretodo en épocas de verano, las planeaciones urbano-regionales emplean diversas estrategias como: Techos reflectivos, espacios de alta densidad de vegetación como párques y arboretum, etc…
Si se mide la temperatura en una ciudad en las que se han empleado las estrategias anteriores, se pueden encontrar temperaturas desde 65(°F) hasta 89(°F), en un perímetro de 2.4 km (600m X 600m), además cada 120 mts se establece el límite de realción que tiene la temperatura con el entorno, es decir en términos de la función \(\rho(u)\), el rango práctico es de 120 y se propone una función Matérn Gaussiana, por lo tanto:
\[\phi=\cfrac{120}{\sqrt{3}} = 69.28203\]
DisTemp<-seq(0,200,length.out=10000)
RangoPract<-120
Phi<-RangoPract/sqrt(3)
#Gráfico Función Gaussiana
plot(DisTemp,fGaus(DisTemp,Phi),type='l',ylab='Correlación',
xlab='Distancias',ylim=c(0,1),lwd=2,col=2,
main = "Función Gaussiana\nDistancias Temperatura Urbana")
#Rangos prácticos
abline(h=0.05,lty=3)
abline(v=120,lty=3,col=2)
text(120+1.5,.4,labels = "u=120",col=2)
legend("topright",legend=c(as.expression(bquote(Phi==.(Phi)))))