regresia - uniba.skzenis.dnp.fmph.uniba.sk/vtv/regresia.pdf · 2015. 3. 13. · peciálne prípady...

29

Upload: others

Post on 02-Feb-2021

3 views

Category:

Documents


0 download

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