Returns a function that computes the polynomial regression for a single time series.
Polynomial regression finds parameters of the best-fit polynomial curve of a specified degree over the points of
the input time series. The polynomial is expressed as y = a0 + a1*x + a2*x^2 + ... + an*x^n
, where the
coefficients a0, a1, ..., an
are determined by the regression.
Polynomial regression is useful when the relationship between the variables is more complex than a simple linear relationship.
FunctionNode
) -> SummarizerNode
Column name | Type | Description |
---|---|---|
max_bounds.first_value | float | Maximum value of the first coefficient (a0). |
max_bounds.second_value | float | Maximum value of the second coefficient (a1). |
min_bounds.first_value | float | Minimum value of the first coefficient (a0). |
min_bounds.second_value | float | Minimum value of the second coefficient (a1). |
regression_fit_function. polynomial_regression_fit. coefficients.coefficient | float | Coefficient value of the polynomial regression fit. |
regression_fit_function. polynomial_regression_fit. coefficients.degree | int | Degree of the polynomial corresponding to each coefficient. |
This function is only applicable to numeric series.
Copied!1 2 3 4 5 6 7 8 9 10
>>> series = F.points( ... (10, 6.0), (20, 12.0), (30, 24.0), (40, 48.0), (50, 96.0), name="series" ... ) >>> series.to_pandas() timestamp value 0 1970-01-01 00:00:00.000000010 6.0 1 1970-01-01 00:00:00.000000020 12.0 2 1970-01-01 00:00:00.000000030 24.0 3 1970-01-01 00:00:00.000000040 48.0 4 1970-01-01 00:00:00.000000050 96.0
Copied!1 2 3 4 5 6 7
>>> poly_regr = F.polynomial_regression(3)(series) >>> poly_regr.to_pandas() max_bounds.first_value max_bounds.second_value min_bounds.first_value min_bounds.second_value regression_fit_function.polynomial_regression_fit.coefficients.coefficient regression_fit_function.polynomial_regression_fit.coefficients.degree 0 50.0 96.0 10.0 6.0 -4.800000 0 1 50.0 96.0 10.0 6.0 1.585714 1 2 50.0 96.0 10.0 6.0 -0.066429 2 3 50.0 96.0 10.0 6.0 0.001500 3