Saltar para o conteúdo

Índice Jaccard

Origem: Wikipédia, a enciclopédia livre.

O índice de Jaccard, também conhecido como coeficiente de similaridade de Jaccard, é uma estatística usada para medir a similaridade e a diversidade de conjuntos de amostras . Ele foi desenvolvido por Grove Karl Gilbert em 1884 como sua razão de verificação (v)[1] e agora é frequentemente mencionado como Índice de Sucesso Crítico em meteorologia. Mais tarde, foi desenvolvido de forma independente por Paul Jaccard, originalmente dando o nome francês "coefficient de communauté",[2] e formulado de forma independente novamente por T. Tanimoto.[3] Assim, em algumas áreas também são usados os nomes índice de Tanimoto ou coeficiente de Tanimoto. No entanto, eles são idênticos em geral, considerando a proporção da interseção em relação à união. O coeficiente de Jaccard mede a similaridade entre conjuntos finitos de amostras, e é definido como o tamanho da interseção dividido pelo tamanho da união dos conjuntos de amostras:

Observe que, por construção, Se a interseção de A e B for vazia, então J(A,B) = 0. O coeficiente de Jaccard é amplamente utilizado em ciência da computação, ecologia, genômica e outras ciências, que utilizam dados binários ou binarizados. Tanto a solução exata quanto métodos de aproximação estão disponíveis para testar hipóteses com o coeficiente de Jaccard.[4]

A similaridade de Jaccard também se aplica a "bags", ou seja, multiconjuntos . Isso tem uma fórmula semelhante,[5] mas os símbolos significam interseção de multiconjuntos e soma de multiconjuntos (não união). O valor máximo é 1/2.

A distância Jaccard, que mensura diferença entre conjuntos de amostras, é complementar ao coeficiente de Jaccard e é obtido pela subtração do coeficiente de 1, ou, igualmente, pela divisão da diferença entre os tamanhos da união e interseção de dois conjuntos pelo tamanho da união:

Uma interpretação alternativa da distância de Jaccard é como a razão entre o tamanho da diferença simétrica e a união. A distância de Jaccard é comumente usada para calcular uma matriz n × n para agrupamento e escalonamento multidimensional de n conjuntos de amostras.

Esta distância é uma métrica na coleção de todos os conjuntos finitos.[6][7][8]

Há também uma versão da distância de Jaccard para medidas, incluindo medidas de probabilidade . Se é uma medida em um espaço mensurável , então definimos o coeficiente de Jaccard por:

e a distância de Jaccard por:

Deve-se ter cuidado se ou , pois essas fórmulas não estão bem definidas nesses casos.

Similaridade de atributos binários assimétricos

[editar | editar código-fonte]

Dados dois objetos, A e B, com n atributos binários cada um, o coeficiente Jaccard é uma medida útil da sobreposição que A e B compartilham através de seus atributos. Cada atributo de A e B podem ser 0 ou 1. O número total de cada combinação de atributos, de ambos A e B, são dados pelo seguinte:

representa o número total de atributos em que A e B têm o valor 1.
representa o número total de atributos onde o atributo de A é 0 e o atributo de B é 1.
representa o número total de atributos onde o atributo de A é 1 e o atributo de B é 0.
representa o número total de atributos onde A e B têm um valor de 0.

Cada atributo deve se encaixar em uma dessas quatro categorias, ou seja:

Então, coeficiente de similaridade Jaccard, J, é dado por:

E a distância Jaccard, dJ, e dado por:

Análises estatísticas podem ser feitas baseando-se nos coeficientes de similaridade Jaccard, e consequentemente métricas relacionadas.[9] Dados dois conjuntos de amostras A e B com n atributos, um teste estatístico pode ser conduzido para avaliar se uma sobreposição tem significância estatística. A solução exata é possível, porém os custos computacionais podem aumentar quanto maior o valor de n.[10]Métodos estimativos são possíveis por distribuição multinomial ou por bootstrapping.

Diferença do coeficiente de correlação simples (SMC)

[editar | editar código-fonte]

Quando usado para atributos binários, o índice Jaccard é muito similar ao coeficiente de correlação simples. A diferença principal é que o SMC tem o termo no numerador e no denominador, enquanto o índice Jaccar não o tem. Portanto, o SMC leva em conta tanto presenças mútuas (quando um atributo está presente em ambos conjuntos) e ausências mútuas (quando um atributo está ausente em ambos conjuntos) enquanto combina e compara com o número total de atributos no universo, enquanto o índice Jaccard considera apenas presenças mútuas enquanto combina e compara com o número de atributos que foram escolhidos por ao menos um de dois conjuntos.

Na análise da cesta de mercado, por exemplo, a cesta de dois clientes que desejamos comparar pode conter apenas uma pequena fração de todos os produtos disponíveis na loja, então o SMC normalmente vai informar um valor muito alto de similaridades, mesmo que as cestas carreguem pouquíssima semelhança, tornando assim o índice Jaccard mais apropriado para mensurar similaridade neste contexto. Por exemplo, considere um supermercado que 1000 produtos e dois clientes. A cesta do primeiro cliente contém sal e pimenta e a cesta do segundo contém sal e açúcar. Neste cenário, a similaridade entre as duas cestas medida pelo índice Jaccard seria de 1/3, mas seria 0.998 usando o SMC.

Em outros contextos, onde 0 e 1 carregam informações equivalentes (simetria), o SMC é uma medição de similaridade melhor. Por exemplo, vetores de variações demográficas armazenadas em variáveis fictícias (ou variáveis dummy), como gênero, seriam melhor comparados com o SMC que com o índice Jaccard já que o impacto do gênero na similaridade deve ser igual, independentemente se "macho" é definido como 0 e "fêmea" como 1 ou o oposto. Entretanto, quando temos variáveis fictícias simétricas, pode-se replicar o comportamento do SMC separando as variáveis em dois atributos binários (neste caso, macho e fêmea), e assim transformando-os em atributos assimétricos, permitindo o uso do índice Jaccard sem introduzir viéses. Ainda assim, o SMC permanece mais eficiente do ponto de vista computacional em casos de variáveis fictícias simétricas, já que não requer dimensões extras.

Similaridade e distância Jaccard ponderadas

[editar | editar código-fonte]

Se e são dois vetores com reais, então o coeficiente de similaridade Jaccard deles (também conhecido como similaridade de Ruzicka) é definido por:

E a distância Jaccard (também conhedida como distância Soergel) por:

Com ainda mais generalidades, se e são duas funções mensuráveis não-negativas em um espaço mensurável com medida , então podemos definir:

Onde and são operadores pontuais. Então a distância Jaccard é:

Então, por exemplo, para dois conjuntos mensuráveis , temos que onde e são funções características do conjunto correspondente.

Distância e similaridade Jaccard de probabilidades

[editar | editar código-fonte]

A similaridade ponderada Jaccard descrita anteriormente generaliza o índice Jaccard para vetores positivos, onde um conjunto corresponde a um vetor bináriodado pela função indicadora,ou seja . Contudo, ela não generaliza o índice Jaccard para distribuições de probabilidades, onde um conjunto corresponde a uma distribuição de probabilidades uniforme, ou seja:

É sempre menor se os conjuntos diferem em tamanho. Se , e então:

O índice Jaccard de probabilidades pode ser interpretado como interseções de simplices.

Em vez disso, uma generalização que é contínua entre distribuições de probabilidades e seus conjuntos de suporte correspondentes é:

É chamada de "Probabilidade" Jaccard.[11] Tem os vínculos a seguir com o Jaccard Ponderado em vetores de probabilidade.

Aqui o vínculo superior é o coeficiente Sørensen–Dice (ponderado). A distância correspondente, , é uma métrica sobre distribuições de probabilidade, e uma pseudométrica sobre vetores não-negativos.

O Índice de Probabilidade Jaccard tem uma interpretação geométrica como a área de uma interseção de simplices. Todo ponto em uma unidade -simplex corresponde a uma distribuição de probabilidade em elementos, porque a unidade -simplex é um conjunto de pontos em dimensões que a soma resulta em 1. Para derivar o Índice de Probabilidade Jaccard geometricamente, represente a distribuição de probabilidade como uma unidade simplex dividida em subsimplices, de acordo com a massa de cada item. Se você sobrepor duas distribuições representadas desta maneira, e cruzar as simplices correspondentes de cada item, a área que permaneçe é igual ao Índice de Probabilidade Jaccard das distribuições.

Otimização do Índice de Probabilidade Jaccard

[editar | editar código-fonte]
Uma prova visual da otimização do Índice de Probabilidade Jaccard em 3 distribuições de elementos

Considere o problema de construir variáves aleatórias tais que estas colidam entre si o máximo possível. Isto é, se e , gostaríamos de construir e para maximizar . Se olharmospara apenas duas distribuições isoladas, o maior que obtemos é dado por onde é a distância da Variação Total. Entretando, suponha que não estamos apenas almejando maximizar este par em particular, mas maximizar a probabilidade de colisão de qualquer par arbitrário. É possível construir um número infinito de variáveis aleatórias, uma para cada distribuição , e buscar a maximização de para todos os pares . Pode-se assumir que a Índice de Probabilidade Jaccard é uma forma otimizada de alinhar estas variáveis aleatórias, como descrito abaixo:

Para qualquer método de amostragem e distribuições discretas , se então para uns onde e , ou ou .[11]

Isto é, nenhum método de amostragem pode retornar mais colisões que em um par sem retornar menos colisões que em outro par, onde o par reduzido é mais similar sob que o par aumentado. Este teorema é válido para o Índice Jaccard de conjuntos (se interpretado como distribuições uniformes) e a probabilidade Jaccard, mas não para o Jaccard ponderado. (Este teorema usa o termo "método de amostragem" para descrever uma distribuição conjunta sobre todas distribuições em um espaço, pois deriva do uso de algoritmos ponderados minhashing que retornam isto como suas probabilidades de colisão.)

Este teorema tem uma prova visual em três distribuições de elementos usando a representação simplex.

Similaridade e distância Tanimoto

[editar | editar código-fonte]

Várias formas de função descritas como similaridade Tanimoto e distância Tanimoto ocorrem na literatura e Internet. A maioria destas são sinônimos da similaridade Jaccard e distância Jaccard, mas têm diferenças matemáticas. Várias fontes[12] citam um Relatório Técnico IBM[3] como referência seminal. O relatório está disponível em várias bibliotecas.

Em "A Computer Program for Classifying Plants" ("Um programa computacional para classificar plantas", em português), publicado em Outubro de 1960,[13] um método de classificação baseado na razão de similaridade, e um função de distância derivada, são apresentados. Aparentemente, esta é a principal fonte para o significado dos termos "similaridade Tanimoto" e "distância Tanimoto". A razão de similaridade é equivalente à similaridade Jaccard, mas a função de distância não é equivalente à distância Jaccard.

As definições de Tanimoto para similaridade e distância

[editar | editar código-fonte]

Neste artigo, a "razão de similaridade" é dada na forma de bitmaps, onde cada bit de uma malha de tamanho fixo representa a presença ou ausência de uma característica na planta sendo modelada. A definição da razão é o número de bits em comum, dividido pelo número de conjuntos de bits (isto é, não-zero) em cada amostra.

Apresentando em termos matemáticos, se amostras X e Y são bitmaps, é o ith bit de X, e são operadores lógicos "e, ou" respectivamente, então a razão de similaridade é:

Em vez disso, se cada amostra é modelada como um conjunto de atributos, este valor é igual ao coeficiente Jaccard de dois conjuntos. Jaccard não é citado neste artigo, e parece que os autores não estavam cientes desta relação.

Tanimoto continua a definir o "coeficiente de distância" baseado nesta razão, definida por bitmaps como similaridade não-zero:

Este coeficinte não é, deliberadamente, uma métrica de distância. Foi escolhido permitir a possibilidade de dois espécimes, que são bem diferentes entre si, a serem similares a um terceiro. É fácil construir um exemplo que refuta a propriedade da desigualdade triangular.

Outras definições da distância Tanimoto

[editar | editar código-fonte]

A distância Tanimoto é comumente mencionada, erroneamente, como um sinônimo da distância Jaccard . Esta função é uma métrica de distância apropriada. A "distância Tanimoto" é comumente definida como sendo uma métrica de distância apropriada, provavelmente devido à esta confusão com a distância Jaccard.

Se a similaridade Jaccard ou Tanimoto é expressa por um vetor bit, então pode ser escrita como:

Onde o mesmo cálculo é expresso em termos de produto e magnitude de vetor escalar. Esta representação baseia-se no fato de que, para um vetor bit (onde o valor de cada dimensão é 0 ou 1):

e

Está é uma representação potencialmente confusa, pois a função expressa sobre vetores é mais genérica, a não ser que seu domínio seja restrito explicitamente. Propriedade de não se estendem necessariamente à . Particularmente, a função diferencial não preserva a desigualdade triangular, portanto não é uma métrica de distância apropriada, enquanto o é.

Há um risco real de que a combinação da "distância Tanimoto" sendo definida usando esta fórmula, em conjunto com a declaração "a distância Tanimoto é uma métrica de distância apropriada" levará à falsa conclusão de que a função é de fato uma métrica de distância sobre vetores ou multiconjuntos em geral, enquanto seu uso na busca por similaridades ou aglutinação de algoritmos pode falhar na produção de resultados corretos.

Lipkus[7] usa a definição da similaridade de Tanimoto que é equivalente à , e refere-se a distância Tanimoto como a função ..Porém, é esclarecido no artigo que o contexto é restrito pelo uso de um vetor ponderado (positivo) tal que, para qualquer vetor A sendo considerado, Sob estas circunstâncias, a função é uma métrica de distância apropriada, e então um conjunto de vetores governado por tal vetor ponderado forma um espaço métrico sob esta função.

Índice Jaccard em matrizes de confusão de classificação binária

[editar | editar código-fonte]

Em matrizes de confusão usadas para classificação binária, o índice Jaccard pode ser arranjado na seguinte fórmula:

Onde TP são os positivos reais, FP os falsos positivos e FN os falsos negativos.[14]

  1. Murphy, Allan H. (1996). «The Finley Affair: A Signal Event in the History of Forecast Verification». Weather and Forecasting. 11 (1): 3. Bibcode:1996WtFor..11....3M. ISSN 1520-0434. doi:10.1175/1520-0434(1996)011<0003:TFAASE>2.0.CO;2 
  2. Jaccard, Paul (fevereiro de 1912). «The Distribution of the Flora in the Alpine Zone.1». New Phytologist (em inglês). 11 (2): 37–50. ISSN 0028-646X. doi:10.1111/j.1469-8137.1912.tb05611.x 
  3. a b Tanimoto TT (17 de novembro de 1958). «An Elementary Mathematical theory of Classification and Prediction». Internal IBM Technical Report. 1957 (8?) 
  4. Chung NC, Miasojedow B, Startek M, Gambin A (dezembro de 2019). «Jaccard/Tanimoto similarity test and estimation methods for biological presence-absence data». BMC Bioinformatics. 20 (Suppl 15). 644 páginas. PMC 6929325Acessível livremente. PMID 31874610. arXiv:1903.11372Acessível livremente. doi:10.1186/s12859-019-3118-5 
  5. Mining of Massive Datasets. [S.l.]: Cambridge. 2020. ISBN 9781108476348  and p. 76-77 in an earlier version http://infolab.stanford.edu/~ullman/mmds/ch3.pdf
  6. Kosub S (abril de 2019). «A note on the triangle inequality for the Jaccard distance.». Pattern Recognition Letters. 120: 36–8. Bibcode:2019PaReL.120...36K. arXiv:1612.02696Acessível livremente. doi:10.1016/j.patrec.2018.12.007 
  7. a b Lipkus AH (1999). «A proof of the triangle inequality for the Tanimoto distance». Journal of Mathematical Chemistry. 26 (1–3): 263–265. doi:10.1023/A:1019154432472 
  8. Levandowsky M, Winter D (1971). «Distance between sets». Nature. 234 (5): 34–35. Bibcode:1971Natur.234...34L. doi:10.1038/234034a0 
  9. Chung NC, Miasojedow B, Startek M, Gambin A (dezembro de 2019). «Jaccard/Tanimoto similarity test and estimation methods for biological presence-absence data». BMC Bioinformatics. 20 (Suppl 15). 644 páginas. PMC 6929325Acessível livremente. PMID 31874610. arXiv:1903.11372Acessível livremente. doi:10.1186/s12859-019-3118-5 
  10. Chung NC, Miasojedow B, Startek M, Gambin A (dezembro de 2019). «Jaccard/Tanimoto similarity test and estimation methods for biological presence-absence data». BMC Bioinformatics. 20 (Suppl 15). 644 páginas. PMC 6929325Acessível livremente. PMID 31874610. arXiv:1903.11372Acessível livremente. doi:10.1186/s12859-019-3118-5 
  11. a b Moulton R, Jiang Y (2018). «Maximally Consistent Sampling and the Jaccard Index of Probability Distributions». International Conference on Data Mining, Workshop on High Dimensional Data Mining: 347–356. ISBN 978-1-5386-9159-5. arXiv:1809.04052Acessível livremente. doi:10.1109/ICDM.2018.00050 
  12. For example Intelligent Surveillance Systems. [S.l.]: Springer. 2011. ISBN 978-94-007-1137-2 
  13. Rogers DJ, Tanimoto TT (outubro de 1960). «A Computer Program for Classifying Plants». Science. 132 (3434): 1115–8. Bibcode:1960Sci...132.1115R. PMID 17790723. doi:10.1126/science.132.3434.1115 
  14. Aziz Taha, Abdel (2015). «Metrics for evaluating 3D medical image segmentation: analysis, selection, and tool». BMC Medical Imaging. 15 (29): 1–28. PMC 4533825Acessível livremente. PMID 26263899. doi:10.1186/s12880-015-0068-xAcessível livremente 

Ligações externas

[editar | editar código-fonte]