Si suponemos que nuestros puntos de datos fueron muestreados de la superficie de una esfera (con alguna perturbación), ¿cómo podemos recuperar el centro de esa esfera?
En mi búsqueda, encontré documentos sobre algo llamado "regresión esférica", pero no me pareció que hiciera lo mismo. Tal vez no lo entendí.
¿Existe una fórmula directa, similar a la de la regresión lineal, que encuentre un punto central y un radio de la esfera que minimicen la distancia de la suma cuadrada de un conjunto de puntos de datos a la superficie de la esfera?
Editar 1:
Podemos suponer que el ruido será 2 o 3 órdenes de magnitud menor que el radio de la esfera y uniformemente esférico gaussiano. Sin embargo, las muestras no se extraerán de manera uniforme de la superficie de la esfera, sino que se agruparán en algunas zonas de la superficie, probablemente en un hemisferio. Una solución que funciona para los datos en $\mathbb R^3$ está bien, pero una solución general para una dimensionalidad arbitraria también es genial.
Editar 2:
¿Qué posibilidades tengo de obtener una respuesta sensata si utilizo la regresión lineal? $y = X\beta + \epsilon$ en el espacio de 7 dimensiones pretendiendo que los componentes al cuadrado sean independientes de los otros parámetros:
$\begin{align} X &= \begin{array}{ccccccc}[-2x& -2y&-2z&1&1&1&-1]\end{array}\\ \beta &= \begin{array}{ccccccc}[x_0 & y_0 & z_0 & x_0^2 & y_0^2 & z_0^2 & r^2]'\end{array}\\ y &= x^2+y^2+z^2\end{align}$
En el mejor de los casos, supongo que mi métrica de errores será un poco disparatada. En el peor de los casos, la solución no será ni de lejos consistente.
...o eso es una tontería porque con cuatro columnas idénticas, obtenemos una matriz singular cuando intentamos hacer la regresión.
Edita 3:
Así que parece que estas son mis opciones:
- Optimización numérica no lineal utilizando alguna función de coste: $f(x_0,y_0,z_0,r|X) = \frac{1}{2}\sum_{i=1}^n \left(r - \sqrt{(x_i-x_0)^2+(y_i-y_0)^2+(z_i-z_0)^2}\right)^2$
- Transformación de Hough: discretizar el espacio plausible o los posibles centros y radios alrededor de los puntos de datos. Cada punto emite un voto para los posibles centros de los que podría formar parte en cada discretización de radio específica. El mayor número de votos gana. Esto podría estar bien si hubiera un número potencialmente desconocido de esferas, pero con sólo una es una solución desordenada.
- Seleccione al azar (o sistemáticamente) grupos de 4 puntos y calcular analíticamente el centro . Rechazar el muestreo si está mal condicionado (los puntos son casi coplanares). Rechazar los valores atípicos y encontrar el centro medio. A partir de ahí podemos encontrar el radio medio.
¿Alguien tiene un método mejor?
1 votos
Fíjate en que las dos formas de tu pregunta no son equivalentes: no es necesariamente el caso de minimizar la suma de cuadrados de las distancias a la superficie lo que da las mejores estimaciones, a menos que se haga una fuerte suposición sobre la naturaleza de las perturbaciones. Por lo tanto, sería útil saber más sobre cómo se producen las perturbaciones (y lo grandes que pueden ser en comparación con el tamaño de la esfera). Además: ¿en cuántas dimensiones está tu esfera?
0 votos
@whuber Mi intención era definir el mejor ajuste como el que minimiza la distancia suma-cuadrado de los datos al punto más cercano de la superficie de la esfera. No pensé mucho en las suposiciones que eso conlleva. Espero que los errores sean proporcionalmente pequeños; así que quizás la métrica exacta no importe demasiado, aunque me gustaría saber qué es lo que minimiza la función. He añadido más información sobre el ruido a la pregunta.
0 votos
@Max lo he visto. Pero es un sitio para un producto comercial de caja negra. Es la fórmula real que me interesaba. Empieza a parecer que no hay una solución de forma cerrada y tendré que usar un enfoque numérico en su lugar (que es lo que supongo que el software nlReg también está haciendo).
0 votos
parece que esto podría ser un problema de minimización directo con una función objetivo no lineal (la que mencionaste arriba). si se supone que los errores son gaussianos, sólo necesitas calcular los parámetros de distribución de los errores una vez que hayas encontrado el centro de la esfera minimizando la función objetivo. edit: dejé la página abierta demasiado tiempo y no vi tu comentario. tenemos la misma idea.
0 votos
Buena pregunta. ¿Podemos hacernos una idea del tipo de datos que la motivaron?
2 votos
re Edición 3: Dado $(x_0, y_0, z_0)$ , $r$ es fácil de encontrar. Para obtener $(x_0, y_0, z_0)$ el método de Newton debería converger rápidamente a partir de algún valor inicial razonable obtenido como en (3).
0 votos
@Elvis Por el momento, estoy buscando el problema de estimar la articulación relativa de dos cuerpos rígidos conectados para los que tengo (a través de la captura de movimiento) trayectorias de puntos rastreados. Si tienes tres o más puntos en un cuerpo (como la parte superior del brazo) y un punto en el otro (en la muñeca, tal vez) y quieres estimar dónde está una sola articulación (el codo), en relación con el primer cuerpo, esto parecía una aproximación útil. Pensé que habría una fórmula muy similar a la regresión lineal que estimaría rápidamente el valor deseado.