Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Анализ экспериментальных данных.



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

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

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

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

1. Интерполяция.

В Mathcad имеется несколько функций интерполяции, различающихся способом «соединения» точек данных (прямой линией или различными кривыми). В этой
главе поговорим только о кубической сплайн-интерполяции, при которой экспериментальные точки соединяются отрезками кубических полиномов. В процессе интерполяции одновременно используются две функции: interp и cspline.

Обращение к этим функциям выглядит следующим образом:

interp(s, x, у, t)
cspline(x, у)
Здесь:

· х — вектор значений аргумента, элементы которого расположены в порядке возрастания;

· у — вектор значений функции того же размера;
s — вектор вторых производных, создаваемый функцией cspline, которая обеспечивает равенство, вторых производных на границах стыковки полиномов, то есть в экспериментальных точках;

· t — значение аргумента, при котором вычисляется интерполирующая функция.

Координаты экспериментальных точек не могут быть комплексными.
Примеры интерполяции приведены на рис. 3.1.

При записи функции интерполяции удобно две функции объединять в одну запись:

YY(t): =interp(cspline(X, Y), Х, Y. t)

В результате интерполяции можно получить функцию или массив данных с любым количеством точек интерполяции (см. рис. 3.1). Если результатом является функция, ее можно интегрировать, дифференцировать, использовать в функциях пользователя.

Рис. 3.1. Интерполяция исходных данных

На рисунке 3.2 интеграл и производная от интерполированного выражения, число точек nn массива после интерполяции задано глобально. Для удобства наблюдения за изменением результатов расчета выражение nn=5 помещено около графика. Поменяйте значение nn и посмотрите как поменяется кривая.

2. Регрессия.

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

· позволяющих увидеть аналитическую зависимость, то есть возвращающих набор аппроксимирующих коэффициентов;

· не позволяющих увидеть аналитическую зависимость.

Рассмотрим две функции, которые не выводят коэффициентов и аппроксимируют массив данных одним степенным полиномом или отрезками нескольких полиномов.

В Mathcad регрессия с использованием одного полинома реализуется комбинацией встроенных функций регрессии и интерполяции:

interp(s, x, y, t)

regress(x, у, n)

Рис. 3.2. Интерполяция исходных данных (продолжение)

Здесь:

· x — вектор значений аргумента, элементы которого расположены в порядке возрастания;

· у — вектор значений функции того же размера;

· s — вектор коэффициентов для построения аппроксимирующего полинома, создаваемый функцией regress;

· t — значение аргумента, при котором вычисляется интерполирующая функция;

· n — степень аппроксимирующего полинома.

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

s: = regress(X, Y, n)

YY(t): = interp(s, Х, Y, t)
Возможна и такая запись:
YY(t): = interp(regress(X, У, n), Х, У, t)
Регрессия с использованием нескольких отрезков полинома реализуется комбинацией встроенных функций регрессии и интерполяции:

interp(s. x, y., t)
loess(x, у, span)
Здесь:

· s: = loess(Х, Y, span) — вектор коэффициентов для построения аппроксимирующего полинома второй степени, требуемый функцией interp;

· span > 0 — параметр, определяющий размер отрезков полиномов.
Параметр span задает степень сглаженности данных. На практике

0, 2< span< 2. При span=2 результат аппроксимации тот же, что при аппроксимации одной параболой. При span = 0.2 аппроксимирующая кривая почти точно описывает любой
набор данных.

Примеры использования полиномиальной регрессии приведены на рис. 3.3.

 

 

Рис. 3.3. Регрессия исходных данных (см. рис. 3.1) без получения аналитической зависимости.

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

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

Из 8 встроенных в Mathcad функций 5 требуют предварительного задания вектора начальных приближений:

· expfit(X, Y, g) - регрессия экспонентой f(t)=а*еb*t+ с;

· sinfit(X, Y, g) - регрессия синусоидой f(t)=а*sin(t+b)+с;

· pwrfit(X, Y, g) - регрессия степенной зависимостью f(t)=а*tb+с;

· lgsfit(X, Y, g) - регрессия логистической функцией а(е)=а/(1+ b*е-c*t);

· logfit(X, Y, g) - регрессия логарифмической функцией f(t)=а*ln(t+b)+с.

В этих функциях:

· x — вектор значений аргумента, элементы которого расположены в порядке возрастания;

· у — вектор значений функции того же размера;

· g — вектор начальных приближений коэффициентов а, b, с;

· t — значение аргумента, при котором вычисляется интерполирующая функция.

Примеры использования этих функций приведены на рис. 3.2 и 3.5.

 

 

Рис. 3.4. Регрессия исходных данных (см. рис. 3.1) с выводом аналитической зависимости.

 

Функции, не требующие начальных приближений:

· line(X, Y) — регрессия прямой линией, использующая минимизацию суммы квадратов ошибок f(t) = а+ b*t;

· medfit(X, Y) — регрессия прямой линией, использующая медиан-медианную линейную регрессию f(t) = а+ b*t (функции line и medfit дают близкие результаты, слегка различающиеся наклоном прямых линий);

· lnfit(X, Y) — регрессия логарифмической функцией f(t) = а*ln(t) + b.

Примеры использования этих функций приведены на рис. 3.5 - 3.7.

Рис. 3.5. Результаты регрессии исходных данных заданных массивом Y приведенными на рис. 3.3 функциями рис.3.4.


Рис. 3.6. Регрессия исходных данных (см. рис. 3.1) с выводом аналитической зависимости

Во всех примерах, представленных на рис. 3.2 — 3.7, использованы одни и те же
массивы данных, характер распределения которых, естественно, не соответствует
выбранным видам регрессии. Для оценки связи между массивом данных и значениями аппроксимирующей функции подсчитан коэффициент корреляции corr.
Опытные данные неплохо аппроксимируются синусоидой (коэффициент корреляции 0.98). В остальных случаях связь между величинами плохая (коэффициент
корреляции составляет примерно 0.6).

Рис.3.7. Результаты регрессии исходных данных (см. рис. 3.1) функциями, приведенными на рис. 3.6

4. Элементы математической статистики.

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

Рис.3.8. Оценка параметров выборки данных AV


Поделиться:



Последнее изменение этой страницы: 2017-03-15; Просмотров: 372; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.027 с.)
Главная | Случайная страница | Обратная связь