<div dir="ltr">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.</div><br><div class="gmail_quote"><div dir="ltr">Em dom, 16 de set de 2018 às 14:45, Sérgio V. <<a href="mailto:svolk2@hotmail.com">svolk2@hotmail.com</a>> escreveu:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Ok, vou testar.<br>
A curva do arco de parábola ali é o crossplot de EVI2 x NDVI.<br>
Na verdade fiz 4 crossplot<br>
B11xNDVI, B11xEVI2; EVI2xNDVI,<br>
e o 3V B11xNDVIxEVI2. B11 no eixo x. <br>
O que exibe ali na figura é estes 2 últimos.<br>
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.<br>
Assim penso usar EVI2 com B11, só estas 2 basicamente. O B11 quase já classifica tudo que eu precisava.<br>
Vou ver como testar o que você indicou agora, obrigado!<br>
<br>
- - - - - - - - - - - - - - - -<br>
Sérgio - <a href="http://www.openstreetmap.org/user/smaprs" rel="noreferrer" target="_blank">http://www.openstreetmap.org/user/smaprs</a><br>
________________________________<br>
De: Paulo Carvalho <<a href="mailto:paulo.r.m.carvalho@gmail.com" target="_blank">paulo.r.m.carvalho@gmail.com</a>><br>
Enviado: domingo, 16 de setembro de 2018 11:13:03<br>
Para: OSM talk-br<br>
Assunto: Re: [Talk-br] Vetorização de matas no OSM com Sentinel-2<br>
<br>
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: <a href="https://en.wikipedia.org/wiki/Multidimensional_scaling" rel="noreferrer" target="_blank">https://en.wikipedia.org/wiki/Multidimensional_scaling</a><br>
<br>
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.<br>
<br>
Resumindo o método:<br>
1) Calcular as dessemelhanças entre as amostras por uma fórmula de distância qualquer, por exemplo, a distância Euclideana: <a href="https://wikimedia.org/api/rest_v1/media/math/render/svg/c015e86e5cd0ed7a45f5c4c5107647b4d4970b14" rel="noreferrer" target="_blank">https://wikimedia.org/api/rest_v1/media/math/render/svg/c015e86e5cd0ed7a45f5c4c5107647b4d4970b14</a> 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.<br>
<br>
2) Depois de calcular todas as dessemelhanças entre todas as amostras, os resultados são colocados em uma matriz: <a href="https://wikimedia.org/api/rest_v1/media/math/render/svg/ac5a364c06c41eede6a8689a417c79b0b984046d" rel="noreferrer" target="_blank">https://wikimedia.org/api/rest_v1/media/math/render/svg/ac5a364c06c41eede6a8689a417c79b0b984046d</a><br>
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.<br>
<br>
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.<br>
<br>
3) Computar a matriz B, cujos elementos bij = 1/2 * ( dij^2 - di.^2 - d.j^2 + d..^2 ), onde<br>
bij = elemento da matriz B<br>
dij = elemento da matriz de dessemelhanças<br>
di. = i-ésimo vetor-linha (linha de uma matriz) da matriz de dessemelhanças<br>
d.j = j-ésimo vetor-coluna (coluna de uma matriz) da matriz de dessemelhanças<br>
d.. = toda a matriz de dessemelhanças (notação com dois pontos)<br>
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."<br>
<br>
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.<br>
<br>
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.<br>
<br>
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.<br>
<br>
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.<br>
<br>
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).<br>
<br>
Só isso!<br>
<br>
<br>
<br>
<br>
Em sáb, 15 de set de 2018 às 20:12, Sérgio V. <<a href="mailto:svolk2@hotmail.com" target="_blank">svolk2@hotmail.com</a><mailto:<a href="mailto:svolk2@hotmail.com" target="_blank">svolk2@hotmail.com</a>>> escreveu:<br>
Valeu, vou pesquisar.<br>
Tamo chegando lá.<br>
<br>
- - - - - - - - - - - - - - - -<br>
Sérgio - <a href="http://www.openstreetmap.org/user/smaprs" rel="noreferrer" target="_blank">http://www.openstreetmap.org/user/smaprs</a><br>
<br>
<br>
________________________________<br>
De: Paulo Carvalho <<a href="mailto:paulo.r.m.carvalho@gmail.com" target="_blank">paulo.r.m.carvalho@gmail.com</a><mailto:<a href="mailto:paulo.r.m.carvalho@gmail.com" target="_blank">paulo.r.m.carvalho@gmail.com</a>>><br>
Enviado: sábado, 15 de setembro de 2018 19:53<br>
Para: OSM talk-br<br>
Assunto: Re: [Talk-br] Vetorização de matas no OSM com Sentinel-2<br>
<br>
MDS (multi dimensional scaling) também ajuda na análise multidimensional.  Veja se o QGis tem MDS.<br>
.org/listinfo/talk-br<br>
<br>
_______________________________________________<br>
Talk-br mailing list<br>
<a href="mailto:Talk-br@openstreetmap.org" target="_blank">Talk-br@openstreetmap.org</a><br>
<a href="https://lists.openstreetmap.org/listinfo/talk-br" rel="noreferrer" target="_blank">https://lists.openstreetmap.org/listinfo/talk-br</a><br>
</blockquote></div>