Thank you for attention, my question is: I try to estimate a general, non-specified conic, with a type-estimation from a noisy data. I generate a data, points, which lay on the conic, by using parametrization. Then I perturb the generated data by adding gaussian noise. And then try to use different curve fitting algorithms. One of the methods I use is DLT: I generate 5(or more) points, and to estimate the algebraic parameters (A,B,C,D,E,F).
$Q(x,y)=Ax^2+Bxy+Cy^2+Dx+Ey+F=0$
DLT direct method: $\begin{bmatrix} x_1^2 & x_1y_1 & y_1^2 & x_1 & y_1 & 1\\ x_2^2 & x_2y_2 & y_2^2 & x_2 & y_2 & 1\\ x_3^2 & x_3y_3 & y_3^2 & x_3 & y_3 & 1\\ x_4^2 & x_4y_4 & y_4^2 & x_4 & y_4 & 1\\ x_5^2 & x_5y_5 & y_5^2 & x_5 & y_5 & 1\\ \end{bmatrix} \begin{bmatrix} A\\ B\\ C\\ D\\ E\\ F\\ \end{bmatrix} = 0$
(before forming the data matrix I do preconditioning necessary for DLT) and so the solution is the smallest singular vector of the data matrix.
But my problem is, I don't want to lose the generality, I want that my program determines the type of conic. And it does, if there is no noise perturbation applied to points:

But when I add the noise to initially parabolic data, I NEVER get a parabola (though in most of the cases if I generate noisy hyperbolic (ellipse) data I get the hyperbola (ellipse) fitted correctly.
This happens in 100% of the cases, I ran the simulation. My question is, why does this happen and if I can somehow improve my program but without telling it in advance which conic I want to fit, not introducing constraints like $AC-B^2/4=0$


