ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Fakulta strojní Ústav přístrojové a řídicí techniky BAKALÁŘSKÁ PRÁCE Metoda PCA a vícerozměrová analýza falešných sousedů pro posouzení neurčitosti redukovaného stavového vektoru provozních dat energetického zařízení 2010 Vladimír Malý
2
Anotační list Jméno autora: Název DP: Vladimír Malý Metoda PCA a vícerozměrová analýza falešných sousedů pro posouzení neurčitosti redukovaného stavového vektoru provozních dat energetického zařízení Rok: 2010 Obor studia: Ústav/odbor: Vedoucí BP: Informační a automatizační technika Přístrojová a řídící technika Ing. Ivo Bukovský, Ph.D. Bibliografické údaje: počet stran: 53 počet obrázků 27 počet tabulek 3 počet příloh 1 Klíčová slova: Keywords: PCA, vícerozměrová analýza falešných sousedů, stavový vektor, redukce dimenze, predikce, neurčitost PCA, Multiscale False Neighbors Analysis, state vector, dimension reduction, prediction, uncertainty 3
Anotace: Tato práce je případovou studií aplikací metod zpracování dat pro odhad stavového vektoru energetického zařízení a posouzení neurčitosti vstupvýstup pro potřeby predikce pomocí neuronových sítí. Kromě tradiční korelační analýzy a metody hlavních komponent (PCA Principal Component Analysis) je představena netradiční metodika vícerozměrové analýzy falešných sousedů (MSFNA Multiscale false neighbors analysis). Tato nová metodika slouží jako podpůrný nástroj pro rekonstrukci stavového prostoru pro potřeby modelování z reálných dat (predikce, řízení, klasifikace, detekce chyb) v případě složitých dynamických systémů, kde matematicko-fyzikální analýza není dostupná, a kde vzájemné závislosti systémových proměnných jsou komplikované. Jako studie vlivu redukce délky stavového vektoru metodou PCA je metodou MSFNA prezentováno posouzení neurčitosti stavového vektoru pro potřeby predikce. V rámci práce je navržen odhad stavového vektoru elektrárenského kotle pro účely predikce emisních plynů NOx elektrárny Mělník 1. Abstract: This work is a case study of application of data processing methods to state vector estimation of energetic facility and its input-output uncertainty evaluation for prediction purposes by neural networks. Except traditional correlation analysis and Principal Component Analysis (PCA), a nontraditional technique of Multiscale False Neighbors Analysis (MSFNA) is introduced and studied. This new method can be used as supporting tool for state space reconstruction for data based modeling needs (prediction, control, classification, fault detection) in case of complicated dynamic systems, where mathematic-physical analysis is not available and where cross-correlations of system variables are complex. The PCA dimension reduction of an estimated system state vector is analysed by applying MSFNA from the point of input-output data uncertainty for prediction purposes. Within the scope of this work, estimations of state vectors of coal burning furnace at power plant Mělník are analysed for prediction purposes of NOx emissions. 4
Prohlášení Prohlašuji, že jsem tuto bakalářskou práci vypracoval samostatně s tím, že její výsledky mohou být dále použity podle uvážení vedoucího diplomové práce jako jejího spoluautora. Souhlasím také s případnou publikací výsledků diplomové práce nebo její podstatné části, pokud budu uveden jako její spoluautor. V Praze dne Vladimír Malý 5
Poděkování Děkuji Ing. Ivu Bukovskému, Ph.D. za odborné vedení této práce, inspirativní podněty, mnoho cenných připomínek a také za čas, který mi věnoval při diskuzích a konzultacích. Chci zde také poděkovat Libuši, za její trpělivost a pochopení. 6
Obsah Seznam obrázků... 8 Seznam tabulek... 9 Použité zkratky a symboly... 10 1 Úvod... 11 2 Popis dat... 13 2.1 Měřená data EME_I... 13 2.2 Korelace jednotlivých veličin... 15 2.3 Korelační analýza a popis dat s činností všech mlýnů - D1... 15 2.3.1 Součet absolutních hodnot korelací D1... 22 2.4 Korelační analýza a popis dat se selháním mlýnů D2... 22 2.4.1 Součet absolutních hodnot korelací D2... 29 3 PCA pro redukci rozměru vstupního vektoru... 29 4 Vícerozměrová metoda falešných sousedů... 35 4.1 MSFNA data s činností všech mlýnů - D1... 39 4.2 MSFNA popis dat se selháním mlýnů D2... 42 5 Závěr... 44 Použitá literatura... 46 Přílohy... 47 7
Seznam obrázků Obr. 1: Principielní schéma obecného modelu a označení vstupního vektoru veličin x a výstupní veličiny y i... 12 Obr. 2: Vstupní veličiny x 1 (k) x 30 (k), kdy jsou všechny uhelné mlýny v provozu (D1) ; perioda vzorkování je 5s; nahoře měřená dat, dole data normalizovaná... 16 Obr. 3: Výstupní veličina y(k) (NOx), kdy jsou všechny uhelné mlýny v provozu (D1); perioda vzorkování je 5s... 16 Obr. 4: Průběh veličin x 27..x 30, dodávka paliva z mlýna 1 až 4, kdy jsou všechny mlýny v provozu (D1); perioda vzorkování je 5s... 17 Obr. 5: Grafické znázornění maximálních korelačních koeficientů vstupních veličin x1..x30 vzhledem k výstupní veličině y5 pro data D1... 19 Obr. 6: Grafické znázornění zpoždění n1, při kterém nabývají korel. koeficienty vstupních veličin x1..x30 maximálních hodnot vzhledem k výstupní veličině y5 pro data D1... 20 Obr. 7: Průběh korelačních koeficientů vstupních veličin k výstupní veličině y5 (NOx) pro různý počet kroků predikce n1. Data s činností všech mlýnů (D1)... 21 Obr. 8: Součet korelací veličin x1..x30 vzhledem k y5 (NOx) pro zpoždění n1(lag); Data D1... 22 Obr. 9: Vstupní veličiny x 1 (k) x 30 (k), kdy se objevují výpadky uhelných mlýnů(d2); perioda vzorkování je 5s; nahoře měřená dat, dole data normalizovaná... 23 Obr. 10: Výstupní veličina y(k) (NOx), kdy se objevují výpadky uhelných mlýnů(d2); perioda vzorkování je 5s... 23 Obr. 11: Průběh veličin x27..x30, dodávka paliva z mlýna 1 až 4, kdy jsou zaznamenány výpadky (Mlýn 1&3 mezi vzorky 200 až 300 a Mlýn 1 mezi vzorky 3200 až 4000.; data D2; perioda vzorkování je 5s... 24 Obr. 12: Grafické znázornění maximálních korelačních koeficientů vstupních veličin x1..x30 vzhledem k výstupní veličině y5 pro data D2... 26 Obr. 13:Grafické znázornění zpoždění n1, při kterém nabývají korel. koeficienty vstupních veličin x1..x30 maximálních hodnot vzhledem k výstupní veličině y5 pro data D2... 27 Obr. 14: Průběh korelačních koeficientů vstupních veličin k výstupní veličině y5 (NOx) pro různý počet kroků predikce n1 (Lag). Data se selháním mlýnů. (D2)... 28 Obr. 15:Součet korelací veličin x1..x30 vzhledem k y5 (NOx) pro zpoždění n1 (lag). Data D2... 29 Obr. 16: Závislost poměru R a počtu vlastních vektorů seřazených od největšího po nejmenší. Svislá osa vyjadřuje poměr R násobený 100 a vyjádřený v %. Data D1... 32 Obr. 17: Závislost poměru R a počtu vlastních vektorů seřazených od největšího po nejmenší. Svislá osa vyjadřuje poměr R násobený 100 a vyjádřený v %. Data D2... 32 Obr. 18: Průběh R-počet vlastních vektorů pro počet předchozích hodnot měření n2=60 a sadu dat D1; po redukci dimenze na m=300 je poměr R=0,98... 33 Obr. 19: Průběh R-počet vlastních vektorů pro počet předchozích hodnot měření n2=60 a sadu dat D2; po redukci dimenze na m=300 je poměr R=0,99... 34 Obr. 20: Koncept falešných sousedů (FN). Zobrazené dva body, představující stavy systému, mohou být považovány za falešné sousedy, promítneme-li je do prostoru s nižší dimenzí, kde není splněna podmínka jednoznačnosti zobrazení f (x)=y... 35 Obr. 21: Matice falešných sousedů (False Neighbors Matrix FNM, [2]), náčrt základní myšlenky transformace 2D analýzy falešných sousedů do 1D problému; buňky na hlavní diagonále obsahují počty falešných sousedů se zajímavými vlastnostmi počty FN se snižují ve všech směrech od horní buňky diagonály... 37 Obr. 22: Pro redukovaná data D1 pomocí PCA zobrazen součet falešných sousedů na hlavní diagonále se zvětšujícím se zpožděním (nebo také s počty kroků predikce). Horní 8
modrá linie odpovídá n2=5 (počet minulých hodnot měřených veličin) a směrem dolů n2 vzrůstá. Spodní linie odpovídá n2=100. Hodnoty n1 odpovídají pětisekundovému vzorkování, tj. n1=12 odpovídá jedné minutě. Počet falešných sousedů vykazuje minimum pro n2=100 na hodnotě zpoždění n1=20.... 40 Obr. 23: Průběh součtu falešných sousedů na hlavní diagonále vzhledem k počtu kroků predikce n1 pro počet předchozích hodnot měřených veličin n2=30, tj. pro vektor x(k) uvažujeme vstupní veličiny x1..x30 a třicet jejich minulých hodnot. Součet FN na hlavní diagonále strmě klesá do n1=15, pak roste do hodnoty n1=60 a pak dále klesá až do n1=90. Redukovaná data D1... 40 Obr. 24: Zobrazena závislost součtu falešných sousedů na hlavní diagonále se zvětšujícím se počtem uvažovaných minulých hodnot měření n2. Zde je důležitý trend poklesu součtu FN na hlavní diagonále, nikoliv rozlišení jednotlivých zpoždění n1. Je zřejmé, že neurčitost ve smyslu (4.1) strmě klesá až do cca n2=20 a zároveň, že zvyšování n2 nad hodnotu cca 80 nemá význam, protože zde FN prakticky neklesají... 41 Obr. 25 Součty falešných sousedů na hlavní diagonále se zvětšujícím se zpožděním (počty kroků predikce). Horní modrá linie odpovídá n2=5 (počet minulých hodnot měřených veličin) a směrem dolů n2 vzrůstá. Spodní linie odpovídá n2=100. Hodnoty n1 odpovídají pětisekundovému vzorkování, tj. n1=12 odpovídá jedné minutě. Počet falešných sousedů vykazuje minimum pro n2=100 na hodnotě zpoždění n1=5, (data D2 vždy redukovaná metodou PCA na délku 300)... 42 Obr. 26: Průběh součtu falešných sousedů na hlavní diagonále vzhledem k počtu kroků predikce n1 pro počet předchozích hodnot měřených veličin n2=30, tj. pro vektor x(k) uvažujeme vstupní veličiny x1...x30 a třicet jejich minulých hodnot. Součet FN na hlavní diagonále strmě roste (data D2 redukovaná metodou PCA na délku 300).... 43 Obr. 27: Pro redukovaná data D2 pomocí PCA zobrazen součet falešných sousedů na hlavní diagonále se zvětšujícím se zpožděním (nebo také s počty kroků predikce). Horní žlutá linie odpovídá n2=100 (počet minulých hodnot měřených veličin) a směrem dolů n2 klesá. Spodní linie odpovídá n2=5. Hodnoty n1 odpovídají pětisekundovému vzorkování, tj. n1=12 odpovídá jedné minutě. Počet falešných sousedů vykazuje minimum pro n2=100 na hodnotě zpoždění n1=5. (pro data D1 viz. Obr. 24)... 43 Seznam tabulek Tab. 1: Tabulka veličin systému spalovacího procesu - v EME I... 14 Tab. 2: Maximální korelační koeficienty systémových veličin vztažené k modelované veličině y5 pro data D1 (všechny uhelné mlýny v provozu); Korelační koef. je maximální hodnota korelačního koeficientu dané veličiny; n1_max je hodnota n1, které max. korelační koeficient nastává.... 18 Tab. 3: Maximální korelační koeficienty systémových veličin vztažené k modelované veličině y5 pro data D2 (výpadky uhelných mlýnů); Korelační koef. je maximální hodnota korelačního koeficientu dané veličiny; n1_max je hodnota n1, které max. korelační koeficient nastává... 25 9
Použité zkratky a symboly Cx..kovarianční matice vektoru x DCFN..součet falešných sousedů podél diagonály EME I...elektrárna Mělník I FN falešní sousedé (False Neighbors) k..index diskrétního času při konstantním vzorkování MSFNA...vícerozměrová metoda falešných sousedů (Multiscale False Neighbors Analysis) n1..počet kroků predikce, také zpoždění n2..počet minulých hodnot veličin NN... neuronová síť (Neural Network) PCA..metoda hlavních komponent (Principal Component Analysis) PC...hlavní komponent (Principal Component) R..poměr součtu vlastních čísel (redukovaná dimenze vs. původní) x..odhad stavového vektoru systému, také vstupní vektor do modelu y i..i-tá výstupní (predikovaná) veličina systému (i=5 pro NOx) 10
1 Úvod Tato práce je studií nové pomocné metodiky pro analýzu trénovacích dat pro porovnání vhodnosti návrhů stavových vektorů pro prediktivní modely (neuronové sítě) komplikovaných systémů. Práce popisuje aplikaci korelační analýzy, metody (PCA...Principal Component Analysis [1] [8]). Představuje novou metodu, vícerozměrovou analýzu falešných sousedů (Multi-Scale False Neighbor Analysis...MSFNA [2]), pro posouzení odhadu stavového vektoru a posouzení neurčitosti matematického zobrazení vstup-výstup v měřených datech pro potřeby návrhu prediktivních modelů energetických zařízení [3] [4]. Metoda MSFNA slouží jako podpůrný nástroj pro rekonstrukci stavového prostoru pro potřeby modelování z reálných dat (predikce, řízení, klasifikace, detekce chyb) v případě složitých dynamických systémů, kde vzájemné závislosti systémových proměnných jsou komplikované. Pomocí metody PCA je ukázáno jak je možné redukovat dimenzi stavového vektoru systému a metodou MSFNA je prezentováno porovnání neurčitostí v trénovacích datech pro potřeby predikce. Cílem práce je posoudit odhady stavového vektoru energetického zařízení, uhelného kotle elektrárny EME1. Spalovací proces kotle, je případ dynamického systému, kde matematicko-fyzikální analýza není dostupná, a kde vzájemné závislosti systémových proměnných jsou komplikované. Průměrná spotřeba uhelného kotle je 10kg uhelného prachu za sekundu. Uhelný prach je dodáván současně ze 4 uhelných mlýnů. Při spalování uhelného prachu vznikají mimo jiné emise skleníkových plynů jako NOx, CO 2. Pro udržení limitů těchto plynů je nutné tyto plyny monitorovat a zároveň regulovat a dále optimalizovat samotný spalovací proces. Předmětný spalovací proces v Elektrárně Mělník I je monitorován třiceti vstupními (x 1...x 30 ) a šesti výstupními veličinami (y 1...y 6 ) jejichž význam je dán v Tab. 1 na str. 14. Stav kotle (spalovacího procesu) je dán nejen současnými hodnotami vstupních veličin, ale i jejich minulými hodnotami. Jejich konfigurace je odhadem stavového vektoru, který označíme x(k-n 1 ), kde k je diskrétní čas při konstantním vzorkování, n 1 je počet kroků predikce (toto označeni bylo vybráno účelně vzhledem k využití pro konfiguraci stavového vektoru v kap.3) 11
MATEMATICKÝ MODEL x ( k n1 ) yi ( k ) Obr. 1: Principielní schéma obecného modelu a označení vstupního vektoru veličin x a výstupní veličiny y i. Zahrneme-li, vzhledem k dynamické podstatě spalovacího procesu, k třiceti veličinám měřeným na vstupu i uvnitř procesu spalování i předchozí hodnoty měření, potom stavový vektor, který je vstupem do modelu, může nabývat velké délky (1800 i více vzhledem k optimálním intervalům zpoždění v závislostech mezi vstupy a výstupy). Problémy: 1) Volba veličin a délky historie měřených veličin pro odhad stavového vektoru x pro predikci NOx Vzhledem k tomu, že nevíme, jaké jsou skutečné (nelineární) vzájemné závislosti veličin, budeme vektor x sestavovat ze všech vstupních a interně měřených veličin. Vzhledem k specifikaci problému ve spolupráci s I&C Energo, nebudeme pro x uvažovat již naměřené hodnoty NOx ani ostatních výstupních veličin. 2) Neúnosná velikost vstupního vektoru x V našem případě, kdy je na výstupu z matematického modelu 6 výstupních veličin y 1 y6 a pro predikci každé z nich přivádíme do modelu stavový vektor kotle jako historii měřených veličin x1 x30, až 1800 vstupů i více, není již optimalizace (trénování NN) v reálném čase prakticky vhodná. Pro redukci počtu vstupních veličin použijeme metodu PCA [1] [8] která je známá i pro své vlastnosti filtrace šumu v měření. 3) Posouzení vhodnosti dat pro optimalizaci matematických modelů (např. neuronových sítí) Nejednoznačnost (neurčitost) v přiřazení vstupních dat k výstupním neumožňuje kvalitní optimalizaci matematického modelu. Cílem je najít takový odhad stavového 12
vektoru, který bude mít co nejmenší neurčitost v matematickém přiřazení vstupních dat k výstupním. Navrhovaná metoda MSNFA zavádí vícerozměrovou analýzu pro porovnání neurčitosti v datech (porovnání falešných sousedů). 2 Popis dat 2.1 Měřená data EME_I Vstupní veličiny x 1..x 30 jsou skutečné měřené hodnoty jako průtoky přiváděného vzduchu, teploty, tlaky a dodávky uhelného prachu z uhelných mlýnů. Jsou to buď přímo vstupní veličiny, nebo interně měřené veličiny, které mohou být použity jako vstupy modelu. Ačkoliv reálných výstupů ze systému je ve skutečnosti šest (T spal. na konci k.l, T spal. na konci k. P, O2 ve spalinách, CO ve spalinách, NOx ve spalinách a SO 2 ve spalinách), rozsah této práce umožňuje zaměření pouze na jednu výstupní veličinu. Zaměříme se na výstupní veličinu y5, která představuje množství NOx ve spalinách. Jsou k dispozici dvě sady dat. První sada dat nezahrnuje výpadky uhelných mlýnů (Obr. 2 a Obr. 3; označíme D1) Druhá sada dat tyto výpadky uhelných mlýnů zahrnuje (Obr. 9 a Obr. 10; označíme D2). Na původních datech, která byla s jedno-sekundovým vzorkováním, byl proveden pětisekundový průměr, pro částečné odstranění šumu a zároveň byla každá veličina normalizována tak, že se odečetla její střední hodnota a vydělila se svojí směrodatnou odchylkou. Normalizaci dat vyjadřuje vztah (2.1). x inorm ( xi x) =, (2.1) σ i kde xinorm je normalizovaná hodnota vzorku veličiny i, x i je hodnota veličiny i před normalizací, x je střední hodnota veličiny i a σ i je směrodatná odchylka téže veličiny. Následující tabulka popisuje označení veličin. Veličiny považované za vstupní do modelu jsou označeny x 1...x 30 a výstupní veličiny jsou označeny y 1...y 6. 13
Tab. 1: Tabulka veličin systému spalovacího procesu - v EME I Veličina Systémové číslo Popis x 1 B6_1141_01C T spal. za EKO2 L x 2 B6_1141_01D T spal. za EKO2 P x 3 B6_1321_04 P spalin v komoře x 4 B6_1321_04C P spalin v komoře L x 5 B6_1321_04D P spalin v komoře P x 6 B6_1403_03_KOR F Pára v parovodu KOR x 7 B6_1411_03C F vzduchu před VV x 8 B6_1411_04CP ZH F vzduchu před VV x 9 B6_1412_03AP ZH F prim.vzd.ml1 x 10 B6_1412_03BP ZH F prim.vzd.ml2 x 11 B6_1412_03EP ZH F prim.vzd.ml3 x 12 B6_1412_03FP ZH F prim.vzd.ml4 x 13 B6_1413_03A F chladící vzduch KV x 14 B6_1413_03B F chladící vzduch KV x 15 B6_1511_03A Q kyslík za EKO 2 L x 16 B6_1511_03B Q kyslík za EKO 2 P x 17 B6_1721_02A M26237 kl.sek.vzd.1. okr. x 18 B6_1721_02B M26238 kl.sek.vzd.2. okr. x 19 B6_1721_02E M26239 kl.sek.vzd.3. okr. x 20 B6_1721_02F M26240 kl.sek.vzd.4. okr. x 21 B6_1835_01C M26220 kl.jádr.vzd.ml1 x 22 B6_1836_01C M26224 kl.jádr.vzd. ML 2 x 23 B6_1837_01C M26228 kl.jádr.vzd. ML 3 x 24 B6_1838_01C M26232 kl.jádr.vzd. ML 4 x 25 B6_1843_01C M26167 kl.terc.vzd.l x 26 B6_1844_01C M26166 kl.terc.vzd.p x 27 B6_MO61_MN Množství paliva mlýn 1 x 28 B6_MO62_MN Množství paliva mlýn 2 x 29 B6_MO63_MN Množství paliva mlýn 3 x 30 B6_MO64_MN Množství paliva mlýn 4 y 1 B6_1146_01C T spal. na konci k. L y 2 B6_1146_01D T spal. na konci k. P y 3 B6_HNA26_CQ002 O2 ve spalinách y 4 B6_HNA26_CQ003 CO ve spalinách y 5 B6_HNA26_CQ004 NOx ve spalinách y 6 B6_HNA26_CQ005 SO2 ve spalinách 14
2.2 Korelace jednotlivých veličin Pro odhad závislosti všech veličin, vstupních i výstupních, na modelované veličině y5 byly v první fázi zjištěny maximální koeficienty lineární korelace veličin pro různé počty kroků predikce n1. Korelace v jednotlivých krocích predikce jsme zjistili tak, že pro normalizovaná a převzorkovaná (pětisekundový průměr) data jsme vypočetli pro každé n1 korelační matici. Např. pro n1=10 znamená, že vektor veličiny y5 byl posunut o 10 vzorků dopředu vzhledem k vektorům vstupních veličin x1..x30. Z celkové korelační matice jsme vybrali sloupec dané veličiny, který obsahuje korelační koeficienty dané veličiny pro daný počet kroků predikce n1. Zde ukážeme postup výpočtu obecně korelačního koeficientu v korelační matici vstupního vektoru x pro jeden disk. čas predikce n1. r xixj = n k = 1 ( x ) xi xi )( x j j nσ σ, (2.2) i j kde x i, x j jsou veličiny, pro které počítáme korelační koeficient r xixj, x, x jsou střední hodnoty a σ, σ jsou směrodatné odchylky posuzovaných veličin, n je délka vektoru i j veličin. Tímto způsobem byla počítána korelační matice pro všechny počty kroků predikce n1. i j 2.3 Korelační analýza a popis dat s činností všech mlýnů - D1 Vlastní průběhy korelací jsou zobrazeny pro data se všemi uhelnými mlýny v provozu (D1) na Obr. 7. Dynamičnost procesu spalování naznačuje samotný průběh korelačních koeficientů jednotlivých veličin vzhledem k modelované výstupní veličině y5 a navíc se korelace jednotlivých veličin s výstupní veličinou y5 v závislosti na počtu kroků predikce n1 výrazně liší. 15
Vstupní veličiny x 1.. x 30 pro data s činností všech uhelných mlýnů jsou zobrazeny na Obr. 2. V horní části obrázku je graf nenormalizovaných hodnot, ve spodní části jsou hodnoty normalizované. Veličiny x 27... x 30 představují množství paliva jednotlivých mlýnů dodávané do spalovacího procesu. Tyto veličiny jsou samostatně ukázány na Obr. 4. Průběh výstupní veličiny y je na Obr. 3. input variables (real power plant) x1, x2,..., x30 400 200 0 50 100 150 200 250 t 300 normalized input variables (real power plant) k x1, x2,..., x30 2 0-2 50 100 150 200 250 t 300 k Obr. 2: Vstupní veličiny x 1 (k) x 30 (k), kdy jsou všechny uhelné mlýny v provozu (D1) ; perioda vzorkování je 5s; nahoře měřená dat, dole data normalizovaná. -0.5 the normalized output variable of interest (real power plant) -1 y -1.5-2 0 50 100 150 200 250 k t 300 Obr. 3: Výstupní veličina y(k) (NOx), kdy jsou všechny uhelné mlýny v provozu (D1); perioda vzorkování je 5s 16
6 Mlyn 1 (x27) value 5 4 3 0 1000 2000 3000 4000 5000 6000 k Mlyn 2 (x28) 6 value 5 value value 4 0 1000 2000 3000 4000 5000 6000 k Mlyn 3 (x29) 6 5 4 3 0 1000 2000 3000 4000 5000 6000 k Mlyn 4 (x30) 5 4.5 4 3.5 0 1000 2000 3000 4000 5000 6000 k Obr. 4: Průběh veličin x 27..x 30, dodávka paliva z mlýna 1 až 4, kdy jsou všechny mlýny v provozu (D1); perioda vzorkování je 5s Tab. 2 na str. 18 ukazuje, že s výstupní veličinou y5 jsou korelované také výstupní veličiny y1..teplota na konci k. L, y2..teplota na konci k P a y6..so 2 ve spalinách. Nejvíce korelované vstupní veličiny jsou: x2.. teplota spalin za EKO2 P, x9 až x12..zf F prim.vzduchu mlýnu 1 až 4, x27 až x30..množství paliva mlýn 1 až 4. Zatímco nejméně lineárně korelované veličiny s výstupní veličinou y5 jsou výstupní veličina y4..co ve spalinách a x3 až x5..tlak spalin v komoře. Ve třetím sloupci tabulky, n1_max označuje počet kroků predikce, kdy korelační koeficient nabývá maximální hodnoty pro danou veličinu. Tabulka Tab. 2 je ilustrativní, lepší přehled o průběhu korelací, v datech podávají obrázky Obr. 5, Obr. 6 a Obr. 7. Je nutné připomenout, že se zde jedná o komplikovaný systém, kde korelace nemusejí být pouze lineární. 17
Tab. 2: Maximální korelační koeficienty systémových veličin vztažené k modelované veličině y5 pro data D1 (všechny uhelné mlýny v provozu); Korelační koef. je maximální hodnota korelačního koeficientu dané veličiny; n1_max je hodnota n1, které max. korelační koeficient nastává. Veličina Korelační koef. n1_max Systémové číslo Popis x 1 0,422 349 B6_1141_01C T spal. za EKO2 L x 2 0,506 313 B6_1141_01D T spal. za EKO2 P x 3 0,072 886 B6_1321_04 P spalin v komoře x 4 0,071 889 B6_1321_04C P spalin v komoře L x 5 0,039 894 B6_1321_04D P spalin v komoře P x 6 0,305 373 B6_1403_03_KOR F Pára v parovodu KOR x 7 0,451 398 B6_1411_03C F vzduchu před VV x 8 0,452 396 B6_1411_04CP ZH F vzduchu před VV x 9 0,574 486 B6_1412_03AP ZH F prim.vzd.ml1 x 10 0,578 486 B6_1412_03BP ZH F prim.vzd.ml2 x 11 0,573 487 B6_1412_03EP ZH F prim.vzd.ml3 x 12 0,575 494 B6_1412_03FP ZH F prim.vzd.ml4 x 13 0,203 371 B6_1413_03A F chladící vzduch KV x 14 0,248 364 B6_1413_03B F chladící vzduch KV x 15 0,376 176 B6_1511_03A Q kyslík za EKO 2 L x 16 0,495 179 B6_1511_03B Q kyslík za EKO 2 P x 17 0,306 258 B6_1721_02A M26237 kl.sek.vzd.1. okr. x 18 0,204 424 B6_1721_02B M26238 kl.sek.vzd.2. okr. x 19 0,306 258 B6_1721_02E M26239 kl.sek.vzd.3. okr. x 20 0,207 423 B6_1721_02F M26240 kl.sek.vzd.4. okr. x 21-0,184 587 B6_1835_01C M26220 kl.jádr.vzd.ml1 x 22-0,214 375 B6_1836_01C M26224 kl.jádr.vzd. ML 2 x 23-0,225 563 B6_1837_01C M26228 kl.jádr.vzd. ML 3 x 24-0,228 493 B6_1838_01C M26232 kl.jádr.vzd. ML 4 x 25 0,177 360 B6_1843_01C M26167 kl.terc.vzd.l x 26 0,140 380 B6_1844_01C M26166 kl.terc.vzd.p x 27 0,329 575 B6_MO61_MN Množství paliva mlýn 1 x 28 0,585 696 B6_MO62_MN Množství paliva mlýn 2 x 29 0,331 564 B6_MO63_MN Množství paliva mlýn 3 x 30 0,420 399 B6_MO64_MN Množství paliva mlýn 4 y 1 0,653 110 B6_1146_01C T spal. na konci k. L y 2 0,630 1 B6_1146_01D T spal. na konci k. P y 3 0,543 1 B6_HNA26_CQ002 O2 ve spalinách y 4-0,080 900 B6_HNA26_CQ003 CO ve spalinách y 5 1,000 1 B6_HNA26_CQ004 NOx ve spalinách y 6 0,687 1 B6_HNA26_CQ005 SO2 ve spalinách 18
1.2 1 0.8 0.6 0.4 0.2 0-0.2-0.4 index veličiny Veličina 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 x28 x29 x30 y1 y2 y3 y4 y5 y6 Sum of Korelační koef. D1 Obr. 5: Grafické znázornění maximálních korelačních koeficientů vstupních veličin x1..x30 vzhledem k výstupní veličině y5 pro data D1 19
1000 900 800 700 600 500 400 300 200 100 0 index veličiny Veličina 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 x28 x29 x30 y1 y2 y3 y4 y5 y6 best lag D1 Obr. 6: Grafické znázornění zpoždění n1, při kterém nabývají korel. koeficienty vstupních veličin x1..x30 maximálních hodnot vzhledem k výstupní veličině y5 pro data D1 20
Přehledné grafické znázornění maximálních korelačních koeficientů vstupních veličin x1..x30 vzhledem k výstupní veličině y5 a k nim příslušných zpoždění (počet kroků predikce) n1 pro data D1 je na Obr. 5 a Obr. 6. Na Obr. 7 je průběh korelačních koeficientů jednotlivých veličin s výstupní veličinou y5 pro data D1 omezena na n1=200. Correlation coeficient Correlation of Inputs X1,..X10 to Output Y5 (NOx) 0.6 X1 X2 0.4 X3 X4 0.2 X5 X6 X7 0 X8 X9 X10-0.2 0 20 40 60 80 100 120 140 160 180 200 Lag Correlation coeficient Correlation of Inputs X11,..X20 to Output Y5 (NOx) 0.7 0.6 X11 X12 0.5 X13 0.4 X14 X15 0.3 X16 X17 0.2 X18 0.1 X19 X20 0 0 20 40 60 80 100 120 140 160 180 200 Lag Correlation coeficient 0.6 Correlation of Inputs X21,..X30 to Output Y5 (NOx) X21 0.4 X22 X23 0.2 X24 X25 0 X26 X27-0.2 X28 X29 X30-0.4 0 20 40 60 80 100 120 140 160 180 200 Lag Obr. 7: Průběh korelačních koeficientů vstupních veličin k výstupní veličině y5 (NOx) pro různý počet kroků predikce n1. Data s činností všech mlýnů (D1) Zajímavé jsou lineární korelace veličin x9.. ZH F prim.vzd.ml1, x10.. ZH F prim.vzd.ml2, x11.. ZH F prim.vzd.ml3 a x28.. množství paliva mlýn 2, které mají koeficienty lineární kombinace vyšší než 0,5 (Obr. 7). Nicméně, až po cca n1=60 jsou průběhy korelačních koeficientů relativně stabilní. Naopak největší změny korel. koeficientů probíhají mezi n1=20 až n1=60, tedy v čase mezi 2 a 5 minutou. 21
2.3.1 Součet absolutních hodnot korelací D1 Ve skutečnosti na vstupy do modelu spalovacího procesu přivádíme všechny vstupní veličiny x1..x30, zajímá nás, při kterém n1 je součet korelačních koeficientů všech veličin největší. Z toho důvodu sečteme korelační koeficienty veličin x1..x30 vzhledem k y5 pro každý n1=1 až n1=200. Jak jsme uvedly signál je vzorkován po pětisekundových intervalech, tj. n1=200 odpovídá více jak sedmnáctiminutovému zpoždění. Datům, kde nejsou zaznamenány žádné výpadky veličin x27..x30 (D1) odpovídá závislost sumy korelací na počtu kroků predikce (zpoždění) na Obr. 8. Součet koeficientů lineární korelace plynule narůstá až ke svému maximu okolo n1=80 (cca 6 min). 9.5 Sum of absolute correlations to lag for NOx Sum of absolute correlations 9 8.5 8 7.5 7 6.5 0 20 40 60 80 100 120 140 160 180 200 lag Obr. 8: Součet korelací veličin x1..x30 vzhledem k y5 (NOx) pro zpoždění n1(lag); Data D1 2.4 Korelační analýza a popis dat se selháním mlýnů D2 Pro data se selháním některých uhelných mlýnů (D2) jsou vstupní veličiny x1..x30 zobrazeny na Obr. 9. V horní části obrázku je opět graf nenormalizovaných hodnot, ve spodní části jsou hodnoty normalizované. Veličiny x27..x30 představují množství paliva jednotlivých mlýnů dodávané do spalovacího procesu. Tyto veličiny jsou samostatně ukázány na Obr. 11 na str.24. Průběh výstupní veličiny y je na Obr. 10. Z Obr. 11 je patrné, že data zaznamenávají výpadek uhelných mlýnů 1 a 3 mezi vzorky 250 a 300 a výraznější výpadek mlýnu 1 v intervalu mezi vzorky 3200 a 4000. Z chování průběhu veličin se dá usuzovat, že v případě výpadku jednoho z mlýnů ostatní mlýny kompenzují 22
výpadek dodávky paliva zvýšením výkonu, jak je patrno u mlýnů 2,3,4 mezi vzorky 3200 a 4000. input variables (real power plant, mills outages) x1, x2,..., x30 400 200 0 0 50 100 150 200 250 300 t normalized input variables (real power plant, mills outages) 4 x1, x2,..., x30 2 0-2 -4 50 100 150 200 250 t 300 Obr. 9: Vstupní veličiny x 1 (k) x 30 (k), kdy se objevují výpadky uhelných mlýnů(d2); perioda vzorkování je 5s; nahoře měřená dat, dole data normalizovaná. 3 the normalized output variable of interest (real power plant, mills outages) 2 y 1 0-1 0 50 100 150 200 250 t 300 Obr. 10: Výstupní veličina y(k) (NOx), kdy se objevují výpadky uhelných mlýnů(d2); perioda vzorkování je 5s 23
6 Mlyn 1 (x27) value 4 2 0 0 500 1000 1500 2000 2500 3000 3500 4000 k Mlyn 2 (x28) 8 value 6 4 0 500 1000 1500 2000 2500 3000 3500 4000 k Mlyn 3 (x29) 10 value 5 value 0 0 500 1000 1500 2000 2500 3000 3500 4000 k Mlyn 4 (x30) 7 6 5 4 0 500 1000 1500 2000 2500 3000 3500 4000 k Obr. 11: Průběh veličin x27..x30, dodávka paliva z mlýna 1 až 4, kdy jsou zaznamenány výpadky (Mlýn 1&3 mezi vzorky 200 až 300 a Mlýn 1 mezi vzorky 3200 až 4000.; data D2; perioda vzorkování je 5s Vlastní průběhy korelačních koeficientů jsou zobrazeny pro data s výpadky uhelných mlýnů (D2) na Obr. 14. Hodnoty korelačních koeficientů pro data D2, zpoždění n1=0 a výstupní veličinu y5 shrnuje následující Tab. 3. Zde jsou opět výrazněji korelované výstupní veličiny y1.. T spal. na konci k.l a y2.. T spal. na konci k. P, nikoliv však veličina y6..so 2 ve spalinách. Absolutní hodnoty korelačních koeficientů vstupních veličin se zvýšili. Z pohledu dodávky paliva je zajímavé, že kromě veličiny x27..množství paliva mlýn 1, který má korelační koeficient 0,92 vzhledem k veličině y5, ostatní mlýny nevykazují výrazné korelace a korelační koeficienty jsou dokonce záporné. Grafy maximálních korelačních koeficientů vstupních veličin x1..x30 vzhledem k výstupní veličině y5 a k nim příslušných zpoždění n 1pro data D1 je na Obr. 12 a Obr. 13. 24
Tab. 3: Maximální korelační koeficienty systémových veličin vztažené k modelované veličině y5 pro data D2 (výpadky uhelných mlýnů); Korelační koef. je maximální hodnota korelačního koeficientu dané veličiny; n1_max je hodnota n1, které max. korelační koeficient nastává. Veličina Korelační koef. n1_max Systémové číslo Popis x 1 0,792207 32 B6_1141_01C T spal. za EKO2 L x 2 0,798015 49 B6_1141_01D T spal. za EKO2 P x 3 0,075825 200 B6_1321_04 P spalin v komoře x 4 0,06431 199 B6_1321_04C P spalin v komoře L x 5 0,120327 200 B6_1321_04D P spalin v komoře P x 6 0,830889 85 B6_1403_03_KOR F Pára v parovodu KOR x 7 0,658716 175 B6_1411_03C F vzduchu před VV x 8 0,65876 175 B6_1411_04CP ZH F vzduchu před VV x 9 0,835017 24 B6_1412_03AP ZH F prim.vzd.ml1 x 10-0,60111 200 B6_1412_03BP ZH F prim.vzd.ml2 x 11-0,60088 200 B6_1412_03EP ZH F prim.vzd.ml3 x 12-0,60107 200 B6_1412_03FP ZH F prim.vzd.ml4 x 13 0,740578 74 B6_1413_03A F chladící vzduch KV x 14 0,74534 69 B6_1413_03B F chladící vzduch KV x 15-0,04341 22 B6_1511_03A Q kyslík za EKO 2 L x 16-0,14792 24 B6_1511_03B Q kyslík za EKO 2 P x 17 0,809535 73 B6_1721_02A M26237 kl.sek.vzd.1. okr. x 18 0,804038 60 B6_1721_02B M26238 kl.sek.vzd.2. okr. x 19 0,809886 73 B6_1721_02E M26239 kl.sek.vzd.3. okr. x 20 0,805046 60 B6_1721_02F M26240 kl.sek.vzd.4. okr. x 21 0,834012 1 B6_1835_01C M26220 kl.jádr.vzd.ml1 x 22-0,52582 200 B6_1836_01C M26224 kl.jádr.vzd. ML 2 x 23-0,53466 200 B6_1837_01C M26228 kl.jádr.vzd. ML 3 x 24-0,5372 200 B6_1838_01C M26232 kl.jádr.vzd. ML 4 x 25 0,817203 81 B6_1843_01C M26167 kl.terc.vzd.l x 26 0,813999 87 B6_1844_01C M26166 kl.terc.vzd.p x 27 0,928294 33 B6_MO61_MN Množství paliva mlýn 1 x 28-0,19636 200 B6_MO62_MN Množství paliva mlýn 2 x 29-0,28564 200 B6_MO63_MN Množství paliva mlýn 3 x 30-0,18375 200 B6_MO64_MN Množství paliva mlýn 4 y 1 0,704488 36 B6_1146_01C T spal. na konci k. L y 2 0,680939 11 B6_1146_01D T spal. na konci k. P y 3-0,41977 1 B6_HNA26_CQ002 O2 ve spalinách y 4 0,055516 168 B6_HNA26_CQ003 CO ve spalinách y 5 1 1 B6_HNA26_CQ004 NOx ve spalinách y 6-0,10003 1 B6_HNA26_CQ005 SO2 ve spalinách 25
1.2 1 0.8 0.6 0.4 0.2 0-0.2-0.4-0.6-0.8 index veličiny Veličina 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 x28 x29 x30 y1 y2 y3 y4 y5 y6 Nejlepší korelační koef. D2 Obr. 12: Grafické znázornění maximálních korelačních koeficientů vstupních veličin x1..x30 vzhledem k výstupní veličině y5 pro data D2 26
Obr. 13:Grafické znázornění zpoždění n1, při kterém nabývají korel. koeficienty vstupních veličin x1..x30 maximálních hodnot vzhledem k výstupní veličině y5 pro data D2 27
Correlation coeficient Correlation coeficient Correlation of Inputs X1,..X10 to Output Y5 (NOx) 1 X1 X2 0.5 X3 X4 0 X5 X6 X7-0.5 X8 X9 X10-1 0 20 40 60 80 100 120 140 160 180 200 Lag Correlation of Inputs X11,..X20 to Output Y5 (NOx) 1 X11 X12 0.5 X13 X14 0 X15 X16 X17-0.5 X18 X19 X20-1 0 20 40 60 80 100 120 140 160 180 200 Lag Correlation coeficient 1 Correlation of Inputs X21,..X30 to Output Y5 (NOx) X21 X22 0.5 X23 X24 0 X25 X26 X27-0.5 X28 X29 X30-1 0 20 40 60 80 100 120 140 160 180 200 Lag Obr. 14: Průběh korelačních koeficientů vstupních veličin k výstupní veličině y5 (NOx) pro různý počet kroků predikce n1 (Lag). Data se selháním mlýnů. (D2) Ačkoliv absolutní korelace jednotlivých veličin x1..x30 vzhledem k modelované výstupní veličině y5 jsou pro data D2 výrazně vyšší než pro D1, jak je vidět na průběhu korelačních koeficientů (Obr. 14), není zde vidět oblast se změnou korelačních koeficientů, dynamikou, která je vidět na Obr. 7 pro data D1. Průběh korelačních koeficientů se ustálí okolo n1=60, stejně jako u dat D1. Je zajímavé, že modelovaná veličina y5 má výraznější korelační koeficient pouze k jednomu zdroji paliva, a to jak v případě dat D1 tak i D2. 28
2.4.1 Součet absolutních hodnot korelací D2 Pro data s výpadky uhelných mlýnů, tedy výpadky veličin x27..x30 (Obr. 15) je maximum součtu korelací posunuto k hodnotě okolo n1=40 (cca 3 min). Výrazný je zde nárůst absolutní hodnoty součtu korelací. 18.5 Sum of absolute correlations to lag for NOx Sum of absolute correlations 18 17.5 17 16.5 0 20 40 60 80 100 120 140 160 180 200 lag Obr. 15:Součet korelací veličin x1..x30 vzhledem k y5 (NOx) pro zpoždění n1 (lag). Data D2 3 PCA pro redukci rozměru vstupního vektoru Uvažujeme-li, že je odhad stavového vektoru systému pro kvalitní predikci výstupní veličiny funkcí rozptylu dat, z kterých je odhad stavového vektoru složen, může být jeho původní dimenze zredukována do prostoru tzv. hlavních komponent (PC), jež je o nižší dimenzi než původní odhad stavového vektoru. Tento prostor hlavních komponent pokrývá většinu rozptylu v datech a také nízká hodnota rozptylu v datech je často považována za šum. Použití nižšího počtu hlavních komponent namísto vysokého počtu původních proměnných je obvyklým postupem v předzpracování dat, který mnohdy zlepší výsledky následných analýz pro potřeby klasifikace nebo predikce. Spalovací proces je v našem případě monitorován třiceti vstupními a šesti výstupními veličinami. Stav kotle (spalovacího procesu) je dán nejen současnými hodnotami vstupních veličin, ale i jejich minulými hodnotami. Vektor x vstupních veličin x1..x30 a jejich minulých hodnot jsme v úvodu označili jako odhad stavového vektoru x(k-n 1 ), kde 29
k je diskrétní čas při konstantním vzorkování, n 1 je počet kroků predikce. Nyní pohlížíme na odhad stavového vektoru x(k) v okamžiku k následovně x( k) x1 ( k n1 ) x1 ( k n1 1) x1 ( k n1 n2 ) x ( k n ), (2.3) = 2 1 x2( k n1 n2 ) x30 ( k n1 ) x30 ( k n1 n2 ) kde n 2 je počet uvažovaných předchozích hodnot měření vstupních veličin pro konfiguraci odhadu stavového vektoru pro potřeby predikce výstupní veličiny y5 za počet kroků predikce n 1. Vezmeme-li v úvahu 60 minulých hodnot veličin, bude mít vektor x(k) délku 1800 prvků. Pro potřeby optimalizace matematického modelu (trénování neuronových sítí) v reálném čase, je nutné délku vektoru x(k) zredukovat. Celková matice X měřených dat je potom složena z dílčích vektorů T x( k = 1) T x( k = 2) X = T x( k = N ) (2.4) Pomocí metody hlavních komponent (PCA) zredukujeme (dimenzi) vektoru x(k), tj. počet sloupců matice X následujícím způsobem. Matice X již obsahuje normalizovaná data. V případě, že bychom použili surová data, protože jsou měřena v různých jednotkách, bylo by vhodné je normalizovat, tak aby každá veličina měřena v různých jednotkách přispívala stejnou vahou. Nejprve vypočteme kovarianční matici C x již matice X jako C = XX T x. (2.5) 30
Pro kovarianční matici C x najdeme vektory e i a odpovídající vlastní čísla λ i. (Pro vysoké matice X není řešení triviální a používají se různé metody. Např. SVD - Singular Value Decomposition, algoritmus NIPALS - Nonlinear Iterative Partial Least Squares nebo řešení neuronovými sítěmi [9]) Seřadíme nalezené vlastní vektory podle jim odpovídajících vlastních čísel od největšího po nejmenší, vznikne ortogonální báze, kde první vlastní vektor udává směr největšího rozptylu dat, druhý vlastní vektor udává směr největšího rozptylu dat kolmý na směr prvního vlastního vektoru atd. Matice X pca vznikne jako lineární transformace matice X(k) přes transformační matici P (2.6). Matice P je matice vlastních vektorů, kdy vlastní vektory jsou orientovány jako řádky matice. X pca ( k ) = PX (2.6) Abychom zredukovali dimenzi vektoru x(k), tj. počet sloupců matice X provedeme transformaci za použití menšího počtu vlastních vektorů kovarianční matice, než byl jejich původní počet. Vybereme vektory, které odpovídají největším vlastním číslům matice C x. Nazvěme matici, která obsahuje v řádcích několik m prvních vlastních vektorů P m, pak můžeme vytvořit podobnou transformaci jako v (2.6). pca ( ) X k = P X (2.7) m Při redukci dimenze můžeme v zásadě postupovat dvěma způsoby. Buď vybrat pevný počet vlastních vektorů a získat tak určitou abstrakci dat, nebo zvolit pevný poměr R (2.8), což je poměr součtu vlastních čísel odpovídající vybraným m vlastním vektorům k součtu všech vlastních čísel. R = m i= 1 n i= i λi, (2.8) λi kde λ i je vlastní číslo odpovídající i-tému vlastnímu vektoru (vlastní vektory a čísla jsou seřazeny), n je původní dimenze dat, m je redukovaná dimenze dat. Závislost R na počtu vlastních vektorů kovarianční matice pro vektor x(k) vstupních proměnných spalovacího procesu s konfigurací n1=0 (počet kroků predikce) a n2=0 (počet 31
předchozích měření veličin) zobrazuje pro data D1 Obr. 16. Zde je mimo jiné vidět, že pro R=0,8, tedy pro zachování 80% rozptylu v datech D1, je potřeba pět prvních vlastních vektorů. Naproti tomu pro sadu dat D2 pět prvních vlastních vektorů pokrývá 90% rozptylu v těchto datech Obr. 17. Pro různé konfigurace vektoru x(k), tj. při různých variantách n1 a n2 (byly simulovány rozsahy n1=0-120, n2=0-120), se tento tvar průběhu zachovává. 100 R - počet vlastních vektorů n2=0, D1 80 R ( x 100 [%] ) 60 40 20 0 0 5 10 15 20 25 30 Počet vlastních vektorů Obr. 16: Závislost poměru R a počtu vlastních vektorů seřazených od největšího po nejmenší. Svislá osa vyjadřuje poměr R násobený 100 a vyjádřený v %. Data D1 100 R - počet vlastních vektorů n2=0, D2 80 R ( x 100 [%] ) 60 40 20 0 0 5 10 15 20 25 30 Počet vlastních vektorů Obr. 17: Závislost poměru R a počtu vlastních vektorů seřazených od největšího po nejmenší. Svislá osa vyjadřuje poměr R násobený 100 a vyjádřený v %. Data D2 32
Délka vektoru x(k), který je odhadem stavového vektoru spalovacího procesu, je pro modelování výstupní veličiny y5 matematickým modelem z důvodů výpočetní náročnosti omezena na tři sta hodnot. Tedy matematický model může mít maximálně tři sta vstupů. Zajímá nás, zda je možné rozměr vektoru původních proměnných (n=1800) zredukovat na m=300. Proto byl proveden výpočet závislosti poměru R na počtu vlastních vektorů a zobrazení této závislosti pro sadu dat D1 a počet předchozích hodnot měření n2=60 je vidět na Obr. 18. Po provedené redukci dimenze dat D1 pomocí metody PCA na m=300 byla hodnota R=0,98. Pro sadu dat D2 a n2=60 je průběh R-počet vlastních vektorů vidět na Obr. 19. Po provedené redukci dimenze dat D2 pomocí metody PCA na m=300 byla hodnota R=0,99. Z toho vyplývá, že zredukujeme-li původní délku vektoru x(k) n=1800, což ve skutečnosti znamená pětiminutové časové okno, na m=300, bude přesto v datech zachováno 98% resp. 99% rozptylu.. 100 R - počet vlastních vektorů n2=60, D1 80 R ( x 100 [%] ) 60 40 20 0 0 500 1000 1500 2000 Počet vlastních vektorů Obr. 18: Průběh R-počet vlastních vektorů pro počet předchozích hodnot měření n2=60 a sadu dat D1; po redukci dimenze na m=300 je poměr R=0,98. 33
100 R- Počet vlastních vektorů n2=60, D2 80 R ( x100 [%] ) 60 40 20 0 0 500 1000 1500 2000 Počet vlastních vektorů Obr. 19: Průběh R-počet vlastních vektorů pro počet předchozích hodnot měření n2=60 a sadu dat D2; po redukci dimenze na m=300 je poměr R=0,99. Pomocí PCA je možné také redukovat pouze šum obsažený v datech, aniž bychom nutně museli současně redukovat i dimenzi vektoru x(k). Máme-li matici seřazených vlastních vektorů P m, eliminace šumu se provede podle vztahu (2.9). Základní myšlenka této redukce šumu je ta, že šum zastoupený v datech má nízký rozptyl a je po provedení PCA transformace, jak je popsána výše, zastoupen v matici P na posledních řádcích. Při odstranění těchto vlastních vektorů odstraníme i šum, který představují. X w/o noise označuje v následujícím vztahu matici dat, kde je zredukován pouze šum, nikoliv rozměr. X = P P X (2.9) T w/ onoise m m 34
4 Vícerozměrová metoda falešných sousedů Hlavním cílem vícerozměrové analýzy falešných sousedů je odhad stavového vektoru x(k), který bude vhodný pro modelování výstupní veličiny y(k) obecně vyjádřené jako f (x)=y. Pomocí MSFNA porovnáme různé konfigurace parametrů n1 (počet kroků predikce) a n2 (počet předchozích hodnot měřených veličin) pro odhad stavového vektoru x(k), rovnice (2.3). Navrhovaná vícerozměrová analýza falešných sousedů je nástrojem pro porovnání různých návrhů stavových vektorů x(k) z pohledu jednoznačnosti řešení. Tj. můžeme porovnat úroveň neurčitosti vstupů k výstupům (f (x)=y) s ohledem na optimalizaci matematického modelu (trénování neuronové sítě). Základní myšlenka metody falešných sousedů je naznačena na Obr. 20. Body si můžeme představit jako stavy systému. Stavem systému je myšlen vektor systémových proměnných s jejich současnými i minulými hodnotami, který může významně určovat chování systému v čase predikce. Obr. 20: Koncept falešných sousedů (FN). Zobrazené dva body, představující stavy systému, mohou být považovány za falešné sousedy, promítneme-li je do prostoru s nižší dimenzí, kde není splněna podmínka jednoznačnosti zobrazení f (x)=y. Přirozeně, čím více proměnných a jejich minulých hodnot zanedbáme při popisu stavu systému, tím hůře jsme schopni odlišit stavy systému jeden od druhého. Podobně na Obr. 20 jsou zobrazeny dva stavy systému (body). V případě jednorozměrného prostoru (1D) se zdají být body blízko sebe, kdežto uvažujeme-li vícerozměrný prostor (zde 2D) jsou od 35
sebe stavy systému vzdáleny. Základní myšlenka falešných sousedů (FN) je založena na nutné podmínce jednoznačnosti zobrazení f ( x ) = y, (4.1) kde x je vstupní vektor reprezentující stav systému, y je výstupní proměnná a f funkce zobrazení. Z podmínky jednoznačnosti řešení vyplývá, že různé stavy x, mohou nabývat různých nebo stejných zobrazení y. Stejné stavy x ale nemohou nabývat různých hodnot y. To by znamenalo, že pokud pozorujeme různé chování stejného systému se stejnými počátečními podmínkami, pak tyto zdánlivě stejné počáteční podmínky nejsou stejné a některé důležité proměnné nebo předchozí stavy musí být přidány do stavového vektoru. Základní pravidlo pro klasifikaci dvou stavů systému x 1 a x 2 jako falešných sousedů je KDYŽ 1 2 < Rx A y1 y2 > Ry PAK 1 a 2 JSOU FALEŠNÍ SOUSEDÉ x x x x, (4.2) kde y1 a y2 jsou měřené výstupy systému (tj. odezvy systému na vstupní stavy), Rx resp. Ry jsou absolutní poloměry, které definují hranice, kdy jsou stavy systému podobné nebo rozdílné. Matematická ryzost zmíněné základní myšlenky Falešných sousedů (FN) se stane netriviálním praktickým problémem, při pokusu vhodně určit, co je ještě stav stejný a co již různý (tj. výběr Rx a Ry) a mění se jak pro různé systémy, tak pro kvalitu dat a druhy normalizace. Na výše zmíněnou metodu Falešných sousedů (FN) se můžeme dívat jako na metodu jednorozměrnou. Uvažuje pouze jedno nastavení Rx a Ry. Toto vyhodnocení nám neposkytuje komplexní přehled, jak vhodně je sestaven stavový vektor, protože optimální výběr Rx a Ry často není možné ověřit. 36
Obr. 21: Matice falešných sousedů (False Neighbors Matrix FNM, [2]), náčrt základní myšlenky transformace 2D analýzy falešných sousedů do 1D problému; buňky na hlavní diagonále obsahují počty falešných sousedů se zajímavými vlastnostmi počty FN se snižují ve všech směrech od horní buňky diagonály. Jak je ukázáno na vztazích (4.2), počet falešných sousedů je závislý na dvou hlavních parametrech: poloměrech Rx a Ry. Takto specifikovaná, je analýza dourozměrová, protože nás zajímá vyhodnocení počtu falešných sousedů podél obou rozměrů Rx a Ry. Tato 2D analýza falešných sousedů může být elegantně převedená na jednorozměrný problém (Obr. 21). Základní myšlenku představované metody vícerozměrové analýzy falešných sousedů (MSFNA) nastiňuje Obr. 21. Buňky na hlavní diagonále matice falešných sousedů (False Neighbors Matrix - FNM) obsahují počty falešných sousedů se zajímavými vlastnostmi počty FN se snižují ve všech směrech od horní buňky diagonály. Různé procesní proměnné jsou měřeny v různých měřítkách (jednotkách). Patrně každá měřená proměnná vektoru x(k) přispívá ke vzdálenosti mezi stavovými vektory x 1 -x 2 úměrně své korelaci s výstupem systému. V každém případě pro složitý systém je obtížné odhadnout tyto korelace a vliv měřítka. Pro sjednocení měřítek měřených veličin, tak aby přispívaly k výpočtu vzdálenosti stejnou vahou, jsou všechny proměnné vektoru x(k) a 37
výstupu y normalizovány. Od každé hodnoty dané veličiny je odečtena střední hodnota veličiny a vydělena směrodatnou odchylkou dané veličiny. Další důležitou volbou je určení posloupnosti a rozsahu poloměrů Rx a Ry pro matici falešných sousedů (FNM). Poloměry Rx a Ry jsou absolutní poloměry (jak ve 30D tak i v 1D) a výběr jejich posloupnosti pro FNM (Obr. 21) musí odpovídat aktuálnímu měřítku vzdáleností, které jsou vypočteny mezi vektory měřených (normalizovaných) dat. Velikost Rx a Ry určuje počet možných stavů systému, které mohou být rozeznány. Aby absolutní hodnoty Rx a Ry odpovídaly měřítku, násobíme exponenciální číslo průměrnou směrodatnou odchylkou všech nalezených vzdáleností např. 20 19 5 Rx = 2 2 2 mean std ( { x( ti ) x( t j ) }) ( { ( ti ) ( t j ) }) 20 19 5 Ry = 2 2 2 mean std y y, (4.3) nebo pro x obecně { base κ } mean ( std{ x ( ti ) x ( t j ) }) Rx = kde κ = κmin, κmin + 1, κmin + 2,..., κmax a i, j mohou být, (4.4) i = 1, 2, 3,..., j = 1, 2, 3,..., N N Kde x(t i )-x(t j ) jsou Euklidovské vzdálenosti všech prvků vektoru x mezi různými časy vzorkování t, N je celkový čas vzorkování, base je základ logaritmu a std() označuje směrodatnou odchylku. Ve skutečnosti můžeme zvolit jinou alternativu směrů pro Rx a Ry v matici falešných sousedů (FNM). Směry tak jak byly zvoleny (Obr. 21), tj. s největším počtem falešných sousedů v horním levém rohu a minimem falešných sousedů v spodním pravém rohu (diagonálně klesající) mají zvláštní význam z pohledu navrhované MSFNA. Díky této konstrukci můžeme zavést dva kumulativní součty v matici falešných sousedů. První součet je součet falešných sousedů na hlavní diagonále (DCFN - Diagonal Cumulative 38
False Neighbors) a druhý je plošný součet prvků (ACFN - Areal Cumulative False Neighbors). Zde budeme používat DCFN. k DCFN ( k) = FN ( i, i), i= 1 k k ACFN( k) = FN ( i, j), i= 1 j= 1 (4.5) kde FN(i, j) je počet falešných sousedů v buňce [i, j] v FNM (Obr. 21), k vyjadřuje index buňky na diagonále začínající vlevo nahoře. Cílem vícerozměrové metody falešných sousedů je nalezení konfigurace x (odhad stavového vektoru) pro potřeby predikce y s minimem falešných sousedů podél obou poloměrů Rx a Ry. Proto hledáme takové n1 (počet kroků predikce) a n2 (počet předchozích hodnot měřených veličin), aby byl součet pro FNM podél Rx a Ry nejnižší. 4.1 MSFNA data s činností všech mlýnů - D1 Výsledky MSFNA pro různé konfigurace počet kroků predikce n1 a počet předchozích hodnot měřených veličin n2 vektoru x(k) pro data D1 jsou ukázány na Obr. 22, Obr. 23, Obr. 24. Výpočty byly provedeny vždy přes celou délku dat. Nejprve byly zvoleny poloměry Rx a Ry, tak, aby nejvhodněji odpovídali rozsahu možných Euklidovských vzdáleností mezi jednotlivými odhady stavových vektorů x(k) systému. Dále, protože je počet vstupů do matematického modelu omezen na tři sta, byly vektory vstupních veličin delší než tři sta prvků redukovány pomocí PCA (kapitola 3). Následně vypočteny FNM (Obr. 21) a z nich DCFN (součet falešných sousedů na hlavní diagonále). Na Obr. 22 jsou zobrazeny průběhy DCFN s rostoucím n1 pro jednotlivé konfigurace n2. Obr. 23 zobrazuje průběh pouze pro n2=30, tj. pro vektor x uvažujeme vstupní veličiny x1..x30 a třicet jejich minulých hodnot. Součet FN na hlavní diagonále strmě klesá do n1=15, pak roste do hodnoty n1=60 a pak dále klesá až do n1=90. 39
8 x 104 Soucet FN na diagonale FNM pro ruzna n1 Soucet FN na diagonale FNM 7 6 5 4 3 2 1 n2=5 n2=10 n2=15 n2=20 n2=25 n2=30 n2=35 n2=40 n2=45 n2=50 n2=55 n2=60 n2=65 n2=70 n2=75 n2=80 n2=85 n2=90 n2=95 n2=100 0 0 10 20 30 40 50 60 70 80 90 100 n1 Obr. 22: Pro redukovaná data D1 pomocí PCA zobrazen součet falešných sousedů na hlavní diagonále se zvětšujícím se zpožděním (nebo také s počty kroků predikce). Horní modrá linie odpovídá n2=5 (počet minulých hodnot měřených veličin) a směrem dolů n2 vzrůstá. Spodní linie odpovídá n2=100. Hodnoty n1 odpovídají pětisekundovému vzorkování, tj. n1=12 odpovídá jedné minutě. Počet falešných sousedů vykazuje minimum pro n2=100 na hodnotě zpoždění n1=20. 8000 7500 Sum of Diagonal FN relative to n1 n2=30 Sum of Diagonal FN 7000 6500 6000 5500 5000 4500 0 10 20 30 40 50 60 70 80 90 100 n1 Obr. 23: Průběh součtu falešných sousedů na hlavní diagonále vzhledem k počtu kroků predikce n1 pro počet předchozích hodnot měřených veličin n2=30, tj. pro vektor x(k) uvažujeme vstupní veličiny x1..x30 a třicet jejich minulých hodnot. Součet FN na hlavní diagonále strmě klesá do n1=15, pak roste do hodnoty n1=60 a pak dále klesá až do n1=90. Redukovaná data D1 40