27.11.2014 Views

Lineární a nelineární regrese

Lineární a nelineární regrese

Lineární a nelineární regrese

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Matematika pro chemické inženýry<br />

Drahoslava Janovská<br />

Přednášky ZS 2011-2012


<strong>Lineární</strong> a <strong>nelineární</strong> <strong>regrese</strong>


Vyhodnocování experimentálních dat Základní model lineární <strong>regrese</strong> Nelineární <strong>regrese</strong><br />

Obsah<br />

1 Vyhodnocování experimentálních dat<br />

2 Základní model lineární <strong>regrese</strong><br />

Ekvivalentní model<br />

Metoda nejmenších čtverců<br />

3 Nelineární <strong>regrese</strong>


Vyhodnocování experimentálních dat Základní model lineární <strong>regrese</strong> Nelineární <strong>regrese</strong><br />

Vyhodnocování experimentálních dat<br />

- Při řešení chemicko-inženýrských problémů jsme obvykle schopni<br />

odvodit model procesu nebo děje probíhajícího v zařízení<br />

- Často nejsme schopni určit numerické hodnoty parametrů, které v<br />

modelu vystupují<br />

Funkci η(x) = E(Y (x)) definovanou na definičním oboru A ⊂ R nazveme<br />

regresní funkcí. Regresí rozumíme závislost střední hodnoty náhodné<br />

veličiny Y (x) na veličině x.<br />

Předpokládáme, že známe tvar regresní funkce, a na základě náhodného<br />

výběru odhadujeme její neznámé parametry:<br />

Vybereme n hodnot nezávisle proměnné x j , j = 1, . . . , n, x j ∈ A, a pro každé<br />

x j napozorujeme (naměříme) realizaci (hodnotu) y j náhodné veličiny Y j :<br />

x j , j = 1, . . . , n, ∈ A −→ y j = Y (x j ) .<br />

Získané dvojice hodnot (x 1 , y 1 ), . . . , (x n, y n) nám poslouží k odhadu<br />

neznámých parametrů.


Vyhodnocování experimentálních dat Základní model lineární <strong>regrese</strong> Nelineární <strong>regrese</strong><br />

Základní model lineární <strong>regrese</strong><br />

Model lineární <strong>regrese</strong> by měl splňovat:<br />

1. η(x) je lineární funkcí tvaru<br />

η(x) =<br />

p∑<br />

β k f k (x) ,<br />

kde f k (x) jsou známé funkce a β k , k = 1, . . . , p neznámé parametry.<br />

Funkce η je lineární vzhledem k parametrům.<br />

2. Hodnotě x j je přiřazena náhodná veličina Y j , pro kterou platí<br />

k=1<br />

E(Y j ) = η(x j ) , D(Y j ) = σ 2 , j = 1, . . . , n ,<br />

Druhá rovnice znamená, že rozptyl nezávisí na x j a je tedy konstantní,<br />

což může např. znamenat, že všechny realizace y 1 , . . . , y n náhodných<br />

veličin Y 1 , . . . , Y n jsou naměřeny se stejnou přesností.


Vyhodnocování experimentálních dat Základní model lineární <strong>regrese</strong> Nelineární <strong>regrese</strong><br />

3. Matice F = (f ij ) , kde f ij = f i (x j ) , i = 1, . . . , p, j = 1, . . . , n. má hodnost<br />

p . Poznamenejme, že počet n dvojic (x j , y j ) musí být větší než počet<br />

neznámých parametrů p, přesněji, mělo by platit n − p > 2 .<br />

4. Náhodné veličiny Y 1 , . . . , Y n jsou nekorelované, t.j.<br />

Maticově zapsáno<br />

cov(Y i , Y j ) = 0, i, j = 1, . . . , n, i ≠ j .<br />

C y = σ 2 E n ,<br />

kde E n je jednotková matice řádu n, C y je matice kovariance veličin<br />

Y 1 , . . . , Y n .<br />

Příklad Pro regresní přímku, tj. regresní funkci tvaru η(x) = α + βx je<br />

počet neznámých parametrů p = 2 a β 1 = α, f 1 = 1, β 2 = β, f 2 = x .


Vyhodnocování experimentálních dat Základní model lineární <strong>regrese</strong> Nelineární <strong>regrese</strong><br />

Ekvivalentní model<br />

Popsaný model v ekvivalentním tvaru<br />

Y j = η(x j ) + ε j =<br />

p∑<br />

β k f kj + ε j , j = 1, . . . , n , (1)<br />

k=1<br />

kde hodnoty x 1 , . . . , x n jsou hodnotami nenáhodné proměnné, hodnoty<br />

f kj = f k (x j ) splňují podmínku 3. modelu. Pro náhodné chyby ε j , j = 1, . . . , n ,<br />

a pro matici kovariance C ε náhodného vektoru ε = (ε 1 , . . . , ε n) platí<br />

E(ε j ) = 0 , j = 1, . . . , n , C ε = σ 2 E = C y .<br />

Rovnici (1) lze zapsat maticově<br />

−→ Y = F<br />

T−→ β +<br />

−→ ε .


Vyhodnocování experimentálních dat Základní model lineární <strong>regrese</strong> Nelineární <strong>regrese</strong><br />

Metoda nejmenších čtverců<br />

Metoda nejmenších čtverců<br />

Odhady neznámých parametrů β 1 , . . . , β p v popsaném modelu lineární<br />

<strong>regrese</strong> budeme hledat metodou nejmenších čtverců . Označme tyto odhady<br />

b 1 , . . . , b p, což jsou výběrové funkce náhodného výběru y 1 , . . . , y n.<br />

Minimalizujeme součet čtverců odchylek napozorovaných hodnot y j od<br />

středních hodnot η j = η(x j ), tedy součet čtverců<br />

Q(β 1 , . . . , β p) =<br />

n∑<br />

(y j − η j ) 2 =<br />

j=1<br />

(<br />

n∑<br />

y j −<br />

Odhady b 1 , . . . , b p tedy najdeme jako řešení soustavy rovnic<br />

j=1<br />

∂Q<br />

∂β k<br />

= 0, k = 1, . . . , p.<br />

Tato soustava se nazývá soustavou normálních rovnic.<br />

) 2 p∑<br />

β k f kj .<br />

k=1


Vyhodnocování experimentálních dat Základní model lineární <strong>regrese</strong> Nelineární <strong>regrese</strong><br />

Metoda nejmenších čtverců<br />

Soustavu pro hledané odhady b 1 , . . . , b p zapíšeme v přehledném tvaru<br />

kde<br />

b 1 S 11 + b 2 S 12 + · · · + b pS 1p = S 1y<br />

b 1 S 21 + b 2 S 22 + · · · + b pS 2p = S 2y<br />

.<br />

b 1 S p1 + b 2 S p2 + · · · + b pS pp = S py ,<br />

S ki =<br />

S ky =<br />

n∑<br />

f kj f ij , i, k = 1, . . . , p ,<br />

j=1<br />

n∑<br />

f kj y j , k = 1, . . . , p .<br />

j=1<br />

Zřejmě S ik = S ki pro i, k = 1, . . . , p .


Vyhodnocování experimentálních dat Základní model lineární <strong>regrese</strong> Nelineární <strong>regrese</strong><br />

Metoda nejmenších čtverců<br />

Maticově:<br />

Je-li −→ y = (y 1 , . . . , y n) T , −→ b = (b 1 , . . . , b p) T , pak normální rovnice lze zapsat<br />

ve tvaru<br />

F F T −→ b = F<br />

−→ y . (2)<br />

Podle předpokladu je h(F ) = p, pak také h(F F T ) = p a F F T je typu p × p,<br />

regulární =⇒ existuje (F F T ) −1 , a tedy z rovnice (2) lze vyjádřit vektor −→ b :<br />

−→ b = (F F T ) −1 F −→ y ,<br />

vektor −→ b je jednoznačně určen a jeho jednotlivé složky jsou lineárními<br />

kombinacemi hodnot y 1 , . . . , y n .<br />

Pozor! Výpočet je extrémně numericky nestabilní, viz přednáška ”<strong>Lineární</strong><br />

algebra”.


Vyhodnocování experimentálních dat Základní model lineární <strong>regrese</strong> Nelineární <strong>regrese</strong><br />

Metoda nejmenších čtverců<br />

Příklad<br />

Necht’ regresní přímka prochází počátkem, η(x) = a x , pak f ij = x a β 1 = α .<br />

Označme −→ x = (x 1 , . . . , x n) T , F = (x 1 , . . . , x n) . Pak<br />

F F T = (x 1 , . . . , x n) · (x 1 , . . . , x n) T =<br />

n∑<br />

j=1<br />

xj 2 =⇒ (FF T ) −1 1<br />

= ∑ n<br />

j=1 x .<br />

j<br />

2<br />

Odhad parametru α je<br />

a = (F F T ) −1 F −→ y =<br />

( ) ∑ n<br />

1 −→<br />

∑ n x<br />

T−→ j=1 x jy j<br />

y =<br />

j=1 x ∑<br />

j<br />

2<br />

n<br />

j=1 x .<br />

j<br />

2


Vyhodnocování experimentálních dat Základní model lineární <strong>regrese</strong> Nelineární <strong>regrese</strong><br />

Metoda nejmenších čtverců<br />

Nestranný odhad lineární parametrické funkce<br />

Úloha Hledáme odhad lineární funkce parametrů −→ β = (β 1 , . . . , β p) T .<br />

Uvažujme parametrickou funkci<br />

γ =<br />

p∑<br />

c k β k = −→ c T · −→ β ,<br />

k=1<br />

kde −→ c = (c 1 , . . . , c p) T je známý nenulový vektor ( −→ c ≠ 0) .<br />

Tvrzení Nejlepším odhadem lineární parametrické funkce −→ c T · −→ β je<br />

výběrová funkce (statistika) g = −→ c T · −→ b , kde −→ b je řešením normálních<br />

rovnic. E(g) = γ a ”nejlepší” znamená, že rozptyl D(g) je minimální ve třídě<br />

nestranných odhadů.<br />

Pro výpočet matice kovariance vektoru odhadů b 1 , . . . , b p, kde b k jsou<br />

náhodné veličiny, si připomeňme pravidla pro výpočet rozptylu a kovariance<br />

lineární kombinací náhodných veličin, náhodný vektor (u 1 , . . . , u n) T , C u je<br />

matice kovariance náhodného vektoru,<br />

C u = (cov(u j , u k )) , j = 1, . . . , n; k = 1, . . . , n, D(u j ) = cov(u j , u j ) .


Vyhodnocování experimentálních dat Základní model lineární <strong>regrese</strong> Nelineární <strong>regrese</strong><br />

Nelineární <strong>regrese</strong><br />

Cíl:<br />

odhad parametrů a 1 , . . . , a n v <strong>nelineární</strong> empirické formuli<br />

y = f (x, a) .<br />

Budeme minimalizovat součet čtverců odchylek<br />

S(a) =<br />

m∑ (f (x j , a) − y j) 2 ∑ m<br />

= qj 2 (a) ,<br />

j=1<br />

j=1<br />

kde q j je residuum j−tého měřeného bodu. Označme a + bod, v němž součet<br />

čtverců S(a) nabývá svého minima. Hodnotu a + hledáme jako limitu tzv.<br />

minimizující posloupnosti a k tak, aby platilo<br />

S(a k+1 ) < S(a k ) .


Vyhodnocování experimentálních dat Základní model lineární <strong>regrese</strong> Nelineární <strong>regrese</strong><br />

Taylorův rozvoj funkce f (zanedbáme členy vyššího řádu než 1):<br />

f (x, a) ≈ f (x, a k ) + grad T a f (x, ak ) (a − a k )<br />

⇐⇒<br />

f (x, a) ≈ f (x, a k ) +<br />

Vyhodnot’me aproximativní formuli<br />

n∑<br />

j=1<br />

∂f (x, a k )<br />

∂a j<br />

(a j − a k j ) .<br />

y − f (x, a k ) =<br />

n∑<br />

j=1<br />

∂f (x, a k )<br />

∂a j<br />

△a k j .<br />

Označme Γ(a) Jacobiho matici,<br />

⎛<br />

∂f (x 1 , a) ∂f (x 1 , a)<br />

. . .<br />

∂a 1 ∂a 2 Γ(a) =<br />

⎜ .<br />

⎝ ∂f (x m , a) ∂f (x 1 , a)<br />

. . .<br />

∂a 1 ∂a 2<br />

∂f (x 1 , a)<br />

∂a n<br />

.<br />

∂f (x m , a)<br />

∂a n<br />

⎞<br />

.<br />

⎟<br />


Vyhodnocování experimentálních dat Základní model lineární <strong>regrese</strong> Nelineární <strong>regrese</strong><br />

Hledané řešení:<br />

(<br />

−1<br />

△ + a k = − Γ T (a k ) Γ(a )) k Γ T (a k )q(a k ) ,<br />

kde q = (q 1 , . . . , q m). Pomocí △ + a k vypočteme další iteraci<br />

a k+1 = a k + λ△ + a k , λ ∈ (0, 1〉 .<br />

První hodnota: λ = 1. Je-li S(a k+1 ) ≥ S(a k ), zmenšíme λ.<br />

Výpočet provádíme pro<br />

Γ T (a k ) Γ(a k )<br />

} {{ } △+ a k = −Γ T (a k ) q(a k ) .<br />

matice n × n<br />

Proces ukončíme, je-li ||△ + a k || menší, než zadaná přesnost.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!