docs-v2/content/flux/v0/stdlib/contrib/anaisdg/statsmodels/linearregression.md

2.4 KiB

title description menu weight
statsmodels.linearRegression() function `statsmodels.linearRegression()` performs a linear regression.
flux_v0_ref
name parent identifier
statsmodels.linearRegression contrib/anaisdg/statsmodels contrib/anaisdg/statsmodels/linearRegression
301

statsmodels.linearRegression() performs a linear regression.

It calculates and returns ŷ (y_hat), and residual sum of errors (rse). Output data includes the following columns:

  • N: Number of points in the calculation.
  • slope: Slope of the calculated regression.
  • sx: Sum of x.
  • sxx: Sum of x squared.
  • sxy: Sum of x*y.
  • sy: Sum of y.
  • errors: Residual sum of squares. Defined by (r.y - r.y_hat) ^ 2 in this context
  • x: An index [1,2,3,4...n], with the assumption that the timestamps are regularly spaced.
  • y: Field value
  • y_hat: Linear regression values
Function type signature
(
    <-tables: stream[A],
) => stream[{
    B with
    y_hat: float,
    y: float,
    x: float,
    sy: H,
    sxy: G,
    sxx: F,
    sx: E,
    slope: D,
    errors: float,
    N: C,
}] where A: Record, D: Divisible + Subtractable

{{% caption %}} For more information, see Function type signatures. {{% /caption %}}

Parameters

tables

Input data. Default is piped-forward data (<-).

Examples

Perform a linear regression on a dataset

import "contrib/anaisdg/statsmodels"
import "sampledata"

sampledata.float()
    |> statsmodels.linearRegression()