Біографії Характеристики Аналіз

Метод найменших квадратів для чайників – приклади рішення. Метод найменших квадратів

  • Програмування
    • Tutorial

    Вступ

    Я математик-програміст. Найбільший стрибок у своїй кар'єрі я зробив, коли навчився говорити: "Я нічого не розумію!"Зараз мені не соромно сказати світилу науки, що читає лекцію, що я не розумію, про що воно, світило, мені говорить. І це дуже складно. Так, зізнатися у своєму незнанні складно та соромно. Кому сподобається визнаватись у тому, що він не знає азів чогось там. З огляду на свою професію я повинен бути присутнім на велику кількістьпрезентацій та лекцій, де, зізнаюся, у переважній більшості випадків мені хочеться спати, бо я нічого не розумію. А я не розумію тому, що величезна проблема поточної ситуації в науці криється в математиці. Вона припускає, що всі слухачі знайомі з усіма областями математики (що абсурдно). Зізнатися в тому, що ви не знаєте, що таке похідна (про те, що це трохи пізніше) - соромно.

    Але я навчився говорити, що не знаю, що таке множення. Так, я не знаю, що таке подалгебра над алгеброю Лі. Так, я не знаю, навіщо потрібні в житті квадратні рівняння. До речі, якщо ви впевнені, що ви знаєте, то нам є над чим поговорити! Математика – це серія фокусів. Математики намагаються заплутати та залякати публіку; там, де немає збентеження, немає репутації, немає авторитету. Так, це престижно говорити якомога абстрактнішою мовою, що є по собі повна нісенітниця.

    Чи знаєте ви, що таке похідна? Найімовірніше ви мені скажете про межу різницевого відношення. На першому курсі матуху СПбГУ Віктор Петрович Хавін мені визначивпохідну як коефіцієнт першого члена ряду Тейлора функції у точці (це була окрема гімнастика, щоб визначити ряд Тейлора без похідних). Я довго сміявся над таким визначенням, поки не зрозумів, про що воно. Похідна не що інше, як просто міра того, наскільки функція, яку ми диференціюємо, схожа на функцію y=x, y=x^2, y=x^3.

    Я зараз маю честь читати лекції студентам, які боятьсяматематики. Якщо ви боїтеся математики – нам з вами по дорозі. Як тільки ви намагаєтеся прочитати якийсь текст, і вам здається, що він надмірно складний, то знайте, що він написано хронічно. Я стверджую, що немає жодної галузі математики, про яку не можна говорити «на пальцях», не втрачаючи при цьому точності.

    Завдання найближчим часом: я доручив своїм студентам зрозуміти, що таке лінійно-квадратичний регулятор. Не посоромтеся, витратите три хвилини свого життя, сходіть на заслання. Якщо ви нічого не зрозуміли, то нам з вами по дорозі. Я (професійний математик-програміст) також нічого не зрозумів. І я запевняю, що в цьому можна розібратися «на пальцях». На даний момент я не знаю, що це таке, але я запевняю, що ми зможемо розібратися.

    Отже, перша лекція, яку я збираюся прочитати своїм студентам після того, як вони з жахом вдадуться до мене зі словами, що лінійно-квадратичний регулятор - це страшна бяка, яку ніколи в житті не подужати, це методи найменших квадратів . Чи вмієте ви вирішувати лінійні рівняння? Якщо ви читаєте цей текст, то, швидше за все, ні.

    Отже, дано дві точки (x0, y0), (x1, y1), наприклад, (1,1) і (3,2), завдання знайти рівняння прямої, що проходить через ці дві точки:

    ілюстрація

    Ця пряма повинна мати рівняння наступного типу:

    Тут альфа і бета нам невідомі, але відомі дві точки цієї прямої:

    Можна записати це рівняння у матричному вигляді:

    Тут слід зробити ліричний відступ: що таке матриця? Матриця це не що інше, як двовимірний масив. Це спосіб зберігання даних, більше ніяких значень йому не варто надавати. Це залежить від нас, як саме інтерпретувати якусь матрицю. Періодично я її інтерпретуватиму як лінійне відображення, періодично як квадратичну форму, а іноді просто як набір векторів. Це все буде уточнено у контексті.

    Давайте замінимо конкретні матриці на їхнє символьне уявлення:

    Тоді (alpha, beta) може бути легко знайдено:

    Більш конкретно для наших попередніх даних:

    Що веде до наступного рівняння прямої, що проходить через точки (1,1) та (3,2):

    Окей, тут зрозуміло. А давайте знайдемо рівняння прямої, що проходить через триточки: (x0, y0), (x1, y1) та (x2, y2):

    Ой-ой-ой, але ж у нас три рівняння на дві невідомі! Стандартний математик скаже, що рішення немає. А що скаже програміст? А він спершу перепише попередню систему рівнянь у наступному вигляді:

    У нашому випадку вектори i,j,bтривимірні, отже, (у загальному випадку) рішення цієї системи немає. Будь-який вектор (alpha i i beta i j) лежить у площині, натягнутій на вектори (i, j). Якщо b не належить цій площині, то рішення немає (рівності у рівнянні не досягти). Що робити? Давайте шукати компроміс. Давайте позначимо через e(alpha, beta)наскільки саме ми не досягли рівності:

    І намагатимемося мінімізувати цю помилку:

    Чому квадрат?

    Ми шукаємо не просто мінімум норми, а мінімум квадрата норми. Чому? Сама точка мінімуму збігається, а квадрат дає гладку функцію(квадратичну функцію від агрументів (alpha, beta)), тоді як довжина дає функцію як конуса, недифференцируемую у точці мінімуму. Брр. Квадрат зручніший.

    Очевидно, що помилка мінімізується, коли вектор eортогональний площині, натягнутій на вектори. iі j.

    Ілюстрація

    Іншими словами: ми шукаємо таку пряму, що сума квадратів довжин відстаней від усіх точок до цієї прямої мінімальна:

    UPDATE: тут у мене одвірок, відстань до прямої має вимірюватися по вертикалі, а не ортогональною проекцією. коментатор прав.

    Ілюстрація

    Зовсім іншими словами (обережно, погано формалізовано, але на пальцях має бути ясно): ми беремо всі можливі прямі між усіма парами точок і шукаємо середню пряму між усіма:

    Ілюстрація

    Інше пояснення на пальцях: ми прикріплюємо пружинку між усіма точками даних (тут у нас три) і пряме, що ми шукаємо, і пряма рівноважного стану є саме те, що ми шукаємо.

    Мінімум квадратичної форми

    Отже, маючи даний вектор bта площину, натягнуту на стовпці-вектори матриці Aданому випадку(x0,x1,x2) та (1,1,1)), ми шукаємо вектор eз мінімуму квадрата довжини. Очевидно, що мінімум можна досягти тільки для вектора. e, ортогональної площини, натягнутої на стовпці-вектори матриці. A:

    Інакше кажучи, ми шукаємо такий вектор x=(alpha, beta), що:

    Нагадую, цей вектор x=(alpha, beta) є мінімумом квадратичні функції| | e (alpha, beta) | | ^2:

    Тут не зайвим буде згадати, що матрицю можна інтерпретувати у тому числі як і квадратичну форму, наприклад, одинична матриця((1,0),(0,1)) може бути інтерпретована як функція x^2 + y^2:

    квадратична форма

    Вся ця гімнастика відома під ім'ям лінійної регресії.

    Рівняння Лапласа з граничною умовою Діріхле

    Тепер найпростіша реальне завдання: Є якась тріангульована поверхня, потрібно її згладити. Наприклад, давайте завантажимо модель моєї особи:

    Початковий коміт доступний. Для мінімізації зовнішніх залежностей я взяв код свого софтверного рендерера вже на хабрі. Для вирішення лінійної системия користуюся OpenNL , це чудовий солвер, який, щоправда, дуже складно встановити: потрібно скопіювати два файли (.h+.c) у папку з вашим проектом. Все згладжування робиться наступним кодом:

    For (int d=0; d<3; d++) { nlNewContext(); nlSolverParameteri(NL_NB_VARIABLES, verts.size()); nlSolverParameteri(NL_LEAST_SQUARES, NL_TRUE); nlBegin(NL_SYSTEM); nlBegin(NL_MATRIX); for (int i=0; i<(int)verts.size(); i++) { nlBegin(NL_ROW); nlCoefficient(i, 1); nlRightHandSide(verts[i][d]); nlEnd(NL_ROW); } for (unsigned int i=0; i&face = faces[i]; for (int j = 0; j<3; j++) { nlBegin(NL_ROW); nlCoefficient(face[ j ], 1); nlCoefficient(face[(j+1)%3], -1); nlEnd(NL_ROW); } } nlEnd(NL_MATRIX); nlEnd(NL_SYSTEM); nlSolve(); for (int i=0; i<(int)verts.size(); i++) { verts[i][d] = nlGetVariable(i); } }

    X, Y та Z координати відокремлені, я їх згладжую окремо. Тобто, я вирішую три системи лінійних рівнянь, кожне має кількість змінних рівною кількістю вершин у моїй моделі. Перші n рядків матриці A мають лише одну одиницю на рядок, а перші n рядків вектора b мають оригінальні координати моделі. Тобто, я прив'язую по пружинці між новим становищем вершини і старим становищем вершини - нові не повинні занадто далеко йти від старих.

    Всі наступні рядки матриці A (faces.size()*3 = кількості ребер всіх трикутників у сітці) мають одне входження 1 та одне входження -1, причому вектор b має нульові компоненти навпаки. Це означає, що я вішаю пружинку на кожне ребро нашої трикутної сітки: всі ребра намагаються отримати одну й ту саму вершину як відправну та фінальну точку.

    Ще раз: змінними є всі вершини, причому вони можуть далеко відходити від початкового становища, але заодно намагаються стати схожими друг на друга.

    Ось результат:

    Все було б добре, модель дійсно згладжена, але вона відійшла від свого початкового краю. Давайте трохи змінимо код:

    For (int i=0; i<(int)verts.size(); i++) { float scale = border[i] ? 1000: 1; nlBegin(NL_ROW); nlCoefficient(i, scale); nlRightHandSide(scale*verts[i][d]); nlEnd(NL_ROW); }

    У нашій матриці A я для вершин, що знаходяться на краю, не додаю рядок з розряду v_i = verts[i][d], а 1000*v_i = 1000*verts[i][d]. Що це змінює? А змінює це нашу квадратичну форму помилки. Тепер одиничне відхилення від вершини краю коштуватиме не одну одиницю, як раніше, а 1000*1000 одиниць. Тобто, ми повісили сильнішу пружинку на крайні вершини, рішення воліє розтягнути інші. Ось результат:

    Давайте вдвічі посилимо пружинки між вершинами:
    nlCoefficient (face [j], 2); nlCoefficient(face[(j+1)%3], -2);

    Логічно, що поверхня стала гладкішою:

    А тепер ще в сто разів сильніше:

    Що це? Уявіть, що ми вмочили дротяне кільце в мильну воду. У результаті мильна плівка, що утворилася, намагатиметься мати найменшу кривизну, наскільки це можливо, торкаючись-таки кордону - нашого дротяного кільця. Саме це ми й отримали, зафіксувавши кордон та попросивши отримати гладку поверхню всередині. Вітаю вас, ми тільки-но вирішили рівняння Лапласа з граничними умовами Діріхле. Круто звучить? А насправді лише одну систему лінійних рівнянь вирішити.

    Рівняння Пуассона

    Давайте ще круте ім'я згадаємо.

    Припустимо, що у мене є така картинка:

    Всім гарна, тільки стілець мені не подобається.

    Розріжу картинку навпіл:



    І виділю руками стілець:

    Потім все, що біле в масці, притягну до лівої частини картинки, а заразом по всій картинці скажу, що різниця між двома сусідніми пікселями повинна дорівнювати різниці між двома сусідніми пікселями правої картинки:

    For (int i=0; i

    Ось результат:

    Код та зображення доступні

    Сутність методу найменших квадратів полягає у відшуканні параметрів моделі тренда, яка найкраще описує тенденцію розвитку якогось випадкового явища у часі чи просторі (тренд – це лінія, що й характеризує тенденцію цього розвитку). Завдання методу найменших квадратів (МНК) зводиться до знаходження не просто якоїсь моделі тренду, а до знаходження кращої чи оптимальної моделі. Ця модель буде оптимальною, якщо сума квадратичних відхилень між фактичними величинами, що спостерігаються, і відповідними ним розрахунковими величинами тренда буде мінімальною (найменшою):

    де - квадратичне відхилення між фактичною величиною, що спостерігається.

    та відповідною їй розрахунковою величиною тренду,

    Фактичне (спостерігається) значення досліджуваного явища,

    Розрахункове значення моделі тренду,

    Число спостережень за явищем, що вивчається.

    МНК самостійно застосовується досить рідко. Як правило, найчастіше його використовують лише як необхідний технічний прийом при кореляційних дослідженнях. Слід пам'ятати, що інформаційною основою МНК може бути лише достовірний статистичний ряд, причому число спостережень не повинно бути менше 4-х, інакше процедури, що згладжують МНК, можуть втратити здоровий глузд.

    Інструментарій МНК зводиться до таких процедур:

    Перша процедура. З'ясовується, чи взагалі існує якась тенденція зміни результативної ознаки при зміні обраного фактора-аргументу, або іншими словами, чи є зв'язок між « у » та « х ».

    Друга процедура. Визначається, яка лінія (траєкторія) здатна найкраще описати чи охарактеризувати цю тенденцію.

    Третя процедура.

    приклад. Допустимо, ми маємо інформацію про середню врожайність соняшнику по досліджуваному господарству (табл. 9.1).

    Таблиця 9.1

    Номер спостереження

    Врожайність, ц/га

    Оскільки рівень технології при виробництві соняшнику в нашій країні за останні 10 років практично не змінився, отже, мабуть, коливання врожайності в аналізований період дуже залежали від коливання погодно-кліматичних умов. Чи це так?

    Перша процедура МНК. Перевіряється гіпотеза про існування тенденції зміни врожайності соняшнику залежно від зміни погодно-кліматичних умов за 10 років, що аналізуються.

    У цьому прикладі за « y » Доцільно прийняти врожайність соняшнику, а за « x » - Номер спостережуваного року в аналізованому періоді. Перевірку гіпотези про існування будь-якого взаємозв'язку між « x » та « y » можна виконати двома способами: вручну та за допомогою комп'ютерних програм. Звісно, ​​за наявності комп'ютерної техніки дана проблема вирішується сама собою. Але щоб краще зрозуміти інструментарій МНК доцільно виконати перевірку гіпотези про існування зв'язку між « x » та « y » вручну, коли під рукою знаходяться лише ручка та звичайний калькулятор. У таких випадках гіпотезу про існування тенденції найкраще перевірити візуальним способом щодо розташування графічного зображення аналізованого ряду динаміки - кореляційного поля:

    Кореляційне поле в нашому прикладі розташоване навколо лінії, що повільно зростає. Це вже само собою говорить про існування певної тенденції в зміні врожайності соняшника. Не можна говорити про наявність будь-якої тенденції лише тоді, коли кореляційне поле схоже на коло, коло, строго вертикальну або строго горизонтальну хмару, або ж складається з хаотично розкиданих точок. В інших випадках слід підтвердити гіпотезу про існування взаємозв'язку між « x » та « y », та продовжити дослідження.

    Друга процедура МНК. Визначається, яка лінія (траєкторія) здатна найкраще описати чи охарактеризувати тенденцію зміни врожайності соняшника за аналізований період.

    За наявності комп'ютерної техніки вибір оптимального тренда відбувається автоматично. При «ручній» обробці вибір оптимальної функції здійснюється, як правило, візуальним способом – розташування кореляційного поля. Тобто, на вигляд графіка підбирається рівняння лінії, яка найкраще підходить до емпіричного тренду (до фактичної траєкторії).

    Як відомо, у природі існує величезна різноманітність функціональних залежностей, тому візуальним способом проаналізувати навіть незначну їх частину – вкрай важко. На щастя, в реальній економічній практиці більшість взаємозв'язків досить точно можуть бути описані або параболою, або гіперболою, або прямою лінією. У зв'язку з цим, при «ручному» варіанті вибору кращої функції, можна обмежитися тільки цими трьома моделями.

    Гіперболу:

    Парабола другого порядку: :

    Неважко помітити, що у нашому прикладі найкраще тенденцію зміни врожайності соняшника за аналізовані 10 років характеризує пряма лінія, тому рівнянням регресії буде пряма рівняння.

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

    Знаходження значень параметрів рівняння регресії, у разі параметрів і , є серцевиною МНК. Цей процес зводиться до вирішення системи нормальних рівнянь.

    (9.2)

    Ця система рівнянь досить легко вирішується методом Гаусса. Нагадаємо, що в результаті рішення в нашому прикладі знаходяться значення параметрів і . Таким чином, знайдене рівняння регресії матиме такий вигляд:

    Суть методу у тому, що критерієм якості розглянутого рішення є сума квадратів помилок, яку прагнуть звести до мінімуму. Для застосування цього потрібно провести якомога більше вимірів невідомої випадкової величини (що більше — тим вище точність рішення) і деяка множина гаданих рішень, з яких потрібно вибрати найкраще. Якщо безліч рішень параметризовано, потрібно знайти оптимальне значення параметрів.

    Чому зводяться до мінімуму квадрати помилок, а чи не самі помилки? Справа в тому, що в більшості випадків помилки бувають в обидві сторони: оцінка може бути більшою за вимір або менше його. Якщо складати помилки з різними знаками, то вони взаємно компенсуватимуться, і в результаті сума дасть нам неправильне уявлення про якість оцінки. Часто для того, щоб підсумкова оцінка мала ту ж розмірність, що і величини, що вимірюються, із суми квадратів помилок витягують квадратний корінь.


    Фото:

    МНК використовується в математиці, зокрема - в теорії ймовірностей та математичної статистики. Найбільше застосування цей метод має завдання фільтрації, коли необхідно відокремити корисний сигнал від накладеного на нього шуму.

    Його застосовують і в математичному аналізі для наближеного представлення заданої функції більш простими функціями. Ще одна з областей застосування МНК - розв'язання систем рівнянь з кількістю невідомих меншою, ніж кількість рівнянь.

    Я вигадав ще кілька вельми несподіваних сфер застосування МНК, про які хотів би розповісти в цій статті.

    МНК та друкарські помилки

    Бічом автоматичних перекладачів та пошукових систем є помилки та орфографічні помилки. Дійсно, якщо слово відрізняється лише на 1 літеру, програма розцінює його вже як інше слово та перекладає/шукає його неправильно або не перекладає/не знаходить його взагалі.

    У мене виникла схожа проблема: було дві бази даних з адресами московських будинків і треба було їх об'єднати в одну. Але адреси були записані у різному стилі. В одній базі був стандарт КЛАДР (всеросійський класифікатор адрес), наприклад: «БАБУШКІНА ЛЕТЧИКА ВУЛ., Д10К3». На іншій базі був поштовий стиль, наприклад: «Вул. Льотчика Бабушкіна, будинок 10 корп.3». Начебто помилок немає в обох випадках, а автоматизувати процес неймовірно складно (у кожній базі по 40 тисяч записів!). Хоча і друкарських помилок там теж вистачало ... Як дати комп'ютеру зрозуміти, що 2 вищенаведені адреси належать одному і тому ж будинку? Отут мені й у нагоді МНК.

    Що я зробив? Знайшовши чергову літеру на першій адресі, я шукав ту ж літеру на другій адресі. Якщо вони обидві знаходилися на тому самому місці, то я вважав помилку для цієї літери рівної 0. Якщо вони розташовувалися на сусідніх позиціях, то помилка дорівнювала 1. Якщо був зсув на 2 позиції, помилка дорівнювала 2 і т. д. Якщо такої літери взагалі не було в іншій адресі, то помилка покладалася рівною n + 1, де n - Число літер в 1-й адресі. Таким чином, я обчислював суму квадратів помилок і поєднував ті записи, в яких ця сума була мінімальною.

    Зрозуміло, номери будинків та корпусів оброблялися окремо. Не знаю, чи винайшов я черговий «велосипед», чи це справді було, але завдання було вирішено швидко та якісно. Цікаво, чи застосовується цей метод у пошукових системах? Можливо, застосовується, оскільки кожен поважаючий себе пошуковик при зустрічі незнайомого слова пропонує заміну зі знайомих слів («можливо, ви мали на увазі…»). Втім, вони можуть робити цей аналіз якось інакше.

    МНК та пошук за картинками, особами та картами

    Цей метод можна застосувати і в пошуку за картинками, кресленнями, картами і навіть обличчями людей.

    Фото:

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

    Вводиться картинка-зразок для всіх зображень складається рейтинг за сумою квадратів відхилень характерних точок. Визначення цих характерних точок є як така нетривіальна завдання. Однак вона цілком вирішувана: наприклад, для осіб це куточки очей, губ, кінчик носа, ніздрі, краї та центри брів, зіниці і т.д.

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

    Фото: pixabay.com

    Та й за відбитками пальців можна тим самим способом робити пошук. Пошук по картах орієнтується на природні нерівності географічних об'єктів - вигини річок, гірських хребтів, контури берегів, лісів і полів.

    Ось такий чудовий та універсальний метод МНК. Я впевнений, що ви, дорогі читачі, зможете і самі знайти безліч незвичайних та несподіваних областей застосування цього методу.

    Метод найменших квадратів (МНК, англ. Ordinary Least Squares, OLS)- математичний метод, застосовуваний на вирішення різних завдань, заснований на мінімізації суми квадратів відхилень деяких функцій від шуканих змінних. Він може використовуватися для «вирішення» перевизначених систем рівнянь (коли кількість рівнянь перевищує кількість невідомих), для пошуку рішення у разі звичайних (не перевизначених) нелінійних систем рівнянь, для апроксимації точкових значень певної функції. МНК є одним з базових методів регресійного аналізу для оцінки невідомих параметрів регресійних моделей за вибірковими даними.

    Енциклопедичний YouTube

      1 / 5

      ✪ Метод найменших квадратів. Тема

      ✪ Мітін І. В. - Обробка результатів фіз. експерименту - Метод найменших квадратів (Лекція 4)

      ✪ Метод найменших квадратів, урок 1/2. Лінійна функція

      ✪ Економетрика. Лекція 5. Метод найменших квадратів

      ✪ Метод найменших квадратів. Відповіді

      Субтитри

    Історія

    На початок ХІХ ст. вчені не мали певних правил для вирішення системи рівнянь, в якій число невідомих менше, ніж число рівнянь; до цього часу використовувалися приватні прийоми, що залежали від виду рівнянь і від дотепності обчислювачів, і тому різні обчислювачі, виходячи з тих самих даних спостережень, приходили до різних висновків. Гаусс (1795) належить перше застосування методу, а Лежандр (1805) незалежно відкрив і опублікував його під сучасною назвою (фр. Méthode des moindres quarrés). Лаплас пов'язав метод з теорією ймовірностей, а американський математик Едрейн (1808) розглянув його теоретико-імовірнісні додатки. Метод поширений і вдосконалений подальшими дослідженнями Енке, Бесселя, Ганзена та інших.

    Сутність методу найменших квадратів

    Нехай x (\displaystyle x)- набір n (\displaystyle n)невідомих змінних (параметрів), f i (x) (\displaystyle f_(i)(x)), , m > n (\displaystyle m>n)- Сукупність функцій від цього набору змінних. Завдання полягає у підборі таких значень x (\displaystyle x), щоб значення цих функцій були максимально близькими до деяких значень y i (\displaystyle y_(i)). Фактично йдеться про «вирішенні» перевизначеної системи рівнянь f i (x) = y i (\displaystyle f_(i)(x)=y_(i)), i = 1, …, m (\displaystyle i=1,\ldots,m)у вказаному сенсі максимальної близькості лівої та правої частин системи. Сутність МНК полягає у виборі як «заходи близькості» суми квадратів відхилень лівих і правих частин | f i (x) − y i | (\displaystyle |f_(i)(x)-y_(i)|). Таким чином, сутність МНК може бути виражена таким чином:

    ∑ i e i 2 = ∑ i (y i − fi (x)) 2 → min x (\displaystyle \sum _(i)e_(i)^(2)=\sum _(i)(y_(i)-f_( i)(x))^(2)\rightarrow \min _(x)).

    Якщо система рівнянь має рішення, то мінімум суми квадратів дорівнюватиме нулю і можуть бути знайдені точні рішення системи рівнянь аналітично або, наприклад, різними чисельними методами оптимізації. Якщо система перевизначена, тобто, кажучи нестрого, кількість незалежних рівнянь більша за кількість шуканих змінних, то система не має точного рішення і метод найменших квадратів дозволяє знайти деякий «оптимальний» вектор x (\displaystyle x)у сенсі максимальної близькості векторів y (\displaystyle y)і f(x) (\displaystyle f(x))або максимальної близькості вектора відхилень e (\displaystyle e)нанівець (близькість розуміється у сенсі евклідова відстані).

    Приклад - система лінійних рівнянь

    Зокрема, метод найменших квадратів може використовуватися для вирішення системи лінійних рівнянь

    A x = b (\displaystyle Ax = b),

    де A (\displaystyle A)прямокутна матриця розміру m × n , m > n (\displaystyle m\times n,m>n)(тобто число рядків матриці A більше кількості шуканих змінних).

    Така система рівнянь у випадку немає решения. Тому цю систему можна «вирішити» лише у сенсі вибору такого вектора. x (\displaystyle x), щоб мінімізувати відстань між векторами A x (\displaystyle Ax)і b (\displaystyle b). Для цього можна застосувати критерій мінімізації суми квадратів різниць лівої та правої частин рівнянь системи, тобто (A x − b) T (A x − b) → min (\displaystyle (Ax-b)^(T)(Ax-b)\rightarrow \min ). Неважко показати, що вирішення цього завдання мінімізації призводить до вирішення наступної системи рівнянь

    x = (A T A) − 1 A T b (\displaystyle A^(T)Ax=A^(T)b\Rightarrow x=(A^(T)A)^(-1)A^ (T)b).

    МНК у регресійному аналізі (апроксимація даних)

    Нехай є n (\displaystyle n)значень деякої змінної y (\displaystyle y)(це можуть бути результати спостережень, експериментів тощо) та відповідних змінних x (\displaystyle x). Завдання полягає в тому, щоб взаємозв'язок між y (\displaystyle y)і x (\displaystyle x)апроксимувати деякою функцією, відомою з точністю до деяких невідомих параметрів b (\displaystyle b), тобто фактично визначити найкращі значення параметрів b (\displaystyle b), що максимально наближають значення f (x, b) (\displaystyle f(x,b))до фактичних значень y (\displaystyle y). Фактично це зводиться до випадку «вирішення» перевизначеної системи рівнянь щодо b (\displaystyle b):

    F (x t , b) = y t , t = 1 , … , n (\displaystyle f(x_(t),b)=y_(t),t=1,\ldots ,n).

    У регресійному аналізі та зокрема в економетриці використовуються ймовірнісні моделі залежності між змінними

    Y t = f (x t , b) + ε t (\displaystyle y_(t)=f(x_(t),b)+\varepsilon _(t)),

    де ε t (\displaystyle \varepsilon _(t))- так звані випадкові помилкимоделі.

    Відповідно, відхилення значень, що спостерігаються y (\displaystyle y)від модельних f (x, b) (\displaystyle f(x,b))передбачається вже у самій моделі. Сутність МНК (звичайного, класичного) у тому, щоб знайти такі параметри b (\displaystyle b), При яких сума квадратів відхилень (помилок, для регресійних моделей їх часто називають залишками регресії) e t (\displaystyle e_(t))буде мінімальною:

    b ^ O S = arg ⁡ min b RS S (b) (\displaystyle (\hat (b))_(OLS)=\arg \min _(b)RSS(b)),

    де RS S (\displaystyle RSS)- англ. Residual Sum of Squares визначається як:

    RS (b) = e T e = ∑ t = 1 n e t 2 = ∑ t = 1 n (y t − f (x t , b)) 2 (\displaystyle RSS(b)=e^(T)e=\sum _ (t=1)^(n)e_(t)^(2)=\sum _(t=1)^(n)(y_(t)-f(x_(t),b))^(2) ).

    У випадку вирішення цього завдання може здійснюватися чисельними методами оптимізації (мінімізації). У цьому випадку говорять про нелінійному МНК(NLS або NLLS - англ. Non-Linear Least Squares). У багатьох випадках можна одержати аналітичне рішення. Для вирішення задачі мінімізації необхідно знайти стаціонарні точки функції RS S (b) (\displaystyle RSS(b)), продиференціювавши її за невідомими параметрами b (\displaystyle b), прирівнявши похідні до нуля і вирішивши отриману систему рівнянь:

    ∑ t = 1 n (y t − f (x t , b)) ∂ f (x t , b) ∂ b = 0 (\displaystyle \sum _(t=1)^(n)(y_(t)-f(x_ (t),b))(\frac (\partial f(x_(t),b))(\partial b))=0).

    МНК у разі лінійної регресії

    Нехай регресійна залежність є лінійною:

    t = ∑ j = 1 k b j x t j + ε = x t T b + ε t (\displaystyle y_(t)=\sum _(j=1)^(k)b_(j)x_(tj)+\varepsilon =x_( t)^(T)b+\varepsilon _(t)).

    Нехай y- вектор-стовпець спостережень пояснюваної змінної, а X (\displaystyle X)- це (n × k) (\displaystyle ((n\times k)))-матриця спостережень чинників (рядки матриці - вектори значень чинників у цьому спостереженні, по стовпчикам - вектор значень даного чинника переважають у всіх спостереженнях). Матричне представлення лінійної моделі має вигляд:

    y = X b + ε (\displaystyle y=Xb+\varepsilon).

    Тоді вектор оцінок змінної, що пояснюється, і вектор залишків регресії дорівнюватимуть

    y ^ = X b , e = y − y ^ = y − X b (\displaystyle (\hat(y))=Xb,\quad e=y-(\hat(y))=y-Xb).

    відповідно сума квадратів залишків регресії дорівнюватиме

    RS = e T e = (y − X b) T (y − X b) (\displaystyle RSS=e^(T)e=(y-Xb)^(T)(y-Xb)).

    Диференціюючи цю функцію за вектором параметрів b (\displaystyle b)і прирівнявши похідні до нуля, отримаємо систему рівнянь (у матричній формі):

    (X T X) b = X T y (\displaystyle (X^(T)X)b=X^(T)y).

    У розшифрованій матричній формі ця система рівнянь виглядає так:

    (∑ x t 1 2 ∑ x t 1 x t 2 ∑ x t 1 x t 3 … ∑ x t 1 x t k ∑ x t 2 x t 1 ∑ x t 2 2 ∑ x t 2 x t 3 … ∑ x t 2 x t 3 2 … ∑ x t 3 x t k ⋮ ⋮ ⋮ ⋱ ⋮ ∑ x t k x t 1 ∑ x t k x t 2 ∑ x t k x t 3 … ∑ x t (2) y t ⋮ ∑ x t k y t) , (\displaystyle (\begin(pmatrix)\sum x_(t1)^(2)&\sum x_(t1)x_(t2)&\sum x_(t1)x_(t3)&\ldots &\sum x_(t1)x_(tk)\\\sum x_(t2)x_(t1)&\sum x_(t2)^(2)&\sum x_(t2)x_(t3)&\ldots &\ sum x_(t2)x_(tk)\\\sum x_(t3)x_(t1)&\sum x_(t3)x_(t2)&\sum x_(t3)^(2)&\ldots &\sum x_ (t3)x_(tk)\\\vdots &\vdots &\vdots &\ddots &\vdots \\\sum x_(tk)x_(t1)&\sum x_(tk)x_(t2)&\sum x_ (tk)x_(t3)&\ldots &\sum x_(tk)^(2)\\\end(pmatrix))(\begin(pmatrix)b_(1)\\b_(2)\\b_(3 )\\\vdots \\b_(k)\\\end(pmatrix))=(\begin(pmatrix)\sum x_(t1)y_(t)\\\sum x_(t2)y_(t)\\ \sum x_(t3)y_(t)\\\vdots \\\sum x_(tk)y_(t)\\\end(pmatrix)),)де всі суми беруться за всіма допустимими значеннями t (\displaystyle t).

    Якщо модель включена константа (як завжди), то x t 1 = 1 (\displaystyle x_(t1)=1)при всіх t (\displaystyle t)тому у лівому верхньому кутку матриці системи рівнянь знаходиться кількість спостережень n (\displaystyle n), а інших елементах першого рядка і першого стовпця - просто суми значень змінних: ∑ x t j (\displaystyle \sum x_(tj))та перший елемент правої частини системи - ∑ y t (\displaystyle \sum y_(t)).

    Вирішення цієї системи рівнянь і дає загальну формулу МНК-оцінок для лінійної моделі:

    b ^ O L S = (X T X) − 1 X T y = (1 n X T X) − 1 1 n X T y = V x − 1 C x y (\displaystyle(\hat(b))_(OLS)=(X^(T) )X)^(-1)X^(T)y=\left((\frac(1)(n))X^(T)X\right)^(-1)(\frac(1)(n ))X^(T)y=V_(x)^(-1)C_(xy)).

    Для аналітичних цілей виявляється корисним останнє уявлення цієї формули (у системі рівнянь при розподілі на n замість сум фігурують середні арифметичні). Якщо у регресійній моделі дані центровані, то цьому поданні перша матриця має сенс вибіркової ковариационной матриці чинників, а друга - вектор ковариаций чинників із залежною змінною. Якщо дані ще й нормованіна СКО (тобто зрештою стандартизовано), то перша матриця має сенс вибіркової кореляційної матриці факторів, другий вектор - вектора вибіркових кореляцій факторів із залежною змінною.

    Важлива властивість МНК-оцінок для моделей з константою- лінія побудованої регресії проходить через центр тяжкості вибіркових даних, тобто виконується рівність:

    y ? (\hat(b))_(j)(\bar(x))_(j)).

    Зокрема, у крайньому випадку, коли єдиним регресором є константа, отримуємо, що МНК-оцінка єдиного параметра (власне константи) дорівнює середньому значенню змінної, що пояснюється. Тобто середнє арифметичне, відоме своїми добрими властивостями із законів великих чисел, також є МНК-оцінкою – задовольняє критерію мінімуму суми квадратів відхилень від неї.

    Найпростіші окремі випадки

    У разі парної лінійної регресії y t = a + b x t + ε t (\displaystyle y_(t)=a+bx_(t)+\varepsilon _(t))Коли оцінюється лінійна залежність однієї змінної від іншої, формули розрахунку спрощуються (можна обійтися без матричної алгебри). Система рівнянь має вигляд:

    (1 x x x x 2) (a b) = (y x x y) (displaystyle (begin(pmatrix)1) (x^(2)))\\\end(pmatrix))(\begin(pmatrix)a\b\\end(pmatrix))=(\begin(pmatrix)(\bar (y))\\ (\overline (xy))\\\end(pmatrix))).

    Звідси нескладно знайти оцінки коефіцієнтів:

    ( b ^ = Cov ⁡ (x , y) Var ⁡ (x) = x y − − x ¯ y ¯ x 2 − − x 2 , a ^ = y ¯ − b x ¯ . (\displaystyle (\begin(cases)) (\hat (b))=(\frac (\mathop (\textrm (Cov)) (x,y))(\mathop (\textrm (Var)) (x)))=(\frac ((\overline (xy))-(\bar (x))(\bar (y)))((\overline (x^(2)))-(\overline (x))^(2))),\\( \hat(a))=(\bar(y))-b(\bar(x)).\end(cases)))

    Незважаючи на те, що в загальному випадку моделі з константою краще, в деяких випадках з теоретичних міркувань відомо, що константа a (\displaystyle a)повинна дорівнювати нулю. Наприклад, у фізиці залежність між напругою та силою струму має вигляд U = I ⋅ R (\displaystyle U=I\cdot R); Вимірюючи напругу і силу струму, необхідно оцінити опір. У такому разі йдеться про модель y = b x (\displaystyle y = bx). У цьому випадку замість системи рівнянь маємо єдине рівняння

    (∑ x t 2) b = ∑ x t y t (\displaystyle \left(\sum x_(t)^(2)\right)b=\sum x_(t)y_(t)).

    Отже, формула оцінки єдиного коефіцієнта має вигляд

    B ^ = ∑ t = 1 n x t y t ∑ t = 1 n x t 2 = x y x 2 (displaystyle (hat (b))= )y_(t))(\sum _(t=1)^(n)x_(t)^(2)))=(\frac (\overline (xy))(\overline (x^(2)) ))).

    Випадок поліноміальної моделі

    Якщо дані апроксимуються поліноміальною функцією регресії однієї змінної f (x) = b 0 + ∑ i = 1 k b i x i (\displaystyle f(x)=b_(0)+\sum \limits _(i=1)^(k)b_(i)x^(i)), то, сприймаючи ступеня x i (\displaystyle x^(i))як незалежні фактори для кожного i (\displaystyle i)можна оцінити параметри моделі, виходячи із загальної формули оцінки параметрів лінійної моделі. Для цього в загальну формулу достатньо врахувати, що за такої інтерпретації x t i x t j = x t i x t j = x t i + j (\displaystyle x_(ti)x_(tj)=x_(t)^(i)x_(t)^(j)=x_(t)^(i+j)і x t j y t = x t j y t (\displaystyle x_(tj)y_(t)=x_(t)^(j)y_(t)). Отже, матричні рівняння в даному випадку набудуть вигляду:

    (n ∑ n x t … ∑ n x t k ∑ n x t ∑ n x i 2 … ∑ m x i k + 1 ⋮ ⋮ ⋱ ⋮ ∑ n x t k ∑ n x t k + 1 … ∑ n x t 2 k) [ b 0 b 1 ⋮ b k ] = [ ∑ n y t ∑ n x t y t ⋮ ∑ n x t k y t ]. (\displaystyle (\begin(pmatrix)n&\sum \limits _(n)x_(t)&\ldots &\sum \limits _(n)x_(t)^(k)\\\sum \limits _( n)x_(t)&\sum \limits _(n)x_(i)^(2)&\ldots &\sum \limits _(m)x_(i)^(k+1)\\\vdots & \vdots &\ddots &\vdots \\\sum \limits _(n)x_(t)^(k)&\sum \limits _(n)x_(t)^(k+1)&\ldots &\ sum \limits _(n)x_(t)^(2k)\end(pmatrix))(\begin(bmatrix)b_(0)\\b_(1)\\\vdots \\b_(k)\end( bmatrix))=(\begin(bmatrix)\sum \limits _(n)y_(t)\\\sum \limits _(n)x_(t)y_(t)\\\vdots \\\sum \limits _(n)x_(t)^(k)y_(t)\end(bmatrix)).)

    Статистичні властивості МНК оцінок

    Насамперед, зазначимо, що для лінійних моделей МНК-оцінки є лінійними оцінками, як це випливає з вищенаведеної формули. Для незміщеності МНК-оцінок необхідно і достатньо виконання найважливішої умови регресійного аналізу: умовне за факторами математичне очікування випадкової помилки має бути рівне нулю. Ця умова, зокрема, виконана, якщо

    1. математичне очікування випадкових помилок дорівнює нулю, та
    2. фактори та випадкові помилки - незалежні, випадкові, величини.

    Друга умова - умова екзогенності факторів - важлива. Якщо це властивість не виконано, можна вважати, що будь-які оцінки будуть вкрай незадовільними: де вони навіть заможними (тобто навіть дуже великий обсяг даних Демшевського не дозволяє отримати якісні оцінки у разі). У класичному випадку робиться сильніша припущення про детермінованість факторів, на відміну від випадкової помилки, що автоматично означає виконання умови екзогенності. У випадку для спроможності оцінок достатньо виконання умови екзогенності разом із збіжністю матриці V x (\displaystyle V_(x))до деякої невиродженої матриці зі збільшенням обсягу вибірки до нескінченності.

    Для того, щоб крім спроможності та незміщеності, оцінки (звичайного) МНК були ще й ефективними (найкращими в класі лінійних незміщених оцінок) необхідно виконання додаткових властивостей випадкової помилки:

    Дані припущення можна сформулювати для коваріаційної матриці вектора випадкових помилок V (ε) = σ 2 I (\displaystyle V(\varepsilon)=\sigma ^(2)I).

    Лінійна модель, що задовольняє такі умови, називається класичною. МНК-оцінки для класичної лінійної регресії є незміщеними, заможними та найбільш ефективними оцінками в класі всіх лінійних незміщених оцінок (в англомовній літературі іноді вживають абревіатуру BLUE (Best Linear Unbiased Estimator) - найкраща лінійна незміщена оцінка; у вітчизняній літературі частіше наводиться теорема Гаусса-Маркова). Як неважко показати, ковариационная матриця вектора оцінок коефіцієнтів дорівнюватиме:

    V (b ^ O L S) = σ 2 (X T X) − 1 (\displaystyle V((\hat(b))_(OLS))=\sigma ^(2)(X^(T)X)^(-1 )).

    Ефективність означає, що ця ковариационная матриця є «мінімальної» (будь-яка лінійна комбінація коефіцієнтів, і зокрема самі коефіцієнти, мають мінімальну дисперсію), тобто у класі лінійних незміщених оцінок оцінки МНК-найкращі. Діагональні елементи цієї матриці – дисперсії оцінок коефіцієнтів – важливі параметри якості отриманих оцінок. Однак розрахувати матрицю коваріації неможливо, оскільки дисперсія випадкових помилок невідома. Можна довести, що незміщеною та заможною (для класичної лінійної моделі) оцінкою дисперсії випадкових помилок є величина:

    S 2 = R S S / (n − k) (\displaystyle s^(2)=RSS/(n-k)).

    Підставивши це значення формулу для ковариационной матриці і отримаємо оцінку ковариационной матриці. Отримані оцінки також є незміщеними та заможними. Важливо також те, що оцінка дисперсії помилок (а отже дисперсій коефіцієнтів) та оцінки параметрів моделі є незалежними випадковими величинами, що дозволяє отримати тестові статистики для перевірки гіпотез про коефіцієнти моделі.

    Необхідно відзначити, що якщо класичні припущення не виконані, МНК-оцінки параметрів не є найбільш ефективними і де W (\displaystyle W)- Деяка симетрична позитивно визначена вагова матриця. Звичайний МНК є окремим випадком даного підходу, коли вагова матриця пропорційна одиничній матриці. Як відомо, для симетричних матриць (або операторів) є розкладання W = P T P (\displaystyle W=P^(T)P). Отже, вказаний функціонал можна подати так e T P T P e = (P e) T P e = e ∗ T e ∗ (\displaystyle e^(T)P^(T)Pe=(Pe)^(T)Pe=e_(*)^(T)e_( *)), тобто цей функціонал можна як суму квадратів деяких перетворених «залишків». Отже, можна назвати клас методів найменших квадратів - LS-методи (Least Squares).

    Доведено (теорема Айткена), що для узагальненої лінійної регресійної моделі (у якій на коварійну матрицю випадкових помилок не накладається жодних обмежень) найефективнішими (у класі лінійних незміщених оцінок) є оцінки т.з. узагальненого МНК (ОМНК, GLS - Generalized Least Squares)- LS-метода з ваговою матрицею, що дорівнює зворотній коварійній матриці випадкових помилок: W = V ε − 1 (\displaystyle W=V_(\varepsilon )^(-1)).

    Можна показати, що формула ОМНК оцінок параметрів лінійної моделі має вигляд

    B ^ G L S = (X T V − 1 X) − 1 X T V − 1 y (\displaystyle (\hat(b))_(GLS)=(X^(T)V^(-1)X)^(-1) X^(T)V^(-1)y).

    Коваріаційна матриця цих оцінок відповідно дорівнюватиме

    V (b ^ G L S) = (X T V − 1 X) − 1 (\displaystyle V((\hat(b))_(GLS))=(X^(T)V^(-1)X)^(- 1)).

    Фактично сутність ОМНК полягає у певному (лінійному) перетворенні (P) вихідних даних та застосуванні звичайного МНК до перетворених даних. Ціль цього перетворення - для перетворених даних випадкові помилки вже задовольняють класичним припущенням.

    Зважений МНК

    У випадку діагональної вагової матриці (а значить і матриці коварійної випадкових помилок) маємо так званий зважений МНК (WLS - Weighted Least Squares). У даному випадку мінімізується зважена сума квадратів залишків моделі, тобто кожне спостереження отримує «вагу», обернено пропорційну дисперсії випадкової помилки в даному спостереженні: e T W e = ∑ t = 1 n e t 2 σ t 2 (\displaystyle e^(T)We=\sum _(t=1)^(n)(\frac (e_(t)^(2)))(\ sigma _(t)^(2)))). Фактично дані перетворюються зважуванням спостережень (розподілом на величину, пропорційну передбачуваному стандартному відхилення випадкових помилок), а зваженим даним застосовується звичайний МНК.

    ISBN 978-5-7749-0473-0.

  • Економетрики. Підручник/За ред. Єлісєєвої І. І. - 2-ге вид. - М.: Фінанси та статистика, 2006. - 576 с. - ISBN 5-279-02786-3.
  • Александрова Н. В.Історія математичних термінів, понять, позначень: словник-довідник. - 3-тє вид. - М.: ЛКІ, 2008. - 248 с. - ISBN 978-5-382-00839-4.І.В Мітін, Русаков В.С. Аналіз та обробка експериментальних даних-5-е видання-24с.
  • Апроксимація дослідних даних - це метод, заснований на заміні експериментально отриманих даних аналітичною функцією, що найбільш близько проходить або збігається в вузлових точках з вихідними значеннями (даними отриманими в ході досвіду або експерименту). В даний час існує два способи визначення аналітичної функції:

    За допомогою побудови інтерполяційного багаточлена n-ступеня, що проходить безпосередньо через усі точкизаданого масиву даних. У даному випадку апроксимуюча функція подається у вигляді: інтерполяційного багаточлена у формі Лагранжа або інтерполяційного багаточлена у формі Ньютона.

    За допомогою побудови апроксимуючого багаточлена n-ступеня, що проходить в найближчій близькості від точокіз заданого масиву даних. Таким чином, апроксимуюча функція згладжує всі випадкові перешкоди (або похибки), які можуть виникати при виконанні експерименту: значення, що вимірюються в ході досвіду, залежать від випадкових факторів, які коливаються за своїми власними випадковими законами (похибки вимірювань або приладів, неточність або помилки досвіду). У разі апроксимуюча функція визначається методом найменших квадратів.

    Метод найменших квадратів(В англомовній літературі Ordinary Least Squares, OLS) - математичний метод, заснований на визначенні апроксимуючої функції, яка будується в найближчій близькості від точок із заданого масиву експериментальних даних. Близькість вихідної та апроксимуючої функції F(x) визначається числовою мірою, а саме: сума квадратів відхилень експериментальних даних від апроксимуючої кривої F(x) має бути найменшою.

    Апроксимуюча крива, побудована за методом найменших квадратів

    Метод найменших квадратів використовується:

    Для вирішення перевизначених систем рівнянь коли кількість рівнянь перевищує кількість невідомих;

    Для пошуку рішення у разі звичайних (не перевизначених) нелінійних систем рівнянь;

    Для апроксимації точкових значень деякою апроксимуючою функцією.

    Апроксимуюча функція методом найменших квадратів визначається з умови мінімуму суми квадратів відхилень розрахункової апроксимуючої функції від заданого масиву експериментальних даних. Цей критерій методу найменших квадратів записується у вигляді наступного виразу:

    Значення розрахункової апроксимуючої функції у вузлових точках

    Заданий масив експериментальних даних у вузлових точках.

    Квадратичний критерій має низку "хороших" властивостей, таких, як диференційність, забезпечення єдиного розв'язання задачі апроксимації при поліноміальних апроксимуючих функціях.

    Залежно від умов завдання апроксимуюча функція є багаточленом ступеня m

    Ступінь апроксимуючої функції не залежить від числа вузлових точок, але її розмірність повинна бути завжди меншою за розмірність (кількість точок) заданого масиву експериментальних даних.

    ∙ Якщо ступінь апроксимуючої функції m=1, то ми апроксимуємо табличну функцію прямою лінією (лінійна регресія).

    ∙ Якщо ступінь апроксимуючої функції m=2, то ми апроксимуємо табличну функцію квадратичною параболою (квадратична апроксимація).

    ∙ Якщо ступінь апроксимуючої функції m=3, то ми апроксимуємо табличну функцію кубічною параболою (кубічна апроксимація).

    У випадку, коли потрібно побудувати апроксимуючий многочлен ступеня m для заданих табличних значень, умова мінімуму суми квадратів відхилень за всіма вузловими точками переписується у такому виде:

    - невідомі коефіцієнти апроксимуючого багаточлена ступеня m;

    Кількість заданих табличних значень.

    Необхідною умовою існування мінімуму функції є рівність нуля її приватних похідних за невідомими змінними . В результаті отримаємо наступну систему рівнянь:

    Перетворимо отриману лінійну систему рівнянь: розкриємо дужки і перенесемо вільні доданки в праву частину виразу. В результаті отримана система лінійних виразів алгебри буде записуватися в наступному вигляді:

    Дана система лінійних виразів алгебри може бути переписана в матричному вигляді:

    В результаті було отримано систему лінійних рівнянь розмірністю m+1, що складається з m+1 невідомих. Дана система може бути вирішена за допомогою будь-якого методу розв'язання лінійних рівнянь алгебри (наприклад, методом Гаусса). Через війну рішення знайдено невідомі параметри апроксимуючої функції, які забезпечують мінімальну суму квадратів відхилень апроксимуючої функції від вихідних даних, тобто. найкраще можливе квадратичне наближення. Слід пам'ятати, що при зміні навіть одного значення вихідних даних усі коефіцієнти змінять свої значення, оскільки вони повністю визначаються вихідними даними.

    Апроксимація вихідних даних лінійною залежністю

    (лінійна регресія)

    Як приклад розглянемо методику визначення апроксимуючої функції, яка задана у вигляді лінійної залежності. Відповідно до методу найменших квадратів умова мінімуму суми квадратів відхилень записується у такому вигляді:

    Координати вузлових точок таблиці;

    Невідомі коефіцієнти апроксимуючої функції, заданої у вигляді лінійної залежності.

    Необхідною умовою існування мінімуму функції є рівність нуля її приватних похідних за невідомими змінними. В результаті отримуємо таку систему рівнянь:

    Перетворимо отриману лінійну систему рівнянь.

    Вирішуємо отриману систему лінійних рівнянь. Коефіцієнти апроксимуючої функції в аналітичному вигляді визначаються в такий спосіб (метод Крамера):

    Дані коефіцієнти забезпечують побудову лінійної апроксимуючої функції відповідно до критерію мінімізації суми квадратів апроксимуючої функції від заданих табличних значень (експериментальні дані).

    Алгоритм реалізації методу найменших квадратів

    1. Початкові дані:

    Задано масив експериментальних даних із кількістю вимірювань N

    Задано ступінь апроксимуючого багаточлена (m)

    2. Алгоритм обчислення:

    2.1. Визначаються коефіцієнти для побудови системи рівнянь розмірністю

    Коефіцієнти системи рівнянь (ліва частина рівняння)

    - Індекс номера стовпця квадратної матриці системи рівнянь

    Вільні члени системи лінійних рівнянь (права частина рівняння)

    - індекс номера рядка квадратної матриці системи рівнянь

    2.2. Формування системи лінійних рівнянь розмірністю.

    2.3. Розв'язання системи лінійних рівнянь з метою визначення невідомих коефіцієнтів апроксимуючого багаточлена ступеня m.

    2.4.Визначення суми квадратів відхилень апроксимуючого багаточлена від вихідних значень по всіх вузлових точках

    Знайдене значення суми квадратів відхилень є мінімально можливим.

    Апроксимація за допомогою інших функцій

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

    Логарифмічна апроксимація

    Розглянемо випадок, коли апроксимуюча функція задана логарифмічною функцією виду: