Задание 27 ЕГЭ по информатике. Анализ данных

Теория

Основные понятия

  • Точки (звёзды) заданы координатами (x, y) на плоскости.
  • Кластеры — группы точек, которые можно поместить в непересекающиеся прямоугольники заданных размеров H×W.
  • Центр кластера — точка, сумма расстояний от которой до всех остальных точек кластера минимальна.
  • Расстояние между точками (x1, y1) и (x2, y2) вычисляется по формуле Евклида:
    =КОРЕНЬ((x1 - x2)^2 + (y1 - y2)^2)

Структура таблицы

Создайте лист с колонками:

  1. A — координата X
  2. B — координата Y
  3. C — номер кластера (1, 2 или 3; аномалии — 0)
  4. D — расстояние до центра (служебный столбец)
  5. E — сумма расстояний (служебный столбец для кандидатов в центр)

Построение графика (диаграммы рассеяния)

  1. Выделите столбцы A и B.
  2. В меню выберите: Вставка → Диаграмма.
  3. Тип диаграммы: Точечная (XY).
  4. Удалите линии, оставьте только маркеры — это звёзды.
  5. Для файла B по графику видно 3 плотных скопления и 3 одиночные точки — это аномалии (им присвоим кластер = 0).

Определение кластеров

  • Файл A: две плотные группы точек → кластеры 1 и 2.
  • Файл B: три плотные группы → кластеры 1, 2 и 3; аномальные точки → кластер 0.

Укажите номера кластеров в столбце C вручную, ориентируясь на график.

Упрощённый алгоритм поиска центра

  1. Вычисляем средние (или медианные) координаты каждой группы.
  2. Находим 5 точек, наиболее близких к этим средним значениям — это кандидаты на центр.
  3. Для каждого кандидата считаем сумму расстояний до всех точек своего кластера.
  4. Точка с наименьшей суммой расстояний — центр кластера.

Полезные формулы LibreOffice (русская локализация)

  • Среднее значение по кластеру (для X и Y):=СРЗНАЧЕСЛИ($C$2:$C$1001; 1; $A$2:$A$1001) — для X;

    =СРЗНАЧЕСЛИ($C$2:$C$1001; 1; $B$2:$B$1001) — для Y.

  • Расстояние от точки до центра (x̄,ȳ) (если в ячейках G2 и H2 записаны средние координаты):=ЕСЛИ($C2=1; КОРЕНЬ((A2-$G$2)^2 + (B2-$H$2)^2); "")
  • Сумма расстояний от кандидата до всех точек кластера:=СУММПРОИЗВ( КОРЕНЬ((A$2:A$1001 - $A2)^2 + (B$2:B$1001 - $B2)^2); ($C$2:$C$1001=$C2) )
  • Расстояние между центрами двух кластеров:=КОРЕНЬ((x1 - x2)^2 + (y1 - y2)^2)

Примеры решений заданий

Файл A (2 кластера, H=6, W=4,5)

  1. Импортируйте данные в столбцы A (x) и B (y).
  2. Постройте точечную диаграмму. Визуально определите 2 кластера.
  3. В столбце C укажите номера кластеров: 1 и 2.
  4. Для каждого кластера вычислите средние координаты:G2 = СРЗНАЧЕСЛИ($C$2:$C$1001; 1; $A$2:$A$1001)

    H2 = СРЗНАЧЕСЛИ($C$2:$C$1001; 1; $B$2:$B$1001)

    G3 = СРЗНАЧЕСЛИ($C$2:$C$1001; 2; $A$2:$A$1001)

    H3 = СРЗНАЧЕСЛИ($C$2:$C$1001; 2; $B$2:$B$1001)

  5. Вычислите расстояния до среднего значения (в столбце D):=ЕСЛИ($C2=1; КОРЕНЬ((A2-$G$2)^2 + (B2-$H$2)^2); "")

    Отсортируйте по возрастанию D, выберите 5 ближайших точек — кандидаты в центр.

  6. Для каждого кандидата вычислите сумму расстояний до всех точек своего кластера (в столбце E):=СУММПРОИЗВ( КОРЕНЬ((A$2:A$1001 - $A2)^2 + (B$2:B$1001 - $B2)^2); ($C$2:$C$1001=$C2) )

    Минимальное значение в столбце E определяет центр кластера.

  7. Повторите шаги для второго кластера (Cluster=2).
  8. После нахождения центров кластеров:min_x = МИН(центр_X_1; центр_X_2)

    min_y = МИН(центр_Y_1; центр_Y_2)

  9. Для итогового вывода (масштаб ×10000):=ABS(ЦЕЛ(min_x*10000))

    =ABS(ЦЕЛ(min_y*10000))

Файл B (3 кластера, H=6, W=5, 3 аномалии)

  1. Импортируйте данные, постройте диаграмму рассеяния.
  2. На графике отметьте 3 одиночные точки (аномалии), в столбце C присвойте им значение 0.
  3. Для оставшихся точек определите кластеры: 1, 2, 3.
  4. Для каждого кластера вычислите средние координаты:=СРЗНАЧЕСЛИ($C$2:$C$1001; 1; $A$2:$A$1001) и аналогично для Y.
  5. Повторите шаги 5–6 из примера A для определения центра каждого кластера.
  6. Посчитайте количество точек в каждом кластере:=СЧЁТЕСЛИ($C$2:$C$1001; 1),

    =СЧЁТЕСЛИ($C$2:$C$1001; 2),

    =СЧЁТЕСЛИ($C$2:$C$1001; 3)

  7. Определите кластеры с минимальным и максимальным количеством точек.
  8. Вычислите расстояние между центрами этих кластеров:=КОРЕНЬ((x_макс - x_мин)^2 + (y_макс - y_мин)^2)
  9. Для каждого кластера вычислите максимальное расстояние от центра до звезды:=МАКС(ЕСЛИ($C$2:$C$1001=c; КОРЕНЬ((A$2:A$1001 - x_c)^2 + (B$2:B$1001 - y_c)^2))) (ввод как формулу массива).
  10. Общий максимум по всем кластерам:=МАКС(радиус_1; радиус_2; радиус_3)
  11. Для итогового вывода (масштаб ×10000):=ЦЕЛ(расстояние_между_центрами*10000)

    =ЦЕЛ(максимальное_расстояние*10000)

Шаблон формул для LibreOffice Calc (русская локализация)
Средние координаты кластера 1:
G2: =СРЗНАЧЕСЛИ($C$2:$C$1001;1;$A$2:$A$1001)
H2: =СРЗНАЧЕСЛИ($C$2:$C$1001;1;$B$2:$B$1001)

Расстояния до центра:
D2: =ЕСЛИ($C2=1;КОРЕНЬ((A2-$G$2)^2+(B2-$H$2)^2);"")

Сумма расстояний до всех точек кластера:
E2: =СУММПРОИЗВ(КОРЕНЬ((A$2:A$1001-$A2)^2+(B$2:B$1001-$B2)^2);($C$2:$C$1001=$C2))

Количество точек в кластере:
=СЧЁТЕСЛИ($C$2:$C$1001;1)

Минимальная абсцисса и ордината центров (файл A):
=МИН(x1;x2)
=МИН(y1;y2)

Расстояние между центрами кластеров (файл B):
=КОРЕНЬ((x_макс - x_мин)^2 + (y_макс - y_мин)^2)

Максимальное расстояние от центра до звезды:
=МАКС(ЕСЛИ($C$2:$C$1001=c;КОРЕНЬ((A$2:A$1001-x_c)^2+(B$2:B$1001-y_c)^2)))

Окончательные значения для ответа:
=ABS(ЦЕЛ(min_x*10000))   =ABS(ЦЕЛ(min_y*10000))
=ЦЕЛ(dist_minmax*10000)  =ЦЕЛ(max_radius*10000)

Практические замечания

  • Вместо медианы используем среднее значение — это проще и достаточно точно для учебных данных.
  • Аномалии легко определить визуально по диаграмме и исключить вручную.
  • Все функции приведены в русской локализации LibreOffice Calc. Параметры разделяются точкой с запятой.
  • Используйте автозаполнение и фильтры, чтобы ускорить выбор кандидатов.

Задания для тренировки

Простые

Средние

https://inf-ege.sdamgia.ru/problem?id=70554  Смотреть разбор

https://kompege.ru/task?id=21425  Смотреть разбор

https://kompege.ru/task?id=21932  Смотреть разбор

Сложные

Понравилась статья? Поделиться с друзьями:
Школа Виктора Комлева