Creo que el problema no es, precisamente, declaró: su claro lo de "minimizar el grado del polinomio, mientras se ajusta bastante bien a los datos" significa (lo que es "bastante bien?").
De todos modos, fijo de grado, esto puede ser formulado como un semidefinite programa que puede ser resuelto aproximadamente en el polinomio de tiempo; hay un montón de programas por ahí que puede resolver semidefinite programas de manera muy eficiente, por ejemplo, sedumi.
En efecto, supongamos que los puntos de datos se $(x_1,y_1), (x_2,y_2), \ldots, (x_n,y_n)$. Deje $y$ ser el vector que acumula el $y_i$ y deje $V$ ser la matriz de Vandermonde $$V = \begin{pmatrix} 1 & x_1 & x_1^2 & \cdots& x_1^n \\ 1 & x_2 & x_2^2 & \cdots & x_2^n \\
\vdots & \vdots & \vdots & & \vdots \\
1 & x_n & x_n^2 & \cdots & x_n^n \end{pmatrix}$$ Then, you'd like the minimize $||y-Vp||_2^2$ subject to the constraint that the entries of the vector $p$, which we will call $p_i$, correspond to a monotonic polynomial on your domain $[a,b]$, or, in other words, $p'(x) \geq 0$ on $[a,b]$:
$$ p_1 + 2p_1 x + 3 p_2^2 + \cdots n p_n x^{n-1} \geq 0 ~~~ \mbox{ for all } x \in [a,b].$$
Esta última restricción puede ser escrito como una semidefinite programa,como se indica en estas notas de la conferencia. Voy a describir brevemente la idea.
Un polinomio univariado que es no negativa tiene una representación como una suma de los cuadrados de polinomios. En particular, si $p'(x) \geq 0$$[a,b]$, y su grado $d$ es, a decir, incluso, puede ser escrito como $$p'(x) = s(x) + (x-a)(b-x) t(x),~~~~~~~~(1)$$ where $s(x), t(x)$ are sums of squares of polynomials (this is Theorem 6 in the above-linked lecture notes; a similar formula is available for odd degree). The condition that a polynomial $s(x)$ is a sum of squares is equivalent to saying there is a nonnegative definite matrix $Q$ such that $$ s(x) = \begin{pmatrix} 1 & x & \cdots x^{d/2} \end{pmatrix} Q \begin{pmatrix} 1 \\ x \\ x^2 \\ \vdots \\ x^{d/2} \end{pmatrix}.$$ Este es el Lema 3 en las mismas notas de la conferencia.
Poniendo todo junto, lo que nos optimizar son las entradas de las matrices de $Q_1,Q_2$ que hacen los polinomios $s(x)=x^T Q_1 x,t(x)=x^T Q_2 x$ sumas de cuadrados, lo que significa que la imposición de las restricciones de $Q_1 \geq 0, Q_2 \geq 0$. A Continuación, Eq. (1) es lineal y restricción en las entradas de las matrices de $Q_1,Q_2$. Esto le da a usted tiene un semidefinite programa puede ingresar a su SDP solver.