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