Методы определения временной ковариации среди многих временных рядов?

Мы пытаемся определить синхронность изменения химического состава воды среди нескольких сотен участков. Для каждого сайта у нас есть временной ряд концентрации.

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

Различные химические параметры имеют очень разные абсолютные концентрации (например, 1-100 ч / млн для углерода, от 0,001 до 1 ч / млн для фосфора), поэтому необходим относительный показатель. Ранее мы делали это с помощью среднего значения попарно масштабированных ковариаций, но, безусловно, есть более элегантный метод.

Мы рады использовать R, Pyton или Matlab. Спасибо!

1 ответ

Я не гидролог и не статистик; Вы можете сделать репост на Cross Validated.

Я с нетерпением жду встречи с тем, что еще это сообщество хочет донести до стола.

Когда вы говорите среднее значение попарно масштабированных ковариаций, я предполагаю, что вы получаете матрицу результатов, в которой каждый элемент является средним для удобства углерода и фосфора.

Эта матрица может использоваться для кластеризации путем преобразования диапазона в матрицу расстояний. [-1,1] -> [+n,0], Например, вы можете взять среднее значение зависимости углерода и фосфора |-(1-x)| так что антикоррелированные выборки (-1) приближаются к расстоянию 2, где высоко коррелированные выборки (1) приближаются к 0. Вы также можете взять евклидово расстояние между векторами ковариаций.

У меня есть скрипт на GitHub, который будет генерировать указанное количество кластеров, используя Spectral, Agglomerative или Kmeans кластеризацию на пандах и sklearn в python.

Также R hclust Метод (иерархическая кластеризация прихода) дает хорошие результаты, а у jmp есть приятный интерактивный иерархический вид кластера, где вы можете вращать узлы с помощью кнопок щелчка.

Проверка того, что образцы образуют кластеры как в пространстве, так и в физическом пространстве, проверяет зависимость в системе, но как насчет времени и синхронности!?

Для атаки на время я бы выполнил сравнительный оконный анализ синхронных подмножеств из вашего временного ряда (множественное число). Например, если ваши 2 сайта имеют год перекрывающихся данных с выборками 3 раза в день, вы можете рассчитать корреляцию по неделям для недель, начиная с каждого дня jan(1-7), jan(2-7) и т. Д. Распределение соответствует Ваш набор всех элементов во всех временных рядах ковариаций обеспечивает значения p для ковариации в заданные недели, чтобы определить, когда уровни углерода и фосфора значительно изменялись.

Другие вопросы по тегам