новости
статьи
.software

свободные программы для обработки данных

Задачи обработки данных встречаются практически во всех областях исследований (в частности, в экономике, физике, химии, биологии, медицине). К таким задачам относятся как описательные статистики и регрессионный анализ, так и различные преобразования данных (гистограммы, частотный анализ и анализ временных рядов), а также задачи извлечения признаков (feature extraction). Почти всегда требуется отображение данных и результатов их обработки в графическом виде.

Почти за полтора десятка лет массового использования средств вычислительной техники для решения указанных задач у российских пользователей сложилось стереотипное представление о наборе коммерческих («правовладельческих») программных средств. Термин «правовладельческий» означает, что в данном случае разработчик программы является владельцем всех прав на эту программу, а пользователь имеет право только пользоваться ею. Ниже в таблице приведены характерные представители стереотипного набора программ обработки данных с указанием фирм-разработчиков и цен на одно рабочее место (если есть расширения, приводятся цены базового комплекта).

1 Таблица 1. Стереотипные программы для обработки и анализа данных.


№ п/пНазваниеФирма-разработчикЦена на 1 компьютер, руб.
1Excel (компонент Microsoft Office Professional)Microsoft Corp.только Excel – около 5 000, Office – около 11 000
2StatisticaStatSoftоколо 38 500
3MathCadPTCоколо 36 500
4MATLABMathWorksоколо 82 000
5MathematicaWolfram Researchоколо 50 000
6OrgrinOrigin Lab.в России не продается
7MapleMaplesoftоколо 55 000


Информация о ценах на момент написания этой статьи (апрель 2007 г.) и фирмах-разработчиках получена с сайтов softline.ru и allsoft.ru – основных Интернет-магазинов программного обеспечения.

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

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

На фоне возрастающего интереса пользователей к свободному программному обеспечению имеет смысл рассмотреть свободные проекты, связанные с обработкой данных и научными расчетами. Полезно вспомнить, что свободное распространение программ является старой академической традицией, и занимались этим как раз ученые и сотрудники различных образовательных организаций, передавая друг другу программы, созданные «для себя» с целью решения конкретных исследовательских задач.

Основной справочник по свободным программам – ресурс www.sourceforge.net/softwaremap/ показывает более 15 000 проектов в категории
«Scientific/Engineering». Естественно, физически невозможно даже кратко рассмотреть их все, поэтому ниже приведен только краткий обзор нескольких прикладных пакетов.

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

OpenOffice.org Calc

Электронная таблица из пакета OpenOffice.org. Содержит набор функций для описательной статистики, позволяет вычислять F- и T-тесты, а кроме того, в категории функций «Подключаемый модуль» имеются функции комплексного переменного, а также функции Бесселя. Пакет OpenOffice.org интересен по двум причинам – во-первых, он по умолчанию поддерживает форматы документов ISO/IEC 26300 (OpenDocument Format), а во-вторых, он работает практически на всех операционных системах. Недостатком является бедность встроенных возможностей по построению трехмерных графиков.

Gnumeric

Электронная таблица из проекта GNOME Office. В дополнение к набору функций, аналогичных OpenOffice.org Calc, здесь имеются усиленные возможности по анализу данных, и в частности, дополнительный набор статистических инструментов:

- однофакторный и двухфакторный дисперсионный анализ;

- вычисление корреляции и ковариации;

- прогнозирование методами скользящего среднего и экспоненциального сглаживания;

- построение гистограмм;

- фурье-анализ;

- вычисление F-, T- и Z-тестов.

Gnumeric также является кросс-платформенным приложением, информацию о наличии сборки под конкретную операционную систему и версиях пакета можно получить на сайте проекта http://www.gnome.org/projects/gnumeric/. Имеется небольшая статья в Wikipedia. Gnumeric также не отличается богатством и разнообразием вариантов графиков.

Grace (xmgrace)

Пакет двумерной научной графики. Предназначен для обработки данных и подготовки результатов к публикации. На «входе» пакета, как правило, должен быть текстовый файл со столбцами данных, а на «выходе» получается графический файл заданного типа с высококачественным графиком. Основные возможности пакета в области обработки данных следующие:

- математические операции (арифметика и применение функций) с рядами данных;

- построение гистограмм;

- прямое и обратное преобразование Фурье с возможностью использования цифровой фильтрации;

- интерполяция методом скользящего среднего и сплайн-интерполяция;

- численное дифференцирование и интегрирование;

- анализ временных рядов путем исключения периодической компоненты (seasonal differences);

- линейная и нелинейная регрессия, нелинейная подгонка;

- вычисления корреляции, ковариации и свертки;

- извлечение признаков.

Пакет Grace распространяется в исходных текстах (сайт проекта http://plasma-gate.weizmann.ac.il/Grace), но существуют готовые сборки в некоторых дистрибутивах Linux (ALT, Debian, SUSE ...). Сборку для Windows не может найти даже Google, однако возможен запуск пакета в Cygwin-окружении. Про этот пакет также имеется небольшая статья в Wikipedia. Кроме того, на русском языке доступен русский перевод учебника
(http://heap.altlinux.ru/HeapContent/category1.html#grace_tutorial) и краткое руководство по использованию на сайте ЛИТ ОИЯИ
(http://www.jinr.ru/unixinfo/usersguide/index.php?link=9_).

Maxima

Пакет символьной математики, позволяющий проводить символьные преобразования: упрощения выражений, раскрытие скобок, возведение в степень. Кроме того, можно находить корни квадратных (и не только) уравнений, работать с тригонометрическими функциями и комплексными числами, строить двумерные и трехмерные графики. Большое количество встроенных функций, возможность создавать пользовательские функции и писать пользовательские программы делают пакет серьезным инструментом для профессионального применения. Сам по себе пакет работает в текстовом режиме, однако для Maxima существует несколько интерфейсов (оболочек), среди которых наиболее интересен TeXmacs – WYSIWYG-редактор для документов TeX. Сессия Maxima в TeXmacs представляет собой документ с расчетами и формулами типографского качества, который может быть преобразован как в PDF, так и в HTML и в TeX, а наличие в TeXmacs презентационного режима позволяет работать в программе прямо в ходе лекции или семинара. Более подробную информацию «из первых рук» можно получить на сайте проекта (maxima.sourceforge.net), а на русском языке доступны как материалы в Wiki
(http://ru.wikipedia.org/wiki/Maxima, http://lib.custis.ru/index.php/Maxima), так и учебник в журнале LinuxFormat (номера 7(81)/2006 – 12(86)/2006, см. www.linuxformat.ru). Как сам пакет Maxima, так и оболочки к нему (wxMaxima, TeXmacs) являются кросс-платформенными.

SciLab

Пакет числовой обработки данных. Основной режим работы – командный, однако имеется система визуального моделирования технических систем (Scicos). К основным функциям пакета можно отнести работу с матрицами (в том числе разреженными), решение обыкновенных дифференциальных уравнений, численное дифференцирование и интегрирование, построение двумерных и трехмерных графиков по формулам и по результатам расчетов, решение задач линейного программирования, а также возможность создания пользовательских программ. Пакет является кросс-платформенным, на сайте проекта (www.scilab.org) можно найти самые последние сборки для различных операционных систем. На русском языке подробную информацию и пособия по работе с пакетом можно получить как на сайте М. И. Павловой (http://www.csa.ru/~zebra/my_scilab/), так и на сайте Е. Р. Алексеева и О. В. Чесноковой (http://www.scilab.land.ru/).

GRETL (GNU Regression, Econometrics and Time-series Library)

Профессиональный кроссплатформенный пакет для решения задач эконометрики и анализа временных рядов (что и втдно по названию). На сайте проекта (gretl.sourceforge.net) можно найти сборки для различных платформ, а также дополнительные библиотеки и файлы примеров (на английском языке). Русские Интернет-ресурсы, посвященные пакету, найти довольно трудно, однако в начале 2007 года в издательстве «Горячая линия-Телеком» вышла книга Т.Куфеля «Эконометрика. Решение задач с применением пакета программ GRETL» (ISBN N 5-93517-307).

Описанные выше несколько программ, конечно, не исчерпывают всего разнообразия свободных программных средств для научных расчетов и обработки данных, однако они могут составить некий базовый набор, с помощью которого можно обеспечить существенную экономию средств при решении научных и исследовательских задач. Из всех перечисленных программ только Grace не является кросс-платформенной, но работает в Windows через опять-таки бесплатный эмулятор Cygwin. Таким образом, можно практически даром организовать мощную станцию для научных расчетов с использованием любимой операционной системы. А специально для людей, занимающихся научными расчетами, но не знающих иностранных языков, появляется все больше литературы на русском языке.



Иван Хахаев, ikh1@yandex.ru
обсудить статью
© сетевые решения
.
.