moderndid.prodspline#

moderndid.prodspline(x, K, z=None, indicator=None, xeval=None, zeval=None, knots='quantiles', basis='additive', x_min=None, x_max=None, deriv_index=1, deriv=0)[source]#

Create multivariate spline basis with B-spline components.

Constructs additive, tensor product, or generalized linear product (GLP) basis functions for multivariate continuous and discrete predictors.

Parameters:
xnumpy.ndarray

Continuous predictor matrix of shape (n, p).

Knumpy.ndarray

Matrix of shape (p, 2) containing spline specifications:

  • Column 0: degree for each continuous variable

  • Column 1: number of segments - 1 for each variable

znumpy.ndarray, optional

Discrete predictor matrix of shape (n, q).

indicatornumpy.ndarray, optional

Indicator vector of length q for discrete variables (1 to include).

xevalnumpy.ndarray, optional

Evaluation points for continuous variables. If None, uses x.

zevalnumpy.ndarray, optional

Evaluation points for discrete variables. If None, uses z.

knots{“quantiles”, “uniform”}, default=”quantiles”

Method for knot placement: - “quantiles”: Knots at data quantiles - “uniform”: Uniformly spaced knots

basis{“additive”, “tensor”, “glp”}, default=”additive”

Type of basis construction:

  • “additive”: Sum of univariate bases

  • “tensor”: Full tensor product of all bases

  • “glp”: Generalized linear product (hierarchical interactions)

x_minnumpy.ndarray, optional

Minimum values for each continuous variable.

x_maxnumpy.ndarray, optional

Maximum values for each continuous variable.

deriv_indexint, default=1

Index (1-based) of variable for derivative computation.

derivint, default=0

Order of derivative to compute.

Returns:
MultivariateBasis

NamedTuple containing:

  • basis: Complete basis matrix

  • dim_no_tensor: Number of columns before tensor product

  • degree_matrix: Copy of K matrix

  • n_segments: Number of segments for each variable

  • basis_type: Type of basis used

References

[1]

Wood, S. N. (2017). Generalized Additive Models: An Introduction with R. Chapman and Hall/CRC.