Minstakvadratmetoden

En rät linje som en approximativ beskrivning av en datamängd
Icke-linjär approximation (röd kurva) av en punktmängd (blå punkter). Den numeriska modellen är eller efter tillämpning av minstakvadratmetoden

Minstakvadratmetoden (även minsta-kvadrat-metoden eller minsta kvadrat-metoden) används bland annat vid regressionsanalys för att minimera felet i en funktion som ska anpassas utifrån observerade värden. Exempel på tillämpningar är

  • Utifrån gjorda folkräkningar vill man förutsäga befolkningsökningen i ett område genom att göra folkmängden till en funktion av tiden.
  • Inom hydrologi vill man beräkna hur stort skyfall som inträffar en gång var hundrade år, till exempel för att kunna dimensionera en mindre damm (se även frekvensanalys). I detta fall görs regnmängden till en funktion av återkomsttiden.

Minstakvadratmetoden har en linjär och en icke-linjär variant beroende på om residualerna (”felen”) är linjära eller inte med avseende på alla obekanta. Den linjära varianten tillämpas inom regressionsanalys och har en sluten form. Den icke-linjära bygger vanligen på iterativa metoder. Vid varje iteration approximeras lösningen med en linjär lösning, varför de grundläggande beräkningarna är snarlika i båda fallen.

Historik

Carl Friedrich Gauss

På nyårsdagen 1801 upptäckte den italienske astronomen Giuseppe Piazzi dvärgplaneten Ceres. Under 40 dagar kunde han följa dess väg, tills Ceres försvann bakom solen. Under året hade många forskare utan framgång försökt att beräkna banan baserat på Piazzis iakttagelser - under antagandet att banan var cirkulär, eftersom endast sådana bandelar kunde bestämmas matematiskt utifrån de observerade positionerna vid denna tidpunkt. Den 24-årige Carl Friedrich Gauss kunde dock beräkna elliptiska banor utifrån tre olika observationer. Med tillgång till betydligt fler spårpunkter, använde han sin minstakvadratmetod för att öka noggrannheten. När småplaneterna på nytt observerades av Franz Xaver von Zach och Heinrich Wilhelm Olbers i december 1801, i exakt de positioner som förutsagts av Gauss, var detta inte bara en stor framgång för Gauss metod, utan ledde även till ett återupprättande av Piazzis rykte, som skadats på grund av konflikten med omloppsbanor beräknade under antagandet att banorna var cirkulära[1]. Minstakvadratmetoden blev snabbt standardförfarandet vid behandlingen av astronomiska och geodetiska mätresultat.

Minstakvadratmetoden tillskrivs vanligen Carl Friedrich Gauss (1795),[2] men publicerades först av Adrien-Marie Legendre.[3]

Anpassning av en funktion till observerade data

En vanlig modell för att representera en mätserie

i form av en funktion, är en linjärkombination av m kända (valda) funktioner

där koefficienterna c1, c2, ... , cm skall bestämmas för att i minstakvadratmetodens mening bäst anpassa kurvan f till mätserien, vilket innebär att summan

skall minimeras.

För en lösning konstrueras först den så kallade designmatrisen

Med

Avståndet ("felet") mellan datapunkter och approximerande kurva mäts i "vertikal" led och inte som punkternas vinkelräta avstånd till kurvan

kan ett linjärt ekvationssystem (vanligen överbestämt, normalt är n betydligt större än m) i m obekanta skrivas

Att lösa detta ekvationssystem i minstakvadratmetodens mening är ekvivalent med att lösa normalekvationen

där AT är transponatet till A.

Om A och y har samma antal rader och om kolumnvektorerna i A är linjärt oberoende, har normalekvationen en entydig lösning cmin, för vilken gäller

det vill säga, cmin är minimumpunkten till funktionen

Det kvadratiska medelfelet beräknas som

Anpassning av polynom

För att anpassa ett polynom av grad m

till datamängden

sätts polynomets monom (med alla ci = 1) med beräknade värden in som rader i designmatrisen

De sökta koefficienterna c och alla y-värden bildar kolumnvektorerna

Därefter löses vanligen normalekvationen

Vilket gradtal skall väljas?

Val av polynomets grad

Givet värdet av datamängdens storlek, n, hur skall det approximerande polynomets grad m väljas? Grundantagandet är[4] att m < n, eller åtminstone att datamängden med tillräcklig noggrannhet kan approximeras av ett sådant polynom. Om m ≥ n förbättras inte approximationen. Är m = n - 1 är lösningen exakt, men i detta fall förloras en vanligen önskvärd egenskap hos polynomet, nämligen förmågan att filtrera bort detaljer orsakade av mätfel och andra störningar (till exempel numeriska fel).

Normalekvationen

Ett vektorrum V spänns upp av A:s kolonnvektorer, i detta fall u och v. Vektorn b tillhör inte V varför ekvationssystemet A c = b saknar lösning. A cmin - b är ortogonal mot alla vektorer i V.
cmin kan ses som de koefficienter som minimerar "längden" av vektorn A c - b

Som en orientering beskrivs kortfattat en bakgrund till normalekvationen

i form av ett specialfall (illustrerbart) med tre linjära ekvationer och två obekanta koefficienter. Antag att

och att kolonnvektorerna u och v i A spänner upp vektorrummet V (här, ett plan i R3). I allmänhet tillhör inte b vektorrummet V, varför ekvationen A c - b = 0 i allmänhet saknar lösning. Det är emellertid möjligt att söka en approximativ lösning, till exempel i minstakvadratmetodens mening, alltså en lösning till minimumproblemet

Detta minimum föreligger när A c - b är ortogonal mot vektorerna i V, det vill säga då skalärprodukterna av A c - b och varje vektor i V är noll. Men raderna i A:s transponat tillhör V och då matrisprodukten av A:s transponat och A c - b är definierad, ger detta

och det sökta värdet på c, cmin, måste således satisfiera detta ekvationssystem. Om matrisen ATA är inverterbar (om och endast om, kolonnerna i A är linjärt oberoende) är lösningen

och det går att visa att cmin uppfyller

Dessa resultat är i huvudsak tillämpbara på allmänna rektangulära matriser A.

Lösningar om designmatrisens kolonner är ortogonala

Sök en lösning till ekvationen om

Eftersom kolonnerna i A är ortogonala () ges den ortogonala projektionen av bA:s kolonnrum av

Då den ortogonala projektionen är känd går det att lösa . Enligt (1) är , vilket i minstakvadratmetodens mening också är lösningen till .

Matriser där kolonnerna är ortogonala förekommer relativt ofta i problem inom linjär regression[5].

Exempel

Anpassning av en rät linje

Vilken rät linje

ger bästa anpassningen till mätserien

I detta fall blir designmatrisen

och y-värdena och de sökta koefficienterna placeras i

Därefter löses

med avseende på c.

Anpassning av ett andragradspolynom

Exemplets polynomanpassning

Givet datapunkterna (1,10), (2,8), (3,11), (4,17), (5,24) söks de koefficienter till andragradspolynomet

som enligt minstakvadratmetoden är bäst anpassade till observationerna.

Designmatrisen och vektorn för y-värdena är

Normalekvationen löses med avseende på c

och det anpassade andragradspolynomet är således

Jämförelse mellan observerade och minstakvadratanpassade y-värden.
xuppmätt yanpassat yfeletfelet i kvadrat
1109,6-0,40,16
288,80,80,64
31111,00,00,00
41716,2-0,80,64
52424,40,40,16
Summa:1,60

Av alla möjliga andragradspolynom har inget en summa av felen i kvadrat som understiger 1,6.

Anpassning av ellips

Den anpassade ellipsen

Kan datapunkterna (-9, 2), (-2, 5), (3, 6), (7, 4), (9, 1), (8, -4), (1, -5), (-4, -5), (-8, -3), (-9, -1) på ett meningsfullt sätt beskrivas av en ellips? Minstakvadratmetoden kan användas för att anpassa en ellips till datamängden. Ekvationen för en ellips är

där a, b är ellipsaxlarnas längder.

De beräknade värdena för ellipsekvationens termer (med a och b = 1) sätts in i designmatrisens rader och värdena i ellipsekvationens högerled sätts in i kolumnvektorn b:

Normalekvationen löses

och därmed är

Anpassning av en yta

Den anpassade ytan

Anpassning av en yta i R3,

till datapunkterna (x, y, z-koordinater i R3)

(2, 4, 33), (-1, 1, 2), (1, -3, 7), (4, 4, 88), (-2, -3, 26), (-3, 1, 13), (-1, -1, 4), (4, 1, 36)

Designmatrisen A konstrueras och datapunkternas z-värden placeras i kolonnvektorn z:

Normalekvationen kan nu ställas upp och lösas:

Referenser

Noter

  1. ^ Moritz Cantor: Gauß: Karl Friedrich G.. Allgemeine Deutsche Biographie. Band 8, Duncker & Humblot, Leipzig 1878, S. 430–445., S. 436
  2. ^ Bretscher, Otto (1995). Linear Algebra With Applications (3rd). Upper Saddle River, NJ: Prentice Hall 
  3. ^ Stigler, Stephen M. (1981). ”Gauss and the Invention of Least Squares”. Ann. Stat. 9 (3): sid. 465–474. doi:10.1214/aos/1176345451. http://projecteuclid.org/euclid.aos/1176345451. 
  4. ^ Anthony Ralston and Philip Rabinowitz (1978). A First Cource In Numerical Analysis, Second Edition, ISBN 0-07-051158-6
  5. ^ Linear Algebra and its Applications, David C. Lay ISBN 978-1-292-09223-2

Media som används på denna webbplats

X22-3D-1.png
Författare/Upphovsman: Svjo, Licens: CC BY-SA 4.0
example of least square
Carl Friedrich Gauss.jpg
Portrait of the mathematician and philosopher Carl Friedrich Gauss
Offsets-datapoint-graf.svg
Författare/Upphovsman: Svjo, Licens: CC BY-SA 4.0
Offsets from datapoins to graf
LeastSqrPoly.png
Författare/Upphovsman: Svjo, Licens: CC BY-SA 4.0
Least square example, polynom
LeastSqr-ellips.png
Författare/Upphovsman: Svjo, Licens: CC BY-SA 4.0
least square approximation of an ellipse
Normalekvationen.png
Författare/Upphovsman: Svjo, Licens: CC BY-SA 4.0
Normalekvationen
Linear regression.svg
Random data points and their linear regression. Created with the following Sage (http://sagemath.org) commands:
X = RealDistribution('uniform', [-20, 60])

Y = RealDistribution('gaussian', 1.5)

f(x) = 3*x/20 + 5

xvals = [X.get_random_element() for _ in range(100)]

data = [(x, f(x) + Y.get_random_element()) for x in xvals]

m, b = var('m b')

g(x) = m*x + b

g(x) = g(x).subs(find_fit(data, g, solution_dict=True))

p = list_plot(data) + plot(g, (x, -20, 60), color='red')

p.save('linear_regression.svg')
Ickelinjär approximation.png
Författare/Upphovsman: Svjo, Licens: CC BY-SA 4.0
Icke-linjär approximation av en punktmängd med minstakvadratmetoden
X22-multiple-grafs.png
Författare/Upphovsman: Svjo, Licens: CC BY-SA 4.0
examples of least square fittings