バックフィッティングアルゴリズム
どの f j {\displaystyle f_{j}} にも定数を加えることができ、 α {\displaystyle \alpha } からこの値が引かれるので、 α {\displaystyle \alpha } は不定である。 α = 1 / N ∑ i = 1 N y i {\displaystyle \alpha =1/N\sum _{i=1}^{N}y_{i}} とし、すべての j {\displaystyle j} に対して ∑ i = 1 N f j ( X i j ) = 0 {\displaystyle \sum _{i=1}^{N}f_{j}(X_{ij})=0} という制約により修正するのが一般的である。 バックフィッティングアルゴリズムは、以下のようになる。
ここで、 Smooth {\displaystyle {\text{Smooth}}} はスムージング演算子(smoothing operator)である。典型的には3次スプラインスムーザー(cubic spline smoother)が選択されるが、他の適切なフィッティング演算子(fitting operator)を選んでも良い。たとえば、次のようなものがある。
局所多項式回帰
カーネル平滑化
より複雑な演算子、たとえば二次あるいはより高次の表面平滑化(surface smoothers)
理論上は、アルゴリズムのステップ(b)は、関数の推定値は和がゼロであるという制約があるので、不要である。しかし、数値的な問題により実践上はこれが問題となりうる。