<div dir="ltr">Are there other techniques of fitting splines (perhaps using scipy.optimize ?) where I can impose boundary conditions myself, even outside of the options provided in scipy.interpolate?</div><div class="gmail_extra"><br><div class="gmail_quote">On Sun, May 7, 2017 at 2:02 PM,  <span dir="ltr"><<a href="mailto:josef.pktd@gmail.com" target="_blank">josef.pktd@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote"><div><div class="h5">On Sun, May 7, 2017 at 2:45 PM, Jared Vacanti <span dir="ltr"><<a href="mailto:jaredvacanti@gmail.com" target="_blank">jaredvacanti@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">I am trying to fit a polynomial to observational data with shape restrictions - in this particular case monotonicity (decreasing) of the function and an always positive second derivative.<br><br>Some of the interpolation classes have a mathematical "built-in" restriction - like scipy.interpolate.Rbf's thin-plate roughness penalty imposes some restrictions, but it's not explicit or adjustable.<div><br></div><div>What are my options for imposing boundary conditions or shape restrictions on the spline? </div><div><br></div><div>I have sample data here: </div><div><br></div><div><div>import pandas as pd</div><div>df = pd.read_csv("<a href="https://bpaste.net/raw/3e20878b5237" target="_blank">https://bpaste.ne<wbr>t/raw/3e20878b5237</a>")</div></div><div><br></div><div>or available independently at <a href="https://bpaste.net/raw/3e20878b5237" target="_blank">https://bpaste.net/raw/3e20878<wbr>b5237</a></div><div><br></div><div>I have tried using a interior point convex optimization solver, but the results seem to be numerically finicky. Are there other alternatives? </div></div></blockquote><div><br></div></div></div><div>As far as I know, pchip is the only one with monotonicity constraints  <a href="https://docs.scipy.org/doc/scipy/reference/generated/scipy.interpolate.pchip_interpolate.html" target="_blank">https://docs.scipy.org/doc/<wbr>scipy/reference/generated/<wbr>scipy.interpolate.pchip_<wbr>interpolate.html</a></div><div><br></div><div>Josef</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>______________________________<wbr>_________________<br>
SciPy-User mailing list<br>
<a href="mailto:SciPy-User@python.org" target="_blank">SciPy-User@python.org</a><br>
<a href="https://mail.python.org/mailman/listinfo/scipy-user" rel="noreferrer" target="_blank">https://mail.python.org/mailma<wbr>n/listinfo/scipy-user</a><br>
<br></blockquote></div><br></div></div>
<br>______________________________<wbr>_________________<br>
SciPy-User mailing list<br>
<a href="mailto:SciPy-User@python.org">SciPy-User@python.org</a><br>
<a href="https://mail.python.org/mailman/listinfo/scipy-user" rel="noreferrer" target="_blank">https://mail.python.org/<wbr>mailman/listinfo/scipy-user</a><br>
<br></blockquote></div><br></div>