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?


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
    Jul 26 '21 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
    Jul 27 '21 at 12:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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