SUN

Як рахуються групи думок

Спершу простими словами, нижче — для тих, хто хоче деталей і формул.

Простими словами

  1. Таблиця голосів. Кожен учасник — рядок, кожна теза — стовпчик. У клітинці: «згоден», «не згоден» або «пропустив». Більше нічого алгоритм не бачить.
  2. Текст він не читає. Алгоритм не розуміє змісту тез. Він лише порівнює, хто за які тези голосував однаково.
  3. Карта. Таблицю стискаємо до плоскої картинки: люди, які голосували схоже, лягають поруч, а ті, чиї голоси розходяться, — далеко одне від одного. Кожна точка на карті — учасник.
  4. Групи. На карті шукаємо скупчення точок і називаємо їх групами. Групу визначає не хто ти за паспортом чи країною, а як ти голосував(-ла).
  5. Що показати про групу. Для кожної групи беремо тези, які її найкраще відрізняють від решти, і тези, за які всі групи голосують однаково (спільне).

Чого це не означає

  • Це не опитування і не «скільки відсотків українців так думає». Це карта ліній згоди й розходжень.
  • Групи не є «правильними» чи «неправильними» й не пов'язані з національністю чи країною проживання.
  • Поки учасників мало, групи нестабільні: за кілька днів їх може стати більше чи менше, а межі зсунутися. Орієнтир — понад 100 учасників для стабільнішої картини, і ще більше для репрезентативності.
  • Назви груп (А, Б…) технічні. Змістовні назви дамо у звіті, коли групи стабілізуються.
  • Відповіді дають ті, хто сам знайшов розмову й дійшов до голосування, тож це не зріз усіх українців.

Для тих, хто хоче деталей

Розрахунок повторює метод Pol.is і виконується відкритою бібліотекою red-dwarf (режим «Polis»).

  1. Матриця. Голоси кодуємо як +1 (згоден), −1 (не згоден), 0 (пропустив); відсутній голос — пропуск у даних. У розрахунок потрапляють учасники з щонайменше 7 голосами (поріг Pol.is) і лише тези, схвалені модератором. Учасники, яких система позначила як ботів, не враховуються до ручної перевірки.
  2. PCA (метод головних компонент). Знаходимо дві осі, уздовж яких голоси варіюються найбільше, й проєктуємо учасників на ці осі. Пропущені значення заповнюються оцінкою, щоб їх не вважали крайньою думкою.
  3. k-means. Ділимо точки карти на k груп так, щоб сума квадратів відстаней до центру групи була найменшою. Число k не задаємо вручну: пробуємо кілька значень і вибираємо найкраще за якістю розділення (silhouette).
  4. Стабілізація. У «живому» режимі k-means стартує з центрів попереднього розрахунку, а k змінюється, лише якщо нове значення виявилося кращим 3 перерахунки поспіль. Без цього групи «мигали» б між, наприклад, 4 і 5 після кожного голосу. Букви груп зберігаються за перетином учасників.
  5. Репрезентативні тези. Для кожної групи беремо тези, де її частка згодних (або незгодних) значно відрізняється від решти, за статистичним тестом на різницю часток. Консенсус — тези, де в усіх групах схильність голосувати в один бік висока.
  6. Приватність. Групи менші за 3 людини приховано. Публічно показуємо лише агрегати, а положення окремих точок на карті — лише самому учаснику.

Перевірка: на даних розмови від 15.10 цей метод розділив 38 учасників так само, як звіт Pol.is (індекс збігу Adjusted Rand = 1,0). Обмеження red-dwarf: немає «базових кластерів» Pol.is (він вмикає їх за понад 100 учасників, тож збіг може стати неповним) і немає «пам'яті» про минулих учасників. Режим звіту рахує без стабілізації й відтворюється з голосів.

Теж цікаво: як обираються тези.

← До результатів