[SciPy-User] an exercise in spline basis functions

Jonathan Stickel jjstickel at vcn.com
Fri Dec 16 09:50:04 EST 2011


On 12/14/11 13:48 , josef.pktd at gmail.com wrote:
> On Wed, Dec 14, 2011 at 10:08 AM, Jonathan Stickel<jjstickel at vcn.com>  wrote:
>> On 12/14/11 07:28 , scipy-user-request at scipy.org wrote:
>>>
>>> one more prototype that I haven't seen yet:
>>>
>>> using scipy.interpolate and find smoothing parameter s that minimizes
>>> Bayesian Information Criterium, BIC
>>>
>>>
>>> https://picasaweb.google.com/106983885143680349926/Joepy#5685704025775485730
>>
>>
>> FYI, I have a regularization based smoothing method in scikits that can
>> "automatically" determine the smoothing parameter by generalized cross
>> validation.  I am not a statistician, but I think this is analogous to the
>> spline smoothing example that you show.
>>
>> I'd like to see my code incorporated into a larger package (e.g.
>> scipy.interpolate or scikits.statsmodels), but I haven't received definitive
>> feedback about this when I have asked in the past.
>
> A scipy.smooth package would be a good addition (as we discussed
> before) but someone would have to push for it.
>
> Similar for statsmodels, smoothers would be a good addition, but it's
> lacking a "champion". Your smoothing package would make a good
> addition (especially if cvxopt can be replaced with fmin_slsqp for
> example).
>
> I'm not a smoother person, but I bump into it every once in a while,
> Chris added lowess to statsmodels, Ralf is working on functional
> boxplots that sometimes require pre-smoothing, and we have various
> non-parametric pieces, so I'm working my way *slowly* to add smoothers
> (and polynomial fitting).
>
> Josef
> https://picasaweb.google.com/106983885143680349926/Joepy#5686027329247551410
>

Thank you for your response.  I'll try to find a little time to play 
with statsmodels to get a fell for how scikits.datasmooth would fit in 
there.

Do you have code posted somewhere for all the examples you have shown in 
this thread?

By the way, cvxopt is only needed for solving the quadratic program (QP) 
that arises when smoothing is used with constraints.  Smoothing without 
constraints is still available if cvxopt is not installed.  Per your 
suggestion, I tried yesterday to re-implement using fmin_slsqp, but I 
couldn't get it to work.  It seems fmin_slsqp requires the same 
arguments to be passed to the constraint functions as the objective 
function, which is quite limiting.  Since smoothing with constraints can 
be reduced specifically to a QP, a QP solver would be most efficient 
anyway.  It seems strange that QP (and LP) solvers are not available in 
core scipy.

Regards,
Jonathan



More information about the SciPy-User mailing list