Регрессионный анализ в PTC MathCAD

Общие сведения

PTC MathCADПакет Mathcad создан разработчиками как инструмент для работы расчетчиков-инженеров. Он не предназначен для профессиональных математиков. Для них есть другие системы, ориентированные на области символьной математики и математической статистики. Пакет Mathcad в том виде, в котором он создан, не предна­значен и для программирования сложных задач. Для этого есть система Matlab. и различные языки программирования.

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

Главным достоинством пакета Mathcad и его колоссальным преимуществом перед подобными системами являются:

· легкость и наглядность программирования задач;

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

· простота в использовании;

· возможность создания встроенными средствами высококачественных техни­ческих отчетов с таблицами, графиками, текстом.

Пакет Mathcad завоевал популярность во всем мире. Им пользуются свыше 5 млн. человек. Ежегодно выпускаются новые версии. Однако складывается впечатление, что в последнее время усовершенствования программы носят больше косметический характер. Улучшается интерфейс, расширяются возмож­ности отдельных функций, совершенствуются средства для работы в Интер­нете.

Настоящим украшением MathCAD, доступным уже в первых версиях, была под­держка дискретных переменных, позволяющих одновременно вычислять функции для целого ряда значений аргумента, что обеспечивало возможность построения таблиц и графиков без применения операторов программирования. Почти до со­вершенства доведены средства построения графиков поверхностей, позволяющие создавать из графиков произведения искусства. Еще в версии 2001і доработана до логического завершения великолепная функция решения дифференциальных урав­нений Odesolve.

На этом фоне в полном забвении находится раздел программирования MathCAD. По-видимому, этот раздел изначально задумывался как инструмент создания не­сложных программных модулей, необходимых для многократного вычисления небольших расчетных блоков из нескольких операторов.

Однако даже при таком состоянии программирования в Mathcad мож­но программировать и решать задачи повышенной сложности.

К недостаткам этого замечательного пакета можно отнести недостаточную скорость расчетов, да и загрузки в оперативную память.

Следует иметь в виду, что 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.

Случайная величина у имеет постоянную дисперсию clip_image002[7],  т. е. дисперсию, не зависящую от x1, x2, …. , xk. Мате­матическое ожидание М[у] является функцией x1, х2,…,xk, т. е. на каждое изменение неслучайных величин x1, х2,…,xk случайная ве­личина у реагирует изменением своего математического ожидания. Выражение clip_image002[9] называют уравнением регрессии математического ожидания случайной величины у по неслучайным величинам x1, х2,…,xk. Тип функции clip_image002[11] может быть линейным или криволинейным. Таким образом, в основе рег­рессионного анализа лежат следующие предположения:

1. при каждом сочетании значений x1, х2,…,xk, величина у име­ет нормальное распределение;

2. дисперсия clip_image002[7] теоретического распределения случайной вели­чины у постоянна;

3. тип функции clip_image002[11] известен;

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

а оценка уравнения регрессии имеет вид:

clip_image002[17]

Введем обозначения:

clip_image002[15]

С учетом принятых обозначений уравнение (1) примет вид:

clip_image002[19]

Матрица планирования и результаты опытов приведены в таблице 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:

image                                        image

Транспонируем X-матрицу и создадим матрицу Xo:

image                                                          image

Умножим слева X-матрицу и Y-матрицу на матрицу X0:

image

Находим матрицу (X0X)-1, обратную матрице (X0X):

image

Определяем коэффициенты b0, b1, … , b5:

image

Таким образом, уравнение (2) имеет вид:

clip_image002[23]

Переходя от переменных X3, X4, X5 к X1, X2, получим искомое уравнение:

image

Это уравнение можно использовать для поиска оптимальных условий ведения процесса, а также как интерполяционную формулу для предсказания значений y в области эксперимента.

Построим график полученного уравнения в MathCAD:

График полученного уравнения

Рис.1. График полученного уравнения

Александр Малыгин

Объект обсуждения - программное обеспечение для выполнения автоматизированного конструкторского и технологического проектирования, разработки управляющих программ, вопросы, связанные с разработкой прикладных САПР.

6 Комментарии “Регрессионный анализ в PTC MathCAD

  1. Почему переходим от х1, х2, х3, х4, х5 к х1, х2, а какже вичеслять подставлять х5, ето все неверно!!1

      1. Большое спасибо Вам за ответ! Тогда подскажите пожалуйста, как получить в Маткаде уравнение, єсли єсть результати исследований по 4 факторах. Тоесть єсть результати y от Х1 Х2 Х3 Х4, как в маткаде поличит уравнениэ? Спасибо!

        1. Общий вид уравнения Вы должны назначить самостоятельно, определить Вы можете только коэффициенты этого уравнения. Делается в Mathcad все точно в такой же последовательности, как приведено в статье. Для 4-х факторов я писал программу, которая определяет коэффициенты заданного уравнения автоматически http://cadregion.ru/produkty/programma-dlya-regressionnogo-analiza.html. Посмотрите главу по регрессионному анализу в книге Спиридонова (http://lib-bkm.ru/load/94-1-0-2233), там не сложно описано.

          Удачи Вам!

  2. Скажите, пожалуйста, а в каких случаях уравнение регрессии представляется в виде полинома более высоких порядков — третий , четвёртый и т. д. ? Предлагаемая Вами программа http://cadregion.ru/produkty/programma-dlya-regressionnogo-analiza.html может определять коэффициенты регрессии для полиномов третьего и четвёртого порядков?

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *