1. Регрессионный анализ в PTC MathCAD
Александр Малыгин MathCAD
Общие сведения
Пакет Mathcad создан разработчиками как инструмент для
работы расчетчиков-инженеров. Он не предназначен для
профессиональных математиков. Для них есть другие системы,
ориентированные на области символьной математики и
математической статистики. Пакет Mathcad в том виде, в
котором он создан, не предназначен и для программирования
сложных задач. Для этого есть система Matlab. и различные
языки программирования.
Пакет Mathcad создавался как мощный микрокалькулятор,
позволяющий справляться с рутинными задачами инженерной
практики, ежедневно встречающимися в работе. Сюда можно отнести решение алгебраических и диффе-
ренциальных уравнений с постоянными и переменными параметрами, анализ функций, поиск их
экстремумов, численное ианалитическое дифференцирование и интегрирование, вывод таблиц и
графиков при анализе найденных решений.
Главным достоинством пакета Mathcad и его колоссальным преимуществом передподобными системами
являются:
· легкость и наглядность программирования задач;
· запись сложных математических выражений в том виде, в котором они обычно записываются
инженерами на листе бумаги (то есть отсутствие специального языка программирования);
· простота в использовании;
· возможность создания встроенными средствами высококачественных технических отчетов с
таблицами, графиками, текстом.
Пакет Mathcad завоевал популярность во всем мире. Им пользуются свыше 5 млн. человек. Ежегодно
выпускаются новые версии. Однако складывается впечатление, что в последнее время
усовершенствования программы носят больше косметический характер. Улучшается интерфейс,
расширяются возможности отдельных функций, совершенствуются средства для работы в Интернете.
Настоящим украшением MathCAD, доступным уже в первых версиях, была поддержка дискретных
переменных, позволяющих одновременно вычислять функции для целого ряда значений аргумента, что
обеспечивало возможность построения таблиц и графиков без применения операторов
программирования. Почти до совершенства доведены средства построения графиков поверхностей,
позволяющие создавать из графиков произведения искусства. Еще в версии 2001і доработана до
логического завершения великолепная функция решения дифференциальных уравнений Odesolve.
На этом фоне в полном забвении находится раздел программирования MathCAD. По-видимому, этот
раздел изначально задумывался как инструмент создания несложных программных модулей,
необходимых для многократного вычисления небольших расчетных блоков из нескольких операторов.
Однако даже при таком состоянии программирования в Mathcad можно программировать и решать
задачи повышенной сложности.
К недостаткам этого замечательного пакета можно отнести недостаточную скорость расчетов, да и
загрузки в оперативную память.
2. Следует иметь в виду, что MathCAD можно эффективно использовать в любых инженерных,
экономических, математических и научных расчетах, так и при решении задач повседневного характера.
Навыки работы в Mathcad приходят «через пальцы». Невозможно выучить список функций, все способы
обращения к ним. Нельзя запомнить все приемы работы, да это и не нужно. Нужно иметь навыки работы
с панелями инструментов, навыки построения выражений и графиков, понять и запомнить основные
правила работы в Mathcad, основные возможности этого пакета. А главное, надо иметь под рукой
большой набор типовых решенных примеров, где в любой момент можно посмотреть «как это делается»
и вставить в свою программу готовые фрагменты из примеров.
Необходимо обратить внимание, что при изучении пакета MathCAD особая роль выделяется
самостоятельной работе и чтению рекомендуемой литературы.
В конце февраля 2012 года вышла новая версия PTC Mathcad Prime 2.0, в интернете появились статьи,
посвященные данному событию и описанию новых возможностей системы, «целому ряду интересных
новшеств», «дополнению инструментария» и прочему, внесены изменения в алгоритмы символьной
математики, изменен интерфейс, программа стала красивее, однако работает в несколько раз медленнее,
т.к. написана под Microsoft .NET Framework 4.
Регрессионный анализ
При решении многих инженерных задач возникает необходимость в установлении связи
между k независимыми переменными x1, х2,…,xk и зависящей от них величиной у. Между переменными
величинами возможны следующие типы связей:
1. Функциональная связь между неслучайными величинами. В этом случае зависимая
переменная у вполне определенно задается независимыми переменными x1, х2,…,xk.
2. Функциональная связь между случайными величинами.
3. Стохастическая связь между случайными величинами. Стохастическая связь проявляется в том, что
одна из случайных величин реагирует на изменения другой изменениями своего закона распределения.
Наиболее простым видом стохастической связи является корреляционная связь. Корреляционная связь
между двумя случайными величинами выражается в том, что на изменения одной случайной величины
другая случайная величина реагирует изменениями своего математического ожидания или среднего зна-
чения.
4. Связь случайной величины с величинами неслучайными.
Анализу последнего вида связи, который широко используют в статистических методах планирования
эксперимента, посвящена данная работа. Природа связи случайной величины с величинами
неслучайными может быть двоякой: а) измерения зависимой переменной усвязаныс некоторой ошибкой
измерения, а переменные x1, х2,…,xk измеряются без ошибок или эти ошибки пренебрежимо малы по
сравнению с ошибкой измерения зависимой переменной; б) значения переменной у зависят не только от
контролируемых факторов x1, х2,…,xk, но и от ряда неконтролируемых факторов, поэтому при каждом
сочетании значений x1, х2,…,xk зависимая переменная у подвержена колебаниям случайного характера.
Часто возникает необходимость в установлении связи между случайной величиной у и неслучайными
переменными x1, x2, …. , xk, принимающими в каждой серии опытов определенные значения.
Величина у является случайной, имеет нормальное распределение с центром распределения М[у],
изменяющимся при изменении значений факторов x1, x2, …. , xk.
Случайная величина у имеет постоянную дисперсию , т. е. дисперсию, не зависящую от x1, x2, …. ,
xk. Математическое ожидание М[у] является функцией x1, х2,…,xk, т. е. на каждое изменение
неслучайных величин x1, х2,…,xk случайная величина у реагирует изменением своего математического
ожидания. Выражение называют уравнением регрессии математического
3. ожидания случайной величины у по неслучайным величинам x1, х2,…,xk. Тип
функции может быть линейным или криволинейным. Таким образом, в
основе регрессионного анализа лежат следующие предположения:
1. при каждом сочетании значений x1, х2,…,xk, величина у имеет нормальное распределение;
2. дисперсия теоретического распределения случайной величины у постоянна;
3. тип функции известен;
4. независимые переменные x1, х2,…,xk измеряются с пренебрежимо малыми ошибками по сравнению с
ошибкой в определении у;
5. переменные x1, х2,…,xk линейно независимы.
Таким образом, регрессионный анализ линейного уравнения можно представить в виде
последовательности следующих операций:
· Составляют Х-матрицу условий опытов и Y -матрицу наблюдений.
· Строят матрицу X*, транспонированную к Х-матрице.
· Вычисляют матрицу произведения Х*Х.
· Находят матрицу (Х*Х)-1
, обратную матрице Х*Х.
· Вычисляют матрицу произведения X*Y.
· Определяют коэффициенты уравнения регрессии.
Рассмотрим пример, иллюстрирующий методику регрессионного анализа в случае, когда уравнение
регрессии представлено полиномом второго порядка. Исследуемая величина yзависит от двух факторов
(таблица 1). Вычисления будем выполнять в MathCAD.
Таблица 1
Результаты опытов
Номер опыта X1 X2 Y
1 1 0 58,7
2 -1 0 49,2
3 0,5 0,866 50,5
4 0,5 -0,866 61,0
5 -0,5 0,866 43,8
6 -0,5 -0,866 57,7
7 0 0 50,1
а оценка уравнения регрессии имеет вид:
4. Введем обозначения:
С учетом принятых обозначений уравнение (1) примет вид:
Матрица планирования и результаты опытов приведены в таблице 2.
Таблица 2
Матрица планирования и результаты опытов
Номер
опыта
X0 X1 X2 X3 X4 X5 Y
1 1 1 0 0 1 0 58,7
2 1 -1 0 0 1 0 49,2
3 1 0,5 0,866 0,433 0,25 0,75 50,5
4 1 0,5 -0,866 -0,433 0,25 0,75 61,0
5 1 -0,5 0,866 -0,433 0,25 0,75 43,8
6 1 -0,5 -0,866 0,433 0,25 0,75 57,7
7 1 0 0 0 0 0 50,1
Для вычисления коэффициентов b0, b1, … , b5 составим X-матрицу условий эксперимента и Y-
матрицу наблюдений, перейдя в среду MathCAD:
5. Транспонируем X-матрицу и создадим матрицу Xo:
Умножим слева X-матрицу и Y-матрицу на матрицу X0:
Находим матрицу (X0X)-1
, обратную матрице (X0X):
6. Определяем коэффициенты b0, b1, … , b5:
Таким образом, уравнение (2) имеет вид:
Переходя от переменных X3, X4, X5 к X1, X2, получим искомое уравнение:
Это уравнение можно использовать для поиска оптимальных условий ведения процесса, а также как
интерполяционную формулу для предсказания значений y в области эксперимента.
Построим график полученного уравнения в MathCAD: