У меня есть данные для сети метеостанций по всей территории Соединенных Штатов. Это дает мне фрейм данных, который содержит дату, широту, долготу и некоторое измеренное значение. Предположим, что данные собираются один раз в день и определяются погодой регионального масштаба (нет, мы не будем вдаваться в это обсуждение).
Я хотел бы показать графически, как одновременно измеренные значения коррелируют во времени и пространстве. Моя цель - показать региональную однородность (или ее отсутствие) исследуемой ценности.
Набор данных
Для начала я взял группу станций в районе Массачусетса и Мэна. Я выбрал сайты по широте и долготе из файла индекса, который доступен на FTP-сайте NOAA.
Сразу же вы видите одну проблему: есть много сайтов, которые имеют сходные идентификаторы или очень близки. FWIW, я идентифицирую их, используя коды USAF и WBAN. Глядя вглубь метаданных, я увидел, что они имеют разные координаты и высоты, и данные останавливаются на одном участке, а затем на другом. Так что, поскольку я не знаю ничего лучше, я должен рассматривать их как отдельные станции. Это означает, что данные содержат пары станций, которые находятся очень близко друг к другу.
Предварительный анализ
Я попытался сгруппировать данные по календарному месяцу, а затем вычислить регрессию обычных наименьших квадратов между различными парами данных. Затем я строю корреляцию между всеми парами в виде линии, соединяющей станции (ниже). Цвет линии показывает значение R2 из соответствия OLS. Затем на рисунке показано, как более 30 точек данных за январь, февраль и т. Д. Коррелируют между различными станциями в интересующей области.
Я написал базовые коды так, чтобы среднесуточное значение рассчитывалось только при наличии точек данных каждые 6 часов, поэтому данные должны быть сопоставимы по сайтам.
Проблемы
К сожалению, на одном сюжете просто слишком много данных для понимания. Это не может быть исправлено уменьшением размера линий.
Сеть кажется слишком сложной, поэтому я думаю, что мне нужно найти способ уменьшить сложность или применить какое-то пространственное ядро.
Я также не уверен, какой показатель является наиболее подходящим для показа корреляции, но для предполагаемой (нетехнической) аудитории коэффициент корреляции из OLS может быть проще всего объяснить. Возможно, мне также потребуется представить некоторую другую информацию, такую как градиент или стандартная ошибка.
Вопросов
Я изучаю свой путь в этой области и R одновременно, и буду признателен за предложения по:
- Какое официальное название для того, что я пытаюсь сделать? Есть ли полезные термины, которые позволили бы мне найти больше литературы? Мои поиски рисуют пробелы для того, что должно быть обычным приложением.
- Существуют ли более подходящие методы для отображения корреляции между несколькими наборами данных, разделенными в пространстве?
- ... в частности, методы, которые легко показать результаты визуально?
- Какие-нибудь из них реализованы в R?
- Любой из этих подходов поддается автоматизации?
источник
Ответы:
Я думаю, что есть несколько вариантов отображения данных этого типа:
Первый вариант - провести «Анализ эмпирических ортогональных функций» (EOF) (также называемый «Анализ основных компонентов» (PCA) в неклиматических кругах). Для вашего случая это должно проводиться на корреляционной матрице ваших местоположений данных. Например, ваша матрица данных
dat
будет вашим пространственным местоположением в измерении столбца и измеренным параметром в строках; Таким образом, ваша матрица данных будет состоять из временных рядов для каждого местоположения.prcomp()
Функция позволит вам получить основные компоненты или доминирующие способы корреляции, относящуюся к этой области:Второй вариант заключается в создании карт, которые показывают корреляцию относительно отдельного интересующего местоположения:
РЕДАКТИРОВАТЬ: дополнительный пример
Хотя в следующем примере данные не используются, вы можете применить тот же анализ к полю данных после интерполяции с помощью DINEOF ( http://menugget.blogspot.de/2012/10/dineof-data-interpolating-empirical.html ). , В приведенном ниже примере используется подмножество месячных аномальных данных о давлении на уровне моря из следующего набора данных ( http://www.esrl.noaa.gov/psd/gcos_wgsp/Gridded/data.hadslp2.html ):
Карта ведущего режима EOF
Создать карту корреляции
источник
Я не вижу чёткой закулисности, но мне кажется, что данных слишком много.
Поскольку вы хотите показать региональную однородность, а не точные станции, я бы посоветовал вам сначала сгруппировать их в пространстве. Например, наложить на «рыболовную сеть» и вычислить среднее измеренное значение в каждой ячейке (в каждый момент времени). Если вы поместите эти средние значения в центры ячеек таким образом, вы растеризуете данные (или вы также можете вычислить среднюю широту и долготу в каждой ячейке, если вы не хотите наложения линий). Или усреднить внутри административных единиц, как угодно. Затем для этих новых усредненных «станций» вы можете рассчитать корреляции и построить карту с меньшим количеством линий.
Это также может удалить те случайные одиночные линии высокой корреляции, проходящие через всю область.
источник