Cálculo basado en MATLAB de variograma de datos espaciales y dibujo de semivariograma empírico


  En el primer blog (https://blog.csdn.net/zhebushibiaoshifu/article/details/113943720), describimos en detalle para aprender algunos conceptos básicos de computación y su fórmula de derivación matemática para peinar. A continuación, practicaré y explicaré en detalle los códigos y operaciones relacionados con la computación geocientífica a través de varios blogs especiales nuevos. Este blog es el primer cálculo de variograma de datos espaciales basado en MATLAB y dibujo de gráfico empírico de semivarianza .
  Por otro lado, debido a que los conceptos teóricos relacionados involucrados en los blogs anteriores son relativamente abstractos, a menudo deben combinarse con la práctica para comprender mejor. Por lo tanto, puede consultar el blog anterior junto con otros blogs de informática de geociencias en este artículo y más tarde, y podrá comprender mejor las implicaciones de las teorías relacionadas.
  Entre ellos, debido a que los datos usados ​​en este artículo no son míos, lamento no poder mostrar los datos juntos; pero en base a las ideas de este blog y la explicación detallada del código, puedes usar tus propios datos para calcular el espacio. función de variación de datos Todo el proceso y el método de análisis de dibujo con diagrama empírico de semivarianza se reproducen completamente.

1 Procesamiento de datos

1.1 Lectura de datos

  En este artículo, mis datos iniciales son las ubicaciones espaciales (X e Y, en metros), el pH , el contenido de materia orgánica y el contenido total de nitrógeno de 658 puntos de muestreo de suelo en un área determinada . Todos estos datos se almacenan en el archivo "data.xls" y las operaciones posteriores son más que en el software MATLAB. Por lo tanto, primero es necesario importar los datos de origen de forma selectiva al software MATLAB. Esta función se puede realizar
  utilizando funciones en el software MATLAB xlsread. El código específico se adjunta en "1.3 Inspección y conversión de distribución normal".

1.2 Eliminación de datos anormales

  Debido a los registros de muestreo, las pruebas de laboratorio y otros procesos, los datos del punto de muestreo obtenidos pueden tener ciertos errores, lo que da como resultado valores anormales individuales. Utilice el " método de la media más la desviación estándar " para filtrar y eliminar estos datos anormales.
  Para tratarlo se utilizaron los métodos " 2S " y " 3S " del "método del promedio más desviación estándar" . Se encontró que el efecto del tratamiento del método "2S" era mejor que el del último, por lo que el siguiente: El experimento tomó el resultado del método "2S" para continuar.
  Entre ellos, el método "2S" se refiere a la parte cuyo valor es mayor o menor que ± 2 veces la desviación estándar de su valor promedio como valor anormal, y el método "3S" se refiere a la parte cuyo valor es mayor o menor menos de ± 3 veces la desviación estándar de su valor promedio . Se trata como un valor atípico.
  Una vez obtenido el valor anormal, se elimina de los 658 puntos de muestreo; los datos restantes del punto de muestreo continúan con las operaciones posteriores.
  Los códigos específicos de esta parte se adjuntan en "1.3 Inspección y conversión de distribución normal".

1.3 Prueba de distribución normal y conversión

  El cálculo del variograma debe basarse en el supuesto de que los datos iniciales se ajustan a la distribución normal y que los datos del punto de muestreo no se ajustan necesariamente a la distribución normal. Por lo tanto, necesitamos realizar una prueba de distribución normal en los datos originales.
  Generalmente, la prueba de distribución normal se puede juzgar intuitivamente mediante pruebas numéricas e imágenes como histograma y gráfico QQ . Este documento adopta los dos métodos de inspección numéricos y de imágenes anteriores para juzgar conjuntamente las características de la distribución normal.
  Para el método de prueba numérico, planeé elegir el método de prueba de Kolmogorov-Smirnov al principio ; pero como supe que este método solo es aplicable a la prueba normal estándar, cambié a la prueba de Lilliefors más tarde .
  La prueba de Kolmogorov-Smirnov compara la función de distribución empírica de la muestra con la función de distribución dada para inferir si la muestra proviene de la población de la función de distribución dada; cuando se usa para pruebas de normalidad, solo puede realizar pruebas de normalidad estándar.
  La prueba de Lilliefors mejora la prueba de Kolmogorov-Smirnov antes mencionada, que se puede utilizar para la prueba de distribución normal general.
  El gráfico QQ (Quantile Quantile Plot) es una especie de gráfico de dispersión. Su abscisa indica el cuantil de un dato de muestra y la ordenada indica el cuantil de otro dato de muestra; un gráfico de dispersión compuesto por abscisas y ordenadas Representa el cuantil correspondiente al mismo probabilidad acumulada. Por tanto, la gráfica QQ tiene tales características:
  y = x
  Para esta línea recta, si los puntos en el diagrama de dispersión se distribuyen cerca de la línea recta, significa que las dos muestras están igualmente distribuidas; por lo tanto, si la abscisa (ordenada) se expresa como el cuantil de una muestra de distribución normal estándar, entonces los puntos en el diagrama de dispersión se distribuyen cerca de la línea recta mencionada anteriormente, lo que muestra que la muestra representada por las ordenadas (abscisas) se ajusta o básicamente se ajusta aproximadamente a la distribución normal. Este artículo adopta el método de expresar la abscisa como distribución normal.
  Además, la gráfica PP (Probability Probability Plot) también se puede utilizar para probar la distribución normal. La abscisa de la gráfica PP representa la probabilidad acumulada de una determinada muestra de datos, y la ordenada representa la probabilidad acumulada de otra muestra de datos; la probabilidad acumulada de la variable corresponde a la probabilidad acumulada especificada de la distribución teórica y se dibuja como un diagrama de dispersión para la visualización Detecta de forma básica si los datos de la muestra se ajustan a una determinada distribución de probabilidad. De manera similar al diagrama QQ, si los datos a probar se ajustan a la distribución especificada, todos sus puntos se distribuyen cerca de la línea recta mencionada anteriormente. Si la abscisa (ordenada) se expresa como el cuantil de una muestra de distribución normal estándar, se puede explicar que los puntos en el diagrama de dispersión se distribuyen cerca de una línea recta, y la muestra indicada por la ordenada (abscisa) se ajusta ao aproximadamente se ajusta a la distribución normal.
  Para las tres propiedades del suelo, elegí tomar primero el valor del pH como ejemplo. Mediante los métodos de inspección numérica e inspección de imágenes mencionados anteriormente, se concluye que los datos del valor de pH original después de eliminar el valor anormal no se ajustan a la distribución normal. Por lo tanto, intente realizar un procesamiento de conversión de raíz cuadrada y logarítmica en los datos originales ; luego descubrió que las características de distribución normal de los datos de raíz cuadrada de pH originales aún no pueden pasar la prueba de Lilliefors más estricta, pero su histograma y la prueba de imagen de mapa QQ El resultado es más cercano a la distribución normal y más obvio que los dos anteriores. Por lo tanto, continúa la extracción posterior del resultado del procesamiento de la raíz cuadrada.
  Cabe mencionar que luego de obtener el variograma experimental de la raíz cuadrada del valor de pH y su diagrama de dispersión en la segunda mitad de este artículo, al realizar la misma operación sobre los otros dos datos de atributos espaciales (ie contenido de materia orgánica y nitrógeno total contenido), se encuentra que después de que los datos del contenido total de nitrógeno son eliminados por el método "2S", la forma original de los datos puede pasar la prueba de Lilliefors, y las características de distribución del histograma y el mapa QQ están muy cerca de lo normal. distribución.
  También intentaré realizar una conversión de arcoseno en datos de atributos espaciales. Sin embargo, más tarde se descubrió que los datos originales de los tres valores de atributo no se distribuían estrictamente en el rango de -1 a 1, por lo que no se convertían en modo arcoseno.
  Los resultados de la inspección de imágenes después de la inspección y el procesamiento de conversión anteriores son los siguientes.
Inserte la descripción de la imagen aquí
  La parte anterior del código es la siguiente:

clc;clear;
info=xlsread('data.xls');
oPH=info(:,3);
oOM=info(:,4);
oTN=info(:,5);
 
mPH=mean(oPH);
sPH=std(oPH);
num2=find(oPH>(mPH+2*sPH)|oPH<(mPH-2*sPH));
num3=find(oPH>(mPH+3*sPH)|oPH<(mPH-3*sPH));
PH=oPH;
for i=1:length(num2)
    n=num2(i,1);
    PH(n,:)=[0];
end
PH(all(PH==0,2),:)=[];
 
%KSTest(PH,0.05)
H1=lillietest(PH);
 
for i=1:length(PH)
    lPH(i,:)=log(PH(i,:));
end
 
H2=lillietest(lPH);
 
for i=1:length(PH)
    sqPH(i,:)=(PH(i,:))^0.5;
end
 
H3=lillietest(sqPH);
 
% for i=1:length(PH)
%     arcPH(i,:)=asin(PH(i,:));
% end
% 
% H4=lillietest(arcPH);
 
subplot(2,3,1),histogram(PH),title("Distribution Histogram of pH");
subplot(2,3,2),histogram(lPH),title("Distribution Histogram of Natural Logarithm of pH");
subplot(2,3,3),histogram(sqPH),title("Distributio n Histogram of Square Root of pH");
subplot(2,3,4),qqplot(PH),title("Quantile Quantile Plot of pH");
subplot(2,3,5),qqplot(lPH),title("Quantile Quantile Plot of Natural Logarithm of pH");
subplot(2,3,6),qqplot(sqPH),title("Quantile Quantile Plot of Square Root of pH");

2 Medida de distancia

  A continuación, se debe medir la distancia entre los puntos de muestreo seleccionados. Este es un proceso complicado que requiere la ayuda de declaraciones de bucle.
  El código específico de esta parte es el siguiente.

poX=info(:,1);
poY=info(:,2);
dis=zeros(length(sqPH),length(sqPH));
for i=1:length(sqPH)
    for j=i+1:length(sqPH)
dis(i,j)=sqrt((poX(i,1)-poX(j,1))^2+(poY(i,1)-poY(j,1))^2);
    end
end

3 Agrupación de distancias

  Después de calcular la distancia entre todos los puntos de muestreo, necesitamos agrupar los valores de distancia de acuerdo con un cierto principio de delimitación de rango.
  La agrupación de distancias primero debe determinar el tamaño del paso. Mediante experimentos se ha descubierto que si el tamaño del paso es demasiado grande, el diagrama de dispersión resultante tendrá una precisión menor, y si el tamaño del paso es demasiado pequeño, el número total de pares de puntos en cada grupo puede ser menor. Por lo tanto, la longitud del paso aquí es de 500 metros; en segundo lugar, se determina la distancia máxima de retraso, y aquí se toma como valor la mitad de la distancia máxima entre todos los puntos de muestreo. Luego calcule el nivel de retraso correspondiente a cada grupo, los límites superior e inferior de cada grupo, etc.
  El código específico de esta parte se adjunta a "4 Distancia media, cálculo y dibujo de semivariaciones" de este artículo.

4 Distancia media, cálculo de semivarianza y dibujo.

  Calcule el número de pares de puntos correspondientes en cada grupo, la suma de distancias entre pares de puntos y la suma de diferencias de valor de atributo entre pares de puntos, etc. Luego, de acuerdo con los parámetros anteriores, finalmente se obtiene el valor promedio de la distancia entre los pares de puntos y el valor promedio de la diferencia de valor de atributo entre los pares de puntos.
  De acuerdo con el valor promedio de la distancia entre los pares de puntos correspondientes en cada grupo como eje horizontal, y el valor promedio de la diferencia de valor de atributo entre los pares de puntos correspondientes en cada grupo como eje vertical, se dibuja un semivariograma empírico.
  Los códigos específicos de esta parte y las partes anteriores son los siguientes.

madi=max(max(dis));
midi=min(min(dis(dis>0)));
radi=madi-midi;
ste=500;
clnu=floor((madi/2)/ste)+1;
ponu=zeros(clnu,1);
todi=ponu;
todiav=todi;
diff=ponu;
diffav=diff;
for k=1:clnu
    midite=ste*(k-1);
    madite=ste*k;
    for i=1:length(sqPH)
        for j=i+1:length(sqPH)
            if dis(i,j)>midite && dis(i,j)<=madite
                ponu(k,1)=ponu(k,1)+1;
                todi(k,1)=todi(k,1)+dis(i,j); diff(k,1)=diff(k,1)+(sqPH(i)-sqPH(j))^2;
            end
        end
    end
    todiav(k,1)=todi(k,1)/ponu(k,1);
    diffav(k,1)=diff(k,1)/ponu(k,1)/2;
end
plot(todiav(:,1),diffav(:,1)),title("Empirical Semivariogram of Square Root of pH");
xlabel("Separation Distance (Metre)"),ylabel("Standardized Semivariance");

5 Resultados de dibujo

  Mediante el proceso anterior, se obtienen el gráfico lineal y el gráfico de dispersión del variograma experimental después de la raíz cuadrada del valor de pH.
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
  Se puede ver que el variograma experimental después de la raíz cuadrada del valor de pH es más consistente con el modelo esférico o el modelo exponencial con valor de pilar. El valor de la función aumenta rápidamente en el rango de 0 a 8000 metros. Después de que la distancia es de 8000 metros, el valor aumenta y disminuye, y el rango es de aproximadamente 25000 metros; es decir, "aumenta rápidamente, luego se desacelera, y luego estabiliza "La tendencia general de la imagen es más obvia. Pero el rendimiento general de su valor numérico es bajo: la constante de pepita es de aproximadamente 0,004, mientras que el valor del pilar es solo de aproximadamente 0,013. Para verificar la exactitud de los valores numéricos, la operación de proceso completo mencionada anteriormente también se realiza en materia orgánica y nitrógeno total.
  Obtenga el gráfico lineal y el diagrama de dispersión de los dos variogramas correspondientes.

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

  De los tres grupos anteriores, un total de seis gráficas de la raíz cuadrada del valor de pH, la gráfica lineal y la gráfica de dispersión del variograma experimental correspondiente a la materia orgánica y el nitrógeno total, se puede observar que la magnitud del variograma experimental El valor correspondiente a diferentes valores también será diferente, pero la "tendencia general" general de "aumentar rápidamente, luego disminuir y luego estabilizarse" es muy consistente.
  Además, como se mencionó anteriormente, para los tres datos de atributos espaciales (valor de pH, contenido de materia orgánica y contenido de nitrógeno total), la distribución normal más consistente son también los datos de tres atributos (valor original, logaritmo y contenido de nitrógeno total). Cuadrado raíz), el único valor entre los nueve estados de datos que pasaron la prueba de distribución normal de Lilliefors, el valor original del contenido de nitrógeno total después de eliminar los valores atípicos.Los resultados de la prueba de imagen de su distribución normal se muestran a continuación.
Inserte la descripción de la imagen aquí
En este punto, hemos completado todas las operaciones y procesos de análisis ~

Bienvenido a prestar atención a la cuenta pública: aprendizaje loco GIS
Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/zhebushibiaoshifu/article/details/114030470
Recomendado
Clasificación