Matematické Fórum


1. 8. 2026 (L) Fórum bude brzy uzavřeno 😿

Nejste přihlášen(a). Přihlásit

#1 02. 07. 2013 12:59 — Editoval speedex505 (02. 07. 2013 13:00)

speedex505
Zelenáč
Příspěvky: 11
Škola: CVUT FIT
Pozice: student
Reputace:   
 

Interpolace křivky

Snažím se vymyslet co nejlepší interpolaci křivky, která vypadá takto: https://fbcdn-sphotos-f-a.akamaihd.net/hphotos-ak-prn2/9138_4989818103120_248760483_n.jpg a následně vymyslet algoritmus. Jde mi o ty velké výkyvy nikoli o ty malé záchvěvy. Napadá vás co by se dalo nejlépe využít?
Byl bych rád za doporučenou literaturu.

Offline

 

#2 03. 07. 2013 15:42

Formol
Místo: Praha
Příspěvky: 782
Pozice: krotitel mikroskopů (UHIEM 1. LF UK)
Reputace:   42 
 

Re: Interpolace křivky

Základní otázkou je, kolik máš k dispozici opakovaných měření.
1. Pokud máš měření více (až mnoho) a pokud jde o měření stále jednoho a téhož děje, pak bys mohl zkusit využít předpoklad, že na tvoje data nasedá šum s nulovou střední hodnotou (a dalšími užitečnými vlastnostmi šumu), můžeš zkusit grafy jednotlivých měření prostě "zprůměrovat". Pokud bude předpoklad o hezkém chování šumu oprávněný, grafy se "vyhladí".

2. Pokud nemáš k dispozici více realizací, můžeš data vyhladit tím, že zkusíš aritmetický průměr přes přes okolí bodu - při analýze časových řad se tomu imho říká klouzavý průměr (opět jsou zahrnuty požadavky na statistické vlastnosti šumu).

Tím si můžeš sice hodně pokazit, ale na druhou stranu dostaneš křivku, která nebude tak divoká a bude se s ní lépe pracovat.

Teď bych si dovolil několik technických poznámek:
1. Interpolace není dobrý nápad. Užití interpolace je vázáno na specifičtější oblasti, při pokusu o interpolaci dat s velkou složkou šumu dostaneš "šum na druhou"... A to i v případě, že použiješ splajny.

2. Rozhodně nejlepším přístupem je pokus o sestavení fyzikálního modelu tvé úloze - ale to tady zřejmě moc nepůjde, protože podle popisku to vypadá, že vedle nežádoucího šumu ti do děje zasahuje i "žádoucí" šum (hrboly) - a u toho máš SNR po čertech nehezké (=> klouzavý průměr ti to nejspíš dokonale zdegeneruje a budeš si muset pohrát s nějakým lepším přístupem).

3. Otázka zní, zda skutečně potřebuješ model dat, protože např. u splajnů dostaneš zhruba ne o moc méně než změřených dat ;-)  (ano, např. požadavek na spojitost derivací v navazujících bodech něco sežere, ale nebude toho moc). Prakticky by taková data stejně sloužila jako krmivo pro další numerické moduly, takže nemá smyslu s nimi provádět operace, při kterých se opět část informace ztratí, zejména když za to nic nezískáš.

Toliko obecného tlachání a teď ke tvému problému:
Pokud skutečně chceš data proložit nějakou "hezkou" a rovnicí popsanou křivkou, zkusil bych je nejprve vyhladit a pak bych manuálně vybral neekvidistantní vzorky a aproximoval bych (tedy raději bych neinterpoloval) po částech polynomy různého stupně za podmínky rovnosti minimálně první derivace ve styčných bodech. Proces jde ještě vylepšit tím, že vlastně těžce podvzorkováváš, takže odhad derivace z lokálního okolí by byl mnohem lepší než z diferencí mezi vzorky - jen bys musel lokální okolí důkladně vyhladit, nejspíše ne přes obdélníkové okno..


Literatura k tématu záleží na úrovni obecnosti. Za sebe můžu doručit J.Jan: Číslicová filtrace, analýza a restaurace signálů. VUTIUM 2002. Jinak k zahození by nejspíš nebyly texty z VŠE o analýze časových řad (dělají to tam, ovšem nemám s jejich texty zkušenosti); pokud bys skutečně toužil po matematických střevech, pak Z.Prášková, P.Lachout: Základy náhodných procesů I (naposledy 2012).


Доктор сказал «в морг» — значит в морг!

Offline

 

#3 03. 07. 2013 16:08

speedex505
Zelenáč
Příspěvky: 11
Škola: CVUT FIT
Pozice: student
Reputace:   
 

Re: Interpolace křivky

Nemám k dispozici více měření stejného jevu. Více než aproximaci ke křivce popsané rovnicí (při analýze budu stejně pracovat s jednotlivými hodnotami) bych potřeboval ztlumit šum a zachovat ty velké výkyvy. Myslím, že by bylo dobré hodnoty průměrovat na daném intervalu. Interval by musel být tak velký aby šum naopak nevytvářel.
Nejde mi ani tak o krasnou vyhlazenou křivku. Výkyvy na křivce musím analyzovat existenčně vzhledem k času. Kdybych dokázal křivku vyhladit tak, že by se dal analyzovat průběh růstu/poklesu byl by to vrchol toho co chci :)

Každopádně děkuju za odpověď a po literatuře se podívam.

Offline

 

#4 03. 07. 2013 17:20 — Editoval Formol (03. 07. 2013 17:22)

Formol
Místo: Praha
Příspěvky: 782
Pozice: krotitel mikroskopů (UHIEM 1. LF UK)
Reputace:   42 
 

Re: Interpolace křivky

↑ speedex505:
Průměr přes interval je přesně to, co jsem ti popisoval;-) Teoreticky můžeš zkusit i nějaké jiné než obdélníkové okno - např. Gaussův filtr (zhruba řečeno počítáš vážený průměr, kde čím je hodnota dále od středu intervalu, tím má menší váhu).


Доктор сказал «в морг» — значит в морг!

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson