2012-06-20 3 views
1

Я использую код на этом сайте http://blog.chrislowis.co.uk/2008/11/24/ruby-gsl-pearson.html для реализации корреляции Пирсона дал две временные ряды данных, как так:Как построить корреляцию Пирсона с учетом временных рядов?

require 'gsl' 

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

Это возвращает число таких, как -0.2352461593569471.

В настоящее время я использую библиотеку highcharts и подаю ей два набора данных таймсеров. Учитывая, что у меня есть конечный временной ряд для обоих наборов, могу ли я что-то сделать с этим числом (-0.2352461593569471), чтобы создать третий временной ряд, показывающий наклон этой кривой? Если кто-то может указать мне в правильном направлении, я бы очень признателен!

+0

Как выглядят ваши данные? Что вы пытаетесь показать? – naught101

ответ

1

Нет, корреляция ничего не говорит о наклоне линии наилучшего соответствия. Это просто говорит вам примерно о том, какая часть изменчивости одной переменной (или одного временного ряда в этом случае) может быть объяснена другой. Здесь есть достаточно хорошее описание: http://www.graphpad.com/support/faqid/1141/.

Как вы имеете дело с данными в вашем конкретном случае, сильно зависит от того, чего вы пытаетесь достичь. Вы пытаетесь показать, что переменная X вызывает переменную Y? Если это так, вы можете начать с того, что снижаете временную шкалу, и просто обрабатываете данные как парные значения и используете линейную регрессию. Если вы пытаетесь найти модель того, как X и Y меняются вместе во времени, вы можете посмотреть на multivariate linear regression (я не очень хорошо знаком с этим, хотя).

Смежные вопросы