如何根据时间序列绘制Pearson相关性?

时间:2012-06-20 21:15:54

标签: data-visualization time-series gsl pearson

我正在使用此网站http://blog.chrislowis.co.uk/2008/11/24/ruby-gsl-pearson.html中的代码来实现Pearson Correlation,给出两个时间序列数据,如下所示:

  require 'gsl'

  pearson_correlation = GSL::Stats::correlation(
    GSL::Vector.alloc(first_metrics),GSL::Vector.alloc(second_metrics)
  )    

返回-0.2352461593569471之类的数字。

我目前正在使用highcharts库并且正在为它提供两组时间序列数据。鉴于我对两组都有一个有限的时间序列,我可以用这个数字(-0.2352461593569471)做一些东西来创建第三个时间序列来显示这条曲线的斜率吗?如果有人能指出我正确的方向,我真的很感激!

1 个答案:

答案 0 :(得分:1)

不,相关性不会告诉您关于最佳拟合线的斜率的任何信息。它只是告诉你大约一个变量(或一个时间序列,在这种情况下)中的多少变化可以由另一个变量来解释。这里有一个相当不错的描述:http://www.graphpad.com/support/faqid/1141/

如何处理特定情况下的数据在很大程度上取决于您要实现的目标。你是否试图证明变量X导致变量Y?如果是这样,您可以先删除时间序列,然后将数据视为配对值,并使用线性回归。如果您正在尝试找到X和Y随时间变化的模型,您可以查看multivariate linear regression(我对此并不十分熟悉)。