

要获得与亚马逊 Timestream 类似的功能 LiveAnalytics，可以考虑适用于 InfluxDB 的亚马逊 Timestream。适用于 InfluxDB 的 Amazon Timestream 提供简化的数据摄取和个位数毫秒级的查询响应时间，以实现实时分析。点击[此处](https://docs.aws.amazon.com//timestream/latest/developerguide/timestream-for-influxdb.html)了解更多信息。

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 相关性函数
<a name="timeseries-specific-constructs.functions.correlation"></a>

对于两个长度相近的时间序列，相关性函数可提供相关系数，该系数揭示两个时间序列随时间推移的趋势关系。相关系数的范围为 `-1.0` 到 `1.0`。`-1.0` 表示两个时间序列以相同速率呈相反方向变化。而 `1.0` 则表示两个时间序列以相同速率呈相同方向变化。值为 `0` 两个时间序列之间不存在相关性。例如，如果油价上涨，某石油公司的股价随之上涨，则油价上涨趋势与该石油公司股价上涨趋势之间将呈现正相关系数。高正相关系数表明两种价格以相似的速率变化。同样，债券价格与债券收益率之间的相关系数为负值，表明这两个值随时间推移呈现相反的趋势。

Amazon Timestream 支持两种相关性函数的变体。本节提供 LiveAnalytics 关联函数的时间流的用法信息以及示例查询。



## 使用情况信息
<a name="w2aab7c59c13c13c19c11"></a>


| 函数 | 输出数据类型 | 说明 | 
| --- | --- | --- | 
|  `correlate_pearson(timeseries, timeseries)`  |  double  |  计算两个 `timeseries` 的[皮尔逊相关系数](https://wikipedia.org/wiki/Pearson_correlation_coefficient)。时间序列必须具有相同的时间戳。  | 
|  `correlate_spearman(timeseries, timeseries)`  |  double  |  计算两个 `timeseries` 的[斯皮尔曼相关系数](https://en.wikipedia.org/wiki/Spearman%27s_rank_correlation_coefficient)。时间序列必须具有相同的时间戳。  | 

## 查询示例
<a name="w2aab7c59c13c13c19c13"></a>

**Example**  

```
WITH cte_1 AS (
    SELECT INTERPOLATE_LINEAR(
        CREATE_TIME_SERIES(time, measure_value::double), 
        SEQUENCE(min(time), max(time), 10m)) AS result 
    FROM sample.DevOps 
    WHERE measure_name = 'cpu_utilization' 
    AND hostname = 'host-Hovjv' AND time > ago(1h) 
    GROUP BY hostname, measure_name
), 
cte_2 AS (
    SELECT INTERPOLATE_LINEAR(
        CREATE_TIME_SERIES(time, measure_value::double), 
        SEQUENCE(min(time), max(time), 10m)) AS result 
    FROM sample.DevOps 
    WHERE measure_name = 'cpu_utilization' 
    AND hostname = 'host-Hovjv' AND time > ago(1h) 
    GROUP BY hostname, measure_name
) 
SELECT correlate_pearson(cte_1.result, cte_2.result) AS result 
FROM cte_1, cte_2
```