Eu tenho dados para uma rede de estações meteorológicas nos Estados Unidos. Isso me fornece um quadro de dados que contém data, latitude, longitude e algum valor medido. Suponha que os dados sejam coletados uma vez por dia e conduzidos pelo clima em escala regional (não, não entraremos nessa discussão).
Gostaria de mostrar graficamente como os valores medidos simultaneamente são correlacionados no tempo e no espaço. Meu objetivo é mostrar a homogeneidade regional (ou a falta dela) do valor que está sendo investigado.
Conjunto de dados
Para começar, peguei um grupo de estações na região de Massachusetts e Maine. Selecionei sites por latitude e longitude a partir de um arquivo de índice disponível no site FTP da NOAA.
Imediatamente você vê um problema: existem muitos sites com identificadores semelhantes ou muito próximos. FWIW, eu os identifico usando os códigos da USAF e da WBAN. Analisando mais detalhadamente os metadados, vi que eles têm coordenadas e elevações diferentes, e os dados param em um site e começam em outro. Então, como não conheço melhor, tenho que tratá-las como estações separadas. Isso significa que os dados contêm pares de estações muito próximas umas das outras.
Análise preliminar
Tentei agrupar os dados por mês e depois calcular a regressão dos mínimos quadrados comuns entre diferentes pares de dados. Em seguida, traço a correlação entre todos os pares como uma linha que liga as estações (abaixo). A cor da linha mostra o valor de R2 do ajuste do OLS. A figura mostra como os mais de 30 pontos de dados de janeiro, fevereiro etc. são correlacionados entre diferentes estações na área de interesse.
Escrevi os códigos subjacentes para que a média diária seja calculada apenas se houver pontos de dados a cada 6 horas, para que os dados sejam comparáveis entre sites.
Problemas
Infelizmente, há simplesmente muitos dados para entender em um gráfico. Isso não pode ser corrigido reduzindo o tamanho das linhas.
A rede parece ser muito complexa, então acho que preciso descobrir uma maneira de reduzir a complexidade ou aplicar algum tipo de núcleo espacial.
Também não tenho certeza de qual é a métrica mais apropriada para mostrar correlação, mas para o público-alvo (não técnico), o coeficiente de correlação do OLS pode ser apenas o mais simples de explicar. Talvez seja necessário apresentar outras informações, como o erro gradiente ou padrão.
Questões
Estou aprendendo a entrar neste campo e R ao mesmo tempo e gostaria de receber sugestões sobre:
- Qual é o nome mais formal para o que estou tentando fazer? Existem alguns termos úteis que me permitam encontrar mais literatura? Minhas pesquisas estão desenhando espaços em branco para o que deve ser um aplicativo comum.
- Existem métodos mais apropriados para mostrar a correlação entre vários conjuntos de dados separados no espaço?
- ... em particular, métodos fáceis de mostrar resultados visualmente?
- Algum destes implementado em R?
- Alguma dessas abordagens se presta à automação?
fonte
Respostas:
Eu acho que existem algumas opções para mostrar esse tipo de dados:
A primeira opção seria realizar uma "Análise empírica de funções ortogonais" (EOF) (também conhecida como "Análise de componentes principais" (PCA) em círculos não climáticos). Para o seu caso, isso deve ser realizado em uma matriz de correlação dos seus locais de dados. Por exemplo, sua matriz de dados
dat
seria sua localização espacial na dimensão da coluna e o parâmetro medido nas linhas; Portanto, sua matriz de dados consistirá em séries temporais para cada local. Aprcomp()
função permitirá que você obtenha os principais componentes, ou modos dominantes de correlação, relacionados a este campo:A segunda opção seria criar mapas que mostrem correlação em relação a um local de interesse individual:
EDIT: exemplo adicional
Embora o exemplo a seguir não use dados gappy, você pode aplicar a mesma análise a um campo de dados após a interpolação com o DINEOF ( http://menugget.blogspot.de/2012/10/dineof-data-interpolating-empirical.html ) . O exemplo abaixo usa um subconjunto de dados mensais de pressão do nível do mar de anomalia do seguinte conjunto de dados ( http://www.esrl.noaa.gov/psd/gcos_wgsp/Gridded/data.hadslp2.html ):
Mapeie o principal modo EOF
Criar mapa de correlação
fonte
Não vejo claramente atrás das linhas, mas parece-me que há muitos pontos de dados.
Como você deseja mostrar a homogeneidade regional e não exatamente as estações, sugiro que você primeiro as agrupe espacialmente. Por exemplo, sobreponha-se a uma "rede de pesca" e calcule o valor médio medido em todas as células (a cada momento). Se você colocar esses valores médios nos centros de células dessa maneira, rasterizará os dados (ou poderá calcular também latitude e longitude médias em todas as células, se não desejar sobrepor linhas). Ou, em média, dentro das unidades administrativas, qualquer que seja. Então, para essas novas "estações" médias, você pode calcular correlações e traçar um mapa com menor número de linhas.
Isso também pode remover as linhas aleatórias de alta correlação únicas que atravessam toda a área.
fonte