docs-v2/content/flux/v0.x/stdlib/universe/cov.md

2.8 KiB

title description aliases menu weight flux/v0.x/tags introduced
cov() function The `cov()` function computes the covariance between two streams by first joining the streams, then performing the covariance operation.
/influxdb/v2.0/reference/flux/functions/transformations/aggregates/cov
/influxdb/v2.0/reference/flux/functions/built-in/transformations/aggregates/cov/
/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/aggregates/cov/
/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/cov/
/influxdb/cloud/reference/flux/stdlib/built-in/transformations/cov/
flux_0_x_ref
name parent
cov universe
102
transformations
0.7.0

The cov() function computes the covariance between two streams by first joining the streams, then performing the covariance operation.

cov(x: stream1, y: stream2, on: ["_time", "_field"], pearsonr: false)

Parameters

x

({{< req >}}) First input stream used to calculate the covariance. Values in the _value columns must be float values.

y

({{< req >}}) Second input stream used to calculate the covariance. Values in the _value columns must be float values.

on

({{< req >}}) List of columns to join on.

pearsonr

Normalize results to the Pearson R coefficient. Default is false.

Examples

The following example uses generate.from() to generate sample data and show how cov() transforms data.

import "generate"

stream1 = generate.from(
    count: 5,
    fn: (n) => n * n,
    start: 2021-01-01T00:00:00Z,
    stop: 2021-01-01T00:01:00Z,
)
    |> toFloat()

stream2 = generate.from(
    count: 5,
    fn: (n) => n * n * n / 2,
    start: 2021-01-01T00:00:00Z,
    stop: 2021-01-01T00:01:00Z,
)
    |> toFloat()

cov(x: stream1, y: stream2, on: ["_time"])

{{< expand-wrapper >}} {{% expand "View input and output" %}}

Input data

{{< flex >}} {{% flex-content %}}

stream1
_time _value
2021-01-01T00:00:00Z 0.0
2021-01-01T00:00:12Z 1.0
2021-01-01T00:00:24Z 4.0
2021-01-01T00:00:36Z 9.0
2021-01-01T00:00:48Z 16.0
{{% /flex-content %}}
{{% flex-content %}}
stream2
_time _value
2021-01-01T00:00:00Z 0.0
2021-01-01T00:00:12Z 0.0
2021-01-01T00:00:24Z 4.0
2021-01-01T00:00:36Z 13.0
2021-01-01T00:00:48Z 32.0
{{% /flex-content %}}
{{< /flex >}}

Output data

_value
87.75

{{% /expand %}} {{< /expand-wrapper >}}