Задать вопрос
@koliane

Как выбрать размеры интервалов для неравно интервального вариационного ряда?

Делаю карту мира, где нужно раскрасить разными цветами страны в зависимости от их численности населения. Всего должно быть, например, 8 цветов. Как определить границы интервалов, т.е. значения численности от-до, для каждого цвета?
Вот более наглядный пример того, что имею ввиду и что хотелось бы в итоге получить, на сайте ourworldindata:
685aecc10254c168430023.png
На картинке видно, что
  • для населения более 1 млрд. людей есть всего 2е страны
  • для населения от 300 млн. и до 1 млрд. одна страна (США)
  • а для населения от 10 млн. до 30 млн. стран больше 30

Хотелось бы сделать также или похоже. Ясно, что тут как-то опирались на плотность распределения.
Есть ли уже известные устоявшиеся подходы для определения границ таких интервалов? Как это сделать более оптимально?
Решение/подход должно подходить не только для задачи с "численностью населения", но и для множества других разбивок, например, по ВВП или среднему возрасту и т.д.
Если можно, то хорошо бы увидеть примеры решения.

Если кому-то нужны данные для экспериментов, то их можно скачать на том же сайте, кликнув на кнопку Download-> Вкладка Data -> клик на Download displayed data
Формат данных (.csv) следующий:
Entity,Year,all years
Afghanistan,2023,41454709
Albania,2023,2811615
  • Вопрос задан
  • 68 просмотров
Подписаться 1 Средний 5 комментариев
Пригласить эксперта
Ответы на вопрос 2
wataru
@wataru Куратор тега Математика
Разработчик на С++, экс-олимпиадник.
Тут есть 2 цели: передать как можно больше информации, сделать график читаемым.

По первой цели надо выбрать такую шкалу, чтобы как можно больше разных цветов было на графике. Можно, например, максимизировать энтропию. Пусть pi - доля стран цвета i. Надо максимизировать sumi=1..n -log(pi) pi

По второй цели - надо выбрать красивые круглые границы. Ну не воспримет человек, если у вас граница цевета будет 111 234 564 человек. Ему проще будет 100 000 000. Плюс, произвольные числа на шкале делать не принято. Обычно делают только 2 типа шкал: линейная и логарифмическая. В линейной каждая граница на одно и тоже число больше, в логарифмической в одно и то же число раз. У вас на примере логарифмическая шкала, чуть округленная до круглых чисел. Если тут взять линейную, то почти все страны попадут в белый цвет из-за парочки очень больших стран.
Ответ написан
mayton2019
@mayton2019
Bigdata Engineer
Можно прогнать численность через алгоритм кластеризации. Где число кластеров 8.
Это по количеству цветных сегментов в легенде.

И по кластеризации можно выбрать любое красивое число больше либо равно центра кластера.

Сама цветовая маркировка может быть линейной. Тут она по сути показыват ранг а не величину.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы