Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

covarSampStable

covarSampStable

引入版本:v1.1.0

计算样本协方差:

\frac{\Sigma{(x - \bar{x})(y - \bar{y})}}{n - 1}

该函数与 covarSamp 类似,但采用数值稳定算法。 因此,covarSampStable 的速度比 covarSamp 慢,但计算误差更小。

语法

covarSampStable(x, y)

参数

返回值

返回 xy 之间的样本协方差。当 n <= 1 时,返回 infFloat64

示例

使用稳定算法计算样本协方差

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 covarSampStable(x_value, y_value)
FROM
(
    SELECT
        x_value,
        y_value
    FROM series
);
┌─covarSampStable(x_value, y_value)─┐
│                 7.206275555555556 │
└───────────────────────────────────┘

单个值时返回 inf

SELECT covarSampStable(x_value, y_value)
FROM
(
    SELECT
        x_value,
        y_value
    FROM series LIMIT 1
);
┌─covarSampStable(x_value, y_value)─┐
│                               inf │
└───────────────────────────────────┘
Navigation