Método de interpolación polinomial global de datos espaciales basado en MATLAB (método de superficie de tendencia) y método de ponderación de distancia inversa (IDW), interpolación y análisis de resultados


  Construir sobre el progreso para completar la teoría básica de la computación en geociencias explicada (ver blog 1 ) y variogramas de datos espaciales calculados y dibujo de semivariograma empírico (ver publicación del blog 2 ) Funcionamiento práctico básico de la computación en geociencias, profundizaremos en, la computación en geociencias real dos métodos importantes de problemas de interpolación: la interpolación polinomial global y el método de ponderación de distancia inversa . Acerca del método Kriging , puedes verlo aquí .
  Para facilitar la comprensión de todos, este artículo explicará por separado de la parte del código; primero, se elaborará el proceso y método de operación específicos, y luego todos los códigos utilizados en este artículo se adjuntarán completamente al final de este artículo. Entre ellos, debido a que los datos utilizados en este artículo no son míos, lamento que los datos no se puedan proporcionar a todos; pero en base a las ideas de este blog y la explicación detallada del código, puedes usar tus propios datos para realizar tareas relacionadas. operaciones y análisis El proceso se reproduce íntegramente.

1 conocimiento previo

  La adquisición de datos espaciales es la base y el origen del análisis espacial. Siempre esperamos obtener información de datos de atributos espaciales cada vez más completa y precisa del área de investigación. Sin embargo, en el trabajo real, debido a las limitaciones de costos y recursos, es imposible medir todas las áreas desconocidas y solo se pueden obtener más datos de un número limitado de puntos de muestreo. Por lo tanto, podemos considerar la selección de puntos de muestreo espacial apropiados, utilizando un determinado modelo matemático y predecir la información de atributos desconocidos de todas las ubicaciones en el área de estudio en función de los datos de puntos de muestreo conocidos.
  La interpolación espacial es un método común para convertir datos de medición de puntos discretos en superficies de datos continuos, que incluye dos formas de aplicación: interpolación y extrapolación. La interpolación espacial se basa en la primera ley de la geografía, es decir, generalmente, cuanto más cercana es la distancia, mayor es la correlación.
  A nivel de método, la interpolación espacial generalmente se puede dividir en método de interpolación determinista (Interpolación determinista) y método de geoestadística (Geoestadística). El primero crea una superficie de ajuste basada en la similitud entre los puntos de información o la suavidad de toda la superficie, y el segundo cuantifica la autocorrelación espacial de los puntos de información basándose en la ley estadística integral de los puntos de información, creando así una superficie de interpolación. Por otro lado, de acuerdo con el rango de distribución de puntos de muestreo tomado en consideración en el cálculo de interpolación, se divide en método de interpolación general y método de interpolación local. El primero usa todo el conjunto de datos de puntos de muestreo medidos para ajustarse a toda el área, como la interpolación polinomial global (Interpolación polinomial global); el segundo solo usa los datos del punto de muestreo en un área cercana para predecir los datos de puntos desconocidos, como reversa ( inversa)) Distancia ponderada (distancia inversa ponderada, IDW). Además, según la relación entre el valor predicho del punto de muestreo en la superficie del resultado de la interpolación y el valor medido, se puede dividir en interpolación precisa e interpolación inexacta.
  Con la ayuda del software MATLAB, este documento utiliza el método de interpolación polinomial global y el método de ponderación de distancia inversa para calcular el valor de pH del suelo ,Se calculan dos tipos de datos de atributos, como el contenido de materia orgánica, mediante interpolación espacial, y se comparan los efectos de ajuste de los métodos de interpolación correspondientes.
  El método de interpolación polinomial global se basa en el área de cobertura de todos los puntos de muestreo, y se ajusta al plano o superficie curva más adecuado mediante el método de mínimos cuadrados, de modo que cada punto de muestreo se distribuye de manera más uniforme en las proximidades de este plano. o superficie curva, y todas son altas El valor absoluto de la suma de las distancias de los puntos fuera de la superficie y la suma de todas las distancias de los puntos debajo de la superficie debe ser aproximado. El método de interpolación polinomial global no es adecuado para describir las características de áreas con grandes fluctuaciones en la distribución espacial de datos de atributos. Se sabe que la
  ponderación de distancia inversa utiliza un rango de puntos de datos alrededor del punto a interpolar, los datos a interpolar para ser un punto central interpolado; un punto más cercano a la distancia a interpolar, mayor es la influencia de este punto, es decir, la mayor el coeficiente correspondiente. El cálculo del peso a menudo depende de la potencia p de la distancia inversa (el recíproco de la distancia). Generalmente, tome p igual a 2. De acuerdo con el principio del método, el método de ponderación de distancia inversa a menudo conduce al fenómeno de centros multipunto en la distribución espacial.

2 parte operativa real

2.1 Lectura de datos espaciales

Este artículo utiliza los datos del blog 2 anterior como ejemplo, que incluye la ubicación espacial (X e Y, en metros), el pH, el contenido de materia orgánica y el contenido de nitrógeno total de 658 puntos de muestreo de suelo en el condado de Shayang, ciudad de Jingmen, Provincia de Hubei. Estos datos también se almacenan en el archivo "data.xls" y las operaciones posteriores se implementan principalmente en base al software MATLAB. Por lo tanto, los datos de origen deben importarse selectivamente al software MATLAB de acuerdo con las necesidades de cálculo específicas.

2.2 Eliminación de datos anormales

Como se menciona en el blog anterior, los datos del punto de muestreo original que obtuvimos pueden tener ciertos errores en el proceso de registros de muestreo, pruebas de laboratorio, etc., lo que resulta en valores atípicos individuales; y la existencia de valores atípicos afectará el efecto de interpolación espacial posterior (especialmente método de interpolación local) tiene un mayor impacto. Por lo tanto, se selecciona el "método de la media más la desviación estándar" para filtrar y eliminar los datos anormales. Consulte el blog 2 para conocer el significado específico de este método .
En el blog anterior, se utilizaron los métodos "2S" y "3S" para tratarlo, y se encontró que el método "2S" tiene un mejor efecto de procesamiento que el último. Por lo tanto, este artículo opta directamente por utilizar el método "2S" para procesar los resultados para continuar.
Una vez obtenido el valor anormal, se elimina de los 658 puntos de muestreo originales; los datos restantes del punto de muestreo continúan con las operaciones posteriores.

2.3 Cribado del conjunto de validación

Con el objetivo de probar la precisión de los resultados obtenidos por diferentes métodos de interpolación, este artículo adopta el método de establecer datos de entrenamiento (Training Data) y datos de prueba (Test Data) y compararlos. Los datos después de la eliminación de la anomalía mencionada anteriormente se dividen aleatoriamente en dos partes, de las cuales el 80% se usa como datos de entrenamiento y el 20% restante se usa como datos de prueba (es decir, conjunto de validación). Cabe señalar que los datos de prueba solo se pueden usar para detectar el efecto de construcción del modelo de interpolación y no pueden participar en el proceso de construcción del modelo, de lo contrario, los resultados pueden estar sobreajustados (es decir, el modelo tiene una buena interpolación y efecto de ajuste en los datos dados esta vez, pero el efecto de predicción del área exterior sin datos es pobre). Dado que los datos del conjunto de verificación se seleccionan al azar, el procedimiento se puede ejecutar varias veces en la etapa posterior para obtener un índice de medición de precisión estable.

2.4 Resolver por el método de mínimos cuadrados

Como indica el nombre "Interpolación polinomial global", el principio de este método de interpolación es en realidad resolver los coeficientes de un polinomio que describe un plano o una superficie curva; y este proceso de solución a menudo se realiza mediante el método de mínimos cuadrados.
Teniendo en cuenta la complejidad de los polinomios, este artículo limita el orden de los polinomios al segundo y tercer orden, y compara sus efectos de interpolación. La forma del polinomio de segundo orden es la siguiente: la forma del
Inserte la descripción de la imagen aquí
polinomio de tercer orden es la siguiente: En las
Inserte la descripción de la imagen aquí
dos fórmulas anteriores, W (x, y) es el valor de interpolación del punto (x, y) a ser interpolado, xey son las coordenadas, φ es una constante y las otras letras representan cada coeficiente de término correspondiente.
Si utiliza AcrMap y otro software para realizar la interpolación de superficies de tendencias, puede aumentar el orden de forma adecuada de acuerdo con la situación real.

2.5 Método de ponderación de distancia inversa

El método de ponderación de distancia inversa realiza la interpolación a través del valor real de cada punto conocido y su peso con respecto al punto a interpolar. La fórmula es la siguiente:
Inserte la descripción de la imagen aquí
donde ω_i es el peso del i-ésimo punto conocido a interpolar (x_0 , y_0), y d_i0 es dos La distancia entre las personas, n es el número de puntos conocidos, p es el parámetro de potencia, W (x_0, y_0) es el valor de interpolación del punto a interpolar (x_0, y_0), Z (x_i, y_i) es el atributo correspondiente del i-ésimo valor Numérico del punto conocido.
En este artículo, tome el p = 2 inicial y ajústelo adecuadamente de acuerdo con el efecto de interpolación.

2.6 Prueba de precisión de interpolación

Como se mencionó anteriormente, este artículo compara y analiza la precisión de los resultados de la interpolación a través de datos de prueba seleccionados al azar. Combinados con las características numéricas de los datos espaciales reales, los indicadores finales seleccionados para medir la precisión de la interpolación incluyen el error medio (ME) [1], el error absoluto medio (MAE) y el error cuadrático medio (error cuadrático medio). RMSE) y coeficiente de correlación (coeficiente de correlación).
Entre ellos, el error promedio puede conocer la relación de tamaño entre el resultado de la interpolación y el valor observado del punto de medición real; el error absoluto promedio representa el valor promedio del error absoluto entre la interpolación espacial y el valor observado del punto de medición real. , que puede reflejar mejor la situación real del error del resultado de la interpolación; el error cuadrático medio representa la desviación estándar de la muestra de la diferencia (es decir, residual) entre el resultado de la interpolación y el valor observado del punto medido; el coeficiente de correlación (coeficiente de correlación de Pearson se utiliza aquí) se utiliza para evaluar la correlación lineal entre la interpolación espacial y el valor observado del punto medido.

2.7 Exportación de datos y producción de mapas temáticos

Mediante el proceso anterior, se obtiene el resultado de la interpolación de los datos de atributo correspondientes. Primero, dibuje un mapa tridimensional del resultado de la interpolación en MATLAB, luego guarde la variable de datos del resultado de la interpolación como un archivo de formato de datos ASCII e impórtelo en el software AcrMap para dibujar el mapa temático.
Entre ellos, después de que MATLAB exporta los datos al formato ".txt", se debe agregar la siguiente información al principio de los datos:

ncols 1275
nrows 1209
xllcorner 600800
yllcorner 3364600
tamaño de celda 50
NODATA_value -9999

Entre ellos, los valores correspondientes de ncols y nrows representan respectivamente el número de columnas y filas del resultado de la interpolación, los valores correspondientes de xllcorner y yllcorner respectivamente representan el valor mínimo de las coordenadas xey del resultado de la interpolación ( es decir, el valor inicial) y el valor correspondiente de tamaño de celda representa el tamaño de píxel.

3 Presentación y análisis de resultados

A través del error promedio, el error absoluto promedio, el error cuadrático medio, el coeficiente de correlación y otros cuatro indicadores de medición de precisión, así como la fórmula de superficie de tendencia correspondiente y el gráfico de resultado de interpolación tridimensional, se comparan los resultados obtenidos por diferentes métodos de interpolación espacial y analizados de la siguiente manera, y se dibuja el mapa temático.

3.1 Comparación de la interpolación de segundo y tercer orden de la interpolación polinomial global

Utilizando el método de mínimos cuadrados, los coeficientes del polinomio de segundo orden y el polinomio de tercer orden se resuelven respectivamente, y se obtienen los resultados de la interpolación polinomial global de los dos datos de atributos espaciales, como el valor de pH y el contenido de materia orgánica y varios indicadores de precisión. . Para polinomios de diferentes órdenes, se realizan seis operaciones de interpolación respectivamente y se calcula el valor promedio. Los resultados obtenidos se muestran en la Tabla 1 a la Tabla 6, respectivamente.
Inserte la descripción de la imagen aquíInserte la descripción de la imagen aquí
Se puede observar en la Tabla 1 a la Tabla 3 que para el método de interpolación polinomial global del valor de pH, el error promedio de los resultados de la interpolación obtenidos por los polinomios de segundo y tercer orden es negativo, es decir, los dos métodos tienden a obtener una mayor interpolación. resultados que el valor observado; el valor de error promedio obtenido por este último es menor que el primero (es decir, el valor absoluto del último indicador es menor). Los resultados de la interpolación polinómica de segundo y tercer orden corresponden al error absoluto promedio y al error cuadrático medio, sin embargo, los dos últimos indicadores también son más pequeños que el primero. El coeficiente de correlación del polinomio de tercer orden también es ligeramente mayor que el polinomio de segundo orden. En resumen, el método de interpolación polinomial global orientado al pH tiene mejores efectos de interpolación usando polinomios de tercer orden que usando polinomios de segundo orden, y los resultados están en términos de error promedio, error absoluto promedio, error cuadrático medio y coeficiente de correlación. y se reflejan otros cuatro indicadores de medición de precisión.
Se puede observar en la Tabla 4 a la Tabla 6 que para el método de interpolación polinomial global para el contenido de materia orgánica, el error promedio de los resultados de interpolación obtenidos por los polinomios de segundo y tercer orden es positivo, es decir, los dos métodos tienden a obtener la interpolación. resultados inferiores al valor observado; este último tiene un valor de error promedio mayor que el primero. El error absoluto promedio de los resultados de la interpolación polinómica de segundo y tercer orden no es muy diferente, pero los valores de índice anteriores de este último también son ligeramente mayores que los del primero. El error cuadrático medio del polinomio de segundo orden es menor que el del polinomio de tercer orden y existe una brecha significativa entre los dos indicadores. El coeficiente de correlación del polinomio de tercer orden también es ligeramente más pequeño que el polinomio de segundo orden. En resumen, el método de interpolación polinomial global para el contenido de materia orgánica tiene poca diferencia entre el efecto de interpolación del polinomio de segundo orden y el efecto de interpolación del polinomio de tercer orden. Los resultados de la interpolación del polinomio de segundo orden están en el error promedio, error absoluto promedio y correlación El coeficiente y otras tres medidas de precisión son ligeramente mejores que el polinomio de tercer orden, y el resultado de la interpolación polinomial de tercer orden funciona bien en la raíz del índice de error cuadrático medio. Teniendo en cuenta la aleatoriedad de la selección de diferentes datos de prueba, se cree que el resultado más cercano mencionado anteriormente no muestra particularmente la mejor elección del método de interpolación de los dos.
De la Tabla 1 a la Tabla 6, se puede ver que para el método de interpolación polinomial global, la elección del orden polinomial no es necesariamente cuanto mayor es mejor, pero debe probarse y seleccionarse en función de la situación real de los datos. Además de aumentar la cantidad de cálculo y prolongar el tiempo de ejecución de un orden superior, es posible que la precisión del resultado de la interpolación no aumente o incluso muestre una tendencia a la baja en algunos indicadores.

3.2 Función de interpolación polinomial global y su gráfico de resultado tridimensional

En resumen, el polinomio de segundo orden y el polinomio de tercer orden se utilizan para obtener la función de superficie de tendencia correspondiente al método de interpolación polinomial global.
Las funciones de superficie de tendencia de interpolación polinomial global de segundo y tercer orden para el valor de pH son las siguientes:
Inserte la descripción de la imagen aquí
Entre ellas, las funciones de superficie de tendencia de segundo y tercer orden mencionadas anteriormente, respectivamente, corresponden a los indicadores de medición de precisión como se muestra en la Tabla 7. .
Inserte la descripción de la imagen aquí
Las funciones de superficie de tendencia de segundo y tercer orden mencionadas anteriormente corresponden respectivamente a los resultados de la interpolación tridimensional como sigue.
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

Las funciones de superficie de tendencia de interpolación polinomial global de segundo y tercer orden para el contenido de materia orgánica son las siguientes:

Inserte la descripción de la imagen aquí
Entre ellos, las funciones de superficie de tendencia de segundo y tercer orden mencionadas anteriormente corresponden respectivamente a cada índice de medición de precisión como se muestra en la Tabla 8.
Inserte la descripción de la imagen aquí
Las funciones de superficie de tendencia de segundo y tercer orden mencionadas anteriormente corresponden respectivamente a los resultados de la interpolación tridimensional como sigue.
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

3.3 Mapeo temático de la interpolación polinomial global

A través de los métodos relevantes de la parte anterior de este artículo, el archivo de resultados de datos de interpolación de MATLAB se importa a ArcMap y, después de la adaptación, se crea un mapa temático de interpolación polinomial global del contenido de materia orgánica y pH del suelo en el condado de Shayang, ciudad de Jingmen, provincia de Hubei. hecho. Entre ellos, el método de producción específico del mapa temático no se repetirá aquí, puedes consultar el método en este blog .
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

El mapa temático se muestra a continuación.
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í
Se puede ver en los cuatro mapas temáticos anteriores que los resultados obtenidos por interpolación de polinomios de tercer orden generalmente tienen un rango de valores más amplio que los polinomios de segundo orden. Por ejemplo, el resultado máximo en el mapa de interpolación de valores de pH de segundo orden es 8,99, mientras que la interpolación de tercer orden puede llegar a 10,34; lo mismo, el resultado mínimo en el mapa de interpolación de contenido de materia orgánica de segundo orden es 8,91, mientras que la interpolación de tercer orden puede ser tan bajo como 5,53. En respuesta a este fenómeno, personalmente creo que puede deberse a que la interpolación polinomial de tercer orden tiene un mayor grado de curvatura que la interpolación polinomial de segundo orden, y el efecto de suavizado es menos obvio que el del polinomio de segundo orden, por lo que el rango de valores que puede alcanzar también es mayor.
Por otro lado, desde la perspectiva del mapa temático, se puede encontrar que el valor de pH y la distribución del contenido de materia orgánica tienen una cierta relación espacial: las áreas con valores de pH más altos tienden a tener menor contenido de materia orgánica (principalmente concentrada en la parte oriental del condado de Shayang); por el contrario, el contenido de materia orgánica tiende a ser mayor (concentrado principalmente en las partes central y occidental del condado de Shayang). Y este resultado también está en línea con la conclusión de que "la materia orgánica del suelo y el pH tienen una alta correlación negativa" [2].

3.4 Resultado de interpolación del método de ponderación de distancia inversa y su gráfico de resultado tridimensional

De acuerdo con el método mencionado anteriormente en este artículo, tome el p = 2 inicial y ajústelo apropiadamente de acuerdo con el efecto de interpolación. Repita el método de ponderación de distancia inversa varias veces para obtener los resultados de interpolación de los dos datos de atributos espaciales como el valor de pH y el valor orgánico. contenido de la materia y varios indicadores de precisión. Los resultados se muestran en la Tabla 9.
Inserte la descripción de la imagen aquí
Puede verse en la Tabla 9 que el efecto de interpolación del método de ponderación de distancia inversa para el valor de pH y el contenido de materia orgánica no es particularmente satisfactorio en las cuatro medidas de precisión anteriores. En comparación con el método de interpolación polinomial global antes mencionado (incluidos los de segundo y tercer orden) -orden), el error es ligeramente grande. En particular, la raíz del error cuadrático medio de los resultados del método de ponderación de distancia inversa para el contenido de materia orgánica tiene un valor promedio de aproximadamente 5,10, lo que indica la desviación estándar de la muestra de la diferencia (es decir, residual) entre los resultados de la interpolación del contenido de materia orgánica de cada uno. Método IDW y el valor observado en el punto medido Mayor. Además, el coeficiente de correlación promedio de los resultados de la interpolación del contenido de materia orgánica del método de ponderación de distancia inversa no es superior a 0,50, es decir, el valor medio de R ^ 2 será inferior a 0,25. En comparación con el contenido de materia orgánica, la precisión de los resultados de la interpolación del valor de pH es ligeramente mejor en general; se puede ver que la precisión general del efecto de interpolación del método de ponderación de distancia inversa del valor de pH es mejor que la del contenido de materia orgánica; y esto pueden estar relacionados con los dos. La correlación espacial interna, el valor numérico y las características de distribución de los datos de cada atributo están relacionados. A partir del índice de medición de precisión general, el efecto del método de ponderación de distancia inversa implementado por programación es ligeramente peor que el del método de interpolación polinomial global.
Por otro lado, en el proceso de implementación del método de ponderación de distancia inversa varias veces, se encuentra que la precisión de cada efecto de ejecución varía mucho; especialmente el contenido de materia orgánica, a veces los indicadores de precisión anteriores pueden alcanzar un buen nivel, y a veces son más precisos, deficientes, como el error de la raíz cuadrada media, a veces puede llegar incluso a alrededor de 8. A partir de esto, se puede ver que el método de ponderación de distancia inversa es un método de interpolación local, y su efecto de ejecución se ve muy afectado por la selección de datos de entrenamiento y datos de prueba.
Los resultados de la interpolación tridimensional del método de ponderación de distancia inversa para el valor de pH y el contenido de materia orgánica se muestran en las dos figuras siguientes, respectivamente.
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

3.5 Cartografía temática con método de ponderación de distancia inversa

A través de los métodos relevantes de la parte anterior de este artículo, el archivo de resultados de datos de interpolación de MATLAB se importa a ArcMap y, después de adaptar, el mapa temático de interpolación ponderada por distancia inversa del contenido de materia orgánica y pH del suelo en el condado de Shayang, ciudad de Jingmen, provincia de Hubei está hecho.
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
Se puede ver en los dos mapas temáticos anteriores que los resultados de interpolación obtenidos por el método de ponderación de distancia inversa son más numerosos y mayores en las fluctuaciones de superficie que el método de interpolación polinomial global, y el rango afectado por las fluctuaciones es menor; y como se mencionó anteriormente , El resultado de la interpolación obtenido por el método de ponderación de distancia inversa tiene un área de distribución central relativamente pequeña, es decir, las características de los datos de atributos que incluyen la distribución de varios puntos pequeños en forma de burbuja se pueden ver en el mapa temático de interpolación. Además, las características de distribución del valor del pH y el contenido de materia orgánica y la relación espacial entre los dos siguen siendo las mismas como resultado de la interpolación polinomial global, es decir, los tamaños de los datos de los dos están en el estado opuesto, y el pH El valor de las partes central y occidental del condado de Shayang es relativamente bajo, mientras que el contenido de materia orgánica es más alto, el valor del pH de la región oriental es relativamente alto y el contenido de materia orgánica es más bajo.
Al mismo tiempo, como se mencionó en la primera parte de este artículo, dado que el método de ponderación de distancia inversa es un método de interpolación local, el resultado de la interpolación de cada punto a interpolar se ve afectado en gran medida por el valor de sus puntos vecinos; por lo tanto, el las características de distribución espacial anteriores son solo sus. Habrá algunas excepciones a la tendencia general de los resultados. Por ejemplo, combinando los dos mapas temáticos anteriores, se puede ver que el resultado de la interpolación del valor de pH obtenido por el método de ponderación de distancia inversa también tiene algunos puntos máximos locales en la parte occidental del condado de Shayang, y los valores de estos puntos máximos son incluso los mismos que en la parte oriental; al mismo tiempo, los resultados de la interpolación del contenido de materia orgánica también han dispersado puntos mínimos locales en las partes central y occidental del condado de Shayang.

4 Código completo

4.1 Código MATLAB para la interpolación polinomial global

%% 文件信息读入
clc;clear;
info=xlsread('data.xls');
opoX=info(:,1);
opoY=info(:,2);
oPH=info(:,3);
% oOM=info(:,4);
% oTN=info(:,5);
%% 2S法计算异常值
mPH=mean(oPH);
sPH=std(oPH);
num2=find(oPH>(mPH+2*sPH)|oPH<(mPH-2*sPH));
%% 异常值剔除
PH=oPH;
for i=1:length(num2)
    n=num2(i,1);
    PH(n,:)=[0];
end
PH(all(PH==0,2),:)=[];
poX=opoX;
for i=1:length(num2)
    n=num2(i,1);
    poX(n,:)=[0];
end
poX(all(poX==0,2),:)=[];
poY=opoY;
for i=1:length(num2)
    n=num2(i,1);
    poY(n,:)=[0];
end
poY(all(poY==0,2),:)=[];
%% 验证集筛选
very=[randperm(length(PH),floor(length(PH)*0.2))]';
%% 验证集剔除
cPH=PH;
vPH=zeros(length(very),1);
vpoX=vPH;
vpoY=vPH;
for i=1:length(very)
    m=very(i,1);
    vPH(i,:)=cPH(m,:);
    cPH(m,:)=[0];
end
cPH(all(cPH==0,2),:)=[];
cpoX=poX;
for i=1:length(very)
    m=very(i,1);
    vpoX(i,:)=cpoX(m,:);
    cpoX(m,:)=[0];
end
cpoX(all(cpoX==0,2),:)=[];
cpoY=poY;
for i=1:length(very)
    m=very(i,1);
    vpoY(i,:)=cpoY(m,:);
    cpoY(m,:)=[0];
end
cpoY(all(cpoY==0,2),:)=[];
%% 最小二乘法求解预处理
inva2=[ones(size(cpoX)),cpoX.^2,cpoY.^2,cpoX.*cpoY,cpoX,cpoY];
inva3=[ones(size(cpoX)),cpoX.^3,cpoY.^3,(cpoX.^2).*cpoY,cpoX.*(cpoY.^2),cpoX.^2,cpoY.^2,cpoX.*cpoY,cpoX,cpoY];
%% 最小二乘法求解
[coef2,bint2,r2,rint2,stats2]=regress(cPH,inva2);
[coef3,bint3,r3,rint3,stats3]=regress(cPH,inva3);
%% 趋势面法效果图绘制准备
step=50;
npoX=600800:step:664500;
npoY=3364600:step:3425000;
[mnpX,mnpY]=meshgrid(npoX,npoY);
%% 趋势面法插值
pPH2=coef2(1,:)+coef2(2,:)*mnpX.^2+coef2(3,:)*mnpY.^2+coef2(4,:)*mnpX.*mnpY+coef2(5,:)*mnpX+coef2(6,:)*mnpY;
pPH3=coef3(1,:)+coef3(2,:)*mnpX.^3+coef3(3,:)*mnpY.^3+coef3(4,:)*(mnpX.^2).*mnpY+coef3(5,:)*mnpX.*(mnpY.^2)+coef3(6,:)*mnpX.^2+coef3(7,:)*mnpY.^2+coef3(8,:)*mnpX.*mnpY+coef3(9,:)*mnpX+coef3(10,:)*mnpY;
%% 趋势面法效果图绘制
scatter3(cpoX,cpoY,cPH);
hold on;
mesh(mnpX,mnpY,pPH2);
title('Global Polynomial Interpolation Results of Quadratic of Organic Matter');
figure();
scatter3(cpoX,cpoY,cPH);
hold on;
mesh(mnpX,mnpY,pPH3);
title('Global Polynomial Interpolation Results of Cubic of Organic Matter');
%% 趋势面法精度对比
vpPH2=coef2(1,:)+coef2(2,:)*vpoX.^2+coef2(3,:)*vpoY.^2+coef2(4,:)*vpoX.*vpoY+coef2(5,:)*vpoX+coef2(6,:)*vpoY;
MEERan2=mean(vPH-vpPH2);
MEERan21=mean(abs(vpPH2-vPH));
RMSEan2=sqrt(sum(vpPH2-vPH).^2/length(vPH));
COCOan2=corrcoef(vpPH2,vPH);
vpPH3=coef3(1,:)+coef3(2,:)*vpoX.^3+coef3(3,:)*vpoY.^3+coef3(4,:)*(vpoX.^2).*vpoY+coef3(5,:)*vpoX.*(vpoY.^2)+coef3(6,:)*vpoX.^2+coef3(7,:)*vpoY.^2+coef3(8,:)*vpoX.*vpoY+coef3(9,:)*vpoX+coef3(10,:)*vpoY;
MEERan3=mean(vPH-vpPH3);
MEERan31=mean(abs(vpPH3-vPH));
RMSEan3=sqrt(sum(vpPH3-vPH).^2/length(vPH));
COCOan3=corrcoef(vpPH3,vPH);
%% 趋势面法导出ASCII
save 3.txt pPH2 -ASCII;
save 4.txt pPH3 -ASCII;

4.2 Método de ponderación de distancia inversa código MATLAB

%% 文件信息读入
clc;clear;
info=xlsread('data.xls');
opoX=info(:,1);
opoY=info(:,2);
oPH=info(:,3);
power=2;
% oOM=info(:,4);
% oTN=info(:,5);
%% 2S法计算异常值
mPH=mean(oPH);
sPH=std(oPH);
num2=find(oPH>(mPH+2*sPH)|oPH<(mPH-2*sPH));
%% 异常值剔除
PH=oPH;
for i=1:length(num2)
    n=num2(i,1);
    PH(n,:)=[0];
end
PH(all(PH==0,2),:)=[];
poX=opoX;
for i=1:length(num2)
    n=num2(i,1);
    poX(n,:)=[0];
end
poX(all(poX==0,2),:)=[];
poY=opoY;
for i=1:length(num2)
    n=num2(i,1);
    poY(n,:)=[0];
end
poY(all(poY==0,2),:)=[];
%% 验证集筛选
very=[randperm(length(PH),floor(length(PH)*0.2))]';
%% 验证集剔除
cPH=PH;
vPH=zeros(length(very),1);
vpoX=vPH;
vpoY=vPH;
for i=1:length(very)
    m=very(i,1);
    vPH(i,:)=cPH(m,:);
    cPH(m,:)=[0];
end
cPH(all(cPH==0,2),:)=[];
cpoX=poX;
for i=1:length(very)
    m=very(i,1);
    vpoX(i,:)=cpoX(m,:);
    cpoX(m,:)=[0];
end
cpoX(all(cpoX==0,2),:)=[];
cpoY=poY;
for i=1:length(very)
    m=very(i,1);
    vpoY(i,:)=cpoY(m,:);
    cpoY(m,:)=[0];
end
cpoY(all(cpoY==0,2),:)=[];
%% IDW效果图绘制准备
step=50;
npoX=600800:step:664500;
npoY=3364600:step:3425000;
[mnpX,mnpY]=meshgrid(npoX,npoY);
%% IDW分母计算
temdeno=zeros(1,length(cPH));
deno=zeros(length(npoY),length(npoX));
for p=1:length(npoY)
    for q=1:length(npoX)
        for i=1:length(cPH)
            temdeno(1,i)=(sqrt((npoY(1,p)-cpoY(i,1))^2+(npoX(1,q)-cpoX(i,1))^2))^(-power);
        end
        deno(p,q)=sum(temdeno(:));
    end
end
%% IDW求解
temPH=zeros(1,length(cPH));
pPH4=zeros(length(npoY),length(npoX));
for p=1:length(npoY)
    for q=1:length(npoX)
        for i=1:length(cPH)
            temPH(1,i)=cPH(i,1).*((sqrt((npoY(1,p)-cpoY(i,1))^2+(npoX(1,q)-cpoX(i,1))^2))^(-power))./deno(p,q);
        end
        pPH4(p,q)=sum(temPH(:));
    end
end
%% IDW效果图绘制
scatter3(cpoX,cpoY,cPH);
hold on;
mesh(mnpX,mnpY,pPH4);
title('IDW Results of Organic Matter');
%% IDW验证1
temdeno4=zeros(1,length(cPH));
deno4=zeros(length(vpoY),length(vpoX));
for p=1:length(vpoY)
    for q=1:length(vpoX)
        for i=1:length(cPH)
            temdeno4(1,i)=(sqrt((vpoY(p,1)-cpoY(i,1))^2+(vpoX(q,1)-cpoX(i,1))^2))^(-power);
        end
        deno4(p,q)=sum(temdeno4(:));
    end
end
%% IDW验证2
temPH4=zeros(1,length(cPH));
vpPH4=zeros(length(vpoY),1);
for p=1:length(vpoY)
    for i=1:length(cPH)
        temPH4(1,i)=cPH(i,1).*((sqrt((vpoY(p,1)-cpoY(i,1))^2+(vpoX(q,1)-cpoX(i,1))^2))^(-power))./deno4(p,q);
    end
    vpPH4(p,1)=sum(temPH4(:));
end
%% 精度计算
MEERan4=mean(vPH-vpPH4);
MEERan41=mean(abs(vpPH4-vPH));
RMSEan4=sqrt(sum(vpPH4-vPH).^2/length(vPH));
COCOan4=corrcoef(vpPH4,(vPH)');
%% 文件转存
save 5ph.txt pPH4 -ASCII;

referencias

[1] Cao Xianghui, Long Huaiyu, Zhou Jiaogen, et al. Características de variabilidad espacial y factores que influyen en el carbono orgánico de la superficie del suelo y el nitrógeno total en la provincia de Hebei [J]. Journal of Plant Nutrition and Fertilizer, 2016, 22 (04): 937-948.
[2] Dai Wanhong, Huang Yao, Wu Li, Yu Jia. La relación entre el contenido de materia orgánica y el pH en suelos zonales en China [J]. Acta Pedologica Sinica, 2009,46 (05): 851-860 .

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/114037153
Recomendado
Clasificación