Наиболее распространенной областью применения компьютеров Apple считается работа с графикой и видео. Полный цикл допечатной подготовки изданий, видеомонтаж — в том числе профессиональный — и тому подобные задачи часто эффективно решаются на Macintosh. Вместе с тем это далеко не единственная область, в которой данные компьютеры могут успешно использоваться.

Второе традиционное направление, на которое ориентированы Apple Macintosh, — образование и наука. Причем речь идет не только об Америке и Европе: активность Apple в продвижении своих компьютеров на российский образовательный рынок также довольно велика, о чем «Мир ПК» уже неоднократно писал (см., например, «Мир ПК», №1/02, с. 140, №7/03, с. 109).

Однако решение подобных задач требует соответствующего программного обеспечения: офисного, учебного, научного. Офисные пакеты для Macintosh хорошо известны, достаточно упомянуть AppleWorks, о котором мы тоже рассказывали (см. «Мир ПК», №6/2000, с. 86). Разработка русскоязычного образовательного ПО также ведется весьма активно. Однако «яблочное» ПО для научных и прикладных исследований, инженерных работ известно у нас мало, поэтому мы и решили обратиться к данной теме.

Наше внимание привлек продукт американской компании StatSoft — STATISTICA for the Macintosh 4.1, который представляет собой многофункциональный пакет статистической обработки данных, ориентированный на самый широкий круг пользователей, от студентов до специалистов.

Компания StatSoft хорошо известна на рынке статистических приложений для Windows№, и сразу следует оговориться, что мы, конечно, не могли избежать сравнения версий для разных платформ (использовалась STATISTICA for Windows 5.5). Но поскольку такое сравнение не являлось нашей основной задачей, мы выделили соответствующий материал мелким шрифтом.

В комплект поставки входит диск с дистрибутивом и три тома прекрасно подготовленного руководства пользователя, «по совместительству» являющегося весьма неплохим учебником по статистике, поскольку в нем объяснено назначение, суть и возможности применения всех имеющихся в распоряжении пользователя методов.

В STATISTICA for Windows аналогичный по объему и качеству текст помещен также и в электронную справочную систему, что особенно удобно. Справка в версии для Macintosh значительно более скупа.

Инсталляция пакета не представляет каких-либо трудностей и производится автоматически, однако предусмотрен и «ручной» вариант установки на случай, если проблемы все же возникли.

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

В STATISTICA for Windows 5.5 также использована модульная архитектура приложения: каждый модуль представлен отдельным исполняемым файлом (*.exe), сопровожденным соответствующей динамической библиотекой (*.dll). Переключение между модулями осуществляется небольшим Переключателем (Module Switcher), который вызывается из меню любого модуля или же по двойному щелчку мыши на свободной от окон части рабочей области приложения. На этот же Переключатель модулей ссылается ярлык «STATISTICA» в главном меню.

Итак, что же может STATISTICA? Ниже перечислены ее основные модули, входящие в полный базовый дистрибутив (помимо него существует вариант поставки Quick STATISTICA, содержащий сокращенный набор модулей; кроме того, отдельно можно приобрести еще ряд модулей, например для работы с нейронными сетями — STATISTICA Neural Networks)?.

  1. Основной модуль (Basics and Edit, STATISTICA). Это базовый модуль, который предназначен для выполнения наиболее общих и часто встречающихся задач: редактирования исходных данных, их графического анализа (STATISTICA, помимо прочего, предоставляет широчайшие возможности по работе с двух- и трехмерными графиками, в том числе в первую очередь со статистическими) и для работы с так называемыми основными статистиками (basic statistics), куда входят описательные статистики, корреляции, t-тесты, таблицы кросстабуляции и проч.
  2. Непараметрическая статистика и распределения (Nonparametrics/Distributions). Этот модуль позволяет проводить непараметрический анализ: здесь реализованы такие процедуры, как анализ по критериям Манна-Уитни, Колмогорова-Смирнова (двухвыборочный), Вилкоксона, непараметрические альтернативы дисперсионного анализа - Краскел-Уоллиса, Фридмана и др.
  3. Множественная регрессия (Multiple Regression). В этом модуле реализованы процедуры различных видов множественной регрессии, а также фиксированной нелинейной регрессии.
  4. Дисперсионный анализ (ANOVA/MANOVA). В данном модуле собраны различные процедуры дисперсионного анализа: одно- и многофакторные его модели, ковариационный и дискриминантный анализы.
  5. Кластерный анализ (Cluster Analysis). В этом модуле представлены основные классификационные процедуры: методы объединения, двухвходового объединения и К средних.
  6. Факторный анализ (Factor Analysis).
  7. Анализ выживаемости (Survival Analysis).
  8. Нелинейное оценивание (Nonlinear Estimation). В этом модуле реализованы сложные модели нелинейного регрессионного анализа, включая логит, пробит регрессию и регрессию экспоненциального роста.
  9. Дискриминантный анализ (Discriminant Function Analysis).
  10. Анализ надежности и анализ пунктов (Reliability/Item Analysis).
  11. Канонический анализ (Canonical Correlation).
  12. Лог-линейный анализ (Log-linear Analysis).

Любая работа в STATISTICA начинается с файла данных (недаром по умолчанию последний использовавшийся файл открывается автоматически при запуске любого модуля). Файл данных состоит из общего заголовка (Header), описания (Comment) и собственно данных, представленных в таблице (так называемая Spreadsheet). Строки этой таблицы, именуемые наблюдениями (Cases), представляют всю информацию об одном объекте (это может быть, к примеру, компьютер), а в столбцах — переменных (Variables) — содержится указание на тип этой информации (для компьютера могут быть указаны тип процессора, его частота, объем оперативной памяти, жесткого диска и т. п., каждый показатель в отдельной переменной). И переменные, и наблюдения имеют уникальные имена.

Основной формат хранения данных в STATISTICA — числовой, в зависимости от установок, задаваемых при создании файла данных, в каждой ячейке хранится число с 15 или шестью значащими разрядами. Однако для удобства манипуляций и анализа данных, имеющих нечисловую природу (в нашем примере — тип процессора, скажем), предусмотрена возможность для каждой переменной указать так называемые текстовые метки (Text Labels), сопоставляющие числовое значение переменной и некоторое его текстовое обозначение. Обозначив процессоры Intel числом 101, а процессоры AMD — числом 102, мы сможем во всем последующем анализе данных манипулировать текстовыми метками (хотя сама STATISTICA будет использовать внутреннее числовое представление).

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

Для автоматизации сложных преобразований данных предусмотрен даже специальный язык программирования QuickMML, позволяющий реализовывать довольно сложные алгоритмы. Синтаксис этого языка, по утверждению разработчиков, схож с Бейсиком, нам он, однако, значительно больше напомнил Паскаль — стоило только увидеть обрамляющие текст программы begin и end, а также оператор присваивания :=. В любом случае за счет использования операторов ветвления и циклов и простоты доступа ко всем структурным элементам файла данных этот язык дает возможность делать с данными практически все в автоматическом режиме, что незаменимо при больших объемах часто повторяющихся задач. К сожалению, текущая версия STATISTICA for the Macintosh не позволяет автоматизировать собственно статистические процедуры. Остается лишь надеяться на выход новых версий, благо почва подготовлена: с помощью такого мощного инструмента, как AppleScript можно реализовать очень удобный и полнофункциональный язык автоматизации расчетов.

Основное окно STATISTICA

А вот в STATISTICA for Windows дело обстоит совсем иначе: средства автоматизации реализованы в ней чрезвычайно широко. Прежде всего, как, скажем, приложения MS Office, STATISTICA допускает запись макросов, при которой отслеживаются все движения мыши и нажатия клавиш. Запись мыши предназначена скорее для образовательных целей: она обеспечивает возможность точного воспроизведения действий на экране, а вот запись так называемого Keyboard Macro обеспечивает действительно точное пошаговое выполнение всех необходимых команд. Однако это только первый, наиболее элементарный уровень автоматизации статистических процедур.

Вторым является внутренний макроязык STATISTICA Command Language, обеспечивающий полный доступ ко всем функциям STATISTICA, и в первую очередь как раз к статистическим процедурам. Это наиболее мощный «статистический» язык, который, однако, требует специального освоения.

Третий уровень, на котором осуществляется автоматизация, — это язык STATISTICA Basic, представляющий собой расширение Basic под нужды конкретного приложения с возможностью использования его функций из внешних Visual Basic-приложений за счет открытого API. Он, правда, не обеспечивает прямого доступа к статистическим процедурам, но значительно более функционален, чем QMML, за счет богатого набора функций работы с матрицами и распределениями, а также возможности построения графиков. Следует отметить, что в более поздней, чем описываемая нами, версии STATISTICA for Windows — 6.0, гораздо точнее «подведенной» под стандарты Microsoft Windows, главным средством автоматизации является интегрированная среда Microsoft VBA. Так что «классический» STATISTICA Basic превратился в объектно-ориентированный STATISTICA Visual Basic for Applications, в котором организован прямой доступ к статистическим процедурам, а также ведется запись макросов.

Крайне интересна реализация пользовательского интерфейса, обеспечивающего взаимодействие с таблицей данных (а также с другими типами окон STATISTICA): панели инструментов встроены в само окно и расположены по его краям. На вертикальной панели находятся кнопки копирования, вырезания, вставки и доступа к справке. Горизонтальная же панель позволяет осуществлять множество наиболее часто выполняемых операций над файлом данных или выделенным блоком: быстро строить статистические графики по переменным, представленным в таблице (о графических возможностях STATISTICA речь пойдет дальше), изменять структуру файла данных, добавляя или удаляя переменные и наблюдения, вносить изменения в свойства переменных, управлять отображением данных, сохранять или печатать файл, работать с QMML.

Что касается взаимодействия с другими приложениями, то помимо собственного формата хранения данных поддерживаются формат версий STATISTICA для DOS и Windows, текстовый формат (ASCII, в качестве разделителя можно указать любой символ) и, самое важное, формат Microsoft Excel: опыт работы в STATISTICA показывает, что начальную подготовку данных удобнее проводить именно в этом приложении.

Редактор данных STATISTICA for Windows более функционален и содержит, например, такие возможности, как заполнение ячеек по какому-либо закону (скажем, прогрессии) или путем «растягивания» за специальный маркер в углу ячейки (пользователям Excel эта процедура хорошо знакома). Однако и здесь специализированный табличный редактор, с которым налажена «связь» через импорт/экспорт, оказывается удобнее.

Кроме того, в STATISTICA for Windows предусмотрен специализированный модуль для работы с данными — «Управление данными» (Data Management/MFM). Он непосредственно предназначен для выполнения операций над файлами данных STATISTICA и позволяет помимо стандартных действий, доступных из любого модуля, выполнять слияние файлов или, напротив, разделение одного файла на несколько независимых, проверку корректности форматов имен переменных и наблюдений в соответствии с различными стандартами (STATISTICA, dBase, SPSS), а также производить операции над так называемыми мегафайлами (Megafiles), структурированными как базы данных. Последние используются преимущественно в тех случаях, когда размер самого файла (размерность таблицы) или тип и размер единицы данных превышают ограничения, накладываемые форматом файла STATISTICA, что происходит, к примеру, в системах промышленного контроля качества (модуль «Контроль качества» — Quality Control) с автоматическим заполнением таблиц данных результатами измерений.

Результаты анализа

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

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

В файле исходных данных (на рисунке «Результаты анализа» это левое окно) представлены результаты нашего «эксперимента». Он содержит три переменные: название тестируемого «патча» (как мы уже указывали, на самом деле STATISTICA работает с числовыми переменными, однако для удобства есть возможность поставить им в соответствие произвольные текстовые метки, чем мы и воспользовались), результаты до применения «патча» (Before, для обоих случаев это одни и те же результаты) и после этого (After).

Главной идеей проведенного нами анализа (t-теста) является сравнение средних величин по десяти испытаниям до и после применения каждого «патча». Чтобы получить результат (две таблички справа на экранном снимке), достаточно отметить несколько значений в диалоговом окне процедуры t-теста для зависимых выборок (t-test for dependent samples). Оно содержит перечень всех переменных, в котором простым выделением нужно указать, какие из них мы сравниваем (Before и After), а также строчку, позволяющую осуществлять выборочное включение наблюдений в анализ (Select Cases). Последнее мы используем для того, чтобы выбрать сначала результаты по первому «патчу», а затем по второму, записав в этой строке выражение v1=?patch1? и v1=?patch2? соответственно.

В окошке результатов нас интересует всего одна цифра — значимости различий средних величин (обозначенная в таблице как «р»). В первом случае (для первого «патча») различия значимы, поскольку p<0,05, во втором — нет. Соответственно мы можем сделать статистически достоверный вывод о том, что первая программка действительно работает, тогда как вторая не улучшает производительности приложения.

Интерактивное взаимодействие с окном результатов

Помимо таблиц данных STATISTICA оперирует еще несколькими типами окон и файлов. Один из них — таблицы результатов (ScrollSheets). Кроме своего функционального назначения — представлять результаты статистического анализа, — они мало чем отличаются от таблиц данных, их тоже можно редактировать, сохранять как отдельные файлы собственного типа или же как файлы данных для последующего анализа. В них также представлены панели инструментов, позволяющие манипулировать полученными результатами. Например, легко сравнить средние значения переменных, полученные с помощью процедуры «Описательные статистики» (Descriptive Statistics), построив их график (см. рис. «Интерактивное взаимодействие с окном результатов», результат выбора выделенного пункта выпадающего меню — на заднем плане). Еще одну очень удобную возможность предоставляет кнопка «Далее» (Continue...) на панели инструментов таблицы результатов, позволяющая перейти к следующему шагу анализа или следующей таблице, если анализ предполагает вывод нескольких.

А вот чего нам очень не хватало, так это графического выделения значимых результатов: STATISTICA for Windows выделяет их красным цветом, что позволяет сразу увидеть, где есть результат, а где нет. Это практически незаменимо, если приходится работать с большими объемами данных, скажем, анализировать таблицу корреляций 30Ё30 переменных.

Графические возможности STATISTICA

Теперь настало время сказать и о графических возможностях STATISTICA. Простой перечень типов графиков, которые могут быть построены, занял бы, пожалуй, как минимум полколонки, поэтому смотрите рисунок, на котором изображены меню графиков, не забывая о том, что в каждом из основных типов есть еще множество вариантов.

Основным назначением графической подсистемы STATISTICA является не столько графическое представление данных (как, скажем, в Excel), сколько непосредственно графический статистический анализ данных и графическое сопровождение процедур статистического анализа. Этим определяется множество собственно статистических типов графиков: гистограммы, которые отображают распределение переменных (не следует путать их с простым столбчатым отображением любых данных), диаграммы рассеяния (Scatterplots), диаграммы размаха (Box Plots) и многие другие. Однако дело не только в этом. Та же гистограмма может отображать как распределение переменной, так и кривую какого-либо стандартного распределения (нормального, скажем), что позволяет провести сравнение. На диаграмме рассеяния может отображаться регрессионная функция, при этом в заголовке графика она будет указана в виде формулы, и т. д. Трехмерные графики, как это видно на рисунке «Трехмерный график», можно вращать в реальном времени.

Не забыта и «оформительская» часть. На готовом графике можно настроить практически все что угодно: цвета, заливку и шрифты, линии и маркеры данных, оси координат и т. п. Кроме того, небольшая «висящая» панель инструментов позволяет добавлять надписи и стандартные объекты вроде геометрических фигур, линий и стрелок. Для управления всем этим богатством используется встроенная в окно панель инструментов. Разумеется, графики также могут быть сохранены — как в собственном, так и в графическом формате PICT.

Трехмерный график

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

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

В STATISTICA for Windows эта технология расширена за счет так называемых «Рабочих книг» (Workbooks). С помощью этого инструмента можно связать определенный набор файлов (таблиц результатов и графиков) с файлом данных, что позволяет, скажем, открывать их одновременно. В последней версии — 6.0 — книга представляет собой уже единый файл, в который выводится весь анализ, а навигация в множестве окон осуществляется с помощью традиционного «дерева» (как, например, в Проводнике Windows). Это значительно удобнее.

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

В связи с тем, что формат файла отчета — текстовый, к сожалению, в нем не фиксируются графики. В версии для Windows отчет ведется в файл формата RTF, что дает возможность при соответствующих настройках включать в него и все графические результаты.

* * *

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

Автор статьи благодарит компанию StatSoft Russia за предоставленный для тестирования экземпляр STATISTICA for the Macintosh 4.1.

С автором можно связаться по e-mail: vlm@actuar.math.msu.su.


В том числе и у нас в стране: российское отделение StatSoft успешно выпускает локализованные русскоязычные версии STATISTICA for Windows.

? Мы не ставим себе целью разъяснять назначение статистических процедур, предполагая, что заинтересованный в обсуждаемом вопросе читатель знаком с большинством из них. За подробностями обращайтесь к учебникам по теории вероятностей и математической статистике, электронному учебнику по статистике на сайте www.statsoft.ru и к книгам, посвященным пакету STATISTICA, например: Боровиков В. STATISTICA: искусство анализа данных на компьютере: Для профессионалов. СПб.: Питер, 2001.

5543