Metoda nejmenších čtverců slouží k nalezení vektoru soustavy
v momentě, kdy přesné řešení soustavy neexistuje (nebo by bylo příliš složité). Kvalita řešení je definována jako součet čtverců vzdáleností mezi vektory
a
.
Kriteriální funkce má tedy tvar:
Protože je matice positivně definitní, tak nám stačí pro nalezení minima funkci
zderivovat podle
a výsledek porovnat s nulou.
Operace se nazývá pseudoinverze.
Příklad
Proložte body přímkou
tak, aby byl součet čtverců svislých vzdáleností minimální.
Protože aproximujeme data přímkou, jsou zde dvě neznámé a
. Matice
obsahuje sloupec vodorovných souřadnic jednotlivých bodů (
) a sloupec jedniček (koeficienty u
). Sloupcový vektor
obsahuje svislé souřadnice jednotlivých bodů.
Dosadíme do vzorce
Přímka bude mít rovnici .
Řešení v MATLABu
01.
A = [1 1; 2 1; 3 1]
02.
y = [1; 1; 2];
03.
x = A\\y
04.
05.
position = A(1:length(A), 1);
06.
07.
hold on;
08.
plot(position, y, 'r+');
09.
plot(position, x(1) * position + x(2));
10.
hold off;