содержание
Введение 3
1 Статистические функции пакета MathCAD 6
1.1 Статистика совокупностей 7
1.2 Распределение вероятностей 8
1.2.1 Плотности распределения вероятности 8
1.2.2 Функции распределения 11
1.2.3 Обращения функций распределения 12
1.3 Функция hist 14
1.4 Случайные числа 14
1.5 Интерполяция и функции предсказания 17
1.5.1 Линейная интерполяция 17
1.5.2 Кубическая сплайн-интерполяция 18
1.5.3 Интерполяция сплайнами функций нескольких переменных 20
1.5.4 Линейное предсказание 22
1.6 Функции регрессии 23
1.6.1 Линейная регрессия 23
1.6.2 Полиномиальная регрессия 24
1.6.3 Многомерная полиномиальная регрессия 25
1.6.4 Обобщенная регрессия 26
1.7 Функции сглаживания 28
2 Прикладное использование рассмотренных теоретических сведений 31
2.1 Метод наименьших квадратов 31
2.2 Оценка функции и плотности распределения случайной величины 33
2.3 Точечная оценка числовых характеристик. Методы оценок параметров 36
2.4 Интервальные оценки числовых характеристик 37
2.5 Критерии согласия 40
2.6 Зависимость случайных величин, регрессия. 43
Заключение 46
Список используемой литературы 47
Введение
Мы все являемся свидетелями того, как компьютеры на глазах изменяют нашу жизнь. Облегчение, которое компьютер и созданные для него программы принесли всем людям, работающим за письменным столом, настолько значительны, что прежние методы работы воспринимаются нынче как кошмарный сон. Вот, наконец, и ещё по одному направлению произошёл прорыв. Речь идёт о собственно математических расчётах.
Само по себе появление компьютеров не упрощало математические расчеты, а лишь позволяло резко повысить скорость их выполнения и сложность решаемых задач. Пользователям ПК, прежде чем начинать такие расчеты, нужно было изучать сами компьютеры, языки программирования и довольно сложные методы вычислений, применять и подстраивать под свои цели программы для решения расчетных задач на языках Бейсик или Паскаль. Поневоле ученому и инженеру, физику, химику и математику приходилось становиться программистом.
Необходимость в этом отпала лишь после появления интегрированных математических программных систем для научно-технических расчетов: Eureka, PC MatLAB, MathCAD, Maple, Mathematica и др. Большое число подобных разработок свидетельствует о значительном интересе к ним во всем мире и бурном развитии компьютерных математических систем.
Широкую известность и заслуженную популярность еще в середине 80-х годов приобрели интегрированные системы для автоматизации математических расчетов класса MathCAD, разработанные фирмой MathSoft (США). По сей день они остаются единственными математическими системами, в которых описание решения математических задач дается с помощью привычных математических формул и знаков. Такой же вид имеют и результаты вычислений. Так что системы MathCAD вполне оправдывают аббревиатуру CAD (Computer Aided Design), говорящую о принадлежности к наиболее сложным и продвинутым системам автоматического проектирования — САПР. Можно сказать, что MathCAD — своего рода САПР в математике.
С момента своего появления системы класса MathCAD имели удобный пользовательский интерфейс – совокупность средств общения с пользователем в виде масштабируемых и перемещаемых окон, клавиш и иных элементов. У этой системы есть и эффективные средства типовой научной графики, они просты в применении и интуитивно понятны. Словом, системы MathCAD ориентированы на массового пользователя – от ученика начальных классов до академика.
MathCAD – математически ориентированные универсальные системы. Помимо собственно вычислений они позволяют с блеском решать задачи, которые с трудом поддаются популярным текстовым редакторам или электронным таблицам. С их помощью можно не только качественно подготовить тексты статей, книг, диссертаций, научных отчетов, дипломных и курсовых проектов, они, кроме того, облегчают набор самых сложных математических формул и дают возможность представления результатов, в изысканном графическом виде.
Последние версии системы MathCAD дают новые средства для подготовки сложных документов. В них предусмотрено красочное выделение отдельных формул, многовариантный вызов одних документов из других, возможность закрытия "на замок" отдельных частей документов, гипертекстовые и гипермедиа-переходы и т. д. Это позволяет создавать превосходные обучающие программы и целые книги по любым курсам, базирующимся на математическом аппарате. Здесь же реализуется удобное и наглядное объектно-ориентированное программирование сложнейших задач, при котором программа составляется автоматически по заданию пользователя, а само задание формулируется на естественном математическом языке общения с системой.
В своей работе я хотел бы рассмотреть возможности системы MathCAD для решения задач математической статистики. В нашем ВУЗе эти задачи решаются с помощью MS Excel. На мой взгляд, MathCAD дает более наглядное и красивое решение статистических задач и гораздо проще в использовании.
Все выше изложенное позволило сформулировать цель курсовой работы: показать, что использование системы компьютерной математики MathCAD для решения задач математической статистики дает наиболее наглядное, простое, красивое (с точки зрения оформления) решение этих задач, по сравнению со всеми другими используемыми для этого средствами (в частности MS Excel в нашем_ВУЗе).
Сформулированная цель потребовало решения следующих задач:
Рассмотрение характеристик статистических функций системы MathCAD.
Изучение работы системы MathCAD для решения задач математической статистики.
Рассмотреть работы некоторых статистических функций системы MathCAD на конкретных примерах.
Поставленные цели были решены при помощи следующих методов исследования:
Теоретический (изучение и анализ литературы связанной с решением задач математической статистики средствами компьютерной математики).
Эмпирический (решение задач математической статистики средствами системы компьютерной математики MathCAD, наблюдение за решение этих задач в MS Excel).
Курсовая работа состоит из введения, двух глав, заключения, списка литературы. Во введении обосновывается актуальность выбранной темы, перечисляются задачи и методы исследования. В первой главе описаны статистические функции системы MathCAD. Во второй главе рассмотрены примеры решения задач математической статистики средствами системы MathCAD. В заключении подводится итог проведенного исследования, намечаются пути использования курсовой работы в практике.
Список литературы состоит из 10 наименований.
Статистические функции пакета MathCAD
В данной главе приводится перечень, и дается описание встроенных функций пакета MathCAD. Эти функции выполняют широкий спектр вычислительных заданий, включая статистический анализ, интерполяцию и регрессионный анализ.
Эта глава состоит из следующих разделов:
Статистики совокупностей
Функции, вычисляющие среднее значение, дисперсию и корреляцию выборочных данных.
Распределения вероятностей
Функции плотности вероятности, функции распределения и обратные к ним более чем для дюжины распространённых функций распределения.
Гистограммы
Как вычислить число величин, попадающих в заданные интервалы.
Случайные числа
Генерирование случайных величин, подчиняющихся различным законам распределения.
Функции интерполяции и предсказания
Интерполяция линейным и кубическим сплайном. Интерполяция функций многих переменных.
Функции вычисления регрессии
Функции вычисления линейной регрессии, полиномиальной регрессии и регрессии, использующей комбинации произвольных функций.
Функции сглаживания
Функции сглаживания временных рядов с помощью скользящей медианы, гауссового ядра или адаптивного линейного метода наименьших квадратов.
Статистика совокупностей
MathCAD содержит шесть функций для вычисления статистических оценок случайных совокупностей. В последующих описаниях m и n представляют число рядов и столбцов рассматриваемых массивов. В используемых далее формулах переменная ORIGIN по умолчанию принята равной нулю.
mean(А) Возвращает среднее значение элементов массива А размерности согласно формуле
median(A) Возвращает медиану элементов массива А. Медианой называется величина, выше и ниже которой в вариационном ряду находится равное количество членов. Если А имеет четное число элементов, медиана определяется как среднее арифметическое двух центральных величин.
var(A) Возвращает дисперсию элементов массива А размерности согласно формуле
cvar(A,В) Возвращает ковариацию элементов массивов А и В размерности согласно формуле
где черта указывает на комплексно-сопряженную величину.
stdev(A) Возвращает среднеквадратичное отклонение (квадратный корень из дисперсии) элементов массива А:
corr(A,В) Возвращает скаляр: коэффициент корреляции для двух массивов А и В.
Распределение вероятностей
MathCAD использует несколько функций для работы с распространёнными плотностями вероятности. Эти функции распадаются на три класса:
Плотности распределения вероятности: вероятность того, что случайная величина будет находиться в окрестности определённой точки, пропорциональна плотности распределения вероятности случайной величины в этой точке.
Функции распределения (вероятности): они дают вероятность, что случайная величина будет принимать значение, меньшее или равное определенной величине. Они получены просто интегрированием (или суммированием, когда это необходимо) соответствующей плотности вероятности по подходящему интервалу значений.
Обращения функций распределения: они позволяют по заданной вероятности вычислить такое значение, что вероятность того, что случайная величина будет меньше или равна этому значению, будет равна вероятности, заданной в качестве аргумента.
Плотности распределения вероятности
Эти функции показывают отношение вероятности того, что случайная величина попадает в малый диапазон значений с центром в заданной точке, к величине этого диапазона. Функции плотности вероятности — производные соответствующих функций распределения, обсуждаемых в следующем разделе.
dbeta(x,s1,s2) Возвращает плотность вероятности бэта-распределения:
где
(s1,s2>0)
являются параметрами формы. (0
dbinom(k,n,p)
Возвращает
P(X=k),
когда случайная величина X имеет
биномиальное
распределение:
в
котором n
и k
являются целыми числами, удовлетворяющими
условию
.
p
удовлетворяет
.
dcauchy(x,l,s)
Возвращает плотность вероятности
распределения Коши:
в
котором l
является параметром расположения, а
s>0 есть параметр масштаба.
dchisq(x,d)
Возвращает плотность вероятности для
хи-квадрат распределения:
в
котором d>0 является числом степеней
свободы, и х>0.
dexp(x,r)
Возвращает
плотность вероятности экспоненциального
распределения:
в
котором r>0
является параметром, и х>0.
dF(x,d1,d2)
Возвращает плотность вероятности
F-распределения:
в
котором d1,d2>0
являются числами степеней свободы и
х>0.
dgamma(x,s)
Возвращает плотность вероятности
Гамма-распределения:
в
котором s>0
является параметром формы, и
.
dgeom(k,р)
Возвращает P(X=к),
когда случайная величина X подчиняется
геометрическому распределению
в
котором
является вероятностью успеха в отдельном
испытании, k
есть неотрицательное целое число.
dlnorm(x,?,?)
Возвращает плотность вероятности
логнормального распределения:
в
котором ?
равно
натуральному логарифму среднего
значения, ?>0
равно
натуральному логарифму среднеквадратичного
отклонения, и х>0.
dlogis(x,l,s)
Возвращает плотность вероятности
логистического распределения:
в
котором l
является параметром расположения, и
s>0
есть параметр масштаба.
dnbinom(k,n,р)
Возвращает p(Х=k),
когда случайная величина X имеет
отрицательное биномиальное распределение:
в
котором
,а
n
и k
являются целыми числами, n>0
и k?0
dnorm(x,?,?)
Возвращает плотность вероятности
нормального распределения:
в
котором ?
и
?
есть
среднее значение и среднеквадратичное
отклонение, ?>
0.
dpois(k,?)
Возвращает Р(Х=k),
когда случайная величина X имеет
распределение Пуассона:
в
котором ?>0,
а
k
является неотрицательным целым числом.
dt(x,d)
Вычисляет плотность вероятности t
-распределения Стьюдента:
в
котором d является числом степеней
свободы, d>0, a x есть вещественное число.
dunif(x,a,b)
Вычисляет плотность вероятности
равномерного распределения:
в
котором b и а являются граничными точками
интервала, a
dweibull(x,s)
Вычисляет плотность вероятности
распределения Вейбулла:
в
котором s>0 есть параметр формы и х>0.
Функции
распределения
Эти
функции возвращают вероятность того,
что случайная величина меньше или равна
определенному значению. Функция
распределения вероятности – просто
функция плотности вероятности,
проинтегрированная от
до определенного значения. Для
целочисленных случайных величин
интеграл заменен суммированием по
соответствующим индексам.
Функции
плотности вероятности, соответствующие
каждой из следующих функций
распределения, даны в подразделе
"Плотности распределения
вероятности".
cnorm(x)
Возвращает стандартную нормальную
функцию распределения. Эквивалент
pnorm(x,0,1).
pbeta(х,s1,s2)
Возвращает функцию бэта-распределения
с параметрами формы s1
и s2.
(s1,s2>0)
pbinom(k,n,р)
Возвращает функцию биномиального
распределения для k
успехов в n
испытаниях, n
есть натуральное число, р есть вероятность
успеха, 0?p?1.
pcauchy(x,l,s)
Возвращает функцию распределения
Коши с параметром масштаба s и параметром
расположения l,
s >0.
pchisq(x,d)
Возвращает функцию распределения
хи-квадрат, в котором d>0 равно числу
степеней свободы.
рехр(х,r)
Возвращает функцию экспоненциального
распределения, в котором r>0
является параметром.
pF(x,d1,d2)
Возвращает функцию F-распределения, в
котором d1,d2>0
являются числами степеней свободы.
pgamma(x,s)
Возвращает функцию Гамма-распределения,
в котором s>0 является параметром
формы.
pgeom(к,р)
Возвращает функцию геометрического
распределения, р есть вероятность
успеха в одиночном испытании. 0<р>
plnorm(х,?,?)
Возвращает функцию логнормального
распределения, в котором ?
равно
логарифму среднего значения, а ?>0
есть
логарифм среднеквадратичного отклонения.
plogis(x,l,s)
Возвращает функцию логистического
распределения. l
есть параметр расположения, s>0 –
параметр масштаба.
pnbinom(k,n,р)
Возвращает функцию отрицательного
биномиального распределения, в котором
0<р?1. n
– натуральное.
pnorm(x,?,?)
Возвращает функцию нормального
распределения со средним ?
и среднеквадратичным отклонением ?,
?>0.
ppois(к,?)
Возвращает функцию распределения
Пуассона. ?>0.
pt(x,d)
Возвращает
функцию t-распределения
Стьюдента. d есть число степеней свободы.
d>0.
punif(х,а,b)
Возвращает функцию равномерного
распределения, b и а есть граничные
точки интервала, а
pweibull(x,s)
Возвращает функцию распределения
Вейбулла. s>0.
Обращения
функций распределения
Эти
функции принимают вероятность р как
аргумент и возвращают значение х такое,
что Р(Х?х)=р.
Функции
плотности распределения, соответствующие
каждому из следующих обратных функций
распределения даны в подразделе
"Плотности распределения
вероятности".
qbeta
(p,s1,s2)
Обращает бета-распределение с параметрами
формы s1
и s2.
(0?р?1) (s1,s2>0).
qbinom(р,n,r)
Возвращает число успехов в n
испытаниях схемы Бернулли при условии,
что вероятность успехов не превышает
р и r
– вероятность успеха на одиночном
испытании. 0?r?1
и 0?p?1.
n
есть натуральное число.
qcauchy(p,l,s)
Обращает распределение Коши с параметром
масштаба s
и параметром расположения l.
s>0. 0?р< 1.
qchisq(p,n)
Обращает хи-квадрат распределение, в
котором d>0 является числом степеней
свободы. 0?р< 1.
qexp(p,r)
Обращает экспоненциальное распределение,
в котором r>0
является параметром. 0?р< 1.
qF(p,d1,d2)
Обращает F-распределение,
в котором d1,
d2>0
являются числами степеней свободы.
0?p<1>
qgamma(p,s)
Обращает Гамма-распределение, в котором
s>0 является параметром формы. 0?р<1>
qgeom(р,r)
Обращает геометрическое распределение,
r
– вероятность успеха при одиночном
испытании. 0
qlnorm(p,?,?)
Обращает логнормальное распределение,
в котором ?
является натуральным логарифмом
среднего значения, ?>0
– натуральный логарифм среднеквадратичного
отклонения. 0?р< 1.
qlogis(р,l,s)
Обращает логистическое распределение.
l
– параметр расположения, s>0 – параметр
масштаба. 0<р>
qnbinom(p,n,r)
Обращает отрицательное биномиальное
распределение с числом испытаний n
и вероятностью успеха в одиночном
испытании r.
0
qnorm(p,?,?)
Обращает нормальное распределение со
средним ?
и среднеквадратичным отклонением ?.
0 0.
qpois(p,?)
Обращает
распределение
Пуассона.
?>0
и
0?p?1.
qt(p,d)
Обращает
t-распределение
Стьюдента. d
– число степеней свободы. d>0
и 0
qunif(p,a,b)
Обращает
равномерное распределение. b
и a
– граничные точки интервала. a
qweibull(p,s)
Обращает распределение Вейбулла. s>0
и 0
Функция
hist
Mathcad
включает одну функцию, hist, для вычисления
частотного распределения, применяемого
для построения гистограмм:
hist(int,А)
Возвращает вектор, представляющий
частоты, с которыми величины,
содержащиеся в векторе А, попадают в
интервалы, представляемые вектором
int. Элементы в А и int и должны быть
вещественными. Кроме того, элементы
int должны быть расположены в порядке
возрастания. Возвращаемый результат
– вектор, содержащий на один элемент
меньше, чем int.
Mathcad
интерпретирует int как набор точек,
определяющих последовательность
интервалов в гистограмме. Значения в
int должны быть расположены в порядке
возрастания. Результатом этой функции
является вектор f, в котором fi
есть число значений в А, удовлетворяющих
условию:
Mathcad
игнорирует данные, меньшие, чем первое
значение в int, или большие, чем последнее
значение в int.
Случайные
числа
Mathcad
поставляется с рядом функций для
генерирования случайных чисел,
имеющих разнообразные распределения
вероятностей. Функциональные формы
распределений, связанных с приведенными
ниже функциями даны в подразделе
"Плотности распределения вероятности.
rbeta(m,s1,s2)
Возвращает вектор m
случайных чисел, имеющих бэта-распределение.
s1,s2>0
есть параметры формы.
rbinom(m,n,р)
Возвращает вектор m
случайных чисел, имеющих биномиальное
распределение. 0?р?1. n
есть натуральное число.
rcauchy(m,l,s)
Возвращает вектор m
случайных чисел, имеющих распределение
Коши. s>0
есть параметр масштаба. l
– параметр расположения.
rchisq(m,d)
Возвращает вектор m
случайных чисел, имеющих распределение
хи-квадрат. d>0
есть число степеней свободы.
rехр(m,r)
Возвращает вектор m
случайных чисел, имеющих экспоненциальное
распределение. r>0
— параметр распределения.
rF(m,d1,d2)
Возвращает вектор m
случайных чисел, имеющих F-pacпределение.
d1,d2
>0 есть числа степеней свободы.
rgamma(m,s)
Возвращает вектор m
случайных чисел, имеющих гамма-распределение,
s>0 есть параметр формы.
rgeom(m,p)
Возвращает вектор m
случайных чисел, имеющих геометрическое
распределение. 0<р>
rlnorm
(m,?,?)
Возвращает вектор m
случайных чисел, имеющих логнормальное
распределение, в котором ?
является натуральным логарифмом
среднего значения, а ?>0
есть натуральный логарифм среднеквадратичного
отклонения.
rlogis(m,l,s)
Возвращает вектор m
случайных чисел, имеющих логистическое
распределение, в котором l
является параметром расположения, a
s>0
есть параметр масштаба.
rnbinom(m,n,р)
Возвращает вектор m
случайных чисел, имеющих отрицательное
биномиальное распределение. 0<р?1. n
есть натуральное число.
rnorm(m,?,?)
Возвращает вектор m
случайных чисел, имеющих нормальное
распределение. ?>0.
rpois(m,?)
Возвращает вектор m
случайных чисел, имеющих распределение
Пуассона. ?>0.
rt(m,d)
Возвращает вектор т случайных чисел,
имеющих t-pacпределение Стьюдента. d>0.
runif(m,a,b)
Возвращает вектор m
случайных чисел, имеющих равномерное
распределение, в котором b и а являются
граничными точками интервала, а
rnd(х)
Возвращает равномерно распределенное
случайное число между 0 и х. Эквивалент
runif(1,0,х).
rweibull(m,s)
Возвращает вектор m
случайных чисел, имеющих распределение
Вейбулла, в котором s>0 является
параметром формы.
Каждый
раз, когда повторно вычисляется
выражение, содержащее одну из этих
функций, Mathcad
генерирует новые случайные числа. Чтобы
заставить Mathcad
генерировать новые случайные числа,
щёлкните мышью на выражении, содержащем
функцию, и нажмите [F9].
Каждая
из этих функций в действительности
создаёт последовательность
псевдослучайных чисел, связанную с
некоторым задаваемым стартовым
значением. Каждое нажатие [F9] заставляет
функцию выдать новое значение из
этой последовательности. Одно и то же
стартовое значение производит одинаковые
последовательности чисел. Изменение
стартового значения приводит к смене
последовательности случайных чисел,
выдаваемых функцией.
Чтобы
изменить стартовое значение, выберите
Генератор
случайных чисел...
из меню Математика
и измените стартовое значение в
диалоговом окне. Убедитесь, что
введено целое число.
Чтобы
перезапустить генератор случайных
чисел Mathcad,
не изменяя стартового значения, выберите
Генератор
случайных чисел...
из меню Математика
и нажмите "ОК",
чтобы принять текущее значение. Затем
щёлкните мышью на выражении с функцией,
генерирующей случайное число, и
нажмите [F9].
Так
как генератор случайных чисел был
сброшен, Mathcad
будет производить те же самые случайные
числа, которые производились бы после
перезапуска Mathcad.
Если
нужно несколько раз использовать одну
и ту же последовательность случайных
чисел, сбросьте генератор случайных
чисел между вычислениями, как описано
выше.
Чтобы
получить новый набор случайных чисел,
измените стартовое значение, как описано
выше. Это заставит Mathcad
генерировать набор случайных чисел,
отличный от того, который создаётся
после перезапуска Mathcad.
Каждый раз при необходимости получить
новую последовательность случайных
чисел следует переустанавливать
стартовое значение, как описано
выше.
Интерполяция
и функции предсказания
Интерполяция
использует значения некоторой функции,
заданные в ряде точек, чтобы предсказать
значения функции между ними. В Mathcad:
можно или соединять точки данных
прямыми линиями (линейная интерполяция)
или соединять их отрезками кубического
полинома (кубическая сплайн-интерполяция).
В
отличие от функций регрессии, обсуждаемых
в следующем разделе, функции интерполяции
определяют кривую, точно проходящую
через заданные точки. Из-за этого
результат очень чувствителен к ошибкам
данных. Если данные зашумлены, следует
рассмотреть возможность использования
регрессии вместо интерполяции.
Линейное
предсказание заключается в использовании
существующих значений данных, чтобы
предсказать значения за их пределами.
В Mathcad
есть функция, которая позволяет
предсказывать будущие значения
данных на основе уже имеющихся данных.
Всякий
раз, когда массивы используются в любой
из функций, описанных в этом разделе,
убедитесь, что каждый элемент массива
содержит определённое значение, так
как Mathcad
присваивает значение 0 любым элементам,
которые явно не определены.
Линейная
интерполяция
При
линейной интерполяции Mathcad соединяет
существующие точки данных прямыми
линиями. Это выполняется функцией
linterp,
описанной ниже.
linterp(vx,vy,x)
Использует векторы данных vx
и vy,
чтобы возвратить линейно интерполируемое
значение у,
соответствующее третьему аргументу
х.
Аргументы vx
и vy
должны быть векторами одинаковой длины.
Вектор vx
должен содержать вещественные
значения, расположенные в порядке
возрастания.
Эта
функция соединяет точки данных отрезками
прямых, создавая таким образом ломаную.
Интерполируемое значение для конкретного
х
есть ордината у
соответствующей точки ломаной.
Для
значений х,
расположенных перед первой точкой в
vx,
Mathcad
продолжает ломаную прямой линией,
проходящей через первые две точки
данных. Для значений х,
расположенных за последней точкой в
vx,
Mathcad
продолжает ломаную прямой линией,
проходящей через последние две точки
данных.
Для
получения наилучших результатов
значение х
должно находиться между самым большим
и самым маленьким значениями в векторе
vx
– маловероятно, что будут полезны
значения, вычисленные для х
вне этого диапазона. Функция linterp
предназначена для интерполяции, а не
экстраполяции.
Кубическая
сплайн-интерполяция
Кубическая
сплайн-интерполяция позволяет провести
кривую через набор точек таким образом,
что первые и вторые производные кривой
непрерывны в каждой точке. Эта кривая
образуется путем создания ряда кубических
полиномов, проходящих через наборы из
трёх смежных точек. Кубические
полиномы затем состыковываются друг
с другом, чтобы образовать одну
кривую.
Чтобы
провести кубический сплайн через набор
точек:
Создайте
векторы vx
и vy,
содержащие координаты х
и у,
через которые нужно провести
кубический сплайн. Элементы vx
должны быть расположены в порядке
возрастания. (Хотя мы используем имена
vx,
vy
и vs,
нет никаких ограничений на имена этих
переменных; можно использовать любые
имена.)
Вычислите
вектор vs:=cspline(vx,vy).
Вектор vs
содержит вторые производные
интерполяционной кривой в рассматриваемых
точках.
Чтобы
найти интерполируемое значение в
произвольной точке, скажем х0,
вычислите interp(vs,
vx, vy, x0),
где vs,
vx
и vy
– векторы, описанные ранее.
Обратите
внимание, что можно сделать то же самое,
вычисляя: interp(cspline(vx,vy),
vx, vy, x0)
На
практике, возможно, придётся вычислять
inlerp
во многих различных точках. Так как
обращение к cspline
может требовать много времени, и так
как возвращаемый ею результат не зависит
от рассматриваемой точки, имеет смысл
сделать это один раз, сохранить
результат и многократно использовать,
как описано выше.
Выражение
с функцией cspline
вычисляет массив вторых производных
vs
для сплайна, используемого для
интерполяции данных из vx
и vy.
Как
только массив vs
найден, функция interp
вычисляет интерполируемые значения.
Обратите
внимание, что массив vs
должен вычисляться только один раз,
даже для множественных интерполяций.
Так как вычисление vs
требует много времени, лучше сохранять
промежуточные результаты в виде вектора,
чем повторно вычислять их по мере
необходимости.
В
дополнение к cspline
MathCAD поставляется с двумя другими
кубическими сплайн-функциями. Три
сплайн-функции: cspline(vx,vy),
pspline(vx,vy),
lspline(vx,vy).
Они все возвращают вектор коэффициентов
вторых производных, который мы будем
называть vs.
Этот вектор, vs,
обычно используется в функции interp,
описанной ниже. Аргументы vx
и vy
должны быть вещественнозначными
векторами одинаковой длины. Значения
в vx
должны быть вещественны и расположены
в порядке возрастания.
Эти
три функции отличаются только граничными
условиями:
функция
lspline
генерирует кривую сплайна, которая
приближается к прямой линии в граничных
точках.
функция
pspline
генерирует кривую сплайна, которая
приближается к параболе в граничных
точках.
функция
cspline
генерирует кривую сплайна, которая
может быть кубическим полиномом в
граничных точках.
interp(vs,vx,vy,x)
Возвращает интерполируемое значение
у,
соответствующее аргументу x.
Вектор vs
вычисляется на основе векторов
данных vx
и vy
одной из функций lspline,
pspline или
cspline.
Интерполируемое
значение для конкретного х
есть ордината у соответствующей точки
сплайна. Для значений х,
расположенных перед первой точкой в
vx,
Mathcad
продолжает сплайн первой из составляющих
его кубических парабол. Для значений
х,
расположенных за последней точкой
в vx,
Mathcad
продолжает сплайн последней из
составляющих его кубических парабол.
Для
получения наилучших результатов
значение х
должно находиться между самым большим
и самым маленьким значениями в векторе
vx
– маловероятно, что будут полезны
значения, вычисленные для х
вне этого диапазона. Сплайны предназначены
для интерполяции, а не экстраполяции.
Интерполяция
сплайнами функций нескольких переменных
MathCAD
выполняет интерполяцию кубическими
сплайнами функции двух переменных тем
же самым образом, как и в одномерном
случае, обсужденном ранее. MathCAD
проводит через сетку узлов поверхность,
составленную из кубических полиномов
от х
и у,
таким образом, что первые и вторые
частные производные являются непрерывными
в каждом узле сетки.
Первый
шаг в двумерной сплайн-интерполяции —
точно такой же, как и в одномерном
случае: определить узлы, через которые
поверхность должна пройти. Однако
это потребует больше усилий, потому
что теперь нужно определить сетку
узлов:
Создайте
матрицу Мху,
чьи элементы, Mxyi,0
и Мхуi,1
определяют х
и у
координаты по диагонали прямоугольной
сетки. Эта матрица играет ту же самую
роль, что и vx
в одномерном случае, описанном ранее.
Так как эти узлы описывают диагональ,
элементы в каждом столбце Мху
должны быть расположены в порядке
возрастания (Mxyi,k<
Мхуj,k
всякий раз, когда i<j).
Создайте
матрицу Mz,
чей (ij)
– элемент есть координата z
соответствующая точке х=Mxyi,0
и y = Mxyi,j.
Она играет ту же самую роль, что и vy
в одномерном случае, описанном ранее.
Вычислите
вектор vs:=cspline(Mxy,Mz).
Вектор vs
содержит вторые производные приближающей
поверхности в узлах, определенных Мху
и Mz.
Чтобы
найти интерполируемое значение в
произвольной точке, скажем (х0,у0),
вычислите interp
где vs,
Мху
и Mz
– массивы, описанные ранее. Результатом
является значение интерполирующей
функции, соответствующее точке (х0,у0).
Обратите
внимание, то же самое можно сделать,
вычисляя
interp(cspline(Mxy,Mz),Мху,Mz,)
На
практике, возможно, придётся вычислять
interp
во многих различных точках. Так как
обращение к cspline
может требовать много времени, и так
как возвращаемый ею результат не зависит
от рассматриваемой точки, имеет смысл
сделать это один раз, сохранить
результат и многократно использовать,
как описано выше.
В
дополнение к cspline
MathCAD поставляется с двумя другими
функциями сплайн-интерполяции. Функции
сплайн-интерполяции MathCAD: cspline(Mxy,Mz),
lspline(Mxy,Mz), pspline(Mxy,Mz).
Они все возвращают вектор коэффициентов
вторых производных, который мы будем
называть vs.
Этот вектор, vs,
обычно используется в функции interp,
описанной ниже. Мху
–
матрица, чьи элементы Mxyi,0
и Мхуi,i
определяют точки на диагонали
сетки. (ij)
– элемент
матрицы Mz
определяет значение интерполирующей
функции в (Mxyi,0,Мхуi,j).
Эти
три функции отличаются только граничными
условиями:
функция
lspline
генерирует сплайн, который приближается
к плоскости на краях сетки.
функция
pspline
генерирует сплайн, который представляет
полином второй степени от x
и у
на краях сетки.
функция
cspline
генерирует сплайн, который представляет
полином третьей степени от х
и у
на краях сетки.
interp(vs,Мху,Mz,v)
Возвращает интерполируемое значение
z,
соответствующее точкам x=v0
и у=v1.
Вектор vs
вычисляется lspline,
pspline,
или cspline
на основе данных из Мху
и Mz.
Для
получения наилучших результатов не
используйте функцию interp
для значений x
и у,
удалённых от узлов сетки. Сплайны
предназначены для интерполяции, а
не экстраполяции, поэтому маловероятно,
что значения, вычисленные для таких х
и у,
будут полезны.
Линейное
предсказание
Функции
интерполяции, описанные в этом разделе
до сих пор, позволяют по заданным
значениям некоторой функции в ряде
точек оценить её значения в промежуточных
точках. Иногда необходимо оценить
значения функции в точках, находящихся
вне области расположения сетки, на
которой заданы значения функции. В
MathCAD есть функция predict,
которая позволяет это сделать. Эта
функция использует линейный алгоритм
предсказания, который является полезным,
когда экстраполируемая функция
является гладкой и осциллирующей, хотя
не обязательно периодической.
Линейное предсказание можно рассматривать
как разновидность экстраполяции,
но его нельзя путать с линейной или
полиномиальной экстраполяцией.
predict(v,m,n)
Возвращает n
предсказанных значений, основанных
на n
последовательных значениях вектора
данных v.
Элементы в v должны представлять собой
значения, взятые через равные
интервалы.
Функция
predict
использует последние n
исходных значений данных, чтобы вычислить
коэффициенты предсказания. Как только
это сделано, она использует последние
n
точек, чтобы предсказать координаты
(m+1)-ой
точки, фактически создавая скользящее
окно шириной в m
точек.
Функции
регрессии
MathCAD
включает ряд функций для вычисления
регрессии. Обычно эти функции создают
кривую или поверхность определенного
типа, которая в некотором смысле
минимизирует ошибку между собой и
имеющимися данными. Функции отличаются,
прежде всего, типом кривой или поверхности,
которую они используют, чтобы
аппроксимировать данные.
В
отличие от функций интерполяции,
обсужденных в предыдущем разделе,
эти функции не требуют, чтобы
аппроксимирующая кривая или поверхность
проходила через точки данных. Функции
регрессии, рассмотренные в этом
разделе, следовательно, гораздо менее
чувствительны к ошибкам данных, чем
функции интерполяции. В отличие от
функций сглаживания, рассматриваемых
в следующем разделе, конечный
результат регрессии – функция, с
помощью которой можно оценить
значения в промежутках между заданными
точками.
Всякий
раз, когда массивы используются в любой
из функций, описанных в этом разделе,
убедитесь, что каждый элемент в массиве
содержит определённое значение,
поскольку MathCAD присваивает 0 любым
элементам, которые явно не определены.
Линейная
регрессия
Эти
функции возвращают наклон и смещение
линии, которая наилучшим образом
приближает данные в смысле наименьших
квадратов. Если поместить значения x
в вектор vx
и соответствующие значения у
в vy,
то линия определяется в виде
у=slope(vx,vy)x+intercept(vx,vy)
slope(vx,vy)
Возвращает скаляр: наклон линии регрессии
всмысле наименьших квадратов для данных
из vx
и vy.
intercept(vx,vy)
Возвращает скаляр: смещение по оси
ординат линии регрессии в смысле
наименьших квадратов для данных из
vx
и vy.
Эти
функции полезны не только, когда данные
по существу должны представлять линейную
зависимость, но и когда они представляют
экспоненциальную зависимость. Например,
если х
и
у
связаны соотношением вида
,
можно
применить эти функции к логарифму
данных и использовать тот факт, что
В
этом случае
A=exp(intercept(vx,vy))
и
k=slope(vx,vy)
Такое
приближение взвешивает ошибки по-другому,
нежели приближение показательной
функцией в смысле наименьших квадратов,
но обычно это – хорошая аппроксимация.
Полиномиальная
регрессия
Эти
функции полезны, когда есть набор
измеренных соответствующих значений
у
и х,
между которыми ожидается полиномиальная
зависимость, и нужно приблизить эти
значения с помощью полинома наилучшим
в определённом смысле образом.
Используйте
regress,
когда нужно использовать единственный
полином, чтобы приблизить все данные.
Функция regress
допускает использование полинома
любого порядка. Однако на практике не
следует использовать степень полинома
выше n=4.
Так
как regress
пытается приблизить все точки данных,
используя один полином, это не даст
хороший результат, когда данные не
связаны единой полиномиальной
зависимостью. Например, предположим,
ожидается, что yi
зависят линейно от х
в диапазоне от x1
до х10
и ведут себя подобно кубическому
полиному в диапазоне от х11
до x20.
Если используется regress
с n=3,
можно получить хорошее приближение
для второй половины, но ужасное – для
первой. Функция loess
облегчает эти проблемы, выполняя
локальное приближение. Вместо создания
одного полинома, как это делает regress,
loess
создаёт различные полиномы второго
порядка в зависимости от расположения
на кривой.
Она
делает это, исследуя данные в малой
окрестности точки, представляющей
интерес. Аргумент span
управляет размером этой окрестности.
По мере того как диапазон становится
большим, loess
становится эквивалентным regress
с n=2.
Хорошее значение по умолчанию –
span=0.75.
regress(vx,vy,n)
Возвращает вектор, требуемый interp,
чтобы найти полином порядка n,
который наилучшим образом приближает
данные из vx
и vy.
vx
есть m-мерный
вектор, содержащий координаты x.
vy
есть m-мерный
вектор, содержащий координаты у
соответствующие m
точкам, определенным в vx.
loess(vx,vy,span)
Возвращает вектор, требуемый interp,
чтобы найти набор полиномов второго
порядка, которые наилучшим образом
приближают определённые окрестности
выборочных точек, определенных в
векторах vx
и vy.
vx
есть m-мерный
вектор, содержащий координаты х.
vy
m-мерный
вектор, содержащий координаты у,
соответствующие т
точкам, определенным в vx.
Аргумент span
(span>0)
определяет, насколько большие
окрестности loess
будет использовать при выполнении
локального приближения.
interp(vs,vx,vy,x)
Возвращает интерполируемое значение
у,
соответствующее х.
Вектор vs
вычисляется loess
или regress
на основе данных из vx
и
vy.
Многомерная
полиномиальная регрессия
Функции
loess
и regress,
обсужденные в предыдущем разделе, также
полезны, когда имеется набор измеренных
величин z,
соответствующих значениям х
и
у,
и необходимо приблизить полиномами
поверхность, проходящую через эти
значения z.
Свойства
этих функций описаны в предыдущем
разделе. При использовании этих функций
для приближения значений z,
соответствующих двум независимым
переменным х
и у,
толкования их аргументов должны
быть изменены. А именно:
Аргумент
vx,
который был m-мерным
вектором значений х,
становится матрицей, состоящей из
т
рядов и 2 столбцов, Мху.
Каждая строка Мху
содержит x
в первом столбце и соответствующее
значение у
во втором столбце.
Аргумент
х
для функции interp
становится двумерным вектором v,
чьи элементы – значения х
и у,
в которых нужно найти значение
полиномиальной функции, представляющей
наилучшее приближение данных из Мху
и уz.
regress(Мху,vz,k)
Возвращает вектор, требуемый interp,
чтобы найти полином k-oгo порядка, который
наилучшим образом приближает данные
из Мху
и vz.
Мху
есть
матрица, содержащая х-у
координаты, vz
есть m-мерный
вектор, содержащий значения z,
соответствующие точкам, определенным
в Мху.
loess(Мху,vz,span)
Возвращает вектор, требуемый interp,
чтобы найти набор полиномов второго
порядка, которые наилучшим образом
приближают определённые окрестности
выборочных точек, определенных в
массивах Мху
и vz.
Мху
–
матрица, содержащая х-y
координаты, vz
– т-мерный
вектор, содержащий координаты z,
соответствующие т
точкам, определенным в Мху.
Аргумент span
(span>0)
определяет, насколько большую окрестность
loess
будет рассматривать при выполнении
локального приближения.
interp(vs,Мху,vz,v)
Возвращает интерполируемое значение
z,
соответствующее точке x=v0
и y=v1.
Вектор vs
вычисляется loess
или regress
на основе данных из Мху
и vz.
Обобщенная
регрессия
К
сожалению, линейная или полиномиальная
функции не во всех случаях подходят
для описания зависимости данных. Бывает,
что нужно искать эту зависимость в
виде линейных комбинаций произвольных
функций, ни одна из которых не является
полиномом. Например, в ря-.. дах Фурье
следует аппроксимировать данные,
используя линейную комбинацию комплексных
экспонент. Или предполагается, что
данные могут быть смоделированы в виде
линейной комбинации полиномов Лежандра,
но только неизвестно, какие необходимо
взять коэффициенты.
Функция
linfit
разработана, чтобы решить эти виды
проблем. Если предполагается, что данные
могли бы быть смоделированы в виде
линейной комбинации произвольных
функций
y=a0f0(x)+a1f1(x)+…+anfn(x)
следует
использовать linfit,
чтобы вычислить ai.
Всё-таки
имеются случаи, когда гибкость linfit
недостаточна – данные должны быть
смоделированы не линейной комбинацией
данных, а некоторой функцией, чьи
параметры должны быть выбраны. Например,
если данные могут быть смоделированы
в виде суммы
f(x)=a1sin(2x)+a2tanh(3x)
и
всё, что нужно сделать – решить
уравнение относительно неизвестных
коэффициентов а1
и
а2,
значит эта проблема решается с помощью
linfit.
В
противоположность этому, если данные
должны быть смоделированы в виде
суммы
f(x)=2sin(a1x)+3tanh(a2x)
и
требуется найти неизвестные параметры
а1
и а2,
то это задача для функции genfit.
linfit(vx,vy,F)
Возвращает вектор, содержащий
коэффициенты, используемые, чтобы
создать линейную комбинацию функций
из F,
дающую наилучшую аппроксимацию
данных из векторов vx
и vy.
F
— функция, которая возвращает вектор,
состоящий из функций, которые нужно
объединить в виде линейной комбинации.
genfit(vx,vy,vg,F)
Возвращает вектор, содержащий п
параметров u0,
u1,
…, un-1
которые
обеспечивают наилучшее приближение
данных из vx
и vy
функцией f
зависящей от х
и параметров u0,
u1,
…, un-1.
F
– функция, которая возвращает n+1-мерный
вектор, содержащий f
и ее частные производные относительно
параметров. vg
есть n-мерный
вектор начальных значений для n
параметров.
Всё,
что можно делать с помощью linfit,
можно также делать, хотя и менее удобно,
с genfit.
Различие между этими двумя функциями
есть различие между решением системы
линейных уравнений и решением системы
нелинейных уравнений. Первая задача
легко решается методами линейной
алгебры. Вторая задача гораздо более
трудная и решается итеративными
методами. Это объясняет, почему genfit
нуждается в векторе начальных
значений в качестве аргумента, a linfit
в этом не нуждается.
Функции
сглаживания
Сглаживание
предполагает использование набора
значений у
(и возможно х)
и возвращение нового набора значений
у,
который является более гладким, чем
исходный набор. В отличие от регрессии
и интерполяции, обсужденных ранее,
сглаживание приводит к новому набору
значений у,
а не к функции, которая может оценивать
значения между заданными точками
данных. Таким образом, если вас интересуют
значения у
между заданными значениями у,
необходимо использовать интерполяцию
или регрессию.
Всякий
раз, когда в любой из функций, описанных
в этом разделе, используются векторы,
убедитесь, что каждый элемент в векторе
определён. Так как каждый элемент в
векторе должен иметь значение, MathCAD
присваивает значение 0 любым элементам,
которые явно не определены.
Функция
medsmooth
– наиболее устойчивая из трех, так
как в меньшей степени подвержена
влиянию зашумленных данных. Эта функция
использует сглаживание с помощью
скользящей медианы, вычисляет остатки,
сглаживает остатки тем же самым образом
и суммирует эти два сглаженных вектора
вместе. Более подробно:
Вычисление
medsnrooth(vy,mf)
начинается со сглаживания скользящей
медианой исходного вектора vy.
Сглаженный вектор мы будем называть
vy'.
Его i-ый
элемент дается выражением:
.
Затем
вычисляются остатки: vr=vy-vy'.
Вектор
остатков, vr,
сглаживается с использованием процедуры,
описанной на шаге 1. Это дает сглаженный
вектор остатков vr'.
Функция
medsmooth
возвращает сумму из этих двух сглаженных
векторов: medsmooth(vy,n)=vy'+vr'.
Обратите
внимание, что medsmooth
будет оставлять первые и последние
(n-1)/2
точки неизменяемыми. На практике длина
окна сглаживания п должна быть мала
по сравнению с длиной набора данных.
Функция
ksmooth
использует гауссово ядро, чтобы вычислить
локально взвешенные средние значения
исходного вектора vy.
Это сглаживание наиболее полезно,
когда данные взяты в точках, отделяемых
друг от друга интервалами приблизительно
равной ширины. Если длина интервалов
существенно изменяется, следует
использовать адаптивное сглаживание
подобное supsmooth.
Для
каждого vyi
в n-мерном
векторе vy
функция ksmooth
возвращает новый vy'i,
даваемый формулой
где
и
b
– параметр сглаживания. Его величина
обычно устанавливается в несколько
раз больше величины интервала между
точками данных на оси х
и определяется тем, насколько большое
окно желательно использовать при
сглаживании.
Функция
supsmooth
использует симметричную линейную
процедуру сглаживания методом наименьших
квадратов по правилу k-ближайших
соседей, чтобы выполнить локальную
линейную аппроксимацию исходных
данных. В отличие от ksmooth,
который использует фиксированную
ширину полосы сглаживания для всех
исходных данных, supsmooth
адаптивно выбирает различную ширину
полосы сглаживания для различных
частей данных.
medsmooth(vy,n)
Возвращает
m-мерный вектор, созданный сглаживанием
vy
с помощью скользящей медианы. vy
есть m-мерный вектор вещественных чисел.
n
– ширина окна, по которому происходит
сглаживание, n
должно быть нечетным числом, меньшим,
чем число элементов в vy.
ksmooth(vx,vy,b)
Возвращает
n-мерный
вектор, созданный сглаживанием при
помощи гауссова ядра данных из vy,
vy
и vx
– n-мерные
векторы вещественных чисел. Параметр
b
управляет окном сглаживания и должен
быть установлен в несколько раз больше
величины интервала между точками х.
supsmooth(vx,vy)
Возвращает
n-мерный
вектор, созданный локальным
использованием симметричной линейной
процедуры сглаживания методом наименьших
квадратов по правилу k-ближайших
соседей, в которой к выбирается
адаптивно, vy
и vx
– n-мерные
векторы вещественных чисел. Элементы
vx
должны быть расположены в порядке
возрастания.
Прикладное использование рассмотренных теоретических сведений
Метод наименьших квадратов
Пример 2.1?1
Пример 2.1?2
Оценка функции и плотности распределения случайной величины
Пример 2.2?1
Пример 2.2?2
Точечная оценка числовых характеристик. Методы оценок параметров
Интервальные оценки числовых характеристик
Критерии согласия
Зависимость случайных величин, регрессия.
Заключение
Данная курсовая работа позволила мне более близко познакомиться с пакетом системы компьютерной математики MathCAD. Мной были рассмотрены способы решения задач математической статистики с использованием данной программы.
Задачи исследования были максимально реализованы т.к. в курсовой работе были описаны все статистические функции, используемые в системе MathCAD, и рассмотрена работа некоторых из них на конкретных примерах.
Курсовая работа дает наглядное представление о сформулированной цели исследования: использование системы компьютерной математики MathCAD для решения задач математической статистики дает наиболее наглядное, простое, красивое (с точки зрения оформления) решение этих задач, по сравнению со всеми другими используемыми для этого средствами.
Все это позволяет утверждать целесообразность обучения студентов нашего ВУЗа решению задач математической статистики с использование системы компьютерной математики MathCAD (в настоящее время для этого используется MS Excel).
Дата завершения работы: ___.___._____ г.
Подпись: ______________
Список используемой литературы
Бидасюк Ю.М. Mathsoft MathCAD 11. Самоучитель. – СПб: Диалектика, 2004. – 224 с.
Бутенков С.А. Методические указания к использованию системы MathCad в практических занятиях по курсу высшей математики. – Таганрог : ТРТУ, 1995. – 450 с.
Гмурман В.Е. Теория вероятностей и математическая статистика. Учебное пособие для ВУЗов. – М.: Высшая школа, 1972. – 368 с.
Кудрявцев В.М. MathCAD 8. – М.: ДМК, 2000. – 320 с.
Методические указания к лабораторным работам по математической статистике с применением ЭВМ./ И.П.Фирсов,О.С.Семерий. – Таганрог: ТРТУ, 2001. – 66 с. http://www.exponenta.ru/educat/systemat/semeriy/main.asp - 11.11.2005
Методические указания к практическим занятиям по математической статистике с применением ЭВМ (для студентов 2 курса всех специальностей ЭГФ)./ И.П.Фирсов, А.В.Никитина, С.А.Бутенков. http://www.exponenta.ru/educat/systemat/butenkov/main.asp - 11.11.2005
Плис А.И. MathCAD 2000: Математический практикум для экономистов/ А.И.Плис, Н.А.Сливина. – М.: Финансы и статистика, 2000. – 656 с.
Учебник по Mathcad-2001. Сайт проф. Давыдова А.В. http://www.prodav.narod.ru/mathbook.htm - 11.11.2005
Шушкевич Г.Ч. Введение в MathCAD 2000: Учебное пособие / Г.Ч. Шушкевич, С.В. Шушкевич. – Гродно: ГрГУ, 2001. – 138 с.
MathCAD 6.0 PLUS. Финансовые, инженерные и научные расчеты в среде Windows 95./Перевод с англ. – М.: Информационно-издательский дом «Филин», 1996. – 712 с.