2009-02-25 25 views
6

El problema de ajuste de curva para datos 2D es bien conocido (BAJO, etc.) pero dado un conjunto de puntos de datos 3D, ¿cómo encajo una curva 3D (por ejemplo, una spline de suavizado/regresión) a esta información?Conjunto de datos 3D de ajuste de curva

MÁS: Estoy tratando de encontrar una curva, ajustando los datos proporcionados por los vectores X, Y, Z que no tienen relación conocida. Básicamente, tengo una nube de puntos 3D y necesito encontrar una línea de tendencia 3D.

MÁS: Pido disculpas por la ambigüedad. Probé varios enfoques (todavía no he intentado modificar el ajuste lineal) y una NN aleatoria parece funcionar mejor. Es decir, selecciono aleatoriamente un punto de la nube de puntos, encuentro el centroide de sus vecinos (dentro de una esfera arbitraria) e itero. Conectar los centroides para formar una spline lisa está resultando difícil, pero los centroides obtenidos son transitables.

Para aclarar el problema, los datos no son una serie temporal y estoy buscando un spline suave que describa mejor la nube de puntos, si tuviera que proyectar esta spline 3D en un plano formado por 2 variables cualquiera, la spline proyectada (en 2D) será un ajuste suave de la nube de puntos proyectada (en 2D).

IMG: He incluido una imagen. Los puntos rojos representan el centroide obtenido del método mencionado anteriormente.

3D Point Cloud and Local Centroids http://img510.imageshack.us/img510/2495/40670529.jpg

+3

falta la imagen –

Respuesta

1

Depende de lo que quiere decir con eso. Si tiene un conjunto de puntos f (x, y) -> z y desea encontrar una función que los golpee a todos, podría hacer una spline.

Si tiene una función conocida y desea ajustar los parámetros para minimizar el error RMS, simplemente considere x, ya sea el objeto compuesto p (por ejemplo, como si fuera un complejo o un vector de 2) y use un analógico del caso 2d en f (p) -> z.

Si puede ser más específico acerca de lo que está tratando de lograr, puedo ser más específico con las sugerencias.

- MarkusQ

Así que dado el enunciado del problema editado, me gustaría sugerir lo siguiente:

  • Si se trata de una serie de tiempo (que implica su uso del término "línea de tendencia") I' Consideremos tratarlo como tres funciones paramétricas (x (t), y (t), z (t)) y hacer el ajuste 2d en cada una de ellas.
  • Alternativamente (pero suponiendo una serie ordenada), es posible que desee encontrar un ajuste lineal (una línea que atraviesa el corazón de la nube) y luego agregar una función (probablemente polar) basada en la proyección perpendicular de los puntos a la línea.
  • Si no es una serie temporal (implícita por las frases "relación desconocida" y "nube de puntos"), debe definir qué "curva" desea que les quede. ¿Quieres una línea? Una superficie/colector? ¿Desea que sea una función de una o dos de las variables, o independiente de ellas (por ejemplo, el casco convexo). ¿Tiene que ser suave, limitado en grado, o ...?

Realmente, la pregunta sigue siendo demasiado abierta.

2

A preguntas relacionadas está aquí:

Simple multidimensional curve fitting

En general, se puede ver un problema como éste desde el punto de vista del aprendizaje estadístico.En otras palabras, tiene un conjunto de funciones de base (por ejemplo, splines) parametrizadas de cierta manera, y luego usa mínimos cuadrados o alguna otra técnica de regresión para encontrar coeficientes óptimos. Resulta que como Elements of Statistical Learning

0

Intentaría utilizar la Heurística de curva de relleno de espacio. Por ejemplo, clasifique los puntos por el orden en que los visita una curva de relleno de espacio. Una solución a su problema sería una curva spline a través de los puntos tomados en ese orden. Para obtener una curva más corta y más suave (pero una mayor distancia RMS de los puntos a la curva), puede forzar a la spline a atravesar solo cada punto k. Podría mejorar la curva si, después de elegir cada punto k, buscara un camino hamiltoniano más corto a través de ellos (como el Problema del Vendedor ambulante, pero para los caminos abiertos). También puede ajustar los nudos estriados para disminuir la distancia RMS. Al calcular la distancia RMS, utilizaría el orden de la curva de relleno de espacio para indicar qué parte de la spline probablemente sea la más cercana a un punto dado.

Cuestiones relacionadas