Кирьянов Д. - MathCad 11 (1077323), страница 60
Текст из файла (страница 60)
Если соответствующее выборочноезначение t по модулю меньше т, то гипотеза принимается (считается верной). В противном случае гипотезу следует отвергнуть.Листинг 14.22. Проверка гипотезы о математическом ожиданиипри неизвестной дисперсииЫ:=50х := rnorm (Ы, 0 , 1)а := 0 . 11 -а= 0.9цО := 0 . 2mean (x) - цОS t d e v (x)t =-1.883Часть III. Численные методы374aIТ= 1.677чТ := q t 1, N- 12J| tj < т = оВ последней строке листинга вычисляется истинность или ложность условия, выражающего решение задачи.
Поскольку условие оказалось ложным(равным не 1, а 0), то гипотезу необходимо отвергнуть.На рис. 14.16 показано распределение Стьюдента с ы-1 степенью свободывместе с критическими значениями, определяющими соответствующий интервал. Если t (оно тоже показано на графике) попадает в него, то гипотезапринимается; если не попадает (как произошло в данном случае) — отвергается. Если увеличить а, ужесточив критерий, то границы интервала будутсужаться, по сравнению с показанными на рисунке.В листинге 14.23 приводится альтернативный способ проверки той же самойгипотезы, связанный с вычислением значения не квантиля, а самого распределения Стьюдента.dt(-T,H-l)dt(T,H-l)-4-3- 1D1q.-т.тРис.
1 4 . 1 6 . К задаче проверки статистических гипотез (листинг 14.22)Листинг 14.23. Другой вариант проверки гипотезы(продолжение листинга 14.22)pt ( t , N- 1} - 0 . 0 3 3— <p t (t, N- 12а=02Глава 14. Математическая статистика^375Мы разобрали только два характерных примера статистических вычислений.Однако с помощью Mathcad легко решаются самые разнообразные задачиматематической статистики.Примечание)Большое количество задач разобрано в Ресурсах в рубрике Statistics (Статистика) справочной системы Mathcad 11.484ГЛАВА 15Обработка данныхКогда Вы имеете дело с выборкой экспериментальных данных, то они, чащевсего, представляются в виде массива, состоящего из пар чисел (х^у^. Поэтому возникает задача аппроксимации дискретной зависимости yfxj непрерывной функцией f(x). Функция f(x), в зависимости от спецификизадачи, может отвечать различным требованиям:•f(x) должна проходить через точки (х^у^, т.е.
f (x i )=y i , i = i . . .п. Вэтом случае (см. разд. 15.1) говорят об интерполяции данных функциейf (х) во внутренних точках между х ь или экстраполяции за пределамиинтервала, содержащего все х^•f (х) должна некоторым образом (например в виде определенной аналитической зависимости) приближать y(Xi), не обязательно проходя черезточки (Xi,yi). Такова постановка задачи регрессии (см.
разд. 15.2), которую во многих случаях также можно назвать сглаживанием данных;•f (х) должна приближать экспериментальную зависимость у(хО, учитывая к тому же, что данные (x^yi) получены с некоторой погрешностью,выражающей шумовую компоненту измерений. При этом функция f (х),с помощью того или иного алгоритма, уменьшает погрешность, присутствующую в данных (Xi,yi). Такого типа задачи называют задачамифильтрации (см. разд. 15.3).
Сглаживание — частный случай фильтрации.Различные виды построения аппроксимирующей зависимости f (х) иллюстрирует рис. 15.1. На нем исходные данные обозначены кружками, интерполяция отрезками прямых линий — пунктиром, линейная регрессия — наклонной прямой линией, а фильтрация — жирной гладкой кривой.
Этизависимости приведены в качестве примера и отражают лишь малую частьвозможностей Mathcad по обработке данных. Вообще говоря, в Mathcadимеется целый арсенал встроенных функций, позволяющий осуществлятьсамую различную регрессию, интерполяцию-экстраполяцию и сглаживаниеданных.Часть III. Численные методы3780.10.150.20.25Q.30.3S0.40.45Рис. 1 5 . 1 .
Разные задачи аппроксимации данныхКак в целях подавления шума, так и для решения других проблем обработки данных, широко применяются различные интегральные преобразования.Они ставят в соответствие всей совокупности данных у(х} некоторуюфункцию другой координаты (или координат) F(W). Примерами интегральных преобразований являются преобразование Фурье (см. разд. 15.4.1) ивейвлетное преобразование (см.
разд. 15.4.2). Напомним, что некоторыепреобразования, например Фурье и Лапласа, можно осуществить в режимесимвольных вычислений (см. гл. 5). Каждое из интегральных преобразований эффективно для решения своего круга задач анализа данных.15.1. ИнтерполяцияДля построения интерполяции-экстраполяции в Mathcad имеются несколько встроенных функций, позволяющих "соединить" точки выборки данных(Xi-Yi) кривой разной степени гладкости. По определению интерполяцияозначает построение функции А(Х), аппроксимирующей зависимость у{х) впромежуточных точках (между x j . Поэтому интерполяцию еще по-другомуназывают аппроксимацией.
В точках Xi значения интерполяционной функции должны совпадать с исходными данными, т. е. A(xi)=y(xi).(Примечание^Везде в этом разделе при рассказе о различных типах интерполяции будем использовать вместо обозначения А ( Х ) другое имя ее аргумента A ( t ) , чтобы непутать вектор данных х и скалярную переменную t.15.1.1. Линейная интерполяцияСамый простой вид интерполяции — линейная, которая представляет искомую зависимость А{Х} В виде ломаной линии. Интерполирующая функцияА(Х) состоит из отрезков прямых, соединяющих точки (рис. 15.2).Глава 15.
Обработка данных379Рис. 15.2. Линейная интерполяция (листинг 15.1)Для построения линейной интерполяции служит встроенная функция l i n t e r p (ЛИСТИНГ 15.1).Пi i n t e r p ( x , y , t) — функция, аппроксимирующая данные векторов х и укусочно-линейной зависимостью;•х — вектор действительных данных аргумента;•у ~~ вектор действительных данных значений того же размера;•t — значение аргумента, при котором вычисляется интерполирующаяфункция.Внимание!Элементы вектора х должны быть определены в порядке возрастания, т. е.Листинг 15.1.
Линейная интерполяциях:={01у := ( 4 . 1А {t)22.434354.36)3.65.25 . 9 )Т:= l i n t e r p ( x , у , t)Как видно из листинга, чтобы осуществить линейную интерполяцию, надовыполнить следующие действия:1. Введите векторы данных х и у (первые две строки листинга).2. Определите функцию l i n t e r p (х,у, t ) .Часть ill. Численные методы3803. Вычислите значения этой функции в требуемых точках, например l i n terp(x,y,2.4) =3.52 или linterp(х,у,6) =5.9, или постройте ее график,как показано на рис. 15.2.ПримечаниеОбратите внимание, что функция A ( t ) на графике имеет аргумент t, а не х.Это означает, что функция A ( t ) вычисляется не только при значениях аргумента (т. е. в семи точках), а при гораздо большем числе аргументов в интервале ( 0 , 6 ) , что автоматически обеспечивает Mathcad.
Просто в данном случаеэти различия незаметны, т. к. при обычном построении графика функции А(х)от векторного аргумента х (рис. 15.3) Mathcad, no умолчанию, соединяет точкиграфика прямыми линиями (т. е. скрытым образом осуществляет их линейнуюинтерполяцию).Рис. 15.3. Обычное построение графика функцииот векторной переменной х (листинг 15.1)15.1.2. Кубическая сплайн-интерполяцияВ большинстве практических приложений желательно соединить экспериментальные точки не ломаной линией, а гладкой кривой. Лучше всего дляэтих целей подходит интерполяция кубическими сплайнами, т. е. отрезкамикубических парабол (рис. 15.4).Оi n t e r p ( s , x , y , t) — функция, аппроксимирующая данные векторов х иу кубическими сплайнами;• з — вектор вторых производных, созданный одной из сопутствующихФУНКЦИЙ cspline, pspline ИЛИ lspline;• х — вектор действительных данных аргумента, элементы которогорасположены в порядке возрастания;Глава 15. Обработка данных381у — вектор действительных данных значений того же размера;t — значение аргумента, при котором вычисляется интерполирующаяфункция.Рис.
15.4. Сплайн-интерполяция {см. листинг 15.2)Сплайн-интерполяция в Mathcad реализована чуть сложнее линейной. Перед применением функции interp необходимо предварительно определитьпервый из ее аргументов — векторную переменную s. Делается это при помощи одной из трех встроенных функций тех же аргументов (х,у).D ispiine(x,y) — вектор значений коэффициентов линейного сплайна;П pspiine(x,y) — вектор значений коэффициентов квадратичного сплайна;О cspline(x,y) — вектор значений коэффициентов кубического сплайна;• х,у — векторы данных.Выбор конкретной функции сплайновых коэффициентов влияет на интерполяцию вблизи конечных точек интервала. Пример сплайн-интерполяцииприведен в листинге 15.2.Листинг 15.2.
Кубическая сплайн-интерполяциях:= { Оу:= ( 4 . 12.434.33.6s := c s p l i n e ( х , у)А { t ) '.= i n t e r p ( s , х , у , t )5.25.9382Часть III. Численные методыСмысл сплайн-интерполяции заключается в том, что в промежутках между точками осуществляется аппроксимация в виде зависимости А (t) ==а • t 3 + b ' t 2 +c • t+d. Коэффициенты a,b,c,d рассчитываются независимо длякаждого промежутка, исходя из значений yt в соседних точках. Этот процесс скрыт от пользователя, поскольку смысл задачи интерполяции состоитв выдаче значения A(t) в любой точке t (рис.
15.4).6/5A(t)ооэ43-//\\/(/\11011г/-\-3S161с ,хРис. 15.5. Сплайн-интерполяция с выбором коэффициентовлинейного сплайна l s p l i n eРис. 15.6. Ошибочное построение графика сплайн-интерполяции(см. листинг 15.2)Чтобы подчеркнуть различия, соответствующие разным вспомогательнымфункциям cspiine, pspiine, ispiine, покажем результат действия листин-Глава 15. Обработка данных383га 15.2 при замене функции cspiine в предпоследней строке на линейнуюispline (рис. 15.5). Как видно, выбор вспомогательных функций существенно влияет на поведение A(t) вблизи граничных точек рассматриваемогоинтервала (0,6) и особенно разительно меняет результат экстраполяцииданных за его пределами.В заключение остановимся на уже упоминавшейся в предыдущем разделераспространенной ошибке при построении графиков интерполирующейфункции (см- рис.