Está en la página 1de 26

Universidad Nacional Experimental Simón Bolívar

GC-4211 Geofísica Computacional.


Práctica: Semivariogramas.

Nombre: Juliao, Camila. Profesor(a): Aldana, Milagrosa.


Carnet: 14-10540.

Resumen

Los semivariogramas permiten analizar el comportamiento espacial de


variables definidas. La curva que se obtiene refleja la variación entre los valores
de las mismas. En este caso, se generaron semivariogramas en dirección X y Y y
uno promedio de ambos para un archivo de datos petrofísicos mediante una
subrutina de Matlab. Al comparar los resultados arrojados para cada uno de estos,
se observó que no existen diferencias significativas en el valor para el cual
alcanzan el sill, por lo que se concluyó que el medio de estudio es isótropo. Por
otra parte, con el fin de poder realizar interpolaciones de los datos antes
mencionados, se ajustó al semivariograma promedio un modelo esférico con
valores razonados para el rango(a). El valor de mejor ajuste, entre los probados
fue de a=3. De la misma forma, se esquematizó en un diagrama de flujo el
proceso para realizar un ajuste exponencial del mismo una vez linealizada la
ecuación para calcular la semivarianza para este modelo. Los resultados
obtenidos a detalle se muestran a continuación.

Aspectos teóricos
Según Gallardo (2006) un semivariograma “es una función básica que
define la variabilidad espacial de cualquier propiedad o fenómeno de interés”. En
este sentido, a la representación gráfica de una curva que muestra la variación de
los puntos en función de una distancia h entre los mismos se le denomina
semivariograma experimental (figura 1). Para N muestras (x i), con espaciamiento
regular entre las mismas, la semivarianza se calcula a través de la siguiente
fórmula:

Ecuación 1. Semivarianza para datos


regularmente espaciados.

Donde ɣ(h) es la semivarianza para todas las muestras localizadas en el


espacio separado por el intervalo de distancia h y x i+h representa un punto que se
encuentra a una distancia h de xi.

Para los valores ubicados a distancias h menores se espera que la


semivarianza sea pequeña y a medida que incrementa la distancia h para los
pares entre los puntos de muestreo, que su varianza comience a estabilizarse o
aplanarse y por lo tanto que los valores no estén relacionados entre sí. Así, la
distancia a la cual el modelo se aplana por primera vez se denomina rango. A
distancias más cortas que el rango las muestras están autocorrelacionadas
espacialmente y a distancias mayores ya no lo están.

De la misma forma, el valor para el cual el semivariograma, en el eje Y,


alcanza el rango o se aplana primero se denomina sill (meseta). Por otro lado, a
una distancia de separación cero la semivarianza, teóricamente, debería ser cero,
pero a menudo se observa en los modelos un valor de intercepción para el eje Y
distinto al mismo. A este efecto se le denomina nugget o “pepita” y puede
atribuirse a errores en la medición, a la calibración del equipo, a la variación a
microescalas más pequeñas que las distancias de muestreo, a la existencia de
alguna variación temporal, etc. Todos los valores descritos se muestran en la
figura 1.

Figura 1. Semivariograma experimental.

Los semivariogramas resultan particularmente útiles para observar el


comportamiento de cualquier variable contínua en distintas direcciones del espacio
y permiten conocer el alcance al que una muestra tiene influencia sobre otra. De
tal forma que, si se quiere caracterizar el medio de estudio se deben generar
semivariogramas en las direcciones preferenciales del set de datos o en distintas
direcciones. Si la variación de los parámetros con el espacio es igual para todas
las direcciones estudiadas se considera un medio isótropo y el semivariograma es
omnidireccional. Por el contrario, si la variación espacial es distinta en diferentes
direcciones se considera un medio anisótropo y se deben generar
semivariogramas direccionales y observar la variación entre los mismos.

No obstante, para poder realizar estimaciones de los valores del parámetro


en cuestión, en sitios no muestreados, se debe ajustar al semivariograma
experimental un modelo matemático que permita caracterizar la autocorrelación
espacial en función de la distancia. Entre los modelos matemáticos más utilizados
se tiene el modelo esférico (figura 2), este tiene un comportamiento casi lineal
con crecimiento rápido a distancias de separación pequeñas cerca del origen. Se
aplana a distancias mayores y alcanza el sill o meseta a una distancia igual al
rango. La semivarianza para el mismo viene dada por la siguiente expresión:

Ecuaciòn 2. Semivarianza
para el modelo esférico.

Donde ɣ(h) la semivarianza y “a” es el rango.

Figura 2. Modelo esférico.

Otro modelo matemático común es el modelo exponencial (figura 3),


alcanza el sill de forma gradual y asintótica. La relación entre dos muestras decae
gradualmente y para distancias que tienden al infinito la dependencia espacial se
disipa. El rango “a” es definido como la distancia a la cual el semivariograma
alcanza el 95% de la meseta o sill. La semivarianza para dicho modelo viene dada
por:
Ecuación 3. Semivarianza para el modelo exponencial.

Figura 3. Modelo exponencial.

De la misma forma se tiene el modelo gaussiano (figura 4), que presenta


una forma parabólica para puntos cercanos al origen. La dependencia espacial se
desvanece para distancias que tienden al infinito y resulta útil cuando los
fenómenos son similares a distancias cortas debido a su ascenso progresivo sobre
el eje Y. La semivarianza para dicho modelo se calcula utilizando la expresión:

Ecuación 4.
Semivarianza para el modelo gaussiano.
Figura 4. Modelo gaussiano.

Por otra parte, el modelo lineal (figura 5) que indica que la variabilidad
espacial aumenta linealmente con la distancia. Es el tipo de modelo mas simple,
no presenta sill o meseta y la semivarianza para el mismo viene dada por:

Ecuación 5. Semivarianza para el modelo lineal.

Donde Co es el nugget y C la pendiente de la recta.

Figura 5. Modelo lineal


Los modelos matemáticos presentados anteriormente son algunos de los
más utilizados. Sin embargo, existen varios de ellos que pueden ser ajustados a
los semivariogramas experimentales. La selección del modelo depende del set de
datos, los objetivos planteados y la interpolación posterior basada en los mismos.

Es importante resaltar que los modelos entre sí no son directamente


comparables, por lo cual, si se quieren generar semivariogramas para contrastar
los parámetros de los mismos, la utilización de modelos diferentes no es útil.

Metodología

Para analizar el comportamiento espacial de los datos del archivo


BROOKER.DAT se graficaron en un mapa en colores utilizando Matlab para poder
observar si existían direcciones preferenciales (código 1). Posteriormente, fue
generada otra subrutina que permitiera calcular la semivarianza asociada a cada
fila o dirección en X y a cada columna o dirección en Y. Además, el
semivariograma promedio de los dos anteriores (diagrama de flujo 1, código 2).

Asimismo, con el fin de poder realizar interpolaciones a una distancia


particular que no ha sido muestreada, se ajustó un modelo esférico (diagrama de
flujo 2, código 3) al semivariograma promedio del archivo de datos antes
mencionado y se esquematizó en un diagrama de flujo el ajuste para un modelo
exponencial a partir de la ecuación de semivarianza linealizada (diagrama de flujo
3). La consideración tomada para esta última se muestra a continuación:

La semivarianza para un modelo exponencial viene dada por:

ɣh= Co+C (1- exp(-|h|/a)) si h>0

Realizando los despejes pertinentes:

(ɣh- Co)/C= 1- exp(-|h|/a))


exp(-|h|/a))= 1-((ɣh- Co)/C)

Aplicando logaritmo neperiano a ambos lados, el modelo exponencial


puede linealizarse de la siguiente forma:

-|h|/a= ln (C- ɣh+Co)- ln(C)

Donde:

y= ln (C- ɣh+Co)- ln(C)

mx=-|h|/a

Diagramas de flujo
-Diagrama de flujo 1: proceso para generar semivariogramas en dirección de las
filas, de las columnas y promedio de ambas para el archivo de datos.
-Diagrama de flujo 2: proceso para el ajuste de un modelo esférico al
semivariograma promedio generado.
-Diagrama de flujo 3: proceso para el ajuste de un modelo exponencial al
semivariograma promedio generado.

Códigos:
-Código 1: rutina para generar un mapa en colores del archivo de datos.
-Código 2: rutina para generar semivariogramas en dirección de filas, de las
columnas y promedio.
-Código 3: función svfit para ajustar un modelo esférico al semivariograma
promedio.

Comandos:

-Mean: mean (X) devuelve la media de los elementos de X, si X es un vector.

-Ones: ones (sz1,...,szN) crea un arreglo de unos, donde sz1 y szN indican las
dimensiones de dicho arreglo.
-Find: find(X) devuelve un vector que contiene los índices lineales de cada
elemento distinto de cero en el array X, es decir, busca índices y valores de
elementos no nulos.
Diagrama de flujo 1.
Diagrama de flujo 2.
Diagrama de flujo 3.

Código 1:

a=load('BROOKER.dat')
plot(a,'.')
v= size(a)
z= 31:1/0.8:60;
t= size(z)
u=10:-1/1.15:-10;
i=size(u)
[lon,lat]=meshgrid(z,u)
surf(lon,lat,a)
xlabel('longitud')
ylabel('latitud')
zlabel('variable z')
shading interp
colorbar
Código 2:
x=load('BROOKER.DAT'); %Carga de datos BROOKER.dat
[m,n]=size(x); % Tamaño de la matriz mxn
%Semivarianza para las filas de la matriz
for h=1:(m-1);for j=1:m;;for i=1:(m-h);
restar(i,h)=((x(i,j)-x(i+h,j))); %Resta de un elemento con el siguiente según h
cuadrados(i,h)=restar(i,h).^2; %Calculo del cuadrado de la diferencia para cada h
s(h)=sum(cuadrados(:,h)); %Suma de valores para cada h
g(h)=(1/(2*(n-h)))*s(h); %Calculo de la semivarianza para cada fila
filas(j, h)=g(h);%Valores de semivarianza para cada fila
end;end;end
gx=sum(filas)/m; %Calculo semivarianza promedio en dirección x
gxx=[0 gx];
hh=0:h;
figure(1)
plot(hh,gxx,'o-')%Grafica semivarianza promedio en dirección x
hold on
title('Semivariograma en direccion X') %Titulo del grafico
%Nombres de los ejes
ylabel('Semivarianza')
xlabel('h')
hold off
%Semivarianza para las columnas de la matriz
for h=1:(n-1);for i=1:n; for j=1:(n-h);
resta(j,h)=((x(i,j)-x(i,j+h))); %Resta de un elemento con el siguiente según h
cuadrado(j,h)=resta(j,h).^2; %Calculo del cuadrado de la diferencia
s(h)=sum(cuadrado(:,h)); %Suma de los valores para cada h
g(h)=(1/(2*(m-h)))*s(h); %Calculo de la semivarianza para cada columna
columnas(i, h)=g(h);%Valores de semivarianza para cada fila
end;end;end
gy=sum(columnas)/m; %Calculo semivarianza promedio en dirección y
gyy=[0 gy];
figure(2)
plot(hh,gyy,'o-');%Grafica semivarianza promedio en dirección y
hold on
title('Semivariograma en direccion Y') %Titulo del grafico
%Nombres de los ejes
ylabel('Semivarianza')
xlabel('h')
hold off
%Calculo semivarianza promedio
gpromedio=(gx+gy)/2;
gpp=[0 gpromedio];
figure(3)
plot(hh,gpp,'o-'); %Grafica semivarianza promedio
hold on
ylabel('Semivarianza')
xlabel('h')
title('Semivariograma promedio')
hold off
figure(4)
plot(hh,gxx,'bo-')%Grafica semivarianza promedio en dirección x
hold on
plot(hh,gyy,'go-');%Grafica semivarianza promedio en dirección y
plot(hh,gpp,'co-'); %Grafica semivarianza promedio
title('Semivariograma') %Titulo del grafico
%Nombres de los ejes
ylabel('Semivarianza')
xlabel('h')
title('Semivariograma')
%Leyenda del grafico
legend('Semivarianza en x','Semivarianza en y','Semivarianza
promedio','Location','southwest')
hold off

svfit1(gpromedio,3)

- Código 3:

function [b] = svfit(gam, a)


n = length(gam);
if n < a
error('a too large');
end
x = [1:a];
x = (x ./ a);
X(:,1) = x';
x3 = (x .^3);
X(:,2) = x3';
X(:,3) = gam(1:a)';
m = mean(X);
D = X - ones(a,1)*m; % convert X to deviations from mean
SS = D'*D;
% partition the matrix SS
S = SS(1:2, 1:2);
P = SS(1:2,3);
t = SS(3,3);
% solve for regression on the first variable
b1 = P(1)/S(1,1);
r = P(1)/sqrt(t*S(1,1));
SR1 = r*r*t;
% now do the second
SI = S(1:2,1:2); %redefine S,B,SR
PI = P(1:2);
BI = SI\PI;
SRI = BI'*PI; %sum of squares due to this regression
SRA = SRI - SR1; %sum of squares added by this regression
fprintf('Sum of squares due to regression on x1 = %8.2f\n',SR1);
fprintf('Sum of squares added by x2 = %8.2f\n',SRA);
fprintf('Total sum of squares = %8.2f\n\n',t);
b0 = m(3) - BI(1)*m(1) - BI(2)*m(2);
b = [b0; BI];
x1 = (0:0.1:a) ./ a;
x3 = x1 .^3;
f = b(1) + b(2)*x1 + b(3)*x3;
fmax = max(f);
k = find(f == fmax);
x = 1:n;
figure
plot(x, gam,'o',a*x1(1:k),f(1:k), [a*x1(k) n], [f(k) f(k)],...
'linewidth',1)
title('Semivariogram')
xlabel('h'), ylabel('gamma_h')
fprintf('Nugget Co = %8.2f\n',b(1));
fprintf('Sill C+Co = %8.2f\n',fmax);
Resultados

-Gráficos

Gráfico 1. Mapa en

Gráfico 2. Mapa en
colores en planta archivo de datos BROOKER.DAT.
Gráfico 3.

Gráfico 4.
Semivariograma promedio en dirección Y.
Gráfico 5.
Semivariograma promedio.

Gráfico 6.
Gráfico 7. Ajuste

Gráfico 8. Ajuste
modelo esférico al semivariograma promedio con rango a=4.
Gráfico 9. Ajuste

Gráfico 10. Ajuste


Gráfico 11. Ajuste
Los datos analizados, correspondientes a una variable petrofísica z, según
lo observado en los mapas generados en color (gráfico 1 y gráfico 2) no muestran
una dirección preferencial en específico. Para el caso de estudio, la subrutina
implementada calcula la semivarianza promedio en dirección Y o de las columnas,
en dirección X o de las filas y en promedio entre ambas.

En este sentido, al ver los semivariogramas generados (gráfico 3, gráfico 4


y gráfico 5) es posible notar valores irregulares, lo que puede deberse a errores en
la medición, a tomar distancias de muestreo que no son exactamente iguales,
entre otros factores. Además, en el gráfico en conjunto de los mismos (gráfico 6),
se observa que las curvas en las direcciones mencionadas no coinciden. Sin
embargo, no hay una diferencia significativa entre el valor para el cual alcanzan la
silla y el rango, de 9 a 10 y de 3.5 a 4 respectivamente. Con base en esto, puede
interpretarse que el medio estudiado es isótropo.

En este caso el ajuste esférico para el semivariograma promedio, que


permite realizar la interpolación de los datos, para un rango igual a 3 (gráfico 7)
presenta buen ajuste inicial, alcanza el sill en 9.94 y posee un efecto pepita en
2.74. Asimismo, para un rango igual a 4 (gráfico 8) se observa un mejor ajuste
inicial pero no en cuanto a la meseta, el nugget se encuentra en 2.91.

De la misma forma, a=6 (gráfico 9) posee un buen ajuste hacia el inicio y


para los valores de rango 8 y 10 (gráfico 10 y gráfico 11) este se pierde, porque
tienen el efecto pepita en 5.39 y 5.96 respectivamente.

Si se comparan los valores de rango probados, a=3 representa el mejor


ajuste, ya que se acerca más a la meseta y sigue la tendencia inicial de los datos.

En otro orden de ideas, al identificar las diferencias presentadas para dicho


ajuste con respecto a los semivariogramas generados se observa que este si
posee efecto pepita, lo que se produce como consecuencia de la aproximación en
el modelado esférico.
Conclusiones

Los semivariogramas generados a partir de la subrutina en Matlab permiten


analizar el comportamiento espacial del archivo de datos brooker.dat de forma
efectiva. Las curvas que se obtuvieron, aunque no coinciden para las direcciones
X y Y, no muestran diferencias significativas en el valor para el cual alcanzan la
silla y el rango de 9 a 10 y de 3.5 a 4, por lo cual el medio estudiado es isótropo.

Por otra parte, en cuanto al modelo esférico ajustado al semivariograma


promedio, según los valores de rango probados, a=3 representa el mejor ajuste ya
que se acerca más a la meseta y tiene un buen ajuste inicial. El efecto pepita que
presenta el mismo es consecuencia de las aproximaciones del modelado.

El modelo exponencial para ajustar los semivariogramas también puede


obtenerse si se linealiza la ecuación para calcular la semivarianza del mismo.
Anexos
“Attempts to calculate the pseudo-anisotropy of elastic parameters of shales gas
formations based on well logging data and their geostatistical analysis”
Maria Bała, Adam Cichy, Monika Wasilewska-Błaszczyk
El artículo seleccionado intenta mostrar el cálculo de la pseudo anisotropía
de ciertos parámetros elásticos en lutitas gasíferas del silúrico y ordovícico
ubicadas en la cuenca del Báltico. Para ello, realizaron un análisis geoestadístico
de las propiedades elásticas (VP, VSFast, ε, γ, porosity (PHI), RHOB (density),
Vclay) a través de semivariogramas en dirección vertical para cada pozo (K1, O2,
L1, B1 y W1) que caracterizan la variación de dichos parámetros elásticos. El
cálculo de los semivariogramas se hizo con el software geoestadístico ISATIS. El
modelo de ajuste utilizado fue un modelo clásico de semivariogramas de
Matheron`s que se basa en el modelo teórico esférico y en algunos casos se
utilizó el modelo exponencial y modelo gaussiano por presentar mejor ajuste.

El nivel de variación de los parámetros elásticos estudiados esta


expresado por la amplitud del semivariograma C+Co, donde C representa el valor
del sill y Co el valor del nugget. Este último, se correlaciono con el nivel estadístico
de su variabilidad, dada en el coeficiente de variación v, que se obtiene a partir de
la desviación estándar de los parámetros y su valor medio correspondiente. Se
encontró que las amplitudes de los semivariogramas para los parámetros son
significativamente distintas. Asimismo, determinaron que el nivel de
autocorrelación descrito por los rangos de los semivariogramas que caracterizan
los parámetros de la formación ordovícica son mayores que los de la formación
siluriana. Por lo tanto, los autores afirman que no es posible formular un modelo
generalizado de variabilidad de parámetros elásticos en todas las perforaciones.
Sin embargo, determinan lo siguiente: 1) La presencia de la variabilidad en la
estructura de los parámetros elásticos y del depósito. 2) La estructura de la
variabilidad en la mayoría de los casos puede ser aproximada por un modelo
teórico esférico. 3) La variabilidad de los parámetros elásticos y del reservorio y
los rangos obtenidos en los semivariogramas indican que es posible utilizar el
procedimiento geoestadístico del kriging para estimar su valor solo en algunas
perforaciones.

Bibliografía

-Allan, A. M., Kanitpanyacharoen, W., & Vanorio, T. (2015). A multiscale


methodology for the analysis of velocity anisotropy in organic-rich
shale. GEOPHYSICS, 80(4), C73-C88. https://doi.org/10.1190/geo2014-0192.1

-Bała, M., Cichy, A., & Wasilewska-Błaszczyk, M. (2019). Attempts to calculate the
pseudo-anisotropy of elastic parameters of shales gas formations based on well
logging data and their geostatistical analysis. Geology, Geophysics &
Environment, 45(1), 5-20. https://doi.org/10.7494/geol.2019.45.1.5

-Comprender un semivariograma: rango, meseta y nugget—Help | ArcGIS


Desktop. (s. f.). Recuperado 23 de mayo de 2020, de:
https://desktop.arcgis.com/es/arcmap/10.4/extensions/geostatistical-
analyst/understanding-a-semivariogram-the-range-sill-and-nugget.htm

-González (2018, mayo 15). ¿Cómo funciona el semivariograma en la


interpolación? Recuperado 23 de mayo de 2020, de: https://acolita.com/como-
funciona-semivariograma-interpolacion/

-Gallardo, A. (2006). Geoestadística. Ecosistemas, 15(3), 48-58. Recuperado de


https://fjferrer.webs.ull.es/Bibliog/Biblio/Geoestadistica.pdf
-Geoestadística (Semivariograma). (2010, diciembre). Recuperado de
https://www.fcnym.unlp.edu.ar/catedras/geoeconomica/tp/tp13ppt.pdf

-Giménez Palomares, F., Cuador Gil, J. Q., & Monsoriu Serra, J. A. (2014). Un
laboratorio virtual para la enseñanza del Krigeado. Modelling in Science Education
and Learning, 7(0), 73. https://doi.org/10.4995/msel.2014.2120

-Porras, A., & Centro público de investigación CONACYT. (2017). Análisis


estructural información geoespacial. Recuperado de:
https://centrogeo.repositorioinstitucional.mx/jspui/bitstream/1012/165/1/21-Analisis
%20Estructural%20%20%20Diplomado%20en%20An%c3%a1lisis%20de
%20Informaci%c3%b3n%20Geoespacial.pdf

También podría gustarte