Monday, 12 October 2009

polynomials - Constraining a least squares minimization to fit a single root?

I finally have an example ready...



So we have an image of a sphere, and we take data points on it.



alt text



Since this is a sphere it is reasonable to assume that we can fit a sphere to this part of the image. Here are the reults:



alt text



Blue is low error, we can see that most points fit well, the other are the `parasitic' roots, interpolations look as follows:



alt textalt text



The correct root fits the image well, the other root is just getting in the way (at the moment) but here is the fitted function:



alt text



Now this is a nice result since the 'edge' of the fitted sphere corresponds to the edge of the sphere in the image. Something I imagine the suggested rational fitting can't do any why I WANT several roots in the solution, but I only want to fit one to the data!!



So whats the problem, well, this is a nice result but a 3rd order polynomial might fit it better (the data is technically not a simple sphere), or i might have other data that would need even higher order fitting (toruses for exmaple are 4th order). So I fit a 3rd order poly and here is the resulting function:
alt text



Not nice, the roots are all over each other, fighting against each other to fit the data.



Now I want the re-iterate my question. One can always solve for z and fit a single root to the data using non-linear regression, but my feeling is that we should be able to do the same using constrained linear fitting. And HOW is my question! Here is an example that constraining the fit does at least help. Here the $z$ and $z^2$ parameters are fixed to $1$: Fitting the same 3rd order poly to the same data:
alt text



A much friendlier 3rd order poly, but this restriction is too much it turns out, and i have lost the nice results.



So the question in terms of my original example:



How can I linearise the following minimization problem without reintroducing multiple roots?



$min_c sum_{i=0}^n (y_i - sqrt{-c-x_i^2})^2$



and then we can see if this can be done in general to all implicit polys....



Thanks.

No comments:

Post a Comment