Аппроксимация экспериментальных данных таблицы 40 методом наименьших квадратов

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 08.06.2019
Размер файла 749,3 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

КУРСОВОЙ ПРОЕКТ

по дисциплине "Основы программирования инженерных задач"

на тему "Аппроксимация экспериментальных данных таблицы 40 методом наименьших квадратов"

Чебоксары 2018

Задание по курсовому проектированию

Тема: " Аппроксимация экспериментальных данных таблицы 34 методом наименьших квадратов"

1) Для таблично заданной функции найти параметры следующих аппроксимирующих функций: линейной, степенной, полиномиальной и экспоненциальной.

Вариант № 12 (номер варианта равен номеру по списку студентов)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

0,2

0,4

0,6

0,8

1,0

1,2

1,4

1,6

1,8

2,0

2,7

3,0

3,3

3,8

4,0

4,2

4,5

4,7

4,8

5,0

1,5

2,0

1,5

1,9

2,6

2,3

2,1

2,2

2,4

2,9

11,4

12,2

17,1

20,4

20,1

24,7

24,3

30,2

31,5

40,0

Cостав и порядок расположения материала:

введение; теоретическая часть; практическая часть; заключение; список использованной литературы; приложения.

Во введении кратко описывается: актуальность и новизна выбранной темы; основные цели работы; постановка задачи.

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

В практической части должно содержаться: описание методов и средств решения поставленной задачи в конкретной программной среде; описание порядка решения задачи на конкретном примере с указанием всех исходных данных и промежуточных результатов; Проект включает углубленное рассмотрение темы: "Аппроксимация экспериментальных данных по методу наименьших квадратов при линейной зависимости столбцов матрицы A"

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

2) Построить на одном рисунке исходные данные и график аппроксимирующей функции.

Порядок выполнения курсового проекта

1) Ввод исходных данных. Исходными данными является таблица значений узлов аппроксимации и соответствующих им значений аппроксимируемой функции. В первой строке таблицы находятся номера узлов, во второй строке значения , в третьей значения . Количество узлов равно (если аппроксимирующая функциянелинейна относительно коэффициентов аппроксимации, то предварительно следует линеаризовать ее путем подходящей замены переменных).

2) Расчет значений аппроксимирующей функции и среднего квадратического отклонения.

Расчет значений аппроксимирующей функции состоит из двух этапов:

- решение системы уравнений;

- вычисление значений полинома в узловых точках .

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

4) Вывести в графическом виде построенную функцию .

Содержание

  • Введение
  • 1. Аналитический обзор проблемной области
  • 1.1 Аппроксимация экспериментальных данных
  • 1.2 Система нормальных уравнений
  • Выводы по разделу 1
  • 2. Основные теоретические модели, методы и алгоритмы исследования
  • 2.1 Нахождение минимума среднеквадратичного отклонения
  • 2.2 Особенности решения нормальных уравнений
  • 2.3 Применение метода ортогонализации
  • 2.4 Распределение Фишера
  • Выводы по разделу 2
  • 3. Практическая реализация результатов исследования
  • 3.1 Структура программы
  • 3.2 Инструкция пользователю
  • Выводы по разделу 3
  • 4. Вычислительные эксперименты
  • 4.1 Параметры линейной аппроксимирующей функции
  • 4.2 Расчет значений аппроксимирующей функции и среднеквадратичного уклонения
  • Выводы по разделу 4
  • Заключение
  • Список использованной литературы
  • Пpиложение А. Листинг пpогpаммы

Введение

Актуальность темы. До начала XIX в. учёные не имели определённых правил для решения системы уравнений, в которой число неизвестных меньше, чем число уравнений; до этого времени употреблялись частные приёмы, зависевшие от вида уравнений и от остроумия вычислителей, и потому разные вычислители, исходя из тех же данных наблюдений, приходили к различным выводам. Гауссу (1795) принадлежит первое применение метода, а Лежандр(1805) независимо открыл и опубликовал его под современным названием (фр. Mйthode des moindres quarrйs) [7]. Лаплас связал метод с теорией вероятностей, а американский математик Эдрейн (1808) рассмотрел его теоретико-вероятностные приложения [8]. Метод распространён и усовершенствован дальнейшими изысканиями Энке, Бесселя, Ганзена и других.

Работы А.А. Маркова в начале XX века позволили включить метод наименьших квадратов в теорию оценивания математической статистики, в которой он является важной и естественной частью. Усилиями Ю. Неймана, Ф.Дэвида, А. Эйткена, С. Рао было получено множество немаловажных результатов в этой области [9].

Метод наименьших квадратов (МНК, англ. Ordinary Least Squares, OLS) является одним из наиболее разработанных и распространенных вследствие своей относительной простоты и эффективности методов оценки параметров линейных и нелинейных моделей. Он не предъявляет жестких требований к закону распределения ошибок моделей. Вследствие этого оценки коэффициентов моделей, полученные на основе МНК, не зависят от фактического (или предполагаемого) закона распределения. Он может использоваться для "решения" переопределенных систем уравнений (когда количество уравнений превышает количество неизвестных), для поиска решения в случае обычных (не переопределенных) нелинейных систем уравнений, для аппроксимации точечных значений некоторой функции. МНК является одним из базовых методов регрессионного анализа для оценки неизвестных параметров регрессионных моделей по выборочным данным. Актуальность данной темы и определила тему.

Объектом исследования является метод наименьших квадратов.

Предметом изучения является процедура оценки параметров по методу наименьших квадратов, а также свойства оценок МНК.

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

Для достижения поставленной цели необходимо решить следующие задачи:

1) Аналитический обзор проблемной области.

2) Разработка теоретических моделей, методов и алгоритмов исследования.

3) Практическая реализация результатов исследования.

4) Разработка и проведение вычислительных экспериментов.

Работа состоит из введения, основной части, которая включает в себя рассмотрение теоретических и практических вопросов, заключения.

1. Аналитический обзор проблемной области

1.1 Аппроксимация экспериментальных данных

Аппроксимацией называется процесс подбора эмпирической формулы j(х)для установления из опыта функциональной зависимости y = f(x). Эмпирические формулы служат для аналитического представления опытных данных. Обычно задача аппроксимации разделяется на две части. Сначала устанавливают вид зависимости y = f(x), т.е. решают, является ли она линейной, квадратической, логарифмической и т.п. Обычно определение параметров при известном виде зависимости осуществляется по методу наименьших квадратов. При этом функция j(х) считается наилучшим приближением к f(x), если для нее сумма квадратов отклонений теоретических значений j(х) найденных по эмпирической формуле, от соответствующих опытных значений минимальна.

В Excel аппроксимация экспериментальных данных осуществляется путем построения их графика с последующим подбором подходящей аппроксимирующей функции (линии тренда). Возможны следующие варианты функций:

1) Линейная:

y=ax+b.

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

2) Полиномиальная:

y=а0+ a1 x + a2 x2 +… an xn, (пЈ),

аi - константы. Используется для описания экспериментальных данных, попеременно возрастающих и убывающих. Степень полинома определяется количеством экстремумов кривой. Так, например, полином второй степени может описать только один максимум или минимум, полином третьей степени - не более двух экстремумов.

3) Логарифмическая:

y = бln x + b,

где а и b константы,

ln - функция натурального логарифма.

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

4) Степенная:

y = bxa,

где а и b - константы.

Аппроксимация степенной функции используется для экспериментальных данных с постоянно увеличивающейся (убывающей) скоростью роста. Данные не должны иметь нулевых или отрицательных значений.

5) Экспоненциальная:

y = bе,

где а и b константы,

е - основание натурального логарифма.

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

Степень близости аппроксимации экспериментальных данных выбранной функции оценивается коэффициентом детерминации (R2). Чем больше коэффициент детерминации (стремится к единице), тем лучше.

Для осуществления аппроксимации на диаграмме экспериментальных данных необходимо щелчком правой кнопки мыши вызвать контекстное меню и выбрать пункт. Добавить линию тренда. В появившемся диалоговом окне Линия тренда, на вкладке Тип выбрать вид аппроксимирующей функции, на вкладке Параметры задаются дополнительные параметры, влияющие на отображение аппроксимирующей кривой, в частности можно установить флажки в поля. Показывать уравнения на диаграмме и поместить на диаграмму величину достоверности аппроксимации. Можно сделать прогноз о том, как будет вести себя исследуемая функция, для этого надо на вкладке Параметры указать количество периодов (от 0,5) для которых будет сделан прогноз.

1.2 Система нормальных уравнений

Система называется системой нормальных уравнений. Относительно неизвестных коэффициентов b0 и b1 система нормальных уравнений является системой линейных алгебраических уравнений. В случае совместности этой системы, решив её, получим стационарную точку функции L (). Так как эта функция является выпуклой функцией, то стационарная точка будет искомой точкой минимума.

(1.1)

Обозначим через в 0 и в 1 решение системы (4.4) и запишем выражение для найденной функции регрессии:

, (1.2)

или

(1.3)

Таким образом, функция (1.3) будет являться решением задачи оценивания неизвестной линейной функции регрессии, оптимальным в смысле минимума суммы квадратов ошибок.

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

В результате оценивания данной эконометрической модели определяются оценки неизвестных коэффициентов. Классический подход к оцениванию параметров линейной регрессии основан на методе наименьших квадратов (МНК).

Метод наименьших квадратов позволяет получить такие оценки параметров 0 и 1, при которых сумма квадратов отклонений фактических значений результативного признака yот расчетных (теоретических) минимальна:

(1.5)

В процессе минимизации функции (4.6) неизвестными являются только значения коэффициентов и , потому что значения результативной и факторной переменных известны из наблюдений. Для определения минимума функции двух переменных вычисляются частные производные этой функции по каждому из оцениваемых параметров и приравниваются к нулю. Результатом данной процедуры будет стационарная система уравнений для функции (1.5):

(1.6)

Если разделить обе части каждого уравнения системы на (-2), раскрыть скобки и привести подобные члены, то получим систему нормальных уравнений для функции регрессии вида yi=?0+?1xi:

(1.7)

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

(1.8)

где,

- среднее значение зависимой переменной;

- среднее значение независимой переменной;

- среднее арифметическое значение произведения зависимой и независимой переменных;

(x) - дисперсия независимой переменной;

Gcov (x, y) - ковариация между зависимой и независимой переменными.

Таким образом, явный вид решения системы нормальных уравнений может быть записан следующим образом:

(1.9)

Выводы по разделу 1

алгоритм среднеквадратичный уравнение аппроксимирующий

Метод наименьших квадратов является одним из наиболее разработанных и распространенных вследствие своей относительной простоты и эффективности методов оценки параметров линейных и нелинейных моделей. Он не предъявляет жестких требований к закону распределения ошибок моделей. Вследствие этого оценки коэффициентов моделей, полученные на основе МНК, не зависят от фактического (или предполагаемого) закона распределения. Он может использоваться для "решения" переопределенных систем уравнений (когда количество уравнений превышает количество неизвестных), для поиска решения в случае обычных (не переопределенных) нелинейных систем уравнений, для аппроксимации точечных значений некоторой функции. МНК является одним из базовых методов регрессионного анализа для оценки неизвестных параметров регрессионных моделей по выборочным данным.

2. Основные теоретические модели, методы и алгоритмы исследования

2.1 Нахождение минимума среднеквадратичного отклонения

Пусть мы выполняем серию экспериментов и предполагаем, что выходные данные у почти линейно зависят от входных данных x, т. е.

y = C + Dx (2)

В вопросах экономики и бизнеса рассматриваются сложные взаимные связи между стоимостью продукции, объемом производства, ценами и прибылью. Несмотря на их сложность, в определенных пределах эти связи могут быть близки к линейным. Пусть, например, выпуск экземпляров журнала обходится в сумму на следующей неделе выпуск экземпляров обходится в и т. д. Тогда издатель может оценить стоимость на следующую неделю, предположив, что y = C + Dx и оценив коэффициенты С и D по уже имеющимся данным. Коэффициент D, равный стоимости каждого дополнительного экземпляра и называемый предельной стоимостью производства, обычно важнее для издателя, чем накладные расходы С. Вопрос состоит в том, как вычислить коэффициенты С и D по результатам этих экспериментов. Если соотношение действительно является линейным и ошибки в экспериментах отсутствуют, то вопрос решается просто: два измерения величины у при различных значениях t определяют прямую y = C + Dx и результаты всех последующих измерений будут находиться на этой прямой. Но при наличии ошибки эти точки уже не будут попадать напрямую, и мы должны "осреднять" результаты всех экспериментов для отыскания оптимальной прямой. Причем ее не следует путать с прямой, на которую мы раньше проектировали вектор b! Фактически, поскольку нужно определить две величины С и D, мы будем заниматься проектированием на двумерное подпространство. Задача о наименьших квадратах определяется результатами экспериментов

С + = ,

С + = , (2.1)

……………..

С + =

Эта система является переопределенной, и при наличии ошибок она не будет иметь решения. Отметим, что вектор неизвестных х имеет компоненты С и D:

(2.3)

или

Ax = b (2.4)

Наилучшее в смысле метода наименьших квадратов решение минимизирует сумму квадратов ошибок; числа и выбираются из условия минимизации величины

(2.5)

Пользуясь матричной терминологией, мы выбираем такой вектор , что точка р = А, является ближайшей к b.

Перейдем к следующему шагу, а именно к проектированию вектора b на подпространство. Эта геометрическая задача возникает следующим образом. Начинаем с системы Ах = b, но теперь А является матрицей размера m x n, т.е. вместо одного неизвестного и одного вектор столбца a матрица содержит n столбцов. Мы должны по-прежнему считать, что число m наблюдений больше числа неизвестных n, так что следует ожидать, что система Ах = b окажется несовместной. Вероятно, не существует вектора х, который бы точно соответствовал b. Другими словами, вектор b, вероятно, не является комбинацией столбцов матрицы А.

Задача вновь состоит в выборе , минимизирующего ошибку, и эта минимизация снова будет производиться по методу наименьших квадратов. Ошибка равняется Е = и она в точности представляет собой расстояние от b до точки Ах, лежащей в пространстве столбцов матрицы А. Поэтому отыскание решения по методу наименьших квадратов, означающее минимизацию ошибки Е, эквивалентно отысканию точки р = А, ближайшей к точке b по сравнению с остальными точками из пространства столбцов.

Для определения вектора можно использовать либо геометрию, либо анализ. Мы воспользуемся первой из возможностей: точка р должна быть "проекцией b на пространство столбцов" и вектор невязки А - b должен быть ортогонален к этому пространству. Ортогональность к пространству со-

стоит в следующем. Каждый вектор в пространстве столбцов матрицы A является линейной комбинацией столбцов с некоторыми коэффициентами ... . Другими словами, это вектор вида . Для всех у эти векторы в плоскости должны быть перпендикулярны вектору невязки :

(2.6)

или

(2.7)

Это справедливо для произвольного вектора у, откуда следует, что вектор в квадратных скобках должен быть нулевым,

=0.

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

Решение по методу наименьших квадратов для несовместной системы Ах = b, состоящей из m уравнений с m неизвестными, удовлетворяет соотношению

(2.8)

Оно известно под названием "нормальных уравнений". Если столбцы матрицы А являются линейно независимыми, то по 3G матрица обратима и единственное решение дается формулой

(2.9)

2.2 Особенности решения нормальных уравнений

Решение нормальных уравнений выполняют в схеме Гаусса (таблица 1).

Для вычисления преобразованных коэффициентов нужно постоянный множитель (-[ab]/[aa]), стоящий в первой элиминационной строке над квадратичным коэффициентом [bb], умножать по строке на вышестоящие числа и складывать каждый раз с элементами второго нормального уравнения

Таблица 1 - Схема решения нормальных уравнений коррелат (r = 2; рi =1)

Правило развертывания символа Гаусса: "Cимвол развертывается в разность. Уменьшаемое - тот же символ, но со значком на единицу меньше. Вычитаемое - дробь. Знаменатель дроби - квадратичный коэффициент, буква которого соответствует номеру развертываемого символа. Числитель - произведение двух символов, каждый из которых получен заменой буквы уменьшаемого на букву знаменателя".

Последняя коррелата равна числу, стоящему в столбце w последней элиминационной строки. Коррелата к 1 вычисляется с использованием чисел первой элиминационной строки от столбца w налево.

[vv] или [pvv] - для неравноточных измерений - получают как сумму произведений чисел элиминационных строк столбца w на вышестоящие числа того же столбца, знак "минус" отбрасывают:

(3)

Обратный вес функции 1/PF получают, как сумму [ff] и произведений чисел элиминационных строк столбца F на вышестоящие числа того же столбца:

(3.1)

Заключительный контроль решения нормальных уравнений осуществляется подстановкой коррелат в суммарное уравнение:

([aS] - [af])к 1 + ([bS] - [bf])к 2 + ... + ([rS] - [gf])кr + [w] = 0. (17) (3.2)

2.3 Применение метода ортогонализации

Ортогонализация Грамма-Шмидта - это один из методов, в которых на основе множества линейно независимых векторов a1,…,aN строится множество ортогональных векторов b1,…,bN или ортонормированных векторов e1,…,eN причём так, что каждый вектор bj или ej может быть выражен линейной комбинацией векторов a1,…,aj.

Данный процесс может быть использован для получения QR-разложения, в которой систему исходных векторов образуют столбцы исходной матрицы, а столбцы матрицы Q представляют из себя набор полученных при ортогонализации векторов. Таким образом, в отличие от методов Гивенса (вращений) и Хаусхолдера (отражений), основанных на приведении матрицы левыми унитарными/ортогональными преобразованиями к треугольному виду, метод ортогонализации основан на приведении матрицы правыми неортогональными (можно сказать, треугольными) преобразованиями к унитарному/ортогональному виду.

Классический метод ортогонализации QR-разложения квадратной матрицы (вещественный вариант) довольно прост, однако из-за неустойчивости, проявляющейся в неортогональности получаемых систем, крайне редко применяется на практике.

Пусть имеются линейно независимые векторы a1,…,aN. Пусть оператор проекции вектора a на вектор b определён следующим образом:

proa= , (3.3)

где ?a,b? - скалярное произведение векторов a и b.

Скалярное произведение для двух векторов a=[а1, а2,..., аk] и b=[b1, b2,..., bk] в k-мерном действительном пространстве определяется как:

?a,b?= (4.1)

Этот оператор проецирует вектор a коллинеарно вектору b.

Ортогональность векторов a и b достигается на шаге (2).

Классический процесс Грамма - Шмидта выполняется следующим образом:

b1 = (3.4)

b2 = ? proj (3.5)

b3 = ? proj ? proj (3.6)

b4 = ? proj ? proj? proj (3.7)

=? (N) (3.8)

На основе каждого вектора bj(j=1N)bj(j=1…N) может быть получен нормированный вектор: = (у нормированного вектора направление будет таким же, как у исходного, а норма - единичной). Норма в формуле - согласованная со скалярным произведением: ?x?=v?x,x?

Результаты процесса Грамма - Шмидта:

b1,…,-- система ортогональных векторов либо

e1,…,…, - система ортонормированных векторов.

Наиболее используемой на практике формой метода является вариант метода ортогонализации с переортогонализацией.

2.4 Распределение Фишера

Распределение Фишера - это распределение встречается в вопросах о сравнении и оценке неизвестных дисперсий нормальных распределений на основе опытных данных. Пусть величины ; независимы и нормальны N(0, а). Составим безразмерную дробьх [7]

x = (3.9)

Мы видим, что распределение дроби x в силу ее безразмерности

не зависит от о, и можно считать о = 1. Пусть (х)г= Р {х < х} и

(x) = (x)- Очевидно, (х) = 0 при X < 0. Докажем, что

= (x>0). (4)

Мы можем написать:

x = (4.1)

где и независимы.

Дальнейшие выкладки проводятся так же, как в случае распределения Стьюдента. Совместная плотность вероятности величин и (в точке (u, v)) имеет вид:

(4.3)

Исходя из этого получаем:

= (4.4)

Сперва вычисляется Р{х<x}, так что областью интегрирования

(5) будет область Q: {u > 0, u ? vx}(x > 0). Введя такую же замену u, v на б, в, как и ранее, находим:

(4.5)

Подсчет, вполне аналогичный предыдущему, дает:

= (4.6)

Выводы по разделу 2

Для определения вектора можно использовать геометрию, точка р должна быть "проекцией вектора b на пространство столбцов" и вектор невязки А - b должен быть ортогонален к этому пространству. Геометрические соображения приводят к фундаментальным уравнениям метода наименьших квадратов.

Решение по методу наименьших квадратов для несовместной системы Ах = b, состоящей из m уравнений с m неизвестными, удовлетворяет соотношению . Оно известно под названием "нормальных уравнений".

Метод ортогонализация Грамма-Шмидта может быть использован для получения QR-разложения, в которой систему исходных векторов образуют столбцы исходной матрицы, а столбцы матрицы Q представляют из себя набор полученных при ортогонализации векторов. Таким образом, в отличие от методов Гивенса (вращений) и Хаусхолдера (отражений), основанных на приведении матрицы левыми унитарными/ортогональными преобразованиями к треугольному виду, метод ортогонализации основан на приведении матрицы правыми неортогональными (можно сказать, треугольными) преобразованиями к унитарному/ортогональному виду.

Распределение Фишера используется при проверке статистических гипотез в дисперсионном и регрессионном анализе.

3. Практическая реализация результатов исследования

3.1 Структура программы

Программа написана на языке Object Pascal в среде разработки Embarcadero RAD Studio Delphi. Приложение включает в себя одну форму, в которой предлагается ввод параметров линейной аппроксимирующей функции, таких как размерность, порядок модели и исходные табличные данные.

Также на форме имеются:

область для построения графика функции;

область для отображения значений аппроксимирующей функции;

область для отображения среднеквадратического уклонения.

Для управления приложением имеются следующие элементы управления:

кнопка "построить график";

кнопка "аппроксимировать";

кнопка "сброс".

3.2 Инструкция пользователю

Руководство пользователя (англ. User guide или user manual) документ, назначение которого - предоставить людям помощь в использовании некоторой системы.

Программа представляет собой полезный инструмент. Она позволяет динамически изменять параметры линейной аппроксимирующей функции. Это позволяет быстро получить необходимый результат.

Для начала вам следует выбрать размерность исходной таблицы. Далее необходимо ввести исходные табличные данные. Также следует выбрать необходимый порядок модели.

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

Во-первых, после нажатия на кнопку "Аппроксимировать" в специальных областях будут отображены следующие результаты:

график функции;

значения аппроксимирующей функции;

среднеквадратическое уклонение.

Во-вторых, имеется возможность перестроить текущий график функции, щелкнув по кнопке "Построить график", это поможет нам обновить график, после того как мы изменили результаты.

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

Выводы по разделу 3

В результате проведенной работы разработана программа на языке программирования Object Pascal, в среде разработки Embarcadero RAD Studio Delphi. В ходе работы над проектированием структуры приложения построен интуитивный пользовательский интерфейс, который позволит получить пользователям программного продукта необходимый результат гораздо проще и быстрее.

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

4. Вычислительные эксперименты

4.1 Параметры линейной аппроксимирующей функции

Для расчетов составим таблицу

Таблица 2 - Расчеты

1

0,2

0,4

0,16

0,4

0,04

0,02

0,01

0,0016

2

0,5

0,7

0,49

0,05

0,25

0,18

0,13

0,0625

3

0,8

0,7

0,49

0,49

7,84

5,49

0,51

0,4096

4

1,0

0,9

0,81

0,7

1

0,9

1

1

5

1,2

1,3

1,69

0,48

1,44

1,87

1,73

8,9575

6

1,5

1,3

1,69

3,3

2,25

2,93

3,38

5,0625

7

1,7

1,2

1,44

3,6

2,89

3,47

4,91

8,3521

8

2

1,3

1,69

6

4

5,2

8

16

9

2,2

1,4

1,96

10,12

4,84

6,78

10,65

23,4256

10

2,5

1,7

2,89

9

6,25

10,63

15,63

39,0625

11

2,8

1,7

2,89

12,15

7,84

13,33

21,95

61,4656

12

3

1,9

4,41

19,8

9

17,1

27

81

13

3,2

2,1

4,41

24,09

10,24

21,5

32,77

104,8576

14

3,5

2

4

30,1

12,25

24,5

42,88

150,0625

15

3,7

2,4

5,76

32,19

13,69

32,86

50,65

187,4161

16

4

2,5

6,25

29,6

16

40

64

256

17

4,3

2,1

4,41

38,22

18,49

38,83

79,51

341,8801

18

4,5

2,7

7,29

45,45

20,25

54,68

91,13

410,0625

19

4,8

2,5

6,25

55,46

23,04

58,1

110,59

530,8416

20

5

2,7

7,29

70

25

67,5

125

625

52,4

33,5

66,27

395,4

186,6

405,87

691,43

2850,9199

Линейная модель аппроксимации

Подставим полученные данные в систему уравнений

Решим полученную систему уравнений методом Крамера

,

линейная модель

Подставим данные в систему уравнений, получим:

Составим параболическую модель

,

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

Таким образом, параболическая модель

Составим степенную модель:

Таблица 3 - Расчеты для степенной модели

1

0,2

0,4

0,04

-1,609437912

0,69314718

0,138629436

2,590290394

-1,11557736

2

0,5

0,7

0,25

-0.69314718

-2,3022585093

-1,151292547

0,480453013

1,595803994

3

0,8

0,7

7,84

-0,3566744943

-0,356674943

-0,24967246

0,127217015

0,127217015

4

1,0

0,9

1

0

-0,356674943

-0,356674943

0

0

5

1,2

1,3

1,44

0,182321556

-0,916290731

-1,099548878

0,03324115

-0,167059552

6

1,5

1,3

2,25

0,405465108

0,78845736

1,18268041

0,164401953

0,319691949

7

1,7

1,2

2,89

0,587786664

0,69314718

1,247664925

0,345493163

0,407422669

8

2

1,3

4

0,69314718

1,098612289

2,197224577

0,480453013

0,76150001

9

2,2

1,4

4,84

0,852909122

1,481604541

3/407690444

0,693737607

1,234041939

10

2,5

1,7

6,25

0,916290731

1,280933845

3,202334614

0,839588705

1,17370781

11

2,8

1,7

7,84

0,993251773

1,504077397

4,061008971

0,986549084

1,493927534

12

3

1,9

9

1,098612289

1,887969649

5,661208947

1,206948961

2,074146657

13

3,2

2,1

10,24

1,193922468

1,987874348

6,559985349

1,425450861

2,373367849

14

3,5

2

12,25

1,252762969

2,151762203

7,531167711

1,569415055

2,695648005

15

3,7

2,4

13,69

1,308833282

2,163323026

8,004295195

1,711734767

2,830346514

16

4

2,5

16

1,386294361

2,00148

8,005920001

1,921812056

2,774640438

17

4,3

2,1

18,49

1,435084525

2,208274414

9,274752537

2,059467595

3,169060439

18

4,5

2,7

20,25

1,504077397

2,312535424

10,40640941

2,262248816

3,47823226

19

4,8

2,5

23,04

1,547562509

2,468099531

11,6000678

2,394949718

3,819538302

20

5

2,7

25

1,609437912

2,63905733

13,19528665

2,590290394

4,24739892

52,4

33,5

186,6

14,28799935

23,42723001

92,81914377

23,88374332

33,2930554

Решив систему уравнений, получим:

степенная модель

Составим экспоненциальную модель

экспоненциальная модель

4.2 Расчет значений аппроксимирующей функции и среднеквадратичного уклонения

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

Для определения коэффициента корреляции воспользуемся формулой

52,4

33,5

66,27

395,4

186,6

405,87

691,43

2850,9199

Где выборочные средние

,

,

.

выборочные среднеквадратичные отклонения

коэффициент корреляции

Для расчета коэффициента детерминации и тестирования по Фишеру составим расчетную таблицу

Таблица 3 - Расчетные коэффициенты

1

0,2

0,4

11,2896

-1,0858

41,54833764

3,08558

9,520803936

1,54279

2

0,5

0,7

27,6676

-0,286

31,877316

0,386

0,148996

3,86

3

0,8

0,7

21,7156

0,2472

26,14072384

0,4528

0,20502784

0,646857142

4

1,0

0,9

21,7156

1,047

18,601969

0,347

0,120409

0,495714285

5

1,2

1,3

24,6016

1,5802

14,28688804

1,1802

1,39287204

2,9505

6

1,5

1,3

9,9856

2,38

8,8804

0,18

0,0324

0,081818181

7

1,7

1,2

11,2896

3,1798

4,75327204

1,1798

1,39192804

0,5899

8

2

1,3

5,5696

3,713

2,712609

0,713

0,508369

0,237666666

9

2,2

1,4

0.9216

4,5128

0,71774784

0,1128

0,01272384

0,025636363

10

2,5

1,7

3.0976

5,046

0,098596

1,446

2,090916

0,4016666666

11

2,8

1,7

5,7396

5,5792

0,04804864

1,0792

1,16467264

0,2398222222

12

3

1,9

1,5376

6,379

1,038361

0,221

0,048841

0,033484848

13

3,2

2,1

3,7636

7,1788

3,30803344

0,1212

0,01468944

0,016602739

14

3,5

2

10,4976

7,712

5,531904

0,888

0,788544

0,103255814

15

3,7

2,4

11,1556

8,2452

8,32437904

0,4548

0,20684304

0,052275862

16

4

2,5

4,1616

9,045

13,6161

1,645

2,706025

0,222297297

17

4,3

2,1

13,9876

9,5782

17,79321124

0,4782

0,22867524

0,05254945

18

4,5

2,7

22,4676

10,378

25,180324

0,278

0,077284

0,027524752

19

4,8

2,5

41,4736

10,9112

30,81582144

0,8888

0,78996544

0,075322033

20

5

2,7

74,6496

11,711

40,335201

2,289

5,239521

0,1635

52,4

33,5

322,288

107,0518

295,6092432

17,42638

26,6895065

11,819132296

Коэффициент детерминации, который характеризует долю дисперсии результативного признака у, объясняемую регрессией, в общей дисперсии, находится по формуле

R=r2b

Средняя ошибка аппроксимации

Где - теоретическое значение

Y - фактическое значение

Индекс корреляции найдем по формуле

=

Для линейной парной регрессии =1

- коэффициент детерминации

Так как коэффициент детерминации , то связь между переменными Х и У высокая. Уравнение регрессии объясняет примерно 91,72 % дисперсии результативного признака, а на долю прочих факторов приходится 8,28% ее дисперсии.

Тестирование по Фишеру, построенной модели. Проверим гипотезу о значимости линейной парной регрессии.

Пусть,

H0 - основная гипотеза: модель незначима

H1 - альтернативная гипотеза: модель значима

С числом степеней свободы k1=, k2=n-2=18

Границу критической области возьмем по таблице критических значений распределения Фишера по любому учебнику

=4,41

Наблюдаемое значение определим по формуле

=

Если Fнабл.>Fкрит, то основная гипотеза отвергается и принимается альтернативная гипотеза, т.е. модель значима

Если Fнабл.< Fкрит то принимается основная гипотеза H0

В нашем случае, так как 199,39>4,41, то основная гипотеза отвергается, модель значима

Выводы по разделу 4

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

Также, в ходе тестирования, отмечена высокая точность вычисления. Это дает основание говорить о том, что проведенная работа имеет большое практическое значение.

Заключение

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

В проекте разработан структура программы и построен пользовательский интерфейс, который позволит получить пользователям программного продукта необходимый результат гораздо проще и быстрее. Разработан комплекс программ на языке программирования ObjectPascal, в среде разработки EmbarcaderoRADStudioDelphi.

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

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

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

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

для линейной функции:

для полиномиальной функции:

для степенной функции:

для эксоненциальной функции:

В ходе тестирования, отмечена высокая точность вычислений. Это дает основание говорить о том, что проведенная работа имеет большое практическое значение. Анализ результатов расчетов показывает, что квадратичная аппроксимация наилучшим образом описывает экспериментальные данные.

Список использованной литературы

1. ГОСТ 7.32-2001. Отчет о научно-исследовательской работе. Структура и правила оформления.

2. ГОСТ 7.1-2003. Межгосударственный стандарт. Система стандартов по информации, библиотечному и издательскому делу. Библиографическая запись. Библиографическое описание. Общие требования и правила составления.

3. ГОСТ Р 7.0.5-2008 "Библиографическая ссылка. Общие требования и правила составления".

4. ГОСТ 7.32-2001 "Отчет о научно-исследовательской работе. Структура и правила оформления".

5. ГОСТ 2.105-95 "Общие требования к текстовым документам".

6. ГОСТ 7.80-2000. "Библиографическая запись. Заголовок. Общие требования и правила составления".

7. Линник Ю.В. Метод наименьших квадратов и основы математико-статистической теории обработки наблюдений. - 2-е изд. - М., 1962. - 352 с.

8. Айвазян С.А. Прикладная статистика. Основы эконометрики. Том 2. - М.: Юнити-Дана, 2001. - 432 с.

9. Доугерти К. Введение в эконометрику: Пер. с англ. - М.: ИНФРА-М, 1999. - 402 с.

10. Кремер Н.Ш., Путко Б.А. Эконометрика. - М.: Юнити-Дана, 2003-2004. - 311 с.

11. Магнус Я.Р., Катышев П.К., Пересецкий А.А. Эконометрика. Начальный курс. - М.: Дело, 2007. - 504 с.

12. Эконометрика. Учебник / Под ред. Елисеевой И.И. - 2-е изд. - М.: Финансы и статистика, 2006. - 576 с.

13. Александрова Н.В. История математических терминов, понятий, обозначений: словарь-справочник. - 3-е изд.. - М.: ЛКИ, 2008. - 248 с.

14. Витковский В.В. Наименьшие квадраты // Энциклопедический словарь Брокгауза и Ефрона: в 86 т. (82 т. и 4 доп.). - СПб., 1890--1907.

15. Митин И.В., Русаков В.С. Анализ и обработка экспериментальных данных- 5-е издание -24с.

Пpиложение А. Листинг пpогpаммы

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

using System.Windows.Forms.DataVisualization.Charting;

namespace Approk

{

public partial class Form1 : Form

{ // известны x и y. Найти a и b.

public Form1()

{

InitializeComponent();

Series s1 = new Series("Основной график");

Series s2 = new Series("Аппроксимация");

s1.ChartType = SeriesChartType.Spline;

s2.ChartType = SeriesChartType.Spline;

s2.Color = Color.Green;

s1.Color = Color.Red;

chart1.Series.Clear();

chart1.Series.Add(s1);

chart1.Series.Add(s2);

}

private const int MAX_POINTS = 20;

private double[] x = { 0.2,0.5,0.8,1.0,1.2,1.5,1.7,2.0,2.2,2.5,2.8,3.0,3.2,3.5,3.7,4.0,4.3,4.5,4.8,5.0 };

private double[] y = { 0.4,0.7,0.7,0.9,1.4,1.3,1.2,1.3,1.4,1.7,1.7,1.9,2.1,2.0,2.4,2.5,2.1,2.7,2.5,2.7 };

private double[] yAprox = new double[20];

private void Form1_Load(object sender, EventArgs e)

{

for (int i = 0; i < MAX_POINTS; i++)

listBox1.Items.Add("x: " + x[i] + "; y: " + y[i]);

PainGraf();

}

private void button1_Click(object sender, EventArgs e)

{

double sumX = 0;

double sumX2 = 0;

double sumY = 0;

double sumXY = 0;

for (int i = 0; i < MAX_POINTS; i++)

{

sumX += x[i];

sumY += y[i];

sumX2 += Math.Pow(x[i], 2);

sumXY += x[i] * y[i];

}

double a = (MAX_POINTS * sumXY - (sumX * sumY)) / (MAX_POINTS * sumX2 - sumX * sumX);

double b = (sumY - a * sumX) / MAX_POINTS;

for (int i = 0; i < MAX_POINTS; i++)

{

yAprox[i] = a * x[i] + b;

}

listBox1.Items.Clear();

for (int i = 0; i < MAX_POINTS; i++)

listBox1.Items.Add("x: " + x[i] + "; y: " + y[i]);

listBox1.Items.Add("Коэффициент a = " + a);

listBox1.Items.Add("Коэффициент b = " + b);

chart1.Series[1].Points.Clear();

for (int i = 0; i < MAX_POINTS; i++)

{

chart1.Series[1].Points.Add(new DataPoint(x[i], yAprox[i]));

}

}

private void PainGraf()

{

chart1.Series[0].Points.Clear();

for (int i = 0; i < MAX_POINTS; i++)

{

chart1.Series[0].Points.Add(new DataPoint(x[i], y[i]));

}

}

}

}

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

using System.Windows.Forms.DataVisualization.Charting;

namespace Approk

{

public partial class Form1 : Form

{ // известны x и y. Найти a и b.

public Form1()

{

InitializeComponent();

Series s1 = new Series("Основной график");

Series s2 = new Series("Аппроксимация");

s1.ChartType = SeriesChartType.Spline;

s2.ChartType = SeriesChartType.Spline;

s2.Color = Color.Green;

s1.Color = Color.Red;

chart1.Series.Clear();

chart1.Series.Add(s1);

chart1.Series.Add(s2);

}

private const int MAX_POINTS = 20;

private double[] x = {0.2,0.5,0.8,1.0,1.2,1.5,1.7,2.0,2.2,2.5,2.8,3.0,3.2,3.5,3.7,4.0,4.3,4.5,4.8,5.0 };

private double[] y = {0.4,0.7,0.7,0.9,1.4,1.3,1.2,1.3,1.4,1.7,1.7,1.9,2.1,2.0,2.4,2.5,2.1,2.7,2.5,2.7 };

private double[] yAprox = new double[20];

private void Form1_Load(object sender, EventArgs e)

{

for (int i = 0; i < MAX_POINTS; i++)

listBox1.Items.Add("x: " + x[i] + "; y: " + y[i]);

PainGraf();

}

private void button1_Click(object sender, EventArgs e)

{

double sumX = 0;

double sumX2 = 0;

double sumY = 0;

double sumXY = 0;

listBox1.Items.Clear();

for (int i = 0; i < MAX_POINTS; i++)

listBox1.Items.Add("x: " + x[i] + "; y: " + y[i]);

double[] T = new double[MAX_POINTS * 2];

double[] C = new double[MAX_POINTS];

double[] A = new double[MAX_POINTS];

double[,] B = new double[MAX_POINTS, MAX_POINTS + 1];

for (int i = 0; i < MAX_POINTS * 2; i++)

{

T[i] = 0;

if (i < MAX_POINTS) C[i] = 0;

}

for (int i = 0; i < MAX_POINTS; i++)

{

for (int j = 1; j <= 4; j++) T[j] += Math.Exp(j * Math.Log(x[i]));

for (int j = 0; j <= 2; j++) C[j] += y[i] * Math.Exp(j * Math.Log(x[i]));

}

T[0] = MAX_POINTS;

for (int i = 0; i <= 2; i++)

for (int j = 0; j <= 2; j++)

B[i, j] = T[j + i];

double Bik = 0;

for (int i = 0; i <= 2; i++)

B[i, 3] = C[i];

for (int k = 0; k <= 1; k++)

{

for (int i = k; i <= 2; i++)

{

Bik = B[i, k];

for (int j = k; j <= 3; j++)

{

if (i == k) B[i, j] = B[i, j] / Bik;

else B[i, j] = B[i, j] / Bik - B[k, j];

}

}

}

for (int i = 2; i != -1; i--)

{

double sum = B[i, 3] - B[i, 0] * A[0] - B[i, 1] * A[1] - B[i, 2] * A[2] - B[i, 3] * A[3] - B[i, 4] * A[4] - B[i, 5] * A[5] - B[i, 6] * A[6] - B[i, 7] * A[7];

double Bz = B[i, i];

A[i] = sum / Bz;

}

for (int i = 0; i < MAX_POINTS; i++)

{

yAprox[i] = A[2] * Math.Pow(x[i], 2) + A[1] * x[i] + A[0];

}

listBox1.Items.Add("Коэффициент a1 = " + A[0]);

listBox1.Items.Add("Коэффициент a2 = " + A[1]);

listBox1.Items.Add("Коэффициент a3 = " + A[2]);

chart1.Series[1].Points.Clear();

for (int i = 0; i < MAX_POINTS; i++)

{

chart1.Series[1].Points.Add(new DataPoint(x[i], yAprox[i]));

}

}

private void PainGraf()

{

chart1.Series[0].Points.Clear();

for (int i = 0; i < MAX_POINTS; i++)

{

chart1.Series[0].Points.Add(new DataPoint(x[i], y[i]));

}

}

}

Размещено на Allbest.ru


Подобные документы

  • Метод наименьших квадратов. Возможные варианты расположения экспериментальных точек. Аппроксимация экспериментальных данных в программах Microsoft Excel, MathCAD и MatLAB. Вычисление средних значений и их сумм. Коэффициенты корреляции и детерминации.

    курсовая работа [890,9 K], добавлен 30.10.2012

  • Построение аппроксимирующей зависимости методом наименьших квадратов. Расчет интеграла по Ричардсону. Последовательность действий при аппроксимации экспоненциальной зависимостью. Определение корня уравнения методом простых итераций и решение задачи Коши.

    курсовая работа [550,5 K], добавлен 13.03.2013

  • Аппроксимация – процесс замены таблично заданной функции аналитическим выражением кривой. Алгоритм нахождения зависимости между заданными переменными. Условия сходимости итераций к решению системы уравнений. Методы Якоби и Гаусса. Тестирование программы.

    курсовая работа [1,4 M], добавлен 28.08.2012

  • Матричная форма записи системы линейных уравнений, последовательность ее решения методом исключений Гаусса. Алгоритмы прямого хода и запоминания коэффициентов. Решение задачи о сглаживании экспериментальных данных с помощью метода наименьших квадратов.

    курсовая работа [610,7 K], добавлен 25.06.2012

  • Развитие навыков работы с табличным процессором Microsoft Excel и программным продуктом MathCAD и применение их для решения задач с помощью электронно-вычислительных машин. Схема алгоритма. Назначение функции Линейн и метода наименьших квадратов.

    курсовая работа [340,4 K], добавлен 17.12.2014

  • Разработка алгоритма аппроксимации данных методом наименьших квадратов. Средства реализации, среда программирования Delphi. Физическая модель. Алгоритм решения. Графическое представление результатов. Коэффициенты полинома (обратный ход метода Гаусса).

    курсовая работа [473,6 K], добавлен 09.02.2015

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

    курсовая работа [1,1 M], добавлен 07.07.2013

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

    курсовая работа [1,5 M], добавлен 16.02.2013

  • Решения алгебраических уравнений методом выделения корней. Аппроксимация функций методом наименьших квадратов; дихотомия, бисекция. Одномерная оптимизация многоэкстремальных функций; метод золотого сечения. Многомерная оптимизация градиентным методом.

    курсовая работа [956,7 K], добавлен 04.03.2013

  • Аппроксимация эмпирических данных линейной и квадратичной зависимостью. Теория корреляции: расчет коэффициентов детерминированности. Построение алгоритма и вычисление приближённых функций методом наименьших квадратов в среде программирования Turbo Pascal.

    курсовая работа [766,6 K], добавлен 26.12.2011

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.