# Basis Functions

Basis functions control how smooth terms behave in your GAM models -- different basis types are suitable for different kinds of data and modeling requirements:

<!-- TODO: Inspection creates strange attribute docs, but cannot disable force_inspection locally -->
<!-- Hence, we manually specify mebers   -->

::: pymgcv.basis_functions.ThinPlateSpline
    options:
      members: __init__
::: pymgcv.basis_functions.CubicSpline
    options:
      members: __init__
::: pymgcv.basis_functions.BSpline
    options:
      members: __init__
::: pymgcv.basis_functions.PSpline
    options:
      members: __init__
::: pymgcv.basis_functions.DuchonSpline
    options:
      members: __init__
::: pymgcv.basis_functions.SplineOnSphere
    options:
      members: __init__
::: pymgcv.basis_functions.RandomEffect
    options:
      members: __init__
::: pymgcv.basis_functions.MarkovRandomField
    options:
      members: __init__
::: pymgcv.basis_functions.FactorSmooth
    options:
      members: __init__
::: pymgcv.basis_functions.AbstractBasis
    options:
      members: __str__
