Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Статистическая обработка экспериментальных данных. Регрессионный анализ в языке R. Учебное пособие
.pdf
В.Ю. Потапова, А.С. Тарасов,
Е.С. Геращенко, М.Б. Никифоров
Статистическая обработка
экспериментальных данных
Регрессионный анализ
в языке R
Учебное пособие для магистрантов и аспирантов
Рекомендовано
Научно-методическим советом ФГБОУ ВО
«Рязанский государственный радиотехнический
университет»
в качестве учебного пособия для студентов
высших учебных заведений, обучающихся по
направлениям подготовки
09.06.01 и 09.04.01 «Информатика и
вычислительная техника»,
02.06.01 «Компьютерные и информационные
науки»,
02.04.03 «Математическое обеспечение и
администрирование информационных систем»
Рязань
BOOKJET 2018

© В.Ю. Потапова, А.С. Тарасов,
Е.С. Геращенко, М.Б. Никифоров,2018
УДК 004.9
ББК 30Ф
Рецензент: доктор технических наук, профессор, зав. кафедрой ЭВМ
ФГБОУ ВО «Рязанский государственный радиотехнический
университет» Б.В. Костров.
Авторы: В. Ю. Потапова, А. С. Тарасов, Е. С. Геращенко, М. Б. Никифоров
Статистическая обработка экспериментальных данных.
Регрессионный анализ в языке R. Учебное пособие /
В.Ю. Потапова, А.С. Тарасов, Е. С. Геращенко и др. – Рязань:
ɂɉɄɨɧɹɯɢɧȺȼ%RRNMHW. – 52с.: ил.
ISBN 978-5-6041320-7-4
Рассмотрены основные методы, используемые при статистической
обработке данных. Приведены возможности среды разработки RGui, для
написания запросов на языке R применительно к обработке
статистической информации.
Для студентов, обучающихся по направлениям
09.06.01 и 09.04.01 «Информатика и вычислительная техника»,
02.06.01 «Компьютерные и информационные науки» и
02.04.03 «Математическое обеспечение и администрирование
информационных систем»
ББК 30Ф
Адрес издательства в Интернете bookjet.ru
Учебное издание
Потапова Валентина Юрьевна, Тарасов Андрей Сергеевич,
Геращенко Екатерина Сергеевна, Никифоров Михаил Борисович
СТАТИСТИЧЕСКАЯ ОБРАБОТКА ЭКСПЕРИМЕНТАЛЬНЫХ ДАННЫХ.
РЕГРЕССИОННЫЙ АНАЛИЗ В ЯЗЫКЕ R
Учебное пособие для вузов
Подписано в печать 06.07.18. Печать цифровая. Формат 60х84/16 Уч. изд. л.3,25
Тираж 500 экз. Изд. № 1545
ISBN 978-5-6041320-7-4
© ɂɉɄɨɧɹɯɢɧȺȼ%RRNMHW

Регрессионный анализ в языке R
Цель занятия: изучить метод регрессионного анализа и его
реализацию с помощью языка R.
В теоретической части учебного пособия описаны понятия:
регрессии, регрессионного анализа, регрессионной модели,
коэффициента связности переменных, этапы регрессионного анализа.
Приведены примеры реализации на языке R: однофакторной линейной
регрессии, многофакторной линейной регрессии, шаговой линейной
регрессии, регрессии на главные компоненты, нелинейной регрессии.
Практическая часть содержит следующие задания: расчёт
коэффициента связности переменных и коэффициента корреляции
Пирсона, реализация метода наименьших квадратов, построение
многокритериальной линейной модели регрессии, построение
нелинейной модели регрессии.
Занятия по изучению языка R и его применению для решения
задач статистической обработки результатов эксперимента могут
проводиться в виде лабораторных работ либо практических занятий.
Для работы достаточно располагать компьютерным классом с
установленным RGui. Язык программирования R, а так же и среда
RGui 3.4 являются свободно-распространяемым программным
обеспечением, и лицензируется в соответствии с GNU General Public
License от 23 июня 2007 года. Полный текст лицензионного
соглашения представлен на сайте: https://www.rproject.org/Licenses/GPL.
3

1. Теоретическая часть
1.1. Метод наименьших квадратов
Пусть x – это набор m неизвестных переменных, fi (x), i = 1, ..., t,
t >m – совокупность функций от этого набора переменных. Задача
заключается в подборе таких x, чтобы значения этих функций были
максимально близки к некоторым yi. Необходимо осуществить
решение переопределенной системы уравнений fi (x)= yi, i = 1, ..., t,с
точки зрения максимальной близости левой и правой частей системы.
В качества «меры близости» в методе наименьших квадратов (МНК)
используется сумма квадратов отклонений левых и правых частей
| fi(x)-yi |.
МНК – математический метод, который позволяет получить
уравнение, описывающее зависимость между двумя векторами
экспериментальных данных, такое, чтобы квадратическое отклонение
точек на плоскости соответствовало экспериментальным данным от
точек графике уравнения, были минимальны.
Постановка задачи: пусть имеются две переменные x и y, и есть
основания предполагать, что между ними имеется функциональная
зависимость. Пусть имеется набор измерений, в результате которых
получены значения для x и y. Каждую пару значений можно
представить точкой на плоскости в декартовой системе координат.
Необходимо найти такую функцию, которая описывает зависимость y
от x, или, если говорить о графическом представлении, кривую,
усредняющую координаты точек, для которой сумма квадратов её
отклонений от экспериментальных значений является минимальной
(аппроксимация данных).
4

Подбираемая функция должна быть достаточно простой. Вид
minxfye
n
i
n
i
iii
1 1
22
))((
,
(1)
этой функции (линейная, квадратичная, экспоненциальная и др.)
можно определить эмпирически путём анализа расположения точек на
плоскости.
Сумма квадратов отклонений, которую необходимо
минимизировать, будет рассчитываться по формуле (1).
где ei – отклонение i-го значения, yi – экспериментальное значение на i
шаге, f(xi) – аппроксимированное значение на i шаге.
Если минимум суммы квадратов равен нулю, система уравнения
имеет решение и могут быть найдены точные корни системы
уравнений. Если система переопределена, то есть количество
независимых уравнений больше количества искомых переменных, то
система не имеет точного решения и метод наименьших квадратов
позволяет найти некоторый «оптимальный» вектор X, в смысле
максимальной близости векторов Y и f(x) или максимальной близости
вектора отклонений e к нулю (близость понимается в смысле
евклидова расстояния).
Пример 1
МНК может быть применен при решении задач калибровки
прибора (портативного люксметра), осуществляющего замер
освещенности. В состав портативного люксметра входит
микроконтроллер Arduino Nano, дисплей, фоторезистор, светодиоды.
Фоторезистор считывает значение светового потока и отправляет его
на микроконтроллер. Светодиоды выступают в качестве индикатора
освещенности: красный – недостаток, зеленый – норма, желтый –
избыток. Arduino Nano выводит значения с аналого-цифрового
5

преобразователя (АЦП), которые изменяются в диапазоне от 0 до 1023.
,
(2)
Для того, чтобы осуществлять контроль освещённости на соответствие
нормам, это значение необходимо выразить в люксах.
Для калибровки портативного люксметра был проведён ряд
экспериментов по снятию показателей АЦП микроконтроллера при
различных уровнях внешней освещённости. Одновременно
производился замер показателей поверенным электронным
люксметром «ТКА-Люкс». Для выявления соответствия значений
АЦП уровням освещённости в люксах был использован такой метод
регрессионного анализа, как метод наименьших квадратов.
В случае выявления функциональной связи между данными АЦП
микроконтроллера и значениями освещённости в люксах имеет место
линейная зависимость. Общий вид функции представлен в
формуле (2):
где a, b – коэффициенты уравнения, x, y – координаты на плоскости.
Рассмотрим применение МНК для аппроксимации на диапазоне,
соответствующем нормальному уровню освещённости в коридорах
жилых домов. По строительным нормам и правилам (СНИП) 23-05-95
нормальное значение освещённости относится к промежутку 50-80
люкс. Для диапазонов соответствующим недостаточному и
избыточному значению освещённости также проводилась
аппроксимация с применением МНК.
В ходе проведения экспериментов получены значения,
приведенные в таблице 1.
6

Таблица 1. Исходные данные для МНК
Y
55
58
59
63
70
75 X 225
245
273
282
279
285
(3)
1 2 3 4 5 6 Σ X
225
245
273
282
279
285
1589
Y
55
58
59
63
70
75
380
X2
50625
60025
74529
79524
77841
81225
423769
YX
12375
14210
16107
17766
19530
21375
101363
Вектор Y – значение освещенности в люксах, полученное с
помощью поверенного люксметра «ТКА-Люкс», X – значение
выходного сигнала с АЦП микроконтроллера.
В соответствии с методом наименьших квадратов получим
систему уравнений следующего вида:
где – коэффициенты уравнения, подлежащие расчету (см. формулу
2) , m – количество экспериментов.
В таблице 2 приведён расчёт аргументов , уравнения (3).
Таблица 2 – Расчёт ,
Для полученных экспериментально данных имеем систему
уравнений вида:
Для решения системы из первого уравнения выразим b.
Подставив выраженную переменную во второе уравнение,
получим:
7

(4)
# ввод экспериментальных данных
y=c(55,58,59,63,70,75)
x=c(225,245,273,282,279,285)
# объединение аргументов в таблицу
data_table=data.frame(y,x)
# построение линейной модели
model=lm(data=data_table, y~x)
model# вывод результата
В ходе вычислений найдены следующие значения переменных:
а = 0.246, b = -1.898. Переменные a, b соответствуют коэффициентам a
и b формулы (2). В результате аппроксимирующая функция для
диапазона нормальной освещённости в коридорах жилых домов имеет
следующий вид:
Рассмотренный метод позволяет быстро вывести формулы для
реализации программного обеспечения для модуля контроля
освещённости в системе «Умный дом». Задача такого модуля
заключается в оценке текущего уровня освещённости и его коррекции
(например, включения дополнительных ламп или закрывания жалюзи),
если значение не соответствует санитарным нормам.
Реализация рассмотренного примера на языке R.
Функция с объединяет аргументы в вектор. Таким образом
формируются исходные данные в виде векторов X и Y. Функция
data.frame объединяет аргументы в таблицу. Функция lm выполняет
построение линейной регрессионной модели. Первый аргумент – это
источник данных, второй аргумент описывает зависимость между
8

переменными. В данном случае y выступает как зависимая
(5)
На рисунке 2 приведен график подобранного уравнения и
точки, соответствующие исходным данным.
переменная, x – как независимая. Могут использоваться и другие виды
зависимости между переменными. На рисунке 1 приведен результат
расчета МНК с помощью описанного выше кода.
Рисунок 1 – Результат расчета МНК для исходных данных
Коэффициенты, полученные функцией lm, соответствуют
ручному расчёту (см. формулу 4). Значение x из столбца Coefficients
соответствует коэффициенту а из уравнения (2), значение Intercept–
свободному члену b. В результате аппроксимирующая функция для
диапазона нормальной освещённости в коридорах жилых домов имеет
следующий вид:
9

Рисунок 2 – График подобранного уравнения и точки,
соответствующие исходным данным
При ручном расчете значения коэффициентов получаются путем
решения системы уравнений. В языке R построение линейной модели
осуществляется функцией lm, в которой в качестве параметров
передаются таблица данных и зависимая/независимые переменные
через тильду. В данном случае используется одна независимая
переменная – x, однако их может быть и несколько.
1.2. Определение степени связности переменных
Под регрессионной моделью понимают некоторую гипотезу,
которая должна быть статистически проверена, чтобы можно было
принять решение о ее правильности. Регрессионная модель может
быть описана математической функцией, нейронной сетью, рядами
Чебышева. Для упрощения регрессионной модели и повышения её
точности необходимо отобрать те независимые величины, которые
влияют на результирующую переменную в наибольшей степени.
10
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
