Разработка программного обеспечения для построения статистической модели методом наименьших квадратов
Метод наименьших квадратов при решении задач математической статистики, его достоинства и недостатки. Алгоритм расчёта начальной скорости счёта и периода полураспада. Описание пользовательского интерфейса и результатов. Листинг программного кода.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | русский |
Дата добавления | 21.05.2014 |
Размер файла | 232,3 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
МИНОБРНАУКИ РОССИИ ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНОЛОГИЧЕСКИЙ ИНСТИТУТ (ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ)»
Факультет Информационных технологий и управления
Кафедра Системного анализа
КУРСОВАЯ РАБОТА
на тему: Разработка программного обеспечения для построения статистической модели методом наименьших квадратов
по дисциплине: Информатика
Студент Е.В. Царевич
Руководитель А.В. Гайков
Санкт-Петербург 2014
Содержание
- Введение
- 1. Описание метода наименьших квадратов
- 2. Алгоритм расчёта начальной скорости счёта и периода полураспада
- 3. Описание пользовательского интерфейса и результатов
- 4. Листинг программного кода
- Выводы
- Список использованных источников
- Введение
- математический статистика интерфейс программный
- Характерным для современного этапа развития естественных и технических наук является весьма широкое и плодотворное применение статистических методов во всех областях знания. Задача любой науки состоит в выявлении и исследовании закономерностей, которым подчиняются реальные процессы. Найденные закономерности имеют не только теоретическую ценность, они широко применяются на практике - в планировании, управлении и прогнозировании.
- Математическая статистика - раздел математики, в котором изучаются математические методы сбора, обработки и использования информации, полученной путем наблюдений массовых случайных явлений, - статистических данных - для научных и практических выводов путем выявления существующих закономерностей.
- Статистическими данными называется информация об объектах в какой-либо достаточно обширной совокупности, обладающий теми или иными признаками.
- Считается, что математическая статистика - это теория принятия решений в условиях неопределенности.
- Математическая статистика, возникнув в XVIII веке, получила свое развитие в работах Б. Паскаля, П. Ферма, Я. Бернулли, П. Лапласа. В современном развитии определяющую роль сыграли труды К. Пирсона, К. Крамера, Р. Фишера, Ю. Неймана и др. Значимый вклад в математическую статистику внесли русские ученые П. Л. Чебышёв, A.M. Ляпунов, А. Н. Колмогоров, Б. В. Гнеденко и другие.
- Информация о работе любой отрасли производственной сферы (добыча нефти и газа, ремонт скважин, нефтехимическое производство, машиностроение и т.д.)ставит перед ее руководством и наукой задачу: как, сведя к минимуму расходы по использованию природных, материальных и людских ресурсов, эффективно анализировать работу отрасли, управлять ею, прогнозировать развитие возможных сценариев поведения отрасли как сложной системы. Это означает, что математическому моделированию подлежит (дискретный, непрерывный, фрактальный) информационный ток - статистическая совокупность - в виде случайных событий и случайных величин. Изучение подобного рода массовых явлений, выявление их статических и динамических закономерностей становится предметом математической статистики. Среди полезной информации о статистической совокупности особый интерес представляют статистические данные, которые можно записать в виде ряда {x(1), x(2), …, x(n)} числовых значений интересующего нас признака (случайной величины Х). Обработку этого ряда производят посредством методов математической статистики; при этом точность статистических методов повышается с ростом n.
- Следует также подчеркнуть, что обработке экспериментальных данных с целью построения моделей «сложных систем» (эмпирических зависимостей) должна предшествовать предварительная обработка, содержание которой, в основном, состоит в отсеивании грубых погрешностей измерений и в проверке соответствия распределения результатов нормальному закону. Следует помнить, что только после выполнения предварительной обработки можно с наибольшей эффективностью, а главное корректно, использовать более сложные экспериментально-статистические методы, позволяющие получать математические модели даже таких процессов, строгое детерминированное описание которых вообще отсутствует.
- 1. Описание метода наименьших квадратов
- Метод наименьших квадратов (МНК) - один из наиболее широко используемых методов при решении многих задач восстановления регрессионных зависимостей. Впервые МНК был использован Лежандром в 1806 г. для решения задач небесной механики на основе экспериментальных данных астрономических наблюдений. В 1809 г. Гаусс изложил статистическую интерпретацию МНК и тем самым дал начало широкого применения статистических методов при решении задач восстановления регрессионных зависимостей. Строгое математическое обоснование и установление границ содержательной применимости метода наименьших квадратов даны А.А. Марковым и А.Н. Колмогоровым. Ныне способ представляет собой один из важнейших разделов математической статистики и широко используется для статистических выводов в различных областях науки и техники.
- Метод наименьших квадратов - один из методов регрессионного анализа для оценки неизвестных величин по результатам измерений, содержащих случайные ошибки. Применяется также для приближённого представления заданной функции другими (более простыми) функциями и часто оказывается полезным при обработке наблюдений. В настоящее время широко применяется при обработке количественных результатов естественнонаучных опытов, технических данных, астрономических и геодезических наблюдений и измерений.
- Можно выделить следующие достоинства метода:
- а) расчеты сводятся к механической процедуре нахождения коэффициентов;
- б) доступность полученных математических выводов.
- Основным недостатком МНК является чувствительность оценок к резким выбросам, которые встречаются в исходных данных.
- Пусть имеется установка, работающая по принципу «черного ящика». На входе в данную установку мы можем установить вектор входных параметров , а на выходе из установки измерить вектор выходных параметров , где .
- Число представляет собой число опытов (рисунок 1).
- Рисунок 1 - Изображение исследуемого объекта
- Существование зависимости между двумя наборами величин и , где можно определить с помощью коэффициента парной корреляции , численная величина которого вычисляется по формуле:
- (1)
- Коэффициент парной корреляции находится в пределах , то есть или . Чем ближе коэффициент парной корреляции находится к единице, тем сильнее зависимость . При равенстве коэффициента парной корреляции нулю зависимость отсутствует. По числовому значению коэффициента парной корреляции можно сделать предположение о виде зависимости.
- Если коэффициент парной корреляции по абсолютной величине равен единице, то существует линейная зависимость (рисунок 2).
- Рисунок 2 - Вид линейная зависимости
- Если коэффициент парной корреляции положительный, то с увеличением аргумента, увеличивается значение функции (рисунок 3).
- Рисунок 3 - С увеличением аргумента увеличивается значение функции
- При отрицательном коэффициенте парной корреляции с увеличением аргумента, уменьшается значение функции.
- Рисунок 4 - С увеличением аргумента уменьшается значение функции
- В случае существования зависимости между входными и выходными параметрами объекта исследования ищется уравнение регрессии. Для поиска уравнения регрессии используется метод наименьших квадратов.
- Суть метода наименьших квадратов заключается в следующем. Предполагается, что зависимость между величинами является линейной: и сумма квадратов отклонений расчетных значений от экспериментальных - должна быть минимальной.
- Расчетное значение запишем в следующем виде:
- (2)
- Сумму квадратов отклонений расчетных значений от экспериментальных запишем в виде:
- (3)
- В выражение (3) подставим уравнение регрессии (2) и получим:
- (4)
- Известно, что экстремум функции достигается тогда, когда первая производная равна нулю. В нашем случае имеются два неизвестных: и .По данным коэффициентам возьмем две частные производные:
- (5)
- Разделим оба уравнение системы (5) на -2. В результате, раскрыв скобки получим систему из двух линейных уравнений с двумя неизвестными и (6):
- ;
- (6)
- Данная система может быть решена с помощью метода Крамера. Главный определитель системы равен:
- Коэффициенты при неизвестном и заменяем столбцом свободных членов, получаем определители:
- и
- Вычисляем коэффициенты по правилу Крамера:
- (7)
- Таким образом, получены коэффициенты уравнения регрессии .
- Уравнение регрессии (2) может адекватно описывать процесс только в интервале экспериментальных значений, с помощью которых вычислялись коэффициенты уравнения регрессии:
- .
- Для оценки адекватности модели, на практике могут быть использованы следующие оценки: корреляционное отношение и средняя относительная ошибка:
- , (8)
- где - среднее значение выходного параметра.
- (9)
- В настоящее время существует ряд нелинейных зависимостей, которые могут быть приведены к линейному виду . Операция приведения нелинейной зависимости к линейному виду называется линеаризацией.
- 2. Алгоритм расчёта начальной скорости счёта и периода полураспада
- Зависимость скорости счёта от времени описывается уравнением:
- (10)
- Приведем нелинейное уравнение (10) к линейному виду. Прологарифмируем обе части уравнения:
- .
- Проведем замену переменных:
- .
- В результате получим уравнение или .
- Таким образом, для того, чтобы найти предэкспоненциальный множитель и период полураспада, необходимо проделать следующие действия:
- 1.
- 2.
- 3.
- 4.
- Блок-схема алгоритма вычисления скорости счёта I0и периода полураспада T1/2 представлена на рисунке 4.
- Рисунок 4 - Блок-схема алгоритма вычисления начальной скорости счёта I0и периода полураспада T1/2
- 3. Описание пользовательского интерфейса и результатов
- Пользовательский интерфейс программного продукта разработан в среде Borland С++Builder 6 и состоит из одного модуля (Unit1), на котором располагаются следующие визуальные компоненты (рисунок 5):
- - панель инструментов с кнопками для выхода из программы и расчёта;
- - таблица с эмпирическими данными и расчётными данными;
- - панель для вывода результатов расчёта (I0, T1/2 и S);
- - графики зависимости скорости счёта (экспериментальные данные и расчётные) от времени.
- Рисунок 5 - Пользовательский интерфейс
- Результаты расчёта показывают, что минимальная сумма квадратов разности равна 0,5776, что является хорошим показателем работы реализованного метода наименьших квадратов.
- Установлена зависимость между временем и скоростью счёта:
- 4. Листинг программного кода
- //---------------------------------------------------------------------------
- #include<vcl.h>
- #pragma hdrstop
- #include "Unit1.h"
- #include "math.h"
- //---------------------------------------------------------------------------
- #pragma package(smart_init)
- #pragma resource "*.dfm"
- TForm1 *Form1;
- //---------------------------------------------------------------------------
- __fastcall TForm1::TForm1(TComponent* Owner)
- : TForm(Owner)
- {
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::FormCreate(TObject *Sender)
- {
- //Загрузка данных варианта №8 в таблицу
- Tbl->Cells[0][0] = "№";
- Tbl->Cells[1][0] = "tau,ч";
- Tbl->Cells[2][0] = "Ii,имп/мин";
- Tbl->Cells[3][0] = "Iiр,имп/мин";
- for(int i=1;i<=7;i++)
- Tbl->Cells[0][i] = IntToStr(i);
- Tbl->Cells[1][1] = "0,5";
- Tbl->Cells[1][2] = "1";
- Tbl->Cells[1][3] = "1,5";
- Tbl->Cells[1][4] = "2";
- Tbl->Cells[1][5] = "2,5";
- Tbl->Cells[1][6] = "3,5";
- Tbl->Cells[1][7] = "4,5";
- Tbl->Cells[2][1] = "2660";
- Tbl->Cells[2][2] = "2090";
- Tbl->Cells[2][3] = "1640";
- Tbl->Cells[2][4] = "1280";
- Tbl->Cells[2][5] = "1000";
- Tbl->Cells[2][6] = "620";
- Tbl->Cells[2][7] = "378";
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::Button1Click(TObject *Sender)
- {
- double x[100],y[100],sx=0,sy=0,sxy=0,sx2=0;
- int n = Tbl->RowCount-1;
- //вычисление всех необходимых сумм
- for(int i=1;i<=n;i++){
- x[i] = StrToFloat(Tbl->Cells[1][i]);
- y[i] = log(StrToFloat(Tbl->Cells[2][i]));
- }
- for(int i=1;i<=n;i++){
- sx = sx + x[i];
- sy = sy + y[i];
- sxy = sxy + x[i]*y[i];
- sx2 = sx2 + pow(x[i],2);
- }
- //вычисление a и b
- double a = (n*sxy-sx*sy)/(n*sx2-pow(sx,2));
- double b = (sx2*sy-sx*sxy)/(n*sx2-pow(sx,2));
- //расчёт I0 и T1/2
- double I0 = exp(b);
- double t12 = 0.693/-a;
- Label1->Caption = "Начальнаяскоростьсчёта I0 = "+FloatToStrF(I0,ffFixed,4,1)+" имп/мин";
- Label3->Caption = "Периодполураспада T1/2 = "+FloatToStrF(t12,ffFixed,4,1)+' мин';
- //построение графиков и запись расчётных данных в таблицу
- Series1->Clear();
- Series2->Clear();
- Series1->Title = "Ii(tau)";
- Series2->Title = "Iiр(tau)";
- for(int i=1;i<=n;i++){
- Series1->AddXY(StrToFloat(Tbl->Cells[1][i]),StrToFloat(Tbl->Cells[2][i]));
- Tbl->Cells[3][i] = FloatToStrF(I0*exp((0.693*StrToFloat(Tbl->Cells[1][i]))/-t12),ffFixed,5,2);
- Series2->AddXY(StrToFloat(Tbl->Cells[1][i]),StrToFloat(Tbl->Cells[3][i]));
- }
- //критерийоптимальности
- double S = 0;
- S = pow((StrToFloat(Tbl->Cells[2][1])-StrToFloat(Tbl->Cells[3][1])),2);
- //расчёт критерия оптимальности
- for(int i=2;i<=n;i++)
- if(S > pow((StrToFloat(Tbl->Cells[2][i])-StrToFloat(Tbl->Cells[3][i])),2))
- S = pow((StrToFloat(Tbl->Cells[2][i])-StrToFloat(Tbl->Cells[3][i])),2);
- Label4->Caption = "Критерийоптимальности S = "+FloatToStrF(S,ffFixed,4,4);
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::Button2Click(TObject *Sender)
- {
- Close();
- }
- //---------------------------------------------------------------------------
- Выводы
- В результате выполнения курсовой работы был изучен один из методов регрессионного анализа - метод наименьших квадратов, разработана программа для построения статистической модели методом наименьших квадратов по приведённым в задании экспериментальным данным.
- В итоге были расчитаны начальная скорость счёта I0и период полураспада T1/2и установлена зависимость между временем и скоростью счёта, расчитан критерий оптимальности Sкак минимальная сумма квадратов разности между экспериментальными и расчетными значениями. Критерий оптимальности показал хорошие результаты (на примере исходных данных ошибка регрессии лежит в пределе допустимой, т.к. взначениях функцииI(ф) значащих цифр ?3, а S<1).
- Программа разработана на языке C++ в среде ООП «BorlandC++ Builder 6»и предназначена для работы на операционных системах семейства Windows 9x,NT,XP,7,8. Блок-схема алгоритма расчёта составлялась в продукте Microsoft Visio 2010.
- Список использованных источников
- 1 Симонович, С.В. Информатика. Базовый курс: Учебник для вузов / С.В. Симонович. - СПб.: Питер, 2011. - 640 с.
- 2 Информатика: учебник под редакцией В.В. Трофимова. Электронные текстовые данные. - М: Юрайт, 2012. - 911 с. (ЭБ)
- 3 Шапорев, С.Д. Информатика. Теоретический курс и практические занятия / С.Д. Шапорев. - СПб.: БХВ, 2008. - 469 с.
- 4 Губин, В.И. Статистические методы обработкиэкспериментальных данных: Учеб. пособие для студентов техническихвузов / В. И. Губин, В. Н. Осташков. - Тюмень: ТюмГНГУ, 2007. - 202 с.
- 5 Культин, Н. Б. C++ Builder / Н. Б. Культин. - 2-е изд., перераб. и доп. - СПб. : БХВ-Петербург, 2008. - 463 с.
- 6Википедия [Электронный ресурс]: сайт компании Wikipedia Foundation Inc. - Электрон. дан. - Wikipedia Foundation Inc, 2013. Режим доступа http://ru.wikipedia.org/ свободный. - Загл. с экрана. - Яз. рус.
- Размещено на Allbest.ru
Подобные документы
Определение параметров линейной зависимости из графика. Метод парных точек. Метод наименьших квадратов. Блок-схема программного комплекса в Microsoft Visual Studio и Microsoft Excel. Инструкция пользователя, скриншоты. Общий вид программного кода.
курсовая работа [2,1 M], добавлен 29.11.2014Определение зависимости одной физической величины от другой. Применение метода наименьших квадратов с помощью программного обеспечения Mathcad. Суть метода наименьших квадратов. Корреляционный анализ, интерпретация величины корреляционного момента.
курсовая работа [63,8 K], добавлен 30.10.2013Разработка алгоритма аппроксимации данных методом наименьших квадратов. Средства реализации, среда программирования Delphi. Физическая модель. Алгоритм решения. Графическое представление результатов. Коэффициенты полинома (обратный ход метода Гаусса).
курсовая работа [473,6 K], добавлен 09.02.2015Развитие навыков работы с табличным процессором Microsoft Excel и программным продуктом MathCAD и применение их для решения задач с помощью электронно-вычислительных машин. Схема алгоритма. Назначение функции Линейн и метода наименьших квадратов.
курсовая работа [340,4 K], добавлен 17.12.2014Построение эмпирических формул методом наименьших квадратов. Линеаризация экспоненциальной зависимости. Элементы теории корреляции. Расчет аппроксимаций в табличном процессоре Excel. Описание программы на языке Turbo Pascal; анализ результатов ее работы.
курсовая работа [390,2 K], добавлен 02.01.2015Метод Гаусса и одно из его приложений в экономике (простейшая задача о рационе). Модель Леонтьева межотраслевого баланса. Алгебраический метод наименьших квадратов. Анализ данных эксперимента. Метод наименьших квадратов в Excel и аппроксимация данных.
курсовая работа [598,7 K], добавлен 11.07.2015Анализ методов идентификации, основанных на регрессионных процедурах с использованием метода наименьших квадратов. Построение прямой регрессии методом Асковица. Определение значения дисперсии адекватности и воспроизводимости, коэффициентов детерминации.
курсовая работа [549,8 K], добавлен 11.12.2012Построение эмпирических формул методом наименьших квадратов. Линеаризация экспоненциальной зависимости. Элементы теории корреляции. Расчет коэффициентов аппроксимации, детерминированности в Microsoft Excel. Построение графиков функций, линии тренда.
курсовая работа [590,9 K], добавлен 10.04.2014Содержание термина "планирование эксперимента". Сущность метода наименьших квадратов. Разработка программы анализа статистической оценки качества проектируемой системы: составление и графическое представление алгоритма решения, листинг программы.
курсовая работа [4,1 M], добавлен 16.09.2011Описание алгоритмов работы программного блока, тестирования, сохранения результатов, просмотра статистики и построения графика. Разработка пользовательского интерфейса. Анализ тестовых испытаний программного блока. Руководство оператора. Охрана труда.
дипломная работа [4,4 M], добавлен 06.03.2013Определение ускорения свободного падения с помощью физического маятника. Период колебания физического маятника. Нахождение ускорения свободного падения методом наименьших квадратов. Решение задач методами Гаусса-Ньютона и квазиньютоновскими методами.
лабораторная работа [32,4 K], добавлен 29.03.2015Подбор параметров линейной функции. Вычисление значения функции в заданных промежуточных точках с использованием математических пакетов. Исследование математической модели решения задачи. Составление программы для вычисления коэффициента корреляции.
курсовая работа [2,3 M], добавлен 21.10.2014Обзор методов аппроксимации. Математическая постановка задачи аппроксимации функции. Приближенное представление заданной функции другими, более простыми функциями. Общая постановка задачи метода наименьших квадратов. Нахождение коэффициентов функции.
курсовая работа [1,5 M], добавлен 16.02.2013Метод наименьших квадратов. Возможные варианты расположения экспериментальных точек. Аппроксимация экспериментальных данных в программах Microsoft Excel, MathCAD и MatLAB. Вычисление средних значений и их сумм. Коэффициенты корреляции и детерминации.
курсовая работа [890,9 K], добавлен 30.10.2012Рассмотрение основных способов идентификации объектов: реккурентного; с использованием степенных полиномов; ортогональных полиномов Чебышева; методом наименьших квадратов для авторегрессионной модели. Алгоритм построения простых диагностических тестов.
курсовая работа [1,9 M], добавлен 14.06.2012Анализ проектирования интерфейса программы. Выбор и назначение визуальных компонентов. Изучение экранных форм приложения. Модули, процедуры, функции проекта и их назначение. Листинг программного кода. Результаты работы автоматизированного продукта.
курсовая работа [1,9 M], добавлен 11.12.2017Создание прикладного программного обеспечения, позволяющего определять константу скорости реакции. Анализ математических моделей кинетики химических реакций. Разработка пользовательского интерфейса. Проверка работоспособности программного обеспечения.
курсовая работа [269,2 K], добавлен 28.01.2017Построение математической модели, описывающей движение тела. Составление алгоритма расчёта и визуализации временных диаграмм скорости, пути и движущей силы. Листинг программы, реализующей представленный алгоритм расчёта и построение графиков V, S и F.
контрольная работа [102,4 K], добавлен 05.11.2012Разработка программного комплекса и описание алгоритма. Разработка пользовательского интерфейса. Анализ тестовых испытаний программного блока. Защита пользователей от воздействия на них опасных и вредных факторов. Режимы работы программного комплекса.
дипломная работа [1,7 M], добавлен 14.03.2013Общее описание разрабатываемого программного обеспечения, требования к его функциональности и сферы практического применения. Выбор инструментальных средств разработки. Проектирование структур баз данных и алгоритмов, пользовательского интерфейса.
дипломная работа [3,1 M], добавлен 19.01.2017