【问题标题】:Methods for determining temporal covariance among many time series?确定许多时间序列之间时间协方差的方法?
【发布时间】:2018-10-12 20:54:44
【问题描述】:

我们正在尝试量化数百个地点之间水化学变化的同步性。对于每个站点,我们都有一个时间序列的浓度。

我们想量化站点之间的总体时间协方差(浓度同时上升和下降),并且对不同的统计方法感兴趣。

不同的化学参数具有非常不同的绝对浓度(例如,碳为 1-100 ppm,磷为 0.001 至 1 ppm),因此需要一个相对度量。 We have done this previously 具有成对标度协方差的平均值,但肯定有更优雅的方法。

我们很乐意使用 R、Pyton 或 Matlab。谢谢!

【问题讨论】:

    标签: python r matlab time-series covariance


    【解决方案1】:

    我不是水文学家或统计学家;您可能想在Cross Validated 上转发。

    我期待看到这个社区还想带来什么。

    当您说成对标度协方差的平均值时,我假设您是 得到一个结果矩阵,其中每个元素都是 碳和磷的便利性。

    通过将范围转换为距离矩阵[-1,1] -> [+n,0],此矩阵可用于聚类。例如,您可以取碳和磷协方差的平均值|-(1-x)|,以便反相关样本 (-1) 接近 2 的距离,而高度相关的样本 (1) 将接近 0。您还可以取两者之间的欧几里得距离协方差的向量。

    我有一个脚本here on GitHub,它将产生指定数量的 在 pandas 上使用 Spectral、Agglomerative 或 Kmeans 聚类的聚类 和 python 中的 sklearn。

    R 的hclust 方法(病房层次聚类)也产生了很好的结果,jmp 有一个很好的交互式层次聚类视图,您可以在其中通过单击按钮旋转节点。

    验证样本在协方差空间和物理空间中是否聚集在一起可以验证系统中的依赖性,但是时间和同步性呢?

    为了解决时间问题,我将对您的时间序列(复数)中的同步子集进行比较窗口分析。例如,如果您的 2 个站点有一年的重叠数据,每天 3 次样本,您可以从 jan(1-7)、jan(2-7) 等的每一天开始按周计算相关性。分布适合您的所有协方差时间序列中所有元素的集合提供了给定周协方差的 p 值,以确定碳和磷水平何时显着协变。

    【讨论】:

    • 您可能希望在帖子中包含 Gist 中的相关代码 - 只需粘贴、选择并按 Ctrl+K 即可格式化。
    猜你喜欢
    • 2014-03-23
    • 1970-01-01
    • 1970-01-01
    • 2021-10-16
    • 2018-05-03
    • 1970-01-01
    • 1970-01-01
    • 2020-02-14
    • 2018-10-04
    相关资源
    最近更新 更多