Upload
others
View
10
Download
0
Embed Size (px)
Citation preview
Ekstrapolasjon
Minste kvadraters metode
Implementering
lsm@data_D :=
ModuleB8c1, c2, c3, c4<,
n = Length@dataD - 1;
c1 = 0; c2 = 0; c3 = 0; c4 = 0;
For@i = 0, i £ n, ++i,
c1 += x@iD;
c2 += x@iD x@iD;
c3 += y@iD;
c4 += x@iD y@iD;
D;
g = c1 * c1 - c2 * Hn + 1L;
a =c1 * c4 - c2 * c3
g
;
b =c1 * c3 - c4 * Hn + 1L
g
;
Print@"Beste rette linje gjennom datapunktene: y = " + a + b * "x"DF
Minste kvadraters metode på matriseform
Anta vi har tre observasjoner Hx0, y0L, Hx1, y1L, Hx1, y2L som vi forventer skal ligge på en rett linje.
Likningene (1) og (2) med n = 2 kan da
skrives:
H1 + 1 + 1L a + Hx0 + x1 + x2L b = y0 + y1 + y2
Hx0 + x1 + x2L a + Ix02
+ x12
+ x22M b = x0 y0 + x1 y1 + x2 y2
Vi sier at likningene er skrevet på normalform.
Likningssystemet kan skrives på matriseform:
M = 1 + 1 + 1 x0 + x1 + x2
x0 + x1 + x2 x02
+ x12
+ x22
, u = a
b, v =
y0 + y1 + y2
x0 y0 + x1 y1 + x2 y2
Þ M.u = v
Videre er det lurt å definerer ny matrise og nye vektorer:
A =
1 x0
1 x1
1 x2
, x = a
b, y =
y0
y1
y2
.
Den transponerte matrisen til A er gitt ved AT
=1 1 1
x0 x1 x2
.
Vi får følgende resultat:
AT. A = M og A
T. y = v
Vårt likningssystem kan derfor formuleres på formen
M.u = v � AT. A . x = A
T. y
Fordelen med å innføre matrisen A og vektoren y, er at disse er lette å skrive opp. Grunnen er at
de inneholder bare kjente verdier. Vi trenger ikke gjennomføre beregninger for å sette opp A og y.
Metoden lar seg lett generalisere til n målepunkter:
A =
1 x0
1 x1
» »
1 xn
, y =
y0
y1
»
yn
Matrisen AT. A er kvadratisk, og har en invers matrise så sant determinanten er ulik null. Dette gir
oss løsningen
x = a
b = IAT
. AM-1A
T. y
Anta vi har tre observasjoner Hx0, y0L, Hx1, y1L, Hx1, y2L som vi forventer skal ligge på en rett linje.
Likningene (1) og (2) med n = 2 kan da
skrives:
H1 + 1 + 1L a + Hx0 + x1 + x2L b = y0 + y1 + y2
Hx0 + x1 + x2L a + Ix02
+ x12
+ x22M b = x0 y0 + x1 y1 + x2 y2
Vi sier at likningene er skrevet på normalform.
Likningssystemet kan skrives på matriseform:
M = 1 + 1 + 1 x0 + x1 + x2
x0 + x1 + x2 x02
+ x12
+ x22
, u = a
b, v =
y0 + y1 + y2
x0 y0 + x1 y1 + x2 y2
Þ M.u = v
Videre er det lurt å definerer ny matrise og nye vektorer:
A =
1 x0
1 x1
1 x2
, x = a
b, y =
y0
y1
y2
.
Den transponerte matrisen til A er gitt ved AT
=1 1 1
x0 x1 x2
.
Vi får følgende resultat:
AT. A = M og A
T. y = v
Vårt likningssystem kan derfor formuleres på formen
M.u = v � AT. A . x = A
T. y
Fordelen med å innføre matrisen A og vektoren y, er at disse er lette å skrive opp. Grunnen er at
de inneholder bare kjente verdier. Vi trenger ikke gjennomføre beregninger for å sette opp A og y.
Metoden lar seg lett generalisere til n målepunkter:
A =
1 x0
1 x1
» »
1 xn
, y =
y0
y1
»
yn
Matrisen AT. A er kvadratisk, og har en invers matrise så sant determinanten er ulik null. Dette gir
oss løsningen
x = a
b = IAT
. AM-1A
T. y
Polynomer av høyere grad
En ball blir skutt loddrett oppover. Vi observerer posisjonen ved ulike tidspunkter. Fra mekanikkpen-
sumet kjenner vi bevegelseslikningen sHtL = v0 t +1
2a t
2 der v0 er starthastighet og a er konstant
akselerasjon. Våre datapunkter skulle derfor teoretisk ligge på en parabel. Vi vil bestemme den
“beste” kurven ved minste kvadraters metode.
Målt verdi er Hti, siL og teoretisk verdi er yi = Α + Β xi + Γ xi2
Χ2Ha, b, cL = Úi=0
n IΑ + Β xi + Γ xi2
- yiM2
¶ Χ2
¶ a= Úi=0
n2 IΑ + Β xi + c xi
2- yiM = 2 Α Úi=0
n1 + 2 Β Úi=0
nxi + 2 ý Úi=0
nxi
2- 2 Úi=0
nyi = 0
Þ ΑHn + 1L + Β Úi=0
nxi + ý Úi=0
nxi
2- Úi=0
nyi = 0 H1L
¶ Χ2
¶ b= Úi=0
n2 IΑ + Β xi + Γ xi
2- yiM xi = 2 Α Úi=0
nxi + 2 b Úi=0
nxi
2+ 2 Γ Úi=0
nxi
3- 2 Úi=0
nxi yi = 0
Þ Α Úi=0
nxi + Β Úi=0
nxi
2+ Γ Úi=0
nxi
3- Úi=0
nxi yi = 0 H2L
¶ Χ2
¶ c= Úi=0
n4 IΑ + Β xi + Γ xi
2- yiM xi
2= 4 Α Úi=0
nxi
2+ 4 Β Úi=0
nxi
3+ 4 Γ Úi=0
nxi
4- 4 Úi=0
nxi
2yi = 0
Þ Α Úi=0
nxi
2+ Β Úi=0
nxi
3+ Γ Úi=0
nxi
4- Úi=0
nxi
2yi = 0 H3L
2 Minste kvadraters metode oppg fasit.nb
En ball blir skutt loddrett oppover. Vi observerer posisjonen ved ulike tidspunkter. Fra mekanikkpen-
sumet kjenner vi bevegelseslikningen sHtL = v0 t +1
2a t
2 der v0 er starthastighet og a er konstant
akselerasjon. Våre datapunkter skulle derfor teoretisk ligge på en parabel. Vi vil bestemme den
“beste” kurven ved minste kvadraters metode.
Målt verdi er Hti, siL og teoretisk verdi er yi = Α + Β xi + Γ xi2
Χ2Ha, b, cL = Úi=0
n IΑ + Β xi + Γ xi2
- yiM2
¶ Χ2
¶ a= Úi=0
n2 IΑ + Β xi + c xi
2- yiM = 2 Α Úi=0
n1 + 2 Β Úi=0
nxi + 2 ý Úi=0
nxi
2- 2 Úi=0
nyi = 0
Þ ΑHn + 1L + Β Úi=0
nxi + ý Úi=0
nxi
2- Úi=0
nyi = 0 H1L
¶ Χ2
¶ b= Úi=0
n2 IΑ + Β xi + Γ xi
2- yiM xi = 2 Α Úi=0
nxi + 2 b Úi=0
nxi
2+ 2 Γ Úi=0
nxi
3- 2 Úi=0
nxi yi = 0
Þ Α Úi=0
nxi + Β Úi=0
nxi
2+ Γ Úi=0
nxi
3- Úi=0
nxi yi = 0 H2L
¶ Χ2
¶ c= Úi=0
n4 IΑ + Β xi + Γ xi
2- yiM xi
2= 4 Α Úi=0
nxi
2+ 4 Β Úi=0
nxi
3+ 4 Γ Úi=0
nxi
4- 4 Úi=0
nxi
2yi = 0
Þ Α Úi=0
nxi
2+ Β Úi=0
nxi
3+ Γ Úi=0
nxi
4- Úi=0
nxi
2yi = 0 H3L
Uttrykkene for Α , Β og Γ blir kompliserte, men skriver vi likningssettet (1) -(3) på matriseform og
gjentar resonnementene ovenfor i det lineære tilfellet, finner vi at likningssettet kan skrives:
IAT. A M x = A
T.y der A =
1 x0 x02
1 x1 x12
» » »
1 xn xn2
, x =
Α
Β
Γ
, y =
y0
y1
»
yn
Eksempel
Vi foretar 6 observasjoner av bevegelsen med 3/10 s mellomrom.
data =
880.3, 13.0<, 80.6, 23.1<, 80.9, 33.5<, 81.2, 40.9<, 81.5, 48.6<, 81.8, 54.1<<;
A =
1 0.3 0.32
1 0.6 0.62
1 0.9 0.92
1 1.2 1.22
1 1.5 1.52
1 1.8 1.82
; y =
13.0
23.1
33.5
40.9
48.6
54.1
;
Α
Β
Γ
= Inverse@[email protected]. [email protected]
0.96
41.6452
-6.70635
Startposisjon, startfart og akselerasjon blir:
s0 = Α = 0.96 m
v0 = Β = 41.6 m/s
a = 2 Γ = -13.4 m/s2
Siden |a| > g = 9.81 m/s2 er det rimelig å anta at det også virker luftmotstand. Posisjonen ved tiden
t er derfor gitt ved:
sHtL = 0.96 + 41.6 t -1
213.4 t
2
Uttrykket gjelder bare så lenge ballen er på vei oppover, siden luftmotstanden alltid virker mot
bevegelsen.
Minste kvadraters metode oppg fasit.nb 3
Siden |a| > g = 9.81 m/s2 er det rimelig å anta at det også virker luftmotstand. Posisjonen ved tiden
t er derfor gitt ved:
sHtL = 0.96 + 41.6 t -1
213.4 t
2
Uttrykket gjelder bare så lenge ballen er på vei oppover, siden luftmotstanden alltid virker mot
bevegelsen.
lp = ListPlot@data, PlotStyle ® [email protected], Red<, AxesOrigin ® 80, 0<D;
line = PlotA -6.71 t2
+ 41.65 t + 0.96, 8t, 0, 2<, AxesOrigin ® 80, 0<E;
Show@lp, line, AxesLabel ® 8"t", "sL"<, PlotRange ® AllD
0.5 1.0 1.5 2.0
t
10
20
30
40
50
sL
Mathematica har kommandoer som håndterer tilpasning av vilkårlig grad :
FitAdata, 91, t, t2=, tE
-6.70635 t2
+ 41.6452 t + 0.96
Eksponentiell sammenheng
Dersom vi forventer en eksponensiell sammenheng mellom x og y kan vi skrive y = a eb x
. For å
bruke minste kvadraters metode skriver vi om uttrykket ved å ta logaritmen på begge sider:
ln y = ln a + b x
Vi transformerer først dataene fra Hxi, yiL til Hxi, ln yiL. Dermed får vi en lineær sammenheng mellom
ln yi og xi.
Eksempel
xi = Range@5D
81, 2, 3, 4, 5<yi = 83.46, 5.71, 9.41, 15.52, 25.58<;
[email protected], 1.74222, 2.24177, 2.74213, 3.24181<
A =
1 1
1 2
1 3
1 4
1 5
; x = K Α
ΒO; y =
1.24
1.74
2.24
2.74
3.24
;
4 Minste kvadraters metode oppg fasit.nb
K Α
ΒO = Inverse@[email protected]. [email protected]
0.74
0.5
Dette gir oss : ln y = Α + Β x = 0.74 + 0.5 x
�
y = ã0.74
ã0.5 x
= 2.1 ã0.5 x
pts = Transpose@8xi, yi<D;
lp = ListPlot@pts, PlotStyle ® 8Red, [email protected]<D;
pl = PlotA2.1 ã0.5 x
, 8x, 0, 6<E;
Show@lp, pl, PlotRange ® AllD
0 2 3 4 5 6
10
20
30
40
I et logaritmisk plott blir grafen lineær:
llp =
ListLogPlot@pts, PlotStyle ® [email protected], Red<, AxesOrigin ® 80, 0<D;
pl2 = [email protected] x + 0.74, 8x, 0, 6<D;
Show@llp, pl2D
1 2 3 4 5
10.0
5.0
2.0
20.0
3.0
1.5
15.0
7.0
FitBpts, :ExpBx
2
F>, xF
2.0999 ãx�2
Minste kvadraters metode oppg fasit.nb 5
Oppgave 1
Bestem regresjonslinja gjennom punktene (1, 6), (2, 2) og (3, 1). Løs oppgaven både med og uten
matriseregning. Estimer y- verdien når x = 2.15. Tegn linjea og punktene i samme graf.
Clear@x, yD
data = 881, 6<, 82, 2<, 83, 1<<;
x@i_D := data @@i + 1, 1DDy@i_D := data@@i + 1, 2DD
lsm@dataD
Beste rette linje gjennom datapunktene: y = -5 x
2
+ 8
y@x_D := -2.5 x + 8
Plottet viser punktene og den beste linjen etter minste kvadraters metode. Punktet (2.15, 2.625)
ligger på linjen.
lp = ListPlot@data, PlotStyle ® [email protected], Red<, AxesOrigin ® 80, 0<D;
line = Plot@ y@xD, 8x, 0, 4<, AxesOrigin ® 80, 0<D;
Show@lp, line, PlotRange ® All,
Epilog ® 8Dashed, Blue, [email protected], 0<, 82.15, 2.625<<D,
[email protected], [email protected], 2.625<D<<D
1 2 3 4
-2
2
4
6
8
A =
1 1
1 2
1 3
; x = K a
bO; y =
6
2
1
;
x = Inverse@[email protected]. [email protected]
8
-5
2
Regresjonslinja: y (x) = a + b x = 8 -2.5 x
6 Minste kvadraters metode oppg fasit.nb
Oppgave 2
Bestem et polynom a grad 4 som ekstrapolerer punktene H-1, 5.4<, H0, 3<, 80.5, 0.6L, H1, -0.6L, 81.5, -1.8<, 82, 1.5L.f@x_D = 2.1 x
4- 4.4 x
3+ 1.4 x + 0.3
2.1 x4
- 4.4 x3
+ 1.4 x + 0.3
Plot@f@xD, 8x, -1, 2<D
-1.0 -0.5 0.5 1.0 1.5 2.0
-1
1
2
3
4
5
pts = 88-1, 5.4<, 80, 0.3<, 80.5, 0.6<, 81, -0.6<, 81.5, -1.8<, 82, 1.5<<;
xRange@0,4D
91, x, x2, x
3, x
4=FitApts, x
Range@0,4D, xE
2.09811 x4
- 4.4 x3
+ 0.00377358 x2
+ 1.4062 x + 0.304043
Minste kvadraters metode oppg fasit.nb 7