Решение задачи методом линейной регрессии

Автор работы: Пользователь скрыл имя, 29 Декабря 2010 в 11:25, курсовая работа

Краткое описание

Объектом исследования является возможность создать программу расчета параметров (меры отклонения, мера разброса) линейной регрессии
Цель работы состоит в создании программы расчета параметров на языке C++ , не используя дополнительные библиотеки.

Содержание

Введение……………………………………………………..…………. 5

1 Линейная регрессия……………………………………..………….…6

2 Математическая постановка … ……………………….……………..7

3 Блок-схема………………………………………………………….... 10

4 Описание методов, используемых при решении…………………...12

5 Текст программы (листинг)………………………………………… 12

6 Результаты машинного тестирования программы…………………14

Заключение…………………………………………………………… . 15

Список литературы ………………………………………………….. ..16

Прикрепленные файлы: 1 файл

Кусовая ОП.doc

— 140.50 Кб (Скачать документ)
 
 
 
 
 

Министерство  образования Российской Федерации 

Кубанский государственный технологический  университет 

(КубГТУ) 

      Кафедра ________________________________________

                    (наименование кафедры) 
 

                    ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

                 к курсовой работе  

     по  дисциплине                                                                                                 

                       (наименование дисциплины)

     на  тему _______________________________________________________

                    (тема курсового  проекта (работы))

     Выполнил  студент группы 06-ТНП-01____________________

      ________Бровко Александр Сергеевич___________________________

            (ф.и.о.)

     Допущен  к защите______________________________________________ 

     Руководитель  проека___Волик А.Г.________________________________

     Нормоконтролер _______________________________________________ 

     Защищен  _____________________      Оценка _______________________

                                       (дата)

     Члены комиссии _______________________________________________

                     (подпись, дата, расшифровка  подписи)

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Министерство  образования Российской Федерации

 

Кубанский государственный технологический университет

(КубГТУ)

      Кафедра ________________________________________

                    (наименование кафедры)

                                                          УТВЕРЖДАЮ

                            Зав. кафедрой __________________

 

                                                             

 

        З А Д А Н И Е

         на курсовое проектирование

Студенту:_________________________ группы__________________ курса

                  (Ф.И.О.)      (№ группы и курса)

факультета ______________________________________________________

специальности 

____________________________________________________________

                              (шифр  и наименование)

Тема проекта:____________________________________________________

Содержание задания:______________________________________________

     Объем  работы:

а) пояснительная  записка к проекту _____________ с.

б) программы.

Рекомендуемая литература:_________________________________________

 

Срок выполнения проекта: с "___" ______по"___"____20__г.

Срок защиты:                                                    "___"____20__г.

Дата выдачи задания:                                       "___"____20__г.

Дата сдачи  проекта на кафедру:                      "___"____20__г.

Руководитель  проекта _________________________________

                                                                          (подпись, ф.и.о., звание, степень)

Задание принял студент _______________________________

 

                                                                                          (подпись,  дата)

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Содержание

 

Введение……………………………………………………..…………. 5

1 Линейная регрессия……………………………………..………….…6

2 Математическая постановка … ……………………….……………..7

3 Блок-схема………………………………………………………….... 10

4 Описание методов, используемых при решении…………………...12

5 Текст программы (листинг)………………………………………… 12

6 Результаты машинного тестирования программы…………………14

Заключение…………………………………………………………… . 15

Список  литературы ………………………………………………….. ..16

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Реферат

      Пояснительная записка курсового работы 16 с., 2 рис., 2 табл., 4 источника, 3 прил.

    Линейная  регрессия

 

     Объектом  исследования является возможность  создать программу расчета параметров (меры отклонения, мера разброса) линейной регрессии

 

     Цель  работы состоит в создании программы расчета параметров  на языке C++ , не используя дополнительные библиотеки.

 

     К полученным результатам относятся

    1. a0 - значение  параметра регрессии a0;
    2. a1 - значение  параметра   регрессии a1;
    3. e1 - значение  меры  разброса  e1  результатов  эксперимента;
    4. e2 - значение  меры  e2  отклонений  результатов эксперимента  от  линейной  регрессии.
 
 
 
 
 
 
 
 
 
 
 
 

Введение

Почему  именно регрессии? Если честно, я сам не очень знаю, почему. Просто в задании попались.

Использовался компилятор  от Borland Turbo C++;

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

  1. GA-M55S-S3, nForce 550, 800/1000 MHz set, PCI-E, GbLAN, 1394, SATA RAID, U133, 4DDR-II,ATX
  2. Athlon 64 X2 EE (65W) Dual-Core 5200+, 2600MHz, 2x1MB cache (BOX)
  3. 1GB PC-800 (6400) Kingston (KVR800D2N5/1G)
  4. 1GB PC-800 (6400) Kingston (KVR800D2N5/1G)
  5. 400 GB, Samsung, 16 Mb cache, Serial ATA II

Написанные  программы не  отличаются  красотой  оформления  и  понятностью,  так  как писались лишь для вычислений.

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

       Язык  C++ представляет собой объектно-ориентированный низкоуровневый язык программирования, отвечающий стандартам ANSI и Международной организации стандартов (International Standards Organization - ISO ). Объектная ориентированность С ++ означает, что он поддерживает стиль программирования, упрощающий кодирование крупномасштабных программ и обеспечивающий их расширяемость. Будучи низкоуровневым языком, С++ может генерировать весьма эффективные высокоскоростные программы. Сертификация ANSI и ISO обеспечила переносимость С++ : написанные на нем программы совместимы с большинством современных сред программирования.

       Уже в самом названии содержится намек  на то, что С++ является следующим поколением языка программирования С – результатом добавления новых веяний академической компьютерной мысли к старому С. На С++ можно делать все то же, что и на С, и даже таким же образом. Но это нечто большее, чем просто С, наряженный в новые одежды. Дополнительные возможности С++ весьма значительны  и требуют не только некоторых размышлений, но и привычки, однако результат того заслуживает.

       1 Линейная  регрессия.

 

       Пусть  требуется  исследовать  зависимость  y(x),  причем  величины y  и x  измеряются  в одних  и  тех  же  экспериментах.  Без  ограничения  общности  можно  считать,  что  величина   x  измеряется  точно,  в то  время как измерение величины y  содержит  случайные  погрешности.  Это  означает,  что  погрешность  измерения  величины   x  пренебрежимо  мала   по  сравнению  с  погрешностью  измерения  величины  y.  Таким образом,  результаты  эксперимента  можно рассматривать как выборочные  значения  случайной  величины  h(x),  зависящей от  x  как от  параметра.  Регрессией  называют  зависимость  условного  математического  ожидания  этой  величины  от  x,  т.е.  y(x)=M(h| x).  Задача  регрессионного  анализа  состоит  в  восстановлении  функциональной   зависимости  y(x)  по  результатам измерений   (xi,  yi),  i=1,  2, ...,  n.

       Аппроксимируем  искомую  зависимость  y(x)  функцией  f(x,  a1,  a2,  ...,  ak).  Это  означает,  что  результаты  измерений  можно  представить  в  виде

       yi= f(a1, ...,  ak)+xi,                                                           

где  a1, ...,  ak  -  неизвестные  параметры  регрессии;

        xi            -  случайные величины,  характеризующие

                          погрешности  эксперимента.

       Обычно  предполагается,  что  xi  -  это независимые нормально распределенные  случайные величины  с Мxi=0  и одинаковыми дисперсиями  Мxi2=s2.

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

       F( a1, ...,  ak)=å(f(xi,  a1, ...,  ak)-yi)2

и,  следовательно,  параметры  a1, ...,  ak  определяют  методом наименьших  квадратов.

       На  практике   регрессионный   анализ  состоит  из  трех  этапов.  На  первом  этапе  выдвигают  гипотезу  о  виде  функции f(a1, ...,  ak),  на  втором  -  по  имеющимся  данным  находят   оценки  неизвестных  параметров  a1, ...,  ak.  На  третьем этапе проверяют  согласие  выдвинутой  гипотезы  с  результатами  измерений.

       Рассмотрим  простейший  случай  линейной  регрессии.  Пусть  выдвинута  гипотеза  о  том,  что  функция  f  имеет вид f(x,  a0, a1)=a0+a1x.  Найдем  оценки  параметров  a0  и  a1  методом наименьших  квадратов.  Для  этого минимизируем  функцию

       F( a0, a1)=å((a0+a1x)-yi)2.

       Приравнивая  нулю  производные  ¶F/ a0   и  ¶F/ a1,  получаем

Информация о работе Решение задачи методом линейной регрессии