Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.
Nástěnka
❗22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
❗04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
❗23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.
Nejste přihlášen(a). Přihlásit
Stránky: 1
Ahoj.
Máte řadu čísel, která vykreslená v grafu vypadají, buď jako kopec, nebo údolí. Jedna řada má jedno nebo druhé. Oboje nelze. Jak to strojově poznat jen z těch čísel? Předpis té funkce neznáte. Zkuste házet jakékoli nápady, je to jedno.
Zatím jsem přišel na následující.
Vypočítám průměrnou hodnotu celé řady. Najdu globální extrémy a spočítám průměr-minimum a průměr-maximum. V absolutních hodnotách a kde je rozdíl větší, tam je buď vrchol(maximum), nebo údolí(minimum). Funguje to docela obstojně, ale jen když to jsou rozumná data, když je v nich hodně šumu, tak už to nefunguje.
Na prvním obrázku je kopec, to vím určitě, ale můj postup to rozezná jako údolí.
A na druhém obrázku je údolí a to mi pozná v pořádku.
A podobně vypadají další řady. Mám celkem 3 sady, bez šumu, ty jsou v pohodě, s malým šumem a s velkým, jako na prvním obrázku a tam už je problém.
Kdyby jste mi někdo pporadil, co si mám najít, jaká hesla, nějakou statistiku, tak budu rád. :)
Kdyby někdo věděl. Díky.
Offline
No o to právě jde. Že je to divoké. Ale ten první představuje vrchol, zřejmě je tím myšlen ten první nejvyšší vlevo na začátku. A ten druhý screenshot je s mírným šumem, ten rozeznám v pohodě, to je údolí. Zhruba kolem hodnot na x ose 57.
A takto to vypadá bez šumu, čistá data, jestli to pomůže. Těch řad mám cca. 600
Jestli to pomůže. Dělám rozpoznávání pomocí programu WEKA a potřebuji spočítat (určit) nějaké jednoznačné atributy každé řady, aby WEKA pomocí rozhodovacího stromu mohla rozhodnout, jestli je to vrchol, nebo údolí.
V podstatě dostanu 600 řad a každá má 100 atributů. 100 hodnot na ose y a na ose x je 0-100.
Offline
OS - co studuješ, s čím máš v téhle oblasti zkušenosti? Z mého pohledu studenta elektrotechniky je to na první pohled snad poměrně přímočaré.
1) Stanovit stejnosměrnou složku (průměr), dát ji jako 0 a posunout celý graf tak aby byl +- hodnoty kolem ní. Tento krok je skoro úplně nemožné nepoužít při jakémkoliv řešení.
1+) Možná je v tuto chvíli vhodné průběh integrovat, obzvláš? pokud se v něm mohou vyskytnout nějaké vrcholky řádově srovnatelné s rozkmitem šumu? Vycházím tu z toho že ten průběh je vystředěný kolem nuly a osciluje, takže dlouhodobě se integrace nezvrhne v nějaké veliké číslo. Pozor, potom je nějaký kousek na začátku nepoužitelný.
2) Zjistit nějaké hranice - prahy, pod nimiž leží třeba 98% celkové "váhy" toho průběhu. Stačí jedna hodnota symetricky, většinu toho tvoří stejně šum a ten vrchol nepřispěje tak moc (snad). Udělat je to snadné, seřadíš si ty hodnoty nikoliv časově ale vzestupně a sečítáš a srovnáváš s celkovým součtem (obojí v abs. hodnotě!), když se dopočítáš těch nějakých x procent tak máš práh. Když se podíváš na ten úplně první graf, ty dvě čáry tam vypadají jako pěkně nastavené. S tím kolik % musí ty prahy zahrnout je pochopitelně zapotřebí experimentovat.
3) To co je pod prahem (v tomto případě graficky vlastně "mezi nimi") nějakým způsobem zahodím a dál mi zbudou jenom nějaké výjimečné vršky. Existuje víc druhů prahování*, zase volba - tady by možná bylo lepší tvrdé. Tvrdé je provedeno v podstatě tak že tam kde je hodnota pod prahem, dám nulu. Potom je ještě měkké, od všech hodnot odečtu práh a tam kde to "přeletí" do opačného znaménka přijde nula. Tady je to celkem slušně i s obrázkem...
4) Dál...hm... zbyly nějaké "kopky", ta "nejhmotnější" bude nejspíš hledaným rysem. Stačí zase jednotlivé části co zbyly po (3) numericky integrovat a udělat si z nich seznam, v něm najít tu největší.
* Vzhledem k tématu svojí bak. práce mám hlavu nastavenou na prahování tak jak se dělá v souvislosti s vlnkovou transformací, jinak ten termín označuje něco trochu jiného, nemá tedy smysl moc hledat.
Offline
Offline
Stránky: 1