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

Responder a