MathCAD — это просто! Часть 30. MathCAD и математическая статистика. Введение. Импорт данных для статистической обработки
Могу вас обрадовать, дорогие читатели: мы медленно, но от этого не менее уверенно приближаемся к нашему финалу знакомства с одним из самых лучших, если не самым лучшим, из математических пакетов. Мы с вами выдержали рассмотрение множества более или менее интересных тем, которые, безусловно, все заслуживают внимания. Однако невозможно обойтись без рассмотрения такой темы, как математическая статистика. Поэтому мы с вами сейчас прямо плавно к этому и приступим.
Математическая статистика — это, пожалуй, один из немногих разделов математики, который нашел свое применение практически во всех отраслях человеческих знаний. Конечно, алгебра в ее самом примитивном виде или, тем более, арифметика здесь и вовсе вне конкуренции, но из того, что в советской и постсоветской высшей школе принято (было, есть и будет) называть высшей математикой, именно математическая статистика востребована наиболее широко. Посудите сами: какой еще из ее разделов можно использовать и в экономике, и в медицине, и в экологии, и много где еще? Думаю, вы и сами хоть раз да сталкивались с тем или иным применением математической статистики в обычной жизни. Конечно, такая мощная математическая среда, как MathCAD, просто по определению не может не поддерживать различные статистические вычисления. Тем не менее, по каким-то не вполне понятным лично мне причинам многие авторы литературы по MathCAD'у вообще опускают раздел статистики как таковой. Думаю, в изложении всего сказанного выше это далеко не самая лучшая практика, хотя, подчеркну еще раз, довольно-таки распространенная. Поэтому я постараюсь рассказывать о применении MathCAD'а в задачах статистики максимально подробно и понятно.
Данные для анализа
Математическая статистика нам с вами будет интересна с прикладной точки зрения — то есть не в виде теоретических построений, приводящих к каким-то формулам, а именно в виде формул или алгоритмов, которые можно применять при работе с MathCAD'ом для получения каких-то конкретных числовых результатов. Но вот какая с этими самыми числовыми результатами есть беда: чтобы их получить, нужно для начала воспользоваться какими- то исходными данными (опять же, конечно, числовыми), которые и будут основой всех дальнейших вычислений. Впрочем, получение конкретных результатов конкретных измерений — это задача того рода, который к MathCAD'у практически невозможно отнести ни прямо, ни косвенно. Потому что эти данные могут иметь совершенно разную природу и совершенно разный смысл, объединять же всю эту разношерстную "толпу" данных будет только наше с вами горячее желание обработать их с помощью MathCAD'а.
Прежде, чем обрабатывать данные, их нужно каким-то образом загрузить в ту программу, с помощью которой вы собираетесь их обрабатывать. Из этого железного закона MathCAD, конечно же, не стал исключением, а потому перед тем, как приступать к разговору о непосредственных статистических вычислениях, стоило бы, на мой взгляд, сказать несколько слов и о таком немаловажном в данном конкретном случае вопросе, как загрузка необходимых данных в среду MathCAD с целью их последующей статистической обработки. Данные, которые планируется обрабатывать, должны храниться во внешних (по отношению к нашему MathCAD'овскому проекту) файлах. Файлы эти могут иметь различный формат — от простого текста и заканчивая довольно сложными по своей структуре таблицами Microsoft Excel. В общем-то, здесь нам не так важно, в каком именно формате вы храните данные — к счастью, MathCAD умеет работать с файлами самых разных форматов. И для того, чтобы вставить данные в проект MathCAD, над которым вы работаете, вам даже не понадобится прибегать к различным специфическим функциям этой мощной математической среды. Хотя справедливости ради стоит, конечно, отметить тот факт, что вставлять данные из текстовых файлов (а именно в текстовые файлы они обычно записываются различными программами, входящими в состав автоматизированных измерительных комплексов) можно и с помощью специальных функций, предусмотренных разработчиками MathCAD'а как раз для таких случаев. Однако, на мой взгляд, это далеко не самая удачная идея, потому что, как показывает практика, львиная доля пользователей, имея возможность следовать двумя путями, всегда выберет тот, который предусматривает не использование встроенных функций среды, а простую последовательность щелчков по кнопкам в диалоговых окнах и выбора нужных пунктов меню. Поэтому я, дабы сэкономить ваше время, расскажу вам именно о втором пути как более предпочтительном для большинства.
Импорт данных: практика
Итак, зайдите в меню Insert главного окна MathCAD'а и выберите в нем такой интересный пункт, как Component. Почему он называется именно так, я скажу пару слов чуть позже. Так вот, после описанного выше краткосрочного путешествия по главному меню MathCAD'а вы должны увидеть на экране такое же диалоговое окно, как и на скриншоте к статье.
Здесь, как видите, есть из чего выбирать: и MATLAB есть, и Microsoft Excel… Но нас сейчас будет интересовать такая вещь, как Data Import Wizard. Именно ее и выберите, после чего нажмите заманчивую кнопку Next. Вместо этого окна у вас на экране появится до боли на него похожее, но уже много чем отличающееся (в том числе и размерами) окно Data Import Wizard. Или, если по-русски, то "Мастер импорта данных".
В этом окне нужно выбрать формат данных, который мы будем использовать при импортировании. Вариантов не так уж и много, но для того, чтобы не было путаницы, стоит немного рассказать о каждом из них. "Delimited Text" — это текст с разделителем, в роли которого может выступать запятая, пробел, знак табуляции и т.д. Здесь и далее при описании форматов говоря "текст", я подразумеваю, что данные записаны в простой текстовый файл (формата TXT, понимаемого стандартной для всех версий Windows программой "Блокнот"), но при этом при записи текста с разделителем для разделения различных числовых данных используется соответствующий разделитель. Fixed Width Text — это данные, которые выровнены в столбцах по ширине. Microsoft Excel… Что ж, полагаю, программы из пакета Microsoft Office достаточно хорошо знакомы всем нашим читателям, и по этой причине в лишних представлениях не нуждаются. Excel — он, как говорится, и в Африке Excel. MATLAB — это данные, которые импортируются из файла формата другого популярного математического пакета, который называется MATLAB. Binary — данные записаны в двоичном виде. Этот вариант нужно пробовать в самых тяжелых случаях, когда ничто другое уже не помогает — в наше время данные так записывают уже очень и очень редко. MathCAD PRN — это специальный текстовый формат, используемый в MathCAD'е для хранения матриц. С этим форматом можно работать с помощью встроенных в математическую среду функций, однако их рассмотрение выходит за рамки цикла статей "MathCAD — это просто!". Ну и, наконец, оставшиеся два файловых формата — Lotus 1-2-3 и bBase III — относятся к соответствующим одноименным программам, которые, впрочем, в наше время используются также не слишком часто.
Что ж, предположим, мы с вами работаем с текстом с разделителем — в принципе, только этот формат может вызвать проблемы у новичков в MathCAD'е. После того, как вы выбрали в списке форматов Delimited Text, вам нужно будет выбрать файл, из которого, собственно говоря, программа и будет импортировать данные. Ну, а после того, как этот самый файл будет выбран, нужно будет нажать Next и дальше настраивать все таким образом, чтобы, помимо нужных вам данных, программа не загрузила и разный "информационный мусор", который сделает их непригодными для обработки.
Как можно увидеть на соответствующем скриншоте, система MathCAD позволяет выбирать, какой именно разделитель используется в файле. По умолчанию разделитель этот определяется автоматически, однако на практике довольно-таки часто оказывается, что MathCAD не в состоянии правильно разобраться с разделителями, и потому приходится выбирать его вручную. В стандартном списке есть символ табуляции, пробел и запятая, но можно добавить и любой свой символ. Поскольку в начале (или — реже — в конце) текстовых файлов с данными часто идет служебная информация, то можно также выбрать, начиная с какой строки (и кончая какой строкой) у нас расположены непосредственно сами данные. Впрочем, и на этом мучения не заканчиваются. Дальше надо устранить возможную (и далеко не такую уж маловероятную!) путаницу, которая может возникнуть с форматом десятичного разделителя. Дело в том, что в русскоязычных странах издавна таким разделителем является запятая, в то время как на Западе в качестве десятичного разделителя используется точка. MathCAD использует, сами понимаете, именно второй вариант, а потому, чтобы не возникало лишних проблем, предлагает пользователю еще один диалог настроек текстовых данных. В нем, помимо указанного разделителя, можно настроить тысячный разделитель (если миллион пишется не как 1000000, а как 1.000.000) и значение для отсутствующих данных.
Ну и, наконец, после всей этой "импортной" эпопеи мы можем получить в главном окне (или, точнее говоря, в рабочей области этого самого окна) табличку с данными, которая выглядит в точности так, как показано на скриншоте.
Вот так в MathCAD'е происходит импорт данных для их последующей обработки. О самой о ней мы с вами, к сожалению, поговорить уже не
успеваем, что, впрочем, надеюсь, особенно сильно вас не огорчит.
Выводы
Что ж, давайте по сложившейся доброй традиции "подобьем баланс" всего изложенного выше в очередной статье из цикла "MathCAD — это просто!". Конечно, подытожить как бы особо и нечего, потому что занимались мы с вами хоть и полезной, но довольно скучной вещью — импортом данных из внешних (преимущественно текстовых) файлов. Однако, сами понимаете, данные импортировать просто необходимо уметь, особенно в свете того, что мы с вами вознамерились заниматься с помощью MathCAD'а математической статистикой. Надеюсь, что с ней у вас (как, впрочем, и с импортированием данных, используемых затем при различных статистических расчетах) не возникнет совершенно никаких проблем.
Ну, а если и возникнут, то они будут мелкими и сразу же легко и просто решатся.
SF, spaceflyer@tut.by
Математическая статистика — это, пожалуй, один из немногих разделов математики, который нашел свое применение практически во всех отраслях человеческих знаний. Конечно, алгебра в ее самом примитивном виде или, тем более, арифметика здесь и вовсе вне конкуренции, но из того, что в советской и постсоветской высшей школе принято (было, есть и будет) называть высшей математикой, именно математическая статистика востребована наиболее широко. Посудите сами: какой еще из ее разделов можно использовать и в экономике, и в медицине, и в экологии, и много где еще? Думаю, вы и сами хоть раз да сталкивались с тем или иным применением математической статистики в обычной жизни. Конечно, такая мощная математическая среда, как MathCAD, просто по определению не может не поддерживать различные статистические вычисления. Тем не менее, по каким-то не вполне понятным лично мне причинам многие авторы литературы по MathCAD'у вообще опускают раздел статистики как таковой. Думаю, в изложении всего сказанного выше это далеко не самая лучшая практика, хотя, подчеркну еще раз, довольно-таки распространенная. Поэтому я постараюсь рассказывать о применении MathCAD'а в задачах статистики максимально подробно и понятно.
Данные для анализа
Математическая статистика нам с вами будет интересна с прикладной точки зрения — то есть не в виде теоретических построений, приводящих к каким-то формулам, а именно в виде формул или алгоритмов, которые можно применять при работе с MathCAD'ом для получения каких-то конкретных числовых результатов. Но вот какая с этими самыми числовыми результатами есть беда: чтобы их получить, нужно для начала воспользоваться какими- то исходными данными (опять же, конечно, числовыми), которые и будут основой всех дальнейших вычислений. Впрочем, получение конкретных результатов конкретных измерений — это задача того рода, который к MathCAD'у практически невозможно отнести ни прямо, ни косвенно. Потому что эти данные могут иметь совершенно разную природу и совершенно разный смысл, объединять же всю эту разношерстную "толпу" данных будет только наше с вами горячее желание обработать их с помощью MathCAD'а.
Прежде, чем обрабатывать данные, их нужно каким-то образом загрузить в ту программу, с помощью которой вы собираетесь их обрабатывать. Из этого железного закона MathCAD, конечно же, не стал исключением, а потому перед тем, как приступать к разговору о непосредственных статистических вычислениях, стоило бы, на мой взгляд, сказать несколько слов и о таком немаловажном в данном конкретном случае вопросе, как загрузка необходимых данных в среду MathCAD с целью их последующей статистической обработки. Данные, которые планируется обрабатывать, должны храниться во внешних (по отношению к нашему MathCAD'овскому проекту) файлах. Файлы эти могут иметь различный формат — от простого текста и заканчивая довольно сложными по своей структуре таблицами Microsoft Excel. В общем-то, здесь нам не так важно, в каком именно формате вы храните данные — к счастью, MathCAD умеет работать с файлами самых разных форматов. И для того, чтобы вставить данные в проект MathCAD, над которым вы работаете, вам даже не понадобится прибегать к различным специфическим функциям этой мощной математической среды. Хотя справедливости ради стоит, конечно, отметить тот факт, что вставлять данные из текстовых файлов (а именно в текстовые файлы они обычно записываются различными программами, входящими в состав автоматизированных измерительных комплексов) можно и с помощью специальных функций, предусмотренных разработчиками MathCAD'а как раз для таких случаев. Однако, на мой взгляд, это далеко не самая удачная идея, потому что, как показывает практика, львиная доля пользователей, имея возможность следовать двумя путями, всегда выберет тот, который предусматривает не использование встроенных функций среды, а простую последовательность щелчков по кнопкам в диалоговых окнах и выбора нужных пунктов меню. Поэтому я, дабы сэкономить ваше время, расскажу вам именно о втором пути как более предпочтительном для большинства.
Импорт данных: практика
Итак, зайдите в меню Insert главного окна MathCAD'а и выберите в нем такой интересный пункт, как Component. Почему он называется именно так, я скажу пару слов чуть позже. Так вот, после описанного выше краткосрочного путешествия по главному меню MathCAD'а вы должны увидеть на экране такое же диалоговое окно, как и на скриншоте к статье.
Здесь, как видите, есть из чего выбирать: и MATLAB есть, и Microsoft Excel… Но нас сейчас будет интересовать такая вещь, как Data Import Wizard. Именно ее и выберите, после чего нажмите заманчивую кнопку Next. Вместо этого окна у вас на экране появится до боли на него похожее, но уже много чем отличающееся (в том числе и размерами) окно Data Import Wizard. Или, если по-русски, то "Мастер импорта данных".
В этом окне нужно выбрать формат данных, который мы будем использовать при импортировании. Вариантов не так уж и много, но для того, чтобы не было путаницы, стоит немного рассказать о каждом из них. "Delimited Text" — это текст с разделителем, в роли которого может выступать запятая, пробел, знак табуляции и т.д. Здесь и далее при описании форматов говоря "текст", я подразумеваю, что данные записаны в простой текстовый файл (формата TXT, понимаемого стандартной для всех версий Windows программой "Блокнот"), но при этом при записи текста с разделителем для разделения различных числовых данных используется соответствующий разделитель. Fixed Width Text — это данные, которые выровнены в столбцах по ширине. Microsoft Excel… Что ж, полагаю, программы из пакета Microsoft Office достаточно хорошо знакомы всем нашим читателям, и по этой причине в лишних представлениях не нуждаются. Excel — он, как говорится, и в Африке Excel. MATLAB — это данные, которые импортируются из файла формата другого популярного математического пакета, который называется MATLAB. Binary — данные записаны в двоичном виде. Этот вариант нужно пробовать в самых тяжелых случаях, когда ничто другое уже не помогает — в наше время данные так записывают уже очень и очень редко. MathCAD PRN — это специальный текстовый формат, используемый в MathCAD'е для хранения матриц. С этим форматом можно работать с помощью встроенных в математическую среду функций, однако их рассмотрение выходит за рамки цикла статей "MathCAD — это просто!". Ну и, наконец, оставшиеся два файловых формата — Lotus 1-2-3 и bBase III — относятся к соответствующим одноименным программам, которые, впрочем, в наше время используются также не слишком часто.
Что ж, предположим, мы с вами работаем с текстом с разделителем — в принципе, только этот формат может вызвать проблемы у новичков в MathCAD'е. После того, как вы выбрали в списке форматов Delimited Text, вам нужно будет выбрать файл, из которого, собственно говоря, программа и будет импортировать данные. Ну, а после того, как этот самый файл будет выбран, нужно будет нажать Next и дальше настраивать все таким образом, чтобы, помимо нужных вам данных, программа не загрузила и разный "информационный мусор", который сделает их непригодными для обработки.
Как можно увидеть на соответствующем скриншоте, система MathCAD позволяет выбирать, какой именно разделитель используется в файле. По умолчанию разделитель этот определяется автоматически, однако на практике довольно-таки часто оказывается, что MathCAD не в состоянии правильно разобраться с разделителями, и потому приходится выбирать его вручную. В стандартном списке есть символ табуляции, пробел и запятая, но можно добавить и любой свой символ. Поскольку в начале (или — реже — в конце) текстовых файлов с данными часто идет служебная информация, то можно также выбрать, начиная с какой строки (и кончая какой строкой) у нас расположены непосредственно сами данные. Впрочем, и на этом мучения не заканчиваются. Дальше надо устранить возможную (и далеко не такую уж маловероятную!) путаницу, которая может возникнуть с форматом десятичного разделителя. Дело в том, что в русскоязычных странах издавна таким разделителем является запятая, в то время как на Западе в качестве десятичного разделителя используется точка. MathCAD использует, сами понимаете, именно второй вариант, а потому, чтобы не возникало лишних проблем, предлагает пользователю еще один диалог настроек текстовых данных. В нем, помимо указанного разделителя, можно настроить тысячный разделитель (если миллион пишется не как 1000000, а как 1.000.000) и значение для отсутствующих данных.
Ну и, наконец, после всей этой "импортной" эпопеи мы можем получить в главном окне (или, точнее говоря, в рабочей области этого самого окна) табличку с данными, которая выглядит в точности так, как показано на скриншоте.
Вот так в MathCAD'е происходит импорт данных для их последующей обработки. О самой о ней мы с вами, к сожалению, поговорить уже не
успеваем, что, впрочем, надеюсь, особенно сильно вас не огорчит.
Выводы
Что ж, давайте по сложившейся доброй традиции "подобьем баланс" всего изложенного выше в очередной статье из цикла "MathCAD — это просто!". Конечно, подытожить как бы особо и нечего, потому что занимались мы с вами хоть и полезной, но довольно скучной вещью — импортом данных из внешних (преимущественно текстовых) файлов. Однако, сами понимаете, данные импортировать просто необходимо уметь, особенно в свете того, что мы с вами вознамерились заниматься с помощью MathCAD'а математической статистикой. Надеюсь, что с ней у вас (как, впрочем, и с импортированием данных, используемых затем при различных статистических расчетах) не возникнет совершенно никаких проблем.
Ну, а если и возникнут, то они будут мелкими и сразу же легко и просто решатся.
SF, spaceflyer@tut.by
Компьютерная газета. Статья была опубликована в номере 46 за 2008 год в рубрике soft