pequena biblioteca de discretização JS para representação de coroas

9

Gostaria de saber se existe uma pequena biblioteca stat / discretization js pronta para uso.

Eu sei sobre a existência do jStat (que eu posso explorar um pouco mais detalhadamente) e sei que o mapfish possui um módulo / widget de geoestatados para criar o mapa de choropleth - encontrei o código aqui . Mas ele depende de openlayers e eu gostaria de ter uma lib independente e, eventualmente, ser livre para me comunicar com openlayers.

Eu gostaria de ter alguns métodos básicos:

  • min
  • max
  • significar
  • mediana

e poder implementar a seguinte discretização com a capacidade de especificar o número de classes e a precisão (decimal):

  • Quantile
  • Intervalo igual
  • Pausas Naturais (Jenks)

Se ainda não existir, provavelmente codificarei algo e liberarei no github sob licença gratuita. Qualquer recurso e conselho é bem-vindo.

simo
fonte
11
Isso parece semelhante - code.google.com/p/pseudosavant/source/browse/trunk/mathStats/… Algum motivo para não aceitar o jStat?
geographika
De fato, a biblioteca que você mencionou poderia ter sido um bom começo. Por que não jstat? Porque eu não ver os métodos de discretização e é isso que eu estava realmente procurando em prioridade - Estatísticas métodos são uma espécie de bônus
simo

Respostas:

18

Bem, eu codifiquei algo ontem e o liberei sob a licença MIT.

A biblioteca, denominada geostats, está disponível no github . O pacote inclui exemplos. Você também poderá vê-lo em ação em http://www.intermezzo-coop.eu/mapping/geostats/ (com uma amostra concreta de representação de coropletas ).

Ele suporta os 8 métodos listados acima:

  • Quantile
  • Intervalos iguais
  • Desvio padrão
  • Progressão aritmética
  • Progressão geométrica
  • Quebras naturais (Jenks): o código de classificação Jenks foi retirado de Doug Curl .
  • Valores únicos
  • Classificação definida pelo usuário

A biblioteca também inclui um método para renderizar uma legenda no formato HTML . Veja exemplos de legenda em HTML para ver as opções disponíveis (classes contínuas, descontínuas e distintas).

Amostra de classificação quantil:

classificação e legenda do quantil

Amostra de classificação de valores exclusivos: insira a descrição da imagem aqui

Veja uma demonstração lendo valores diretamente do shapefile (usando a biblioteca Marc Harter).

Se você quiser tentar você mesmo em 2 etapas, usando o jsconsole :

Copie / cole no console, primeiro :

load("https://raw.github.com/simogeo/geostats/master/lib/geostats.js");

Em seguida , copie / cole:

var data = Array(12, 22, 5, 8, 43, 2, 34, 12, 34, 36, 5, 21, 23, 45, 12, 31, 38); 
serie = new geostats(data); 
serie.getEqInterval(4);
alert('Classification method : ' + serie.method + "\n\nClasses : " + serie.ranges.join(' | '));

Por favor, deixe-me saber se você descobrir algum bug. Mais uma vez, qualquer idéia ou sugestão é bem-vinda para aprimorar a biblioteca.

Isso é tudo! Espero que também seja útil para você.

simo
fonte
Cuidado - o link jsconsole realmente aponta para "jconsole.com", que é o agachamento de spam. Eu não tenho o karma necessário para corrigir isso. Alguém pode atualizar o link? Pode conter código malicioso.
Thibaut Barrère
1

Zachary Forest Johnson fez um ótimo trabalho para fornecer análises temáticas em camadas abertas.

A biblioteca está sob licença BSD, disponível no github . Mais explicações sobre o projeto e amostras estão disponíveis em seu blog .

simo
fonte
0

Acho que atualmente a melhor biblioteca é provavelmente estatística simples . É de alta qualidade e é usado pelo TurfJS. Ele usa " ckmeans " como uma melhoria em relação a Jenks.

Uma demonstração (mais antiga): http://bl.ocks.org/tmcw/4969184

Steve Bennett
fonte