1.1.6. patsy.cr¶
-
patsy.
cr
(x, df=None, knots=None, lower_bound=None, upper_bound=None, constraints=None)¶ Generates a natural cubic spline basis for
x
(with the option of absorbing centering or more general parameters constraints), allowing non-linear fits. The usual usage is something like:y ~ 1 + cr(x, df=5, constraints='center')
to fit
y
as a smooth function ofx
, with 5 degrees of freedom given to the smooth, and centering constraint absorbed in the resulting design matrix. Note that in this example, due to the centering constraint, 6 knots will get computed from the input datax
to achieve 5 degrees of freedom.Note
This function reproduce the cubic regression splines ‘cr’ and ‘cs’ as implemented in the R package ‘mgcv’ (GAM modelling).
Parameters: - df – The number of degrees of freedom to use for this spline. The
return value will have this many columns. You must specify at least one
of
df
andknots
. - knots – The interior knots to use for the spline. If unspecified, then
equally spaced quantiles of the input data are used. You must specify at
least one of
df
andknots
. - lower_bound – The lower exterior knot location.
- upper_bound – The upper exterior knot location.
- constraints – Either a 2-d array defining general linear constraints
(that is
np.dot(constraints, betas)
is zero, wherebetas
denotes the array of initial parameters, corresponding to the initial unconstrained design matrix), or the string'center'
indicating that we should apply a centering constraint (this constraint will be computed from the input data, remembered and re-used for prediction from the fitted model). The constraints are absorbed in the resulting design matrix which means that the model is actually rewritten in terms of unconstrained parameters. For more details see spline-regression.
This is a stateful transforms (for details see stateful-transforms). If
knots
,lower_bound
, orupper_bound
are not specified, they will be calculated from the data and then the chosen values will be remembered and re-used for prediction from the fitted model.Using this function requires scipy be installed.
New in version 0.3.0.
- df – The number of degrees of freedom to use for this spline. The
return value will have this many columns. You must specify at least one
of