zuko.flows.polynomial#

Polynomial flows.

Classes#

SOSPF

Creates a sum-of-squares polynomial flow (SOSPF).

BPF

Creates a Bernstein polynomial flow (BPF).

Descriptions#

class zuko.flows.polynomial.SOSPF(features, context=0, degree=4, polynomials=3, **kwargs)#

Creates a sum-of-squares polynomial flow (SOSPF).

Warning

Invertibility is only guaranteed for features within the interval \([-10, 10]\). It is recommended to standardize features (zero mean, unit variance) before training.

References

Sum-of-Squares Polynomial Flow (Jaini et al., 2019)
Parameters:
  • features (int) – The number of features.

  • context (int) – The number of context features.

  • degree (int) – The degree \(L\) of polynomials.

  • polynomials (int) – The number of polynomials \(K\).

  • kwargs – Keyword arguments passed to zuko.flows.autoregressive.MAF.

class zuko.flows.polynomial.BPF(features, context=0, degree=16, linear=False, **kwargs)#

Creates a Bernstein polynomial flow (BPF).

Warning

Invertibility is only guaranteed for features within the interval \([-10, 10]\). It is recommended to standardize features (zero mean, unit variance) before training.

References

Short-Term Density Forecasting of Low-Voltage Load using Bernstein-Polynomial Normalizing Flows (Arpogaus et al., 2022)
Parameters:
  • features (int) – The number of features.

  • context (int) – The number of context features.

  • degree (int) – The degree \(M\) of the Bernstein polynomial.

  • linear (bool) – Whether to use a linear or sigmoid mapping to \([0, 1]\).

  • kwargs – Keyword arguments passed to zuko.flows.autoregressive.MAF.