5 votos

Extensión de un plan de ordenación territorial

Tengo un conjunto de puntos 3D. Los puntos tienen tres componentes $x$, $y$, $z$. Usted puede pensar en estos puntos como el topógrafo puntos que uno obtiene de la medición de un terreno para la SIG fines.

Tengo un par de algoritmos que tomar en este conjunto de puntos 3D como el de referencia y también una lista de 2D puntos de $p_{out}(x,y)$: de los algoritmos a continuación, calcular el $z_{out}$ para cada una de las $p_{out}(x,y)$.

Ahora, dado que tengo un par de algoritmos para esto, es de todos modos me pueden evaluar y comparar la exactitud de estos algoritmos? Hay algún tipo de error de "índice" de la fórmula que me permite saber que los algoritmos son mejores en la interpolación?

O hay algún tipo de fórmula que me permite saber que los algoritmos son mejores para generar el 3D de la superficie? Los dos más intuitiva criterios para la evaluación son:

  1. Cómo cerca de los puntos interpolados son a los puntos de entrada

  2. Cómo lisa es la superficie

No tengo idea de cómo definir cuantitativamente los dos anteriores, ¿qué te parece?

22voto

Robert Durgin Puntos 131

He breves respuestas a los dos puntos en su pregunta, y te animamos a que consulte a continuación para obtener más detalles.

  1. La mayoría de la superficie de algoritmos de estimación la estimación de una nube de puntos P' para aproximar el conjunto de entrada P. El punto a punto de la distancia entre el estimado y punto de entrada correspondiente punto puede ser suficiente para el error métrica.
  2. Usted está buscando una métrica para la suavidad de la superficie de la estimación. La literatura tiene varias popular métricas con opciones populares que son y la curvatura de la superficie de la variación.

Aquí es una excelente referencia correspondiente a los dos puntos en su pregunta : Pauly, et. al. Eficiente Simplificación de Punto Muestreado en las Superficies, IEEE Visualización de 2002

7voto

Crippeoblade Puntos 1301

Una opción puede ser la de dividir el original de datos en dos subconjuntos: uno que serán utilizados en la interpolación de valores y que se utilizará para validar la interpolación de los resultados. El error se calcula mediante la comparación de los valores interpolados en la validación de las ubicaciones de punto con la validación de los valores de punto. Tenga en cuenta que la pertinencia de este enfoque es impulsado en gran medida por el punto de la muestra densidad y distribución de la vis-à-vis el tipo y la escala del proceso subyacente que está intentando modelo.

Edit: Esta es una expansión de la original de responder a la siguiente @whuber comentarios.

Como se nota por @whuber, una desventaja con dicha técnica es la degradación en la interpolación de calidad cuando un subconjunto de los sitios de muestreo se quitan. Una solución a este problema se describe en Maciej Timczak de 1998 de papel. El autor se aplica una técnica de validación cruzada para estimar el óptimo de interpolación de parámetros. Él, a continuación, utiliza un método de jackknife para estimar el valor de la predicción y la incertidumbre a un sin muestrear sitio $Z_J$. Un breve resumen de las técnicas que se describen en el documento con un ejemplo sencillo en el R de la siguiente manera.

En la validación cruzada (leave-one-out) el método, un punto de datos $s_i$ es eliminado desde el punto del conjunto de datos $S$ y su valor interpolado es calculada usando todos los otros $(n-1)$$S$. El valor interpolado es entonces comparado con el valor real $s_i$. Este proceso se repite con todos los otros datos de los puntos de $S$. El rendimiento de la interpolador es evaluado a través de la raíz de la media de los cuadrados de los residuos (RMSE). El RMSE puede ser calculados para los diferentes interpolación de parámetros (o diferentes interpolators), a continuación, en comparación. El interpolador con el menor RMSE es generalmente deseada. $$RMSE=\sqrt{\frac{\sum_{i=1}^n (Z_{i(int)} -Z_{i})^2}{n}}$$

Once the interpolation technique is chosen, the jackknife technique is used to estimate the unknown value $Z_j$ at an unsampled location $s_j$ along with its confidence interval. The method, as implemented by the author, involves first interpolating the unknown value $Z_j$ at unsampled location $s_j$ using all sample points from $S$, then interpolating a pseudo-value $Z_i^*$ using $(n-1)$ points from the sample dataset $S$ (i.e. $Z_i^*$ is computed once for each omitted point sample $s_i$): $$Z_{i}^* = n Z_{all} - (n-1) Z_{-i}$$ donde i = 1,2,..,n El jackknifed estimador de $Z_j$ $s_j$ se calcula haciendo la media de todos los pseudo-valores siguientes: $$Z_{J} =\frac{ \sum_{i=1}^{n} Z_{i}^*}{n}$$ Un intervalo de confianza se calcula de la siguiente manera: $$\sigma_J=\sqrt{\frac{1}{n(n-1)}\sum_{i=1}^{n}(Z_i^*-Z_J)^2}$$ El valor estimado es, por tanto, $Z_j \pm- t_{(\alpha/2,n-1)}\sigma_J$

Una simple R ejemplo, de la siguiente manera:

X <- c(100.0,19.4,9.0,64.4,39.4,50.7,99.0,44.4,82.5,55.9,
  56.2,54.0,14.9,54.8,35.5,34.6,15.2,32.0,23.8,87.4, 
  49.4,77.9,63.9,14.8,5.9,45.3,95.6,10.3,59.5,47.2,
  26.7,46.5,41.3,62.9,34.2,3.7,57.7,78.5,73.1,28.3,
  13.1,49.4,24.2,99.2,76.3,93.2,71.6,28.8,49.4,94.0,
  84.4,0.0,90.3,48.4,44.8,5.1,29.8,27.7,93.8,25.6)
Y <- c(0.0,1.9,3.2,6.0,12.4,13.3,13.7,15.3,15.6,
   16.0,18.0,22.3,22.9,23.0,24.3,26.3,26.6,27.4,
   31.6,33.1,33.8,35.0,35.2,42.0,44.9,45.3,45.8,
   48.8,50.5,58.3,60.2,60.8,60.8,61.5,64.4,64.6,
   65.5,69.2,69.3,69.4,71.2,73.3,78.5,80.1,83.6,
   84.7,84.7,91.1,92.1,92.7,93.0,93.7,93.8,95.1,
   96.0,96.4,96.7,97.6,99.8,100.0)
Z <- c(209,478,424,817,866,720,327,833,731,1488,562,868,318,496,488,
   1146,369,735,593,778,771,304,538,669,368,474,391,346,872,556,
   348,765,779,809,357,720,416,544,338,560,455,555,340,307,589,
   280,745,452,1116,442,659,343,385,655,828,490,425,665,276,333)
library(akima)
n <- 60 # Number of points in S
#
# Cross validation (leave-one-out) method to compare interpolators
#
P.spl <- vector()
sum.dif2 <- numeric()
for (i in 1:n){
  P.spl[i] <- interpp(X[-i],Y[-i],Z[-i],X[i],Y[i],linear=F,extrap=T)$z
  sum.dif2 <- (P.spl[i] - Z[i])^2
}
rmse = sqrt(sum.dif2 / n)
rmse
#
# Jackknife to estimate the uncertainty in  the interpolated value
P.spl <- vector()
Zi <- numeric()
jx <- 40 # X coordinate of parameter Zj to be estimated at sj
jy <- 40 # Y coordinate of parameter Zj to be estimated at sj
Zall <- interpp(X,Y,Z,jx,jy,linear=T)$z  # Interp value from all si
for (i in 1:n){
  Z1 <- interpp(X[-i],Y[-i],Z[-i],jx,jy,linear=T)$z # Interp value from si-1
  # Calculated pseudo-value Z at j
  Zi[i] <- n * Zall - (n-1) * Z1
}
#
# Jackknifed estimator of parameter Z at location j
#
Zj <- sum(Zi) / n  # Estimated value Zj
# Estimated standard error
sig.j <- sqrt(1/(n*(n-1)) * sum((Zi-Zj)^2))
# The confidence interval on Zj
alpha <- 1 - .05 / 2
t.value <- qt(alpha,n-1)
ci <- t.value * sig.j # Confidence interval for Zj

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X