Регрессионный анализ

advertisement
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
Нижегородский государственный университет им. Н.И. Лобачевского
В. И. Чередник
РЕГРЕССИОННЫЙ АНАЛИЗ
Практикум
Рекомендовано методической комиссией химического факультета для
студентов ННГУ, обучающихся по направлению подготовки 020100 –
«химия» и специальностям 020101 – «химия», 020801 – «экология»,
240306 – «химическая технология монокристаллов, материалов и
изделий электронной техники».
Нижний Новгород
2009
УДК 54: 519.876.5
ББК Г:В19
Ч-46
Ч-46 ЧЕРЕДНИК В. И. Регрессионный анализ: Практикум. – Нижний
Новгород: Нижегородский госуниверситет. 2009. – 17 с.
Рецензент:
кандидат хим. наук, старший научный сотрудник А.Н. Туманова
В пособии рассматривается задача аппроксимации экспериментальных
точек полиномиальной функцией методом наименьших квадратов. Приводятся
основные расчётные формулы, изложен алгоритм решения задачи с помощью
компьютера, представлена блок-схема алгоритма и сформулировано задание
для студентов. Рекомендовано методической комиссией химического
факультета для студентов ННГУ, обучающихся по направлению подготовки
020100 – «химия» и специальностям 020101 – «химия», 020801 – «экология»,
240306 – «химическая технология монокристаллов, материалов и изделий
электронной техники» при проведении практикума по курсу «Численные
методы и программирование».
Ответственный за выпуск:
зам. председателя методической комиссии
химического факультета ННГУ, к.х.н., доцент М.В. Гуленова
УДК
54: 519.876.5
ББК
Г:В19
 Нижегородский государственный университет
им. Н.И. Лобачевского, 2009
СОДЕРЖАНИЕ
Введение
4
1.
Полиномиальная аппроксимация
4
2.
Линейный регрессионный анализ
6
3.
Квадратичная аппроксимация
7
4.
Некоторые особенности алгоритма и программы
9
5.
Задание
13
Литература
16
Введение
Регрессионный анализ – это аппроксимация зависимости, представленной
в виде набора чисел, аналитической функцией. Численные значения
получаются обычно либо в результате экспериментальных измерений, либо с
помощью компьютерного моделирования.
1. Полиномиальная аппроксимация
Наиболее часто используется аппроксимация с помощью полинома
степени n:
y = f(x) = a0 + a1x + a2x2 + a3x3 + ….+ anxn
(1)
Коэффициенты полинома a0, a1, a2, … an подбираются таким образом,
чтобы кривая, описываемая полиномом, проходила максимально близко ко
всем точкам, аппроксимируемым этим полиномом. Максимальная близость
аппроксимирующего полинома к аппроксимируемым точкам количественно
формулируется в виде минимальности суммы квадратов отклонений значений
полинома от ординат всех точек:
m
S  [ y k  f ( x k )]2  min
(2)
k 1
Аппроксимация с применением условия (2) широко известна как метод
наименьших квадратов. В выражении (2) yk – ординаты аппроксимируемых
точек, xk – значения аргумента этих точек, m – количество аппроксимируемых
точек. Для применения (1) при условии (2) должно выполняться условие:
n<m-1
(3)
Например, через три точки (m = 3) методом наименьших квадратов
можно провести только прямую – полином 1-й степени (n = 1), через 4 точки –
полином 1-й или 2-й степени, через 5 точек – полином 1-й, 2-й или 3-й степени
и т.д. Если n = m – 1, то соответствующий полином проходит точно через
аппроксимируемые точки и условие (2) выполняется автоматически (точно
через две точки проходит прямая, через три точки – парабола и т.д.). Если
n > m – 1, задача становится неопределенной (например, через две точки можно
точно провести бесчисленное множество парабол).
При условии (3) выполнение условия (2) означает, что все частные
производные от S по коэффициентам a0, a1, a2, … an должны быть равны нулю:
4
S
S
S
S
 0,
 0,
 0, ...
0
a0
 a1
a2
an
(4)
Подставляя (1) в (2) и выполняя дифференцирование (4), получим
систему линейных алгебраических уравнений порядка n + 1 для определения
n + 1 коэффициентов полинома (1):
m
m

m

m

   x k  a1    x 2k  a 2        x nk  a n   y k
k 1
 k 1 
 k 1 
 k 1 
m
m 
m 
m 
m

  x k  a 0    x 2k  a1    x 3k  a 2        x nk 1  a n   x k y k
 k 1 
 k 1 
 k 1 
 k 1

k 1








m
 m 2
 m 3
 m 4
 m n 2 
  x k  a 0    x k  a 1    x k  a 2        x k  a n   x 2k y k
 k 1 
 k 1 
 k 1 
 k 1

k 1








m
 m 3
m 
m 
m

  x k  a 0    x 4k  a 1    x 5k  a 2        x nk 3  a n   x 3k y k
 k 1 
 k 1 
 k 1 
 k 1

k 1








.............................................................
m
 m n
m

m

m

  x k  a 0    x nk 1  a1    x nk 2  a 2        x 2k n  a n   x nk y k
 k 1 
 k 1

 k 1

 k 1

k 1








ma 0
Это можно переписать таким образом:
g 00 a 0  g 01a1  g 02 a 2      g 0 n a n  h 0
g10 a 0  g11a1  g12 a 2      g 1n a n  h1
  
g n 0 a 0  g n1a1  g n 2 a 2      g n n a n  h n
(5)
Коэффициенты g i j (i, j = 0, 1, 2, … n) системы уравнений (5)
определяются следующим образом:
m
g i j   x ik j
k 1
Правые части системы уравнений (5) рассчитываются по формуле:
5
(6)
m
h i   x ik y k
(7)
k 1
2. Линейный регрессионный анализ
Самый простой вариант – линейный регрессионный анализ. В этом
случае табличные значения аппроксимируются полиномом первой степени –
прямой линией (n = 1):
y = f(x) = a0 + a1 x,
(8)
а система уравнений (5) представляет собой систему двух уравнений с двумя
неизвестными:
g 00 a 0  g 01a1  h 0
(9)
g10 a 0  g11a1  h1
Коэффициент a0 во всех случаях представляет собой значение
аппроксимирующей функции при x = 0, а величина a1 в (8) есть тангенс угла
наклона аппроксимирующей прямой к оси x.
Коэффициенты системы (9) в соответствии с (6) и (7):
m
g 00   x 0k 
k 1
m
1 m
k 1
m
m
h 0   yk
g 01   x k
k 1
k 1
(10)
m
m
m
g11   x 2k
g10   x k
h1   x k y k
k 1
k 1
k 1
Решение системы (9) в соответствии с правилом Крамера имеет
следующий вид:
a0 
0
,

a1 
1
,

(11)
где  – определитель системы (9), составленный из коэффициентов при
неизвестных:

g 00
g10
g 01
 g 00 g11  g10 g 01
g11
6
(12)
Определители 0 и 1 получаются из определителя  путем замены
столбца коэффициентов при соответствующих переменных столбцом правых
частей системы:
g
h0
h 0 g 01
 h 0 g11  h1 g 01 ,
1  00
 g 00 h1  g10 h 0
(13)
g10 h1
h1 g11
Во многих случаях линейная аппроксимация с помощью выражений (8) –
(13) дает вполне удовлетворительные результаты и аппроксимация полиномом
более высокого порядка не требуется. Для оценки степени адекватности
аппроксимирующего полинома и аппроксимируемых значений используются
следующие критерии:
0 
a. Дисперсия адекватности
2 
S
m2
(14)
Здесь S определяется выражением (2).
b. Коэффициент корреляции
m
m
m
k 1
k 1
k 1
m   x k yk   x k   yk
R
2

m
m
 
2 
  m   y k    y k  
 k 1
 k 1  
(15)
Чем ближе аппроксимирующий полином к аппроксимируемым точкам,
тем ближе к нулю дисперсия адекватности (полное совпадение соответствует
 2  0 ) и тем ближе к единице коэффициент корреляции (полное совпадение
соответствует R = 1).
Более подробно линейный регрессионный анализ описан в [1].
3. Квадратичная аппроксимация
Если табличные точки явно не располагаются вдоль прямой линии, то
линейная зависимость (8) не может адекватно аппроксимировать эти точки. В
этом случае можно попытаться применить полином второй степени (n = 2):
y = f(x) = a0 + a1 x + a2 x2
7
(16)
Система уравнений (5) в этом случае представляет собой систему трех
уравнений с тремя неизвестными:
g 00 a 0  g 01a 1  g 02 a 2  h 0
g10 a 0  g11a 1  g12 a 2  h1
(17)
g 20 a 0  g 21a 1  g 2 2 a 2  h 2
Коэффициенты этой системы в соответствии с (6) и (7):
m
g 00  
k 1
x 0k
m
g10   x k
k 1
m
m
m
g 02  
g 01   x k
k 1
k 1
m
x 2k
m
g11   x 2k
g12   x 3k
k 1
k 1
m
h 0   yk
k 1
m
h1   x k y k
k 1
(18)
m
g 20   x 2k
k 1
m
m
g 22   x 4k
g 21   x 3k
k 1
k 1
m
h 2   x 2k y k
k 1
Решение системы (17) также может быть найдено с помощью правила
Крамера:
a0 
0
,

a1 
1
,

a2 
2

(19)
где  – определитель системы (17), составленный из коэффициентов при
неизвестных:
g 00
  g10
g 20
g 01 g 02
g11 g12  g 00 g11g 22  g10 g 21g 02  g 01g12 g 20  g 20 g11g 02  g10 g 01g 22  g 21g12 g 00
g 21 g 22
(20)
Определители 0, 1 и 2 получаются из определителя  путем замены
столбца коэффициентов при соответствующих переменных столбцом правых
частей системы:
h0
 0  h1
h2
g 01
g11
g 21
g 02
g12  h 0 g11 g 22  h 1 g 21 g 02  g 01 g12 h 2  h 2 g11 g 02  h 1 g 01 g 22  g 21 g12 h 0
g 22
(21)
8
g 00
1  g10
g 20
h0
h1
h2
g 02
g12  g 00 h1 g 22  g10 h 2 g 02  h 0 g12 g 20  g 20 h1 g 02  g10 h 0 g 22  h 2 g12 g 00
g 22
(22)
g 00
 2  g10
g 20
g 01
g11
g 21
h0
h1  g 00 g11 h 2  g10 g 21 h 0  g 01 h1 g 20  g 20 g11 h 0  g10 g 01 h 2  g 21 h1 g 00
h2
(23)
Дисперсия адекватности и в этом случае может быть рассчитана с
помощью выражения (14).
В некоторых случаях приходится применять полиномы 3-й и даже более
высокой степени. Соответствующая система уравнений (5) решается в этом
случае с помощью численных методов, например, с помощью метода
исключения Гаусса или с помощью итерационного метода Гаусса-Зейделя.
Описание этих методов, соответствующих алгоритмов и даже готовых
вариантов программ, реализующих такие вычисления, можно найти, например,
в [2, 3].
4. Некоторые особенности алгоритма и программы
В данной работе применяется аппроксимация только полиномами первой
и второй степени (n = 1 или n = 2). Рекомендуемое соответствие
идентификаторов компьютерной программы величинам, используемым в
формулах, приведено в таблице 1.
Для переменных xk и yk необходимо зарезервировать массивы x(k) и y(k) с
помощью оператора:
Dim x(100), y(100)
Этот оператор следует поставить в самом начале программы перед
служебным оператором Sub. Все остальные величины обозначаются простыми
переменными, которые в языке бейсик необязательно декларировать с
помощью оператора Dim.
Табличные значения yk могут быть смоделированы с помощью формулы
(16), в которой неизвестные коэффициенты a0, a1 и a2 следует заменить
известными величинами at0, at1 и at2, которые будут задаваться (вводиться) в
начале программы, а значения xk можно для упрощения задавать
равноотстоящими (в общем случае это необязательно). Имитация случайного
разброса значений функции yk, обусловленного обычно погрешностью
9
Таблица 1
Соответствие величин, используемых в формулах,
идентификаторам программы
Величина
xk
yk
m
n
at0
at1
at2
dy
a0
a1
a2
g00
g01
…
g22
h0
h1
h2

0
1
2
y = f(x)
S
2
R
 xk
 yk
 x k yk
 y 2k
Идентификатор
x(k)
y(k)
m
n
at0
at1
at2
dy
a0
a1
a2
g00
g01
…
g22
h0
h1
h2
d
d0
d1
d2
fx
s
s2
r
sx
sy
sxy
sy2
Пояснение
Аргумент
Функция
Число точек
Степень полинома
Коэффициенты полинома
задаваемой функции
Максимальный случайный разброс
Коэффициенты полинома
аппроксимирующей функции
Коэффициенты уравнений для
определения коэффициентов ai
Правые части системы уравнений
Определитель
Определитель a0
Определитель a1
Определитель a2
Расчётные значения y(xk)
Минимизируемая сумма
Дисперсия адекватности
Коэффициент корреляции
Суммы для вычисления
коэффициента корреляции
эксперимента, может быть выполнена с помощью генератора случайных чисел
(в языке бейсик это оператор Rnd(1)), генерирующего при каждом обращении к
нему случайное число с равномерным распределением в диапазоне от 0 до 1.
Если задать величину dy – максимальное случайное отклонение от
некоторого среднего значения, то имитация случайного разброса значений yk в
10
диапазоне отклонений ±dy от среднего значения может быть выполнена с
помощью такого оператора:
y(k) = y(k) +2*dy*(Rnd(1) – 0.5)
(24)
Чтобы при каждом новом запуске программы генератор Rnd(1) выдавал
различные последовательности случайных чисел, необходимо в самом начале
программы (после служебного оператора Sub) поставить оператор
Randomize
Блок-схема алгоритма, реализующего аппроксимацию табличных
значений полиномом 1-й или 2-й степени, приведена на рис. 1.
Программа в соответствии с блок-схемой на рис. 1 должна быть
составлена на языке бейсик в виде макроса в рабочем листе Excel. Имя макроса
и рабочего листа – “polynom”. Программа должна вводить задаваемые
величины из ячеек рабочего листа Excel, и выводить результаты расчетов в
ячейки этого же рабочего листа.
Пример оператора ввода числа из ячейки рабочего листа Excel (имя
рабочего листа “polynom”):
m = Worksheets("polynom").Cells(3, 1).Value
Этот оператор вводит число из ячейки A3 (третья строка, первый столбец – см.
рис. 2) рабочего листа с именем “polynom” и присваивает это число переменной
m.
Аналогичным образом выполняется вывод числа в ячейку рабочего листа
Excel:
Worksheets("polynom").Cells(7, 5).Value = a0
Этот оператор выводит числовое значение переменной a0 в ячейку E7 (седьмая
строка, пятый столбец – см. рис. 2) рабочего листа Excel.
Для вывода в ячейку текста (для оформления заголовков и пояснений)
соответствующий текст в операторе вывода должен быть заключен в кавычки.
Например, оператор
Worksheets("polynom").Cells(6, 5).Value = “a0”
выводит тест “a0” в ячейку E6.
Для вывода столбца численных значений необходимо использовать
буквенное обозначение номера строки, которое должно меняться в
соответствующем цикле. Например, оператор
11
Ввод задаваемых величин:
m, x(1), x(m), n, at0, at1, at2, dy
Вывод заголовков результатов
n=1?
y(1)=at0+at1*x(1)+at2*x(1)^2
y(1)=y(1)+2*dy*(Rnd(1)-0.5)
Вывод x(1), y(1)
Расчёт d, d0, a0, a1
по формулам (11) - (13)
sx = 0 sy = 0 sxy = 0 sy2 = 0
k=2
k=1
x(k) = x(k-1) + (x(m) - x(1)) / (m-1)
y(k) = at0 + at1*x(k) + at2*x(k)^2
y(k) = y(k) + 2*dy*(Rnd(1) - 0.5)
Вывод x(k), y(k)
k=k+1
fx = a0 + a1 * x(k), вывод fx
s = s + (y(k) - fx)^2
sx = sx + x(k) sy = sy + y(k)
sxy = sxy + x(k) * y(k)
sy2 = sy2 + y(k)^2
k=k+1
нет
да
да
да
k <= m ?
k <= m ?
нет
нет
g00 = m
g01 = 0
g02 = 0
g12 = 0
g22 = 0
h0 = 0
h1 = 0
h2 = 0
Вычисление коэффициента
корреляции r по формуле (15)
Вывод r
k=1
Расчёт d, d0, d1, d2, a0, a1, a2
по формулам (19)-(23), вывод a2
g01 = g01 + x(k)
g02 = g02 + x(k)^2
g12= g12 + x(k)^3
g22 = g22 + x(k)^4
k=1
fx = a0 + a1 * x(k) + a2 * x(k)^2
Вывод fx
s = s + (y(k) - fx)^2
k=k+1
h0 = h0 + y(k) h1 = h1 + x(k)*y(k)
h2 = h2 + x(k)^2 * y(k) k = k + 1
да
да
k <= m ?
k <= m ?
нет
g10 = g01
g20 = g02
нет
Вывод a0, a1
s2 = s / (m-2), вывод s2
g11 = g02
g21 = g12
s=0
End
Рис. 1. Блок-схема алгоритма аппроксимации полиномом 1-й и 2-й степени
12
Worksheets("polynom").Cells(k + 6, 3).Value = fx
будет выводить значения аппроксимирующей функции fx в третий столбец
(столбец C), с 7-й строки по 17-ю, если переменная k будет меняться от 1 до 11
в соответствующем цикле.
Аналогичным образом можно применять буквенные обозначения и для
номера столбца для вывода значений в строку, если это необходимо.
5. Задание
5.1. Составить программу на языке Бейсик, реализующую линейный
регрессионный анализ (аппроксимацию полиномом 1-й степени) в соответствии
с формулами (8) – (15), и аппроксимацию полиномом второй степени в
соответствии с (16) – (23), руководствуясь блок-схемой, представленной на
рис. 1. Программа должна включать в себя оба варианта и выбирать один из
них в соответствии с величиной порядка полинома n, которая должна вводиться
в начале программы в качестве одной из задаваемых величин. Другими
задаваемыми величинами должны быть количество точек m, в которых заданы
табличные значения аппроксимируемой зависимости, минимальное и
максимальное значения аргумента x1 и xm, а также коэффициенты at0, at1, at2 и
максимальное значение случайного разброса dy.
Программа должна вводить задаваемые величины из ячеек рабочего листа
Excel, рассчитывать и выводить в ячейки этого же листа коэффициенты ai (i = 0,
1 для линейной зависимости или i = 0, 1, 2 для квадратичной аппроксимации) и
соответствующую дисперсию адекватности (для линейной аппроксимации
также и коэффициент корреляции). Кроме того, программа должна выводить
табличные значения xk (в первом столбце таблицы), yk (во втором столбце) и
рассчитанные с помощью (8) или (16) (в зависимости от заданного значения n)
значения аппроксимирующей функции fx (в третьем столбце).
Для n = 1 в ячейки рабочего листа, в которые должны выводиться
заголовок и величина коэффициента a2, необходимо выводить пробел между
двумя кавычками в операторе вывода.
Аналогично для n = 2 в ячейки рабочего листа, в которые должны
выводиться заголовок и величина коэффициента корреляции r, необходимо
выводить пробел.
По выведенным в три столбца значениям x(k), y(k) и fx необходимо
построить графики зависимости y(k) и fx от x(k) (тип диаграммы – точечная).
Первый график должен изображаться только маркерами без соединительной
линии, второй – наоборот, соединительной линией без маркеров.
Для запуска программы на исполнение необходимо оформить
соответствующую кнопку “Пуск” (назначить ей макрос “polynom”). Перед
запуском программы кнопкой “Пуск” необходимо выйти из ячейки со
значением, задаваемым последним, нажав “Enter” на клавиатуре, либо нажав
13
любую клавишу управлением курсором (клавиши со стрелками), либо щелчком
мыши за пределами этой ячейки.
Для отладки программы задать величину максимального случайного
разброса dy = 0. В этом случае рассчитанные значения коэффициентов
аппроксимирующих полиномов a0, a1 (и a2 для n = 2) должны совпадать с
задаваемыми коэффициентами at0, at1 (и at2 для n = 2), дисперсия адекватности
должна
быть
равна
нулю,
а
коэффициент
корреляции
(для
n = 1) – единице.
5.2. Выполнить расчеты для n = 1 и at2 = 0 (например, at0 = 0.5, at1 = 2) для
нескольких различных значений величины dy (например, 0.1, 0.2, 0.3).
Убедиться, что при увеличении dy увеличивается дисперсия адекватности s2 и
уменьшается коэффициент корреляции r. Пример оформления рабочего листа
Excel для ввода данных и вывода результатов для этого варианта показан на
рис. 2.
Рис. 2. Пример оформления рабочего листа Excel для ввода
данных и вывода результатов
Ввиду случайности формируемых табличных данных полностью
повторить результаты, показанные на рис. 2, невозможно. При каждом
повторном запуске программы результаты будут отличаться тем сильнее, чем
больше задаваемая величина максимального разброса dy. Лишь при dy = 0
14
расчетные значения a0, a1, a2 должны совпадать (если в программе нет ошибок)
с задаваемыми значениями at0, at1, at2, значения fx будут совпадать с y(k),
дисперсия адекватности будет равна нулю, а коэффициент корреляции (для n =
1) будет равен единице.
5.3. Выполнить расчеты для n = 2 (например, at0 = 0.5, at1 = -3, at2 = 4) также
для нескольких различных значений величины dy (например, 0.1, 0.2, 0.3).
Убедиться, что и в этом случае увеличение разброса точек приводит к
снижению адекватности аппроксимации.
5.4. Выполнить расчеты для n = 1 и at2 ≠ 0 (например, at0 = 0.5, at1 = -3, at2 =
4). Это будет означать аппроксимацию квадратичной зависимости полиномом
первой степени (прямой линией). Убедиться, что в этом случае адекватность
аппроксимации явно неудовлетворительна (в том числе и при dy = 0).
5.5. Выполнить расчеты для n = 2 и at2 = 0 (например, at0 = 0.5, at1 = 2) для
нескольких различных значений величины dy (например, 0.1, 0.2, 0.3). Это
означает аппроксимацию линейной зависимости полиномом второй степени.
Убедиться, что такая аппроксимация дает вполне удовлетворительные
результаты. Величина коэффициента a2 должна получаться близкой к нулю,
что означает, что данный набор точек вполне можно аппроксимировать прямой
линией и применять полином более высокой степени в данном случае нет
необходимости.
5.6. Самостоятельно выполнить небольшую модификацию программы,
позволяющую
использовать
ее
для
аппроксимации
реальных
экспериментальных табличных зависимостей. Для этого значения x(k) и y(k)
должны не моделироваться программой с применением формул (16) и (24), а
вводиться операторами ввода из соответствующих столбцов таблицы – тех же
самых, в которые они выводились программой при моделировании, а в эти
столбцы таблицы их необходимо вводить вручную перед запуском программы.
При этом значения x(k) необязательно должны быть равноотстоящими. В
качестве признака, по которому программа будет различать - работать ей с
вариантом моделирования исходных данных или с вариантом их ручного ввода,
необходимо ввести дополнительную переменную,
например, v. Эту
переменную программа должна считывать из ячейки Excel, следующей за
ячейкой последней вводимой переменной предыдущего варианта программы. В
качестве заголовка этой переменной ввести в соответствующую ячейку текст
“Вариант” (см. рис. 3).
Рис. 3. Входные данные модифицированного варианта программы.
15
Если v = 1 (в программе проверять условие v < 2), то табличные значения
моделируются, если же v = 2 (в программе проверять условие v > 1), то данные
считываются из таблицы при запуске программы. В этом случае перед запуском
программы данные должны быть введены в таблицу вручную. В тексте
выводимого заголовка таблицы результатов должно быть краткое пояснение,
указывающее – с какими исходными данными работает программа,
моделируемыми или вводимыми вручную. Программа сама, автоматически,
должна менять текст заголовка таблицы результатов при смене режима ее
работы.
Выполнить аппроксимацию данных, приведенных в таблице 2 (варианты
a, b, c, d).
Таблица 2.
Наборы точек для аппроксимации в режиме ручного ввода
x(k)
1.21
1.3
1.38
1.47
1.52
1.6
1.68
1.79
y(k)
0.82
1.12
1.23
1.45
1.73
1.93
2.08
2.27
a
x(k)
2.05
2.27
2.5
2.88
3.15
3.4
3.73
3.98
b
y(k)
5.92
3.73
2.13
1.2
0.73
1.13
2.2
4.01
x(k)
0
0.15
0.27
0.44
0.58
0.7
0.83
0.98
y(k)
0.53
0.02
-0.4
-0.81
-1.12
-1.67
-1.98
-2.52
c
x(k)
1.02
1.27
1.55
1.82
2.15
2.41
2.72
2.95
d
y(k)
37.06
40.18
42.43
43.46
44.12
44.05
42.72
41.09
5.7. Оформить отчет, включающий описание метода наименьших квадратов,
основные формулы, таблицу идентификаторов, блок-схему, составленную
программу и полученные результаты.
Литература
1. К. Джонсон. Численные методы в химии, пер. с англ. – М.: Мир, 1983, 354 с.
2. Д. Мак-Кракен, У. Дорн. Численные методы и программирование на
Фортране, пер. с англ. – М.: Мир, 1977, 584 с.
3. В.П. Дьяконов. Справочник по алгоритмам и программам на языке бейсик
для персональных ЭВМ. – М.: Наука, 1987, 240 с.
16
РЕГРЕССИОННЫЙ АНАЛИЗ
Автор:
Валентин Иванович Чередник
Практикум
Государственное образовательное учреждение высшего профессионального
образования «Нижегородский государственный университет
им. Н.И. Лобачевского»
603950, Нижний Новгород, пр. Гагарина, 23.
Подписано в печать
2009. Формат 6084 1/16.
Бумага офсетная. Печать офсетная. Гарнитура Таймс.
Усл.-печ.л.
Заказ №
. Уч.-изд. л.
.
Тираж 300 экз.
Отпечатано в типографии Нижегородского госуниверситета
им. Н.И. Лобачевского».
603600, г. Нижний Новгород, ул. Большая Покровская, 37
Лицензия ПД№ 18-0099 от 14.05.01
Download