  In this paper, we present a nonlinear least-squares fitting algorithm using
B-splines with free knots. Since its performance strongly depends on the
initial estimation of the free parameters (i.e. the knots), we also propose a
fast and efficient knot-prediction algorithm that utilizes numerical properties
of first-order B-splines. Using $\ell_p\;(p=1,2,\infty)$ norm solutions, we
also provide three different strategies for properly selecting the free knots.
Our initial predictions are then iteratively refined by means of a
gradient-based variable projection optimization. Our method is general in
nature and can be used to estimate the optimal number of knots in cases in
which no a-priori information is available. To evaluate the performance of our
method, we approximated a one-dimensional discrete time series and conducted an
extensive comparative study using both synthetic and real-world data. We chose
the problem of electrocardiogram (ECG) signal compression as a real-world case
study. Our experiments on the well-known PhysioNet MIT-BIH Arrhythmia database
show that the proposed method outperforms other knot-prediction techniques in
terms of accuracy while requiring much lower computational complexity.
