Pregunta

He pasado una buena cantidad de tiempo tratando de cazar a una forma sencilla de hacer esto - idealmente, existe una biblioteca mágica por ahí en alguna parte que va a llevar a mi conjunto de puntos de datos 3D y devolver 2 puntos en la línea de mejor ajuste usando regresión ya sea ortogonal o de mínimos cuadrados y también devolver el error de la línea ajustada. Hace tal cosa existe, y si es así, ¿dónde?

¿Fue útil?

Solución

Esto es bastante fácil de hacer, pero para escribir usted mismo, necesitará un solucionador de valor propio o una descomposición en valores singulares. Crear la matriz nx3 A, de su (x-xbar, y-Ybar, z-Zbar) de datos como columnas. Guardar los medios de columna para más tarde, lo llamaré V0 = [Xbar, Ybar, Zbar].

Ahora, calcular los valores propios y los vectores propios de A '* A, es decir, la matriz de 3x3 formado a partir de A transpuesta multiplica por A.

Si estos datos se encuentra en una línea en R ^ 3, a continuación, uno de esos valores propios serán significativamente más grande que los otros dos valores propios. Si esto no es cierto, entonces la línea de regresión ortogonal no se calcula bien.

Tome el vector propio que se asocia con el mayor valor propio de A '* A. Entonces, si V es el vector propio correspondiente, la línea de regresión ortogonal se define como

V (t) = V0 + t * V

Cualquier punto en que la línea puede ser dada por un valor del parámetro t.

Alternativamente, calcular la descomposición de valor singular de A, y tomar el vector singular derecho que corresponde al mayor valor singular de A.

En cualquier caso, si desea calcular los errores de los puntos de datos, esto se define simplemente como la distancia ortogonal a la línea en cuestión.

Otros consejos

Google de "biblioteca de mínimos cuadrados de regresión lineal java" y usted debe encontrar algunas opciones. Una de ellas es Drej . No he utilizado yo mismo, sin embargo.

Editar - No estoy seguro de que esta respuesta a la pregunta -. No sé si se admite datos 3D

Es bastante fácil hacerlo si se conoce el truco: http: / /www.scribd.com/doc/21983425/Least-Squares-Fit

Más medios dimensiones más coeficientes, pero son lo suficientemente fácil de añadir. Las ideas son todos iguales.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top