Consider an $N$ dimensional time series $x_i(t),~i\in\{0,1,\cdots, N-1\}$ where $x_i(t)$ is smooth. It turns out that for all $t$: $x_i(t)>x_{i-1}(t)$.

The multi-dimensional series is sampled at some uniform sample interval $T_s$ yielding a set of $N$ sequences $x_i[k]=x_i(t=kT_s)$. Given these sequences, I would like to construct an interpolator to provide approximations to the sequences at arbitary times between the sampling instances. The approximations need to respect that same inequality constraint exhibited by the original $N$-dimensional series.

In the absence of the constraint, scipy.interpolate.UnivariateSpline does an acceptable job. What sort of approach might be appropriate for the constrained case?


1 Answer 1


Piecewise Cubic Hermite Interpolating Polynomial (PCHIP) may work well here. It guarantees that the interpolated points are within the boundaries of the supporting points, i.e. it doesn't swing over or under or

$$x[k] \le x[k+\delta] \le x[k+1], 0 \le\delta \le 1 $$

That will increase the likelihood that the interpolation remains monotonic across dimension.

See for example https://www.mathworks.com/help/matlab/ref/pchip.html

  • $\begingroup$ It could help. To be clear, the constraint that you've written for PCHIP does not guarantee that the constraint of the original problem will be satisfied, right? $\endgroup$
    – rhz
    Commented Jul 26, 2021 at 16:05
  • $\begingroup$ I don't think it guarantees it, but I think you have to work hard to find a example where it violates it. So for somewhat reasonable date, this should work fine. $\endgroup$
    – Hilmar
    Commented Jul 27, 2021 at 12:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.