2009-02-25 18 views
6

Il problema di adattamento della curva per dati 2D è ben noto (LOWESS, ecc.) Ma dato un insieme di punti dati 3D, come si adatta una curva 3D (ad esempio una spianata di livellamento/regressione) a questi dati?Curve Raccordo set di dati 3D

ALTRO: Sto cercando di trovare una curva, adattando i dati forniti dai vettori X, Y, Z che non hanno alcuna relazione nota. Essenzialmente, ho una nuvola di punti 3D e ho bisogno di trovare una linea di tendenza 3D.

ALTRO: mi scuso per l'ambiguità. Ho provato diversi approcci (non ho ancora provato a modificare l'adattamento lineare) e un NN casuale sembra funzionare meglio. Ad esempio, scelgo a caso un punto dalla nuvola di punti, trova il centroide dei suoi vicini (all'interno di una sfera arbitraria), itera. Il collegamento dei centroidi per formare una spline liscia si sta dimostrando difficile ma i centroidi ottenuti sono passabili.

Per chiarire il problema, i dati non sono serie temporali e sto cercando una spline uniforme che descriva al meglio la nuvola di punti Vale a dire, se dovessi proiettare questa spline 3D su un piano formato da 2 variabili qualsiasi, la spline proiettata (su 2D) sarà un adattamento regolare della nuvola di punti proiettata (su 2D).

IMG: Ho incluso un'immagine. I punti rossi rappresentano il centroide ottenuto dal metodo sopra menzionato.

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

+3

manca l'immagine –

risposta

1

Dipende da cosa si intende per questo. Se hai un set di punti f (x, y) -> z e vuoi trovare una funzione che li colpisce tutti potresti fare una spline.

Se si dispone di una funzione nota e si desidera regolare i parametri per ridurre al minimo l'errore RMS, è sufficiente considerare x, ya oggetto composito p (ad esempio, come se fosse un complesso o un vettore 2) e utilizzare un analogo del caso 2d su f (p) -> z.

Se si può essere più specifici su ciò che si sta cercando di realizzare, posso essere più specifico con i suggerimenti.

- MarkusQ

Quindi data la dichiarazione del problema modificato, suggerirei le seguenti:

  • Se si tratta di una serie storica (implicita l'utilizzo del termine "linea di tendenza") I' d guardare a trattarlo come tre funzioni parametriche (x (t), y (t), z (t)) e fare 2d montaggio su ciascuno di essi.
  • In alternativa (ma assumendo ancora una serie ordinata), potresti voler trovare un adattamento lineare (una linea attraverso il cuore della nuvola) e quindi aggiungere una sorta di funzione (probabilmente polare) basata sulla proiezione perpendicolare da i punti alla linea.
  • Se non si tratta di una serie temporale (implicita dalle frasi "nessuna relazione nota" e "nuvola di punti") è necessario definire quale "curva" si desidera adattare a loro. Vuoi una linea? Una superficie/molteplice? Vuoi che sia una funzione di una o due delle variabili, o indipendente da loro (per esempio, lo scafo convesso). Deve essere liscio, limitato in gradi o ...?

In realtà, la domanda è ancora troppo aperta.

2

A questioni correlate è qui:

Simple multidimensional curve fitting

In generale, si potrebbe vedere un problema come questo da un punto di apprendimento di vista statistico.In altre parole, si dispone di un insieme di funzioni di base (ad es. Spline) parametrizzate in un determinato modo e quindi si utilizzano i minimi quadrati o qualche altra tecnica di regressione per trovare i coefficienti ottimali. Mi capita di come Elements of Statistical Learning

0

Vorrei provare a utilizzare l'euristica della curva di riempimento dello spazio. Ad esempio, ordina i punti in base all'ordine in cui sono visitati da una curva di riempimento dello spazio. Una soluzione al tuo problema sarebbe una curva spline attraverso i punti presi in quell'ordine. Per ottenere una curva più breve e più liscia (ma una maggiore distanza RMS dai punti alla curva), è possibile forzare la spline a passare attraverso ogni punto kth. Potresti migliorare la curva se, dopo aver scelto ogni punto k, hai cercato un percorso Hamiltoniano più corto attraverso di loro (come il problema del venditore ambulante, ma per i percorsi aperti). È anche possibile regolare i nodi della spline per ridurre la distanza RMS. Quando si calcola la distanza RMS, utilizzare l'ordine della curva di riempimento spazio per indicare quale parte della spline dovrebbe essere più vicina a un punto specifico.