Snellere manier kleinste kwadraten methode
- Berichten: 145
Snellere manier kleinste kwadraten methode
Stel we hebben de punten (-1,1), (1, 2), (2, 3), (3, 3). Één manier om de best passende rechte lijn te vinden is door zowel
\(\frac{\partial f}{\partial a}\)
en \(\frac{\partial f}{\partial b}\)
te berekenen van \(f(a,b) = (-a + b - 1)^2 + (a + b - 2)^2 + (2a + b - 3)^2 + (3a + b - 3)^2\)
. Dan krijg je twee vergelijkingen waaruit je a en b kunt oplossen, maar dit is wel (relatief) veel werk en ik herinner mij dat het veel sneller kon. Weet iemand zo'n snellere manier?-
- Berichten: 4.246
Re: Snellere manier kleinste kwadraten methode
Los op:
\(A^T A x = A^T b\)
.Quitters never win and winners never quit.
Re: Snellere manier kleinste kwadraten methode
Dan moet je er wel even bijschrijven wat
De drie bekendste lineaire 'curve fitting' methoden zijn:
Algebraisch: Least squares (kleinste kwadraten). Hier is de som van de vertikale afstanden tot de lijn minimaal.
Geometrisch: Total least squares. Veel meer werk, maar nauwkeuriger, want dan is de som van de loodrechte afstanden tot de lijn minimaal.
Complex: De elegantste methode. Dan is de som van de kwadraten van de loodrechte afstanden tot de lijn minimaal.
(Zwaartepunt is steunvector.
\(A\)
en wat \(b\)
is.De drie bekendste lineaire 'curve fitting' methoden zijn:
Algebraisch: Least squares (kleinste kwadraten). Hier is de som van de vertikale afstanden tot de lijn minimaal.
Geometrisch: Total least squares. Veel meer werk, maar nauwkeuriger, want dan is de som van de loodrechte afstanden tot de lijn minimaal.
Complex: De elegantste methode. Dan is de som van de kwadraten van de loodrechte afstanden tot de lijn minimaal.
(Zwaartepunt is steunvector.
\(\sqrt\)
Som van kwadraten van verschil met zwaartepunt is richtingsvector).Re: Snellere manier kleinste kwadraten methode
In genoemde voorbeeld: De punten zijn (-1,1), (1, 2), (2, 3), (3, 3).
Gemiddelde is
Daarvan de wortel trekken geeft de richtingsvector
plot:
<!--graphstart--><script type="text/javascript">graph(-1,3,0,4,300,300,600,600, '(sqrt(sqrt(505)-12))/(sqrt(sqrt(505)+12))*x-3/2*(sqrt(sqrt(505)-12))/(sqrt(sqrt(505)+12))+19/8')</script><!--graphend-->
\(a_1=-1+I,\ a_2=1+2I,\ a_3=2+3I,\ a_4=3+3I\)
.Gemiddelde is
\(\mbox{gem }= \frac14\sum a_i = \frac54 + \frac94I\)
.\(\frac14\sum (a_i-\mbox{ gem })^2 = \frac32 + \frac{19}{8}I\)
.Daarvan de wortel trekken geeft de richtingsvector
\(\sqrt{\sqrt{505}+12} + I\sqrt{\sqrt{505}-12}\)
Dus\(y = \frac{\sqrt{\sqrt{505}-12}}{\sqrt{\sqrt{505}+12}}x - \frac32\frac{\sqrt{\sqrt{505}-12}}{\sqrt{\sqrt{505}+12}} + \frac{19}{8}\)
.plot:
<!--graphstart--><script type="text/javascript">graph(-1,3,0,4,300,300,600,600, '(sqrt(sqrt(505)-12))/(sqrt(sqrt(505)+12))*x-3/2*(sqrt(sqrt(505)-12))/(sqrt(sqrt(505)+12))+19/8')</script><!--graphend-->
Re: Snellere manier kleinste kwadraten methode
En zonder fouten levert dat op
Gemiddelde is
Daarvan de wortel trekken geeft de richtingsvector
plot:
<!--graphstart--><script type="text/javascript">graph(-1,3,0,4,300,300,600,600, '(sqrt(sqrt(505)-12))/(sqrt(sqrt(505)+12))*x-5/4*(sqrt(sqrt(505)-12))/(sqrt(sqrt(505)+12))+9/4','sqrt(0.001-pow(x+1,2))+1','-sqrt(0.001-pow(x+1,2))+1','sqrt(0.001-pow(x-1,2))+2','-sqrt(0.001-pow(x-1,2))+2','sqrt(0.001-pow(x-2,2))+3','-sqrt(0.001-pow(x-2,2))+3','sqrt(0.001-pow(x-3,2))+3','-sqrt(0.001-pow(x-3,2))+3')</script><!--graphend-->
Gemiddelde is
\(\mbox{gem }= \frac14\sum a_i = \frac54 + \frac94I\)
.\(\sum (a_i-\mbox{ gem })^2 = 6 + \frac{19}{2}I\)
.Daarvan de wortel trekken geeft de richtingsvector
\(\sqrt{\sqrt{505}+12} + I\sqrt{\sqrt{505}-12}\)
Dus\(y = \frac{\sqrt{\sqrt{505}-12}}{\sqrt{\sqrt{505}+12}}x - \frac54\frac{\sqrt{\sqrt{505}-12}}{\sqrt{\sqrt{505}+12}} + \frac{9}{4}\)
.plot:
<!--graphstart--><script type="text/javascript">graph(-1,3,0,4,300,300,600,600, '(sqrt(sqrt(505)-12))/(sqrt(sqrt(505)+12))*x-5/4*(sqrt(sqrt(505)-12))/(sqrt(sqrt(505)+12))+9/4','sqrt(0.001-pow(x+1,2))+1','-sqrt(0.001-pow(x+1,2))+1','sqrt(0.001-pow(x-1,2))+2','-sqrt(0.001-pow(x-1,2))+2','sqrt(0.001-pow(x-2,2))+3','-sqrt(0.001-pow(x-2,2))+3','sqrt(0.001-pow(x-3,2))+3','-sqrt(0.001-pow(x-3,2))+3')</script><!--graphend-->