Relational Data - Aggregate Functions - Reference - Covarsamp

From FojiSoft Docs
Revision as of 18:43, 28 August 2024 by Chris.Hansen (talk | contribs) (Import ClickHouse Docs: Wed Aug 28 2024 14:43:40 GMT-0400 (Eastern Daylight Time))
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Calculates the value of Σ((x - x̅)(y - y̅)) / (n - 1).

This function uses a numerically unstable algorithm. If you need numerical stability in calculations, use the covarSampStable function. It works slower but provides a lower computational error.


Syntax

covarSamp(x, y)

Arguments

Returned Value

  • The sample covariance between x and y. For n <= 1, nan is returned. Float64.

Example

Query:

DROP TABLE IF EXISTS series;
CREATE TABLE series(i UInt32, x_value Float64, y_value Float64) ENGINE = Memory;
INSERT INTO series(i, x_value, y_value) VALUES (1, 5.6,-4.4),(2, -9.6,3),(3, -1.3,-4),(4, 5.3,9.7),(5, 4.4,0.037),(6, -8.6,-7.8),(7, 5.1,9.3),(8, 7.9,-3.6),(9, -8.2,0.62),(10, -3,7.3);
SELECT covarSamp(x_value, y_value)
FROM
(
    SELECT
        x_value,
        y_value
    FROM series
);

Result:

┌─covarSamp(x_value, y_value)─┐
│           7.206275555555556 │
└─────────────────────────────┘

Query:

SELECT covarSamp(x_value, y_value)
FROM
(
    SELECT
        x_value,
        y_value
    FROM series LIMIT 1
);

Result:

┌─covarSamp(x_value, y_value)─┐
│                         nan │
└─────────────────────────────┘