2015-06-18 4 views
3

Я много почесываю голову. Теперь, для того, что Юлия выдает на первый взгляд назад результат относительно лаговЧто такое уравнение, используемое в ccf R и кроссовере Джулии?

julia> crosscor([1,2,3,4], [1,2,3,1])' 
1x7 Array{Float64,2}: 
-0.30339 0.0 0.64049 0.13484 -0.37081 -0.40452 0.30339 

> print(ccf(c(1,2,3,4), c(1,2,3,1), type="correlation", plot=F)) 

Autocorrelations of series ‘X’, by lag 

    -3  -2  -1  0  1  2  3 
0.303 -0.405 -0.371 0.135 0.640 0.000 -0.303 

, который легко решается путем обращения х и у, за исключением («легко» является относительным, когда она занимает час жизни чтобы выяснить), числа не похожи ни на одно из уравнений, с которыми я знаком (которых мало, так или иначе).

Итак, я открыл учебник по статистике и нашел множество других формул, которые я не собираюсь тестировать с помощью ручки и бумаги. Я подозревал, что на мгновение, что удаление средств из векторов играла роль, поэтому я старался не делать, что (к сожалению, это может быть сделано только в Джулии)

julia> crosscor([1,2,3,4], [1,2,3,1], demean=false)' 
1x7 Array{Float64,2}: 
0.188562 0.518545 0.942809 0.848528 0.518545 0.235702 0.0471405 

, но это по-прежнему не похож на нормированную кросс- корреляции, которую я вычислил с помощью ручки и бумаги (ожидающие ошибки, которые я мог сделать).

Вкратце: мне нужно привести формулу, так что это?

+1

документация R 'помощь ("ККС")' содержит это в разделе "Ссылки": «Venables, WN и Рипли, BD (2002) Современные прикладной статистики с С. Четвертое издание Springer-Verlag (Это содержит.. точные определения.) « – Roland

+0

Да, я думал, что сэкономлю себе поездку в библиотеку :) – Morpheu5

+1

Извините, но у меня нет копии MASS. Так или иначе, всегда лучше искать такой материал. – Roland

ответ

3

Я предполагаю, что цитирование этого отрывка здесь в порядке с помощью условий использования StackOverflow? От страницы 390 (раздел 14.1) из Винейблесом и Рипли (2002) вы можете найти определение, которое они используют здесь для acf() функции:

enter image description here

Если вы посмотрите на исходный код ccf() функции в R (введите «ccf» в подсказке), вы можете увидеть, как используется acf(), и может опросить, как приведенная выше реализация acf() относится к вычислению.

+0

Это помогает, но есть несколько неясных вещей (например, эти индексы, каковы они?). Полагаю, мне придется взять копию книги. – Morpheu5

+1

Если вы имеете в виду 'ij', то они относятся к элементам серии, которые вы вычисляете корреляции для определенного запаздывания. Это компоненты, которые вы увидите в исходном коде для 'acf()'. Я бы скопировал больше объяснений в ответ, но не хочу нарушать. Если есть конкретные детали, я могу попытаться объяснить дальше? –

+0

Спасибо, это помогло. Я также отслеживал копию MASS-PL, и у них одинаковое уравнение. Я попытаюсь понять это и вернуться сюда (или на Cross Validated) и спросить. – Morpheu5