крошечная библиотека дискретизации JS для хороплетного представления

9

Я хотел бы знать, существует ли крошечная библиотека js stat / discretification, готовая к использованию.

Я знаю о существовании jStat (которое я могу исследовать немного более подробно), и я знаю, что у mapfish есть модуль / виджет geostats для создания картограммы - я нашел код здесь . Но это зависит от openlayers, и я хотел бы иметь автономную библиотеку и в конечном итоге иметь возможность общаться с openlayers.

Я хотел бы иметь несколько основных методов:

  • мин
  • Максимум
  • жадный
  • медиана

и иметь возможность реализовать следующую дискретизацию с возможностью указывать количество классов и точность (десятичную):

  • Quantile
  • Равный интервал
  • Естественные Перерывы (Дженкс)

Если он еще не существует, я, вероятно, сам что-то кодирую и выпущу на github под свободной лицензией. Любой ресурс и совет приветствуются.

Симо
источник
1
Это выглядит примерно так - code.google.com/p/pseudosavant/source/browse/trunk/mathStats/… Есть причина, по которой вы не будете использовать jStat?
география
Действительно, библиотека, которую вы упомянули, могла бы стать хорошим началом. Почему не JSTAT? Потому что я не вижу методов дискретизации, и это то, что я искал в приоритете - методы статистики являются своего рода бонусом
simo

Ответы:

18

Ну, я вчера что-то кодировал и выпустил под лицензией MIT.

Библиотека с именем geostats доступна на github . Пакет включает в себя примеры. Вы также сможете увидеть его в действии на http://www.intermezzo-coop.eu/mapping/geostats/ (с конкретным образцом хороплетного представления ).

Он поддерживает 8 методов, перечисленных выше:

  • Quantile
  • Равные интервалы
  • Среднеквадратичное отклонение
  • Арифметическая прогрессия
  • Геометрическая прогрессия
  • Natural Breaks (Jenks): классификационный код Дженкса взят из Doug Curl .
  • Уникальные ценности
  • Пользовательская классификация

В библиотеке также есть метод визуализации легенды в формате HTML . Посмотрите примеры легенды HTML, чтобы увидеть доступные опции (непрерывные, прерывистые, отдельные классы).

Квантильный образец классификации:

квантильная классификация и легенда

Пример классификации уникальных ценностей: введите описание изображения здесь

Смотрите демонстрационные значения для чтения непосредственно из шейп-файла (используя библиотеку Marc Harter).

Если вы хотите попробовать в два этапа, используя jsconsole :

Сначала скопируйте / вставьте в консоль :

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

Затем выполните копирование / вставку:

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(' | '));

Пожалуйста, дайте мне знать, если вы обнаружите какую-либо ошибку. Еще раз, любая идея или предложение приветствуется для улучшения библиотеки.

Это все! Надеюсь, это также будет полезно для вас.

Симо
источник
Осторожно - ссылка на jsconsole на самом деле указывает на "jconsole.com", который является приседанием спаммера У меня нет необходимой кармы, чтобы это исправить. Кто-нибудь может обновить ссылку? Он может содержать вредоносный код.
Тибо Баррер
1

Захари Форест Джонсон проделал огромную работу, предоставив тематический анализ для открытых слоев.

Библиотека находится под лицензией BSD, доступна на github . Дополнительные пояснения по проекту и образцы доступны в его блоге .

Симо
источник
1

science.js - это хорошо реализованный набор функций статистики и линейной алгебры без каких-либо зависимостей.

tmcw
источник
Интересно, но я не видел методов классификации. Они?
Симо
Есть несколько, как github.com/jasondavies/science.js/blob/master/src/stats/...
tmcw
0

Я думаю, что в наши дни лучшая библиотека, вероятно, простая статистика . Это очень высокое качество и используется TurfJS. Он использует « ckmeans » как улучшение по сравнению с Дженксом.

(Более старая) демонстрация: http://bl.ocks.org/tmcw/4969184

Стив Беннетт
источник