Вы находитесь на странице: 1из 4

Разработка «лёгкого» статистического комплекса для проведения

кластерного анализа (постановка задачи)


Статистический анализ данных является одним из важнейших
элементов любого достаточно сложного анализа в достаточно большом числе
предметных областей. Для упрощения проведения анализа существуют
специальные прикладные программы (часто называемые статистическими
пакетами), берущие на себя большую часть вычислительной работы.

В настоящее время большую часть программ, использующихся для


статистического анализа, можно разделить на 3 группы – офисные табличные
процессоры (Excel, LibreOffice Calc, WPS Office Spreadsheet),
специализированные статистические пакеты (SPSS, STATISTICA, SAS) и
языки программирования, использующиеся для статистической обработки
данных (R, Python). Чаще всего используются, конечно, табличные
процессоры – из-за своей очень широкой распространённости и фактической
бесплатности для конечного пользователя. К преимуществам офисных
табличных процессоров можно отнести широкую распространённость и
относительную простоту освоения, к недостаткам – сложность проведения
многих типов анализа. Например, такая часто используемая и полезная вещь,
как кластерный анализ, содержит итеративный алгоритм, реализовать
который в табличном процессоре крайне затруднительно.
Специализированные статистические пакеты, с одной стороны, очень
многофункциональны и в то же время относительно просты в освоении, но
возможность их использования ограничивается высокой ценой (а бесплатные
аналоги не реализуют такой же большой спектр статистических методов).
«Полноценные» языками программирования позволяют провести
практически любой анализ (а с учётом наличия большого числа готовых
библиотек – ещё и сделать это относительно быстро), но для использования
требуют как умения программировать в принципе, так и знания конкретного
языка хотя бы на базовом уровне (а для качественного анализа – ещё и
умения разбираться в большом объёме находящейся в нескольких местах
документации).

Безусловно, данная ситуация складывалась в течение длительного


времени и, в целом достаточно хорошо удовлетворяет потребностям
общества, однако, две категории пользователей в ней оказываются
недостаточно удовлетворены. Во-первых, это студенты не-программистских
специальностей, которым, однако, требуется работать со статистикой (в
первую очередь, экономисты). Во время обучения они с трудом выполняют
требуемый анализ в Excel и ему подобных (что затрудняет, например,
возможности для сравнения различных методов или параметров
кластеризации, особенно если данных относительно много), а после
окончания обучения – либо вообще не пользуются теми методами анализа,
которых нет в табличном процессоре (если работодатель не закупил
специализированный статистический пакет), либо вынуждены осваивать
закупленный статистический пакет совсем «с нуля». Вторая группа –
сотрудники, занимающиеся статистикой в фирмах, в которых не закуплены
статистические пакеты, а методы анализа, не реализованные в офисных
приложениях, применяются относительно редко. Когда нужда в применении
метода всё же возникает, начинаются сложности – статистический пакет ради
одного применения закупать нерационально (а возможности использования
trial-версий у них часто ограничены), изучать язык программирования –
долго, а результат нужен быстро. Конечно, прогресс не стоит на месте, и,
скорее всего, в скором времени писать несложные программы (а практически
все методы анализа уже реализованы в готовых библиотеках – достаточно
уметь их вызвать и сохранить результаты) будут уметь практически все,
однако, в настоящий момент это ещё не так, и существует потребность в
некотором «лёгком» статистическом комплексе для работы в связке с
распространёнными табличными процессорами.
Можно сформулировать следующие требования к «лёгкому»
статистическому комплексу:

1. Минималистичность – комплекс должен, в первую очередь,


реализовывать статистические методы, недоступные (или доступные с
большими затруднениями) стандартными средствами широко
распространённых табличных процессоров
2. Простота переноса данных в/из табличных процессоров – поскольку
целевая аудитория анализ данных проводит, в первую очередь, в
табличных процессорах, обмен данными с ними должен быть
минимально затруднён
3. Хорошая документированность – ко всем используемым алгоритмам
должна быть качественная, понятная документация и о самом
алгоритме, и о том, как им пользоваться
4. Широкое использование уже имеющихся библиотек
5. Кросс-платформенность

Кроме того, возможно, после разработки первой версии комплекса по


результатам общения с пользователями выяснится, что востребованными
являются также следующие возможности (в первую очередь, для упрощения
последующего перехода на другие, более многофункциональные программы
для анализа)

6. Создание по результатам анализа скрипта на распространённом языке


программирования (R/Python)
7. Похожесть на коммерческие статистические пакеты

Таким образом, можно поставить следующую задачу – разработка


статистического комплекса (программа + документация) для проведения
кластерного анализа (как наиболее востребованного по критериям «частота
применения» + «сложность реализации в табличном процессоре»),
минималистичного и простого в освоении. Разумным представляется
ориентироваться в первую очередь на Python – как имеющий огромную
коллекцию библиотек как для работы с данными, так и общего назначения
(например, для создания графического пользовательского интерфейса).