Oi, tinha um erro na minha descrição do procedimento MDS: 3) Computar a matriz B, cujos elementos bij = *-*1/2 * ( dij^2 - di.^2 - d.j^2 + d..^2 ), onde (esqueci do sinal de menos antes do 1/2) bij = elemento da matriz B dij = elemento da matriz de dessemelhanças di.^2 = média dos elementos do i-ésimo vetor-linha (linha de uma matriz) da matriz de dessemelhanças multiplicada por ela mesma (D^2 = D*D). d.j^2 = média dos elementos do j-ésimo vetor-coluna (coluna de uma matriz) da matriz de dessemelhanças multiplicada por ela mesma d..^2 = média de todos os elementos da matriz de dessemelhanças multiplicada por ela mesma
Caso queiras conferir, ver toda a teoria de MDS aqui: http://polisci.msu.edu/jacoby/research/scaling/intromds/Jacoby-Ciuk,%20MDS,%20V2,%2010-29-14.pdf Em dom, 16 de set de 2018 às 17:53, Paulo Carvalho < paulo.r.m.carva...@gmail.com> escreveu: > Oi, o método MDS pode ser implementado como um script em Python (acedito > que o QGis tenha um console Python) caso o QGis não tenha MDS diretamente. > Se tiveres o SciPy e o NumPy disponíveis no console do QGis, é viável fazer > no Python (teste com os comandos import scipy e import numpy). Quanto aos > múltiplos crossplots com os possíveis pares de variáveis, muita gente faz > isso mesmo, mas não é a mesma coisa do que uma análise conjunta. > > Em dom, 16 de set de 2018 às 14:45, Sérgio V. <svo...@hotmail.com> > escreveu: > >> Ok, vou testar. >> A curva do arco de parábola ali é o crossplot de EVI2 x NDVI. >> Na verdade fiz 4 crossplot >> B11xNDVI, B11xEVI2; EVI2xNDVI, >> e o 3V B11xNDVIxEVI2. B11 no eixo x. >> O que exibe ali na figura é estes 2 últimos. >> Só coloquei B11 com NDVI e EVI2 pra ver qual melhor, sendo base de >> informação já a B11. Pois NDVI e EVI2 tendo basicamente o mesmo propósito e >> mostrando histograma semelhante, tendo o mesmo comportamento para os mesmos >> objetos na imagem, pensei que basta uma. >> Assim penso usar EVI2 com B11, só estas 2 basicamente. O B11 quase já >> classifica tudo que eu precisava. >> Vou ver como testar o que você indicou agora, obrigado! >> >> - - - - - - - - - - - - - - - - >> Sérgio - http://www.openstreetmap.org/user/smaprs >> ________________________________ >> De: Paulo Carvalho <paulo.r.m.carva...@gmail.com> >> Enviado: domingo, 16 de setembro de 2018 11:13:03 >> Para: OSM talk-br >> Assunto: Re: [Talk-br] Vetorização de matas no OSM com Sentinel-2 >> >> Sérgio, vi um arco de parábola no teu último gráfico. Acredito que >> tenhas feito isso para poder usar três variáveis (combinando duas) no >> crossplot 2D. Para combinar múltiplas variáveis em duas coordenadas para >> ver um crossplot, use MDS: >> https://en.wikipedia.org/wiki/Multidimensional_scaling >> >> Acredito que com alguns passos de cálculo seja possível criar as >> coordenadas MDS, que nada mais são de que outras variáveis, e plotá-las no >> crossplot 2D para ver os grupos. >> >> Resumindo o método: >> 1) Calcular as dessemelhanças entre as amostras por uma fórmula de >> distância qualquer, por exemplo, a distância Euclideana: >> https://wikimedia.org/api/rest_v1/media/math/render/svg/c015e86e5cd0ed7a45f5c4c5107647b4d4970b14 >> onde x e y são duas variáveis qualquer (ex.: B11 e NDVI), mas poderia ser >> três, quatro, etc. nessa soma de quadrados dentro da raíz; i e j são os >> índices das amostras. No exemplo, dij é a distância entre a i-ésima e a >> j-ésima amostra. Tu podes usar outras fórmulas de distância, por exemplo, >> a distância de Manhattan. >> >> 2) Depois de calcular todas as dessemelhanças entre todas as amostras, os >> resultados são colocados em uma matriz: >> https://wikimedia.org/api/rest_v1/media/math/render/svg/ac5a364c06c41eede6a8689a417c79b0b984046d >> Se houver 1.000 amostras, a matriz terá 1.000.000 de elementos. A matriz >> de dessemelhança é como se fosse aquelas tabelas de distâncias entre >> cidades que havia nos mapas rodoviários de antigamente. >> >> Seguindo a analogia das cidades, temos suas distâncias, mas não suas >> posições (x, y). O problema consiste em encontrar a posição relativa (x, >> y)i de uma cidade i tal que, IDEALMENTE, a separação até uma cidade j seja >> igual à distância entre elas computadas no passo 2). Ou seja, que o >> comprimento do vetor ||(xi - xj), (yi - yj)|| seja igual a dij. Isso >> acontece se o número de variáveis de entrada for dois. Como teremos 3 ou >> mais, o que estamos tentando fazer na prática é planificar algo que tem 3 >> ou mais dimensões, então o problema passa a ser de minimização porque as >> distâncias dij são calculadas em função das variáveis de entrada. Assim o >> valor ||(xi - xj), (yi - yj)|| - dij deve ser o mínimo. >> >> 3) Computar a matriz B, cujos elementos bij = 1/2 * ( dij^2 - di.^2 - >> d.j^2 + d..^2 ), onde >> bij = elemento da matriz B >> dij = elemento da matriz de dessemelhanças >> di. = i-ésimo vetor-linha (linha de uma matriz) da matriz de >> dessemelhanças >> d.j = j-ésimo vetor-coluna (coluna de uma matriz) da matriz de >> dessemelhanças >> d.. = toda a matriz de dessemelhanças (notação com dois pontos) >> A notação de um vetor ou matriz "ao quadrado" (ex.: di.^2) quer dizer >> "pegue todos os elementos, eleve cada um ao quadrado e some tudo." >> >> 4) Decompor B em seus autovalores e autovetores (rever Álgebra Linear). >> Essa decomposição resulta em duas matrizes: D = matriz com os autovalores >> em sua diagonal principal (os outros elementos são zero). V = matriz cujas >> colunas são os autovetores. >> >> 5) Para um crossplot 2D, pegue os dois maiores autovalores de D e monte >> D1. Pegue os autovetores (colunas) de V correspondentes aos maiores >> autovalores e monte V1. D1 será uma matriz 2 x 2 com os dois maiores >> autovalores e V1 terá uma linha para cada amostra (ex. 1000) e duas colunas. >> >> 6) Para cada elemento não zero de D1, inverta (se o elemento for 5, deve >> ser 1/5) e tire a raíz quadrada. >> >> 7) A solução X será o produto das matrizes V1 e D1 X = V1 * D1. X terá o >> número de linhas igual ao de amostras (ex. 1000) e 2 colunas. A primeira >> coluna será a coordenada x e a segunda, y. Essas coordenadas são usadas no >> crossplot. >> >> Se quiseres um crossplot 3D, refaça os passos 5, 6 e 7, mas selecionado >> os três maiores autovalores e X terá três coordenadas (x, y, z). >> >> Só isso! >> >> >> >> >> Em sáb, 15 de set de 2018 às 20:12, Sérgio V. <svo...@hotmail.com<mailto: >> svo...@hotmail.com>> escreveu: >> Valeu, vou pesquisar. >> Tamo chegando lá. >> >> - - - - - - - - - - - - - - - - >> Sérgio - http://www.openstreetmap.org/user/smaprs >> >> >> ________________________________ >> De: Paulo Carvalho <paulo.r.m.carva...@gmail.com<mailto: >> paulo.r.m.carva...@gmail.com>> >> Enviado: sábado, 15 de setembro de 2018 19:53 >> Para: OSM talk-br >> Assunto: Re: [Talk-br] Vetorização de matas no OSM com Sentinel-2 >> >> MDS (multi dimensional scaling) também ajuda na análise >> multidimensional. Veja se o QGis tem MDS. >> .org/listinfo/talk-br >> >> _______________________________________________ >> Talk-br mailing list >> Talk-br@openstreetmap.org >> https://lists.openstreetmap.org/listinfo/talk-br >> >
_______________________________________________ Talk-br mailing list Talk-br@openstreetmap.org https://lists.openstreetmap.org/listinfo/talk-br