regresia - uniba.skzenis.dnp.fmph.uniba.sk/vtv/regresia.pdf · 2015. 3. 13. · peciálne prípady...
TRANSCRIPT
-
FYZ-230/00 Algoritmy vedeckotechnických výpo£tov
FYZ-230/00Algoritmy vedeckotechnických výpo£tov
Regresia
1
-
FYZ-230/00 Algoritmy vedeckotechnických výpo£tov
Obsah
• Úvod
• Lineárna regresia
� Odvodenie lineárnej regresie� peciálne prípady lineárnej regresie� Polynomiálna funkcia
• Nelineárna regresia
� Mocninová funkcia� Exponenciálna funkcia� Funkcia saturovaného rastu
2
-
FYZ-230/00 Algoritmy vedeckotechnických výpo£tov
Úvod
Pri ve©kom po£te bodov pouºitie interpolácie polynómom vysokého stup¬a alebo spline nemusíby´ ten najlep²í nápad.
3
-
FYZ-230/00 Algoritmy vedeckotechnických výpo£tov
• Karl (Carl) Pearson (1857�1936): zakladate© ²tatistickej matematiky
• 1896: Mathematical Contributions to the Theory of Evolution�III. Regression, Heredity,Panimixia. Philosophical Transactions of the Royal Society of London � navrhnutý spôsoblineárnej extrapolácie
n∑i=1
(xi − x̄) (yi − ȳ)n
4
-
FYZ-230/00 Algoritmy vedeckotechnických výpo£tov
Regresia (�t, extrapolácia)
H©adanie optimálnych parametrov B = β1, β2, . . . , βm modelu f(x;B) popisujúceho dáta.
Majme n bodov (x1, y1), (x2, y2), . . . , (xn, yn) a optimálne hodnoty parametrov β̂i pre ná²model. Pre hodnoty x1, x2, . . . , xn ná² model predpovedá hodnoty ŷi = f(xi; B̂).
Odchýlky bodov od modelu εi = yi − ŷi = yi − f(xi; B̂) nazývame rezíduá.
(x1, y1)
(x2, y2)
(xi, yi)
y
x
ŷi
(xn, yn)
εi
5
-
FYZ-230/00 Algoritmy vedeckotechnických výpo£tov
H©adanie kritéria pre optimálne hodnoty
1. Sú£et rezíduí
Minimalizujeme∑ni=1 εi =
∑ni=1 yi − f(xi; B̂) =
∑ni=1 yi −
∑ni=1 f(xi; B̂) = k −∑n
i=1 f(xi; B̂)
Do h©adania minima nevstupujú hodnoty y1, y2, . . . , yn!
2. Sú£et absolútnych hodnôt rezíduí
Minimalizujeme∑ni=1 |εi| =
∑ni=1
∣∣∣yi − f(xi; B̂)∣∣∣Príklad: Majme body (2, 4), (3, 6), (2, 6), (3, 8).H©adajme optimálne parametre pre model f(x;B) = β1 + β2x.
6
-
FYZ-230/00 Algoritmy vedeckotechnických výpo£tov
xi yi ŷi |εi| ŷi |εi| ŷi |εi|2 4 5 1 6 2 4 03 6 7 1 6 0 8 22 6 5 1 6 0 4 23 8 7 1 6 2 8 0∑
|εi| 4 4 4
y
x2 3
4
6
8
ε1
ε3
ε2
ε4
Nejednozna£ný výsledok!
7
-
FYZ-230/00 Algoritmy vedeckotechnických výpo£tov
3. Sú£et ²tvorcov rezíduí
Minimalizujeme∑ni=1 ε
2i =
∑ni=1
(yi − f(xi; B̂)
)2y
x2 3
4
6
8
ε3
ε4
ε1
ε2
Metóda najmen²ích ²tvorcom poskytuje jednozna£ný výsledok!
8
-
FYZ-230/00 Algoritmy vedeckotechnických výpo£tov
Lineárna regresia
Ak sú parametre βi v modeli v lineárnom vz´ahu hovoríme o lineárnej regresii.
Príklady:
• Lineárny model: f(x;B) = β1 + β2x
• Kon²tantná funkcia: f(x;B) = β1
• Priama úmernos´: f(x;B) = β1x
• Polynomiálny model: f(x;B) = β1 + β2x+ β3x2 + . . .
• Harmonický model: f(x;B) = β1 cos(x) + β2 sin(x) + β3 cos(2x) + β4 sin(2x) + . . .
9
-
FYZ-230/00 Algoritmy vedeckotechnických výpo£tov
H©adanie parametrov pre lineárny model
H©adáme lokálne minimum, prvá derivácia musí by´ nulová!
f(x,B) = β1 + β2x
S =
n∑i=1
ε2i =
n∑i=1
(yi − f(xi;B))2 =n∑i=1
(yi − β1 − β2xi)2
∂S
∂β1= 0
∂S
∂β2= 0
∂S
∂β1= −2
n∑i=1
(yi − β̂1 − β̂2xi
)= 0
∂S
∂β2= −2
n∑i=1
(yi − β̂1 − β̂2xi
)xi = 0
Dostaneme:
n∑i=1
β̂1 +
n∑i=1
β̂2xi =
n∑i=1
yi
n∑i=1
β̂1xi +
n∑i=1
β̂2x2i =
n∑i=1
xiyi
10
-
FYZ-230/00 Algoritmy vedeckotechnických výpo£tov
nβ̂1 + β̂2
n∑i=1
xi =
n∑i=1
yi β̂1
n∑i=1
xi + β̂2
n∑i=1
x2i =
n∑i=1
xiyi
β̂1 =
∑ni=1 yin
−β̂2∑ni=1 xin
= ȳ − β̂2x̄ Dosadíme do pravého vz´ahu
Dostaneme:β̂2 =
xy − x̄ȳx2 − x̄2
f(x, B̂) = β̂1 + β̂2x
11
-
FYZ-230/00 Algoritmy vedeckotechnických výpo£tov
Priama úmernos´
Roz´aºnos´ telies so zmenou teploty: pri nulovej zmene teploty je roz´aºnos´ nulová.
f(x,B) = β1x
H©adáme minimálne S:
S =
n∑i=1
ε2i =
n∑i=1
(yi − f(xi;B))2 =n∑i=1
(yi − β1x)2
∂S
∂β1= −2
n∑i=1
(yi − β̂1xi
)xi = 0
n∑i=1
β̂1x2i =
n∑i=1
xiyi
β̂1 =
∑ni=1 xiyi∑ni=1 x
2i
12
-
FYZ-230/00 Algoritmy vedeckotechnických výpo£tov
β̂1 =xy
x2
f(x, B̂) = β̂1x
13
-
FYZ-230/00 Algoritmy vedeckotechnických výpo£tov
Kon²tantná funkcia
f(x,B) = β1H©adáme minimálne S:
S =
n∑i=1
ε2i =
n∑i=1
(yi − f(xi;B))2 =n∑i=1
(yi − β1)2
∂S
∂β1= −2
n∑i=1
(yi − β̂1
)= 0
n∑i=1
β̂1 =
n∑i=1
yi
β̂1 =
∑ni=1 yin
β̂1 = ȳ
f(x, B̂) = β̂1x
Rie²ením metódy najmen²ích ²tvorcov pre kon²tantnú funkciu je stredná hodnota y.14
-
FYZ-230/00 Algoritmy vedeckotechnických výpo£tov
Meranie elektrického odporu vodi£a
u i R1,4µV 12 nA 116,7 Ω12µV 90 nA 133,3 Ω130µV 1,1µA 118,2 Ω1,2 mV 10µA 120,0 Ω11 mV 93µA 118,3 Ω150 mV 1,3 mA 115,4 Ω1,6 V 12 mA 133,3 Ω
→ R̄ = 122,17 Ωui = R ii → R = 133,12 Ω
0
0.5
1
1.5
2
0 0.002 0.004 0.006 0.008 0.01 0.012 0.014
u [
V]
i [A]
Odpor vodica
dataR = 122,17R = 133.12
100
110
120
130
140
150
0 1 2 3 4 5 6 7 8
R [
Ohm
]
Odpor vodica
dataR = 122,17R = 133.12
15
-
FYZ-230/00 Algoritmy vedeckotechnických výpo£tov
Váhovaná metóda najmen²ích ²tvorcov
Minimalizácia sumy váhovaných ²tvorcom rezíduí: Sr =n∑i=1
wi (yi − f(xi))2, wi = 1σ2i.
Príklad � priama úmernos´: f(xi) = β1 xi
H©adáme extrém: ∂S∂β1 = 0 →∂S∂β1
=∂∑ni=1 wi (yi−β̂1 xi)
2
∂β1= −2
n∑i=1
wi xi (yi − β̂1 xi)n∑i=1
wi xi yi = β̂1n∑i=1
wi x2i → β̂1 =
∑ni=1 wi xi yi∑ni=1 wi x
2i
16
-
FYZ-230/00 Algoritmy vedeckotechnických výpo£tov
Rozdelenie χ2
Nech x1, x2, . . . , xn sú nezávislé náhodné veli£iny s Gassovským rozdelením hustoty
pravdepodobnosti. Potom suma z =n∑i=1
(xi−µi)2
σ2imá rozdelenie χ2 (chí kvadrát) s n stup¬ami
vo©nosti � χ2(n).Hustota pravdepodobnosti:
f(z, n) =zn2−1 e−
z2
2n2 Γ(n2
)Stredná hodnota: z̄ = nDisperzia: σ2 = 2n
Fitovanie: minimalizácia χ2. Je to váhovaná metóda najmen²ích ²tvorcov.
17
-
FYZ-230/00 Algoritmy vedeckotechnických výpo£tov
Polynomiálny model
f(x,B) = β1 + β2x+ β3x2 + · · ·+ βmxm−1
H©adáme minimálne S:
S =
n∑i=1
ε2i =
n∑i=1
(yi − f(xi;B))2 =n∑i=1
(yi − β1 − β2xi − β3x2i − · · · − βmxm−1i
)2
∂S
∂β̂1= 2
n∑i=1
(yi − β̂1 − β̂2xi − β̂3x2i − · · · − β̂mxm−1i
)(−1) = 0
∂S
∂β2= 2
n∑i=1
(yi − β̂1 − β̂2xi − β̂3x2i − · · · − β̂mxm−1i
)(−xi) = 0
... ...
∂S
∂βm= 2
n∑i=1
(yi − β̂1 − β̂2xi − β̂3x2i − · · · − β̂mxm−1i
)(−xm−1i ) = 0
18
-
FYZ-230/00 Algoritmy vedeckotechnických výpo£tov
Máme m lineárnych rovníc o m neznámich.
19
-
FYZ-230/00 Algoritmy vedeckotechnických výpo£tov
Nelineárna regresia
• Exponenciálny model: y = a ebx
• Mocninový model: y = axb
• Model saturovaného rastu: y = axb+x
20
-
FYZ-230/00 Algoritmy vedeckotechnických výpo£tov
Exponenciálny model
Majme n bodov (x1, y1), (x2, y2), . . . , (xn, yn) a h©adáme parametre a a b funkcie f(x) =a ebx aby táto funkcia najlep²ie vystihovala dáta.
H©adáme minimum sú£tu ²tvorcov rezíduí:
S =
n∑i=1
ε2i =
n∑i=1
(yi − f(xi;B))2 =n∑i=1
(yi − a ebxi
)2H©adanie lokálneho minima:
∂S
∂a=
n∑i=1
2(yi − a ebxi
) (− ebxi
)= 0
∂S
∂b=
n∑i=1
2(yi − a ebxi
) (−axi ebxi
)= 0
21
-
FYZ-230/00 Algoritmy vedeckotechnických výpo£tov
Exponenciálny model; parameter a
Rie²ime prvú rovnicu:∂S
∂a=
n∑i=1
2(yi − a ebxi
) (− ebxi
)= 0
n∑i=1
(yi)(− ebxi
)+
n∑i=1
a ebxi ebxi = 0
a
n∑i=1
e2bxi =
n∑i=1
yi ebxi
a =
n∑i=1
yi ebxi
n∑i=1
e2bxi
22
-
FYZ-230/00 Algoritmy vedeckotechnických výpo£tov
Exponenciálny model; parameter b
Dosadíme a do druhej rovnice:
∂S
∂b=
n∑i=1
2(yi − a ebxi
) (−axi ebxi
)= 0
n∑i=1
yixi ebxi −
n∑i=1
yi ebxi
n∑i=1
e2bxi
n∑i=1
xi e2bxi = 0
Získali sme nelineárnu rovnicu s jednou neznámou b. Táto rovnica sa dá rie²i´ numericky.
23
-
FYZ-230/00 Algoritmy vedeckotechnických výpo£tov
Exponenciálny model; príklad
Pri po£ít£ovej tomogra�i sa £ásto pouºíva izotop 99mTc s pol£asom rozpadu pribliºne 5 hodín.Po£as jedného zo zákrokov boli namerané nasledujúce aktivity:
t(h) 0 1 3 5 7 9γ 1.000 0.891 0.708 0.562 0.447 0.355
Nájdite funkciu popisujúcu túto závislos´.
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0 2 4 6 8 10
γ
t [h]
γ
Vhodná funkcia je γ = A eλt.
24
-
FYZ-230/00 Algoritmy vedeckotechnických výpo£tov
Exponenciálny model; príklad � h©adanie parametrov
A =
6∑i=1
γi eλti
6∑i=1
e2λti
f(λ) =
6∑i=1
γiti eλti −
6∑i=1
γi eλti
6∑i=1
e2λti
6∑i=1
ti e2λti = 0
25
-
FYZ-230/00 Algoritmy vedeckotechnických výpo£tov
Exponenciálny model; príklad � h©adanie parametra λ
f(λ) =
6∑i=1
γiti eλti −
6∑i=1
γi eλti
6∑i=1
e2λti
6∑i=1
ti e2λti = 0
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
1.2
-0.5 -0.45 -0.4 -0.35 -0.3 -0.25 -0.2 -0.15 -0.1
f(λ)
λ
f(λ)
26
-
FYZ-230/00 Algoritmy vedeckotechnických výpo£tov
Odhad rie²enia:
• f(−0,2) = 0,908788134021305
• f(−0,1) = −0,320151269495583
• f(−0,15) = 0,528546634981978
• f(−0,125) = 0,178134745985833
• f(−0,1125) = −0,0504706862846351
• . . .
• f(−0,11508) = −5,84007489869975 10−5
λ = −0,1150827
-
FYZ-230/00 Algoritmy vedeckotechnických výpo£tov
Výpo£et A:
A =
6∑i=1
γi eλti
6∑i=1
e2λti
A = 0,99983
Body popisuje funkcia:γ(t) = 0,99983 e−0,11508t
28
-
FYZ-230/00 Algoritmy vedeckotechnických výpo£tov
Exponenciálny model; linearizácia problému
Lineárna regresia je oproti nelineárnej triviálny problém. Nelineárny prípad sa £asto dá linerizova´.
y = a ebx → ln y = ln a+ bx
Ozna£íme z = ln y, a0 = ln a, a1 = b.
z = a0 + a1x
Transformuje hodnoty, nie model. Získané parametre nemusia by´ ideálne
pre pôvodné hodnoty!
a1 =xz − x̄z̄x2 − x̄2
, a0 = z̄ − a1x̄ → b = a1, a = e a0
29