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
Ahoj mám danou následující časovou řadu (-8.543745,-4.200311,-2.989283,-2.431776,2.055871,-6.823556,-16.785682,-21.713663,-24.422718,-23.981109,-19.307024,-14.550245,-10.709876,-20.036068,-27.033464,-32.127905,-40.418891,-39.164054,-36.104328,-31.451987)
Měl sem analyzovat zda obsahuje sezonní trend a zda obsahuje sezonní složku.Mám problém s sezonní složkou z grafu je jasné že sezonní složku obsahuje nicméně otázka byla jakou má ta sezonní složka periodu?Tím je myšleno po jak dlouhé době její hodnoty nabývají podobných odchylek od trendu (pokud tomu dobře rozumím)? Stačí to přibližně určit z obrázku ? Nebo je na to náký vzorec ?Časová řada je zadaná pouze čísly, není zde napsáno jestli se jedná o údaje za čtvrteltí nebo podobně.Podle obrázku bych řekl, že perioda se opakuje po cca 7 jednotkách.Pokud někdo ví jaká je perioda byl bych rád za pomoc, statistika není můj obor a projeli sme ji pouze v rychlosti ke konci semestru.Děkuji
Offline
↑ Michal 64:
Ahoj,
pokud si dobře vzpomínám, tak se to dělá tak, že nejprve si určíš trend (zde by mohl být lineární) a data od trendu očistíš. Tedy v tomto případě si sestavíš lineární model (prostě metoda nejmenších čtverců...), jeho směrnice bude trend. V dalším kroku od každé naměřené hodnoty odečteš hodnotu, která vyjde po dosatení do modelu. Výsledkem by měly být hezčí data, u kterých můžeš vypočítat autokorelační funkci nebo výkonové spektrum (technicky vzato je to jedno, obojí se bude stejně v počítači dělat přes FFT) - a tam, kde bude mít autokorelační funkce/výkonové spektrum maximum, máš významnou periodicitu (pokud je maxim více, znamená to, že se v řadě ukrývá několik cyklů).
Tady konkrétně by šlo zkusit i jiný přístup, protože ta data jsou docela hezká sinusovka. Data očištěná od trendu zkus aproximovat funkcí:
, kde A, B, C jsou parametry. Hledaná perioda pak bude:
Offline
↑ Formol:
Ahoj, takže v R Studiu mi pro lineární trend vyšel tento předpis
, kterým sem vynásobil vektor c(1:20) a dané hodnoty odečetl od vektoru x (zadané časové řady).Potom pro rozdíly tedy očištěná data vytvoří takovou to sinusoidu, která má hned dvě maxima.
Mám jenom dotaz při aproximaci dat předepsanou funkcí volba parametrů závisí na mě tedy např. A=1,B=1,5,C=2 ?Nebo lze volit parametry A,B,C nákým vhodným způsobem ?
Děkuji
Offline
↑ Michal 64:
Volba těch parametrů (A, B, C) je záležitostí numerické aproximace. Myslím, že R to samo o sobě neumí, aproximaci harmonickou funkcí by mohl umět např. gnuplot, případně si můžeš stáhnout udělátko do matlabu.
Takže nakonec bude asi nejjednodušší, když si uděláš fft a podíváš se kde má maximum amplitudové spektrum. To by ti mělo dát dostatečný odhad.
Offline
↑ Michal 64:
Mam pocit ze to nie je sinusoida ale take zuby z linearnych funkcii. Skus to nafitovat sinusoidou aj zubami a porovnat odchylky.
Offline
↑ Formol:
Ahoj tak sem postupoval následujícím způsobem pro FFT jsem použil Matlab fukci Y=fft(x), kde vektor x byly data(původní data - hodnoty lineárního trendu).No potom mi matlab vyhodil vektor čísel, který když vykreslim do grafu vypadá takto.
takže v obrázku vydim pouze jedno maximum ale moudrej z něho teda nejsem.Dokážeš z toho poznat periodu sezonní složky (postup by měl být shodný s postupem předepsaným v prvním přísppěvku) ?
Děkuji
Offline
↑ Michal 64:
Ahoj,
já se omlouvám, myslel jsem, že víš, co je to Fourierova transformace. Z toho grafu samozřemě nevyčteš nic. Velmi hrubě, podívej se na real(Y) nebo imag(Y)... Pokud ti ale Fourier neříká nic, tak jsi asi měl použít metodu "přiložím pravítko a změřím vzdálenost mezi minimy, mezi maximy a udělám průměr".
Offline
Ahoj, ano termín FFT a fourierova transformace sem slyšel poprvé až tady dosud sem to nikdy nepoužíval, takže sem se to sanžil narychlo pochopit z internetu.No v tom případě je perioda okolo 7,4.
Každopádně díky za pomoc a rady
Offline

↑ Michal 64: Michale, víš prosím např. z věcné podstaty, jaká je sezónnost. Pokud jsou data čtvrtletní, tak se dá předpokládat délka per. 4 období, u měsíčních 12 atd.
Offline
Zdravím,
zkusil jsem aproximaci podle vzorce:
vyšel mi tento výsledek:
y = −0.1651238651643678−1.769676299097698*x−8.912554336244837*sin(0.7403812988506794*x+1.385902605832021)
Perioda pak vychází: 8.486
Offline
↑ OndrasV:
No ta sezonnost tam právě není uvedená jaká je tak předpokláedám, že to bude náká která se vyskytuje nejčastěji ale opravdu netuším jaká to je statistiku sme probrali jen letmo.
Offline
↑ Michal 64:
Dovolím si odpovědět za kolegu. Je to přesně to, co jsem psal výše ↑ Formol: jako možnost bez použití Fourierovy transformace, jen je vše v jednom kroku (rychlejší, méně názorné). Jeho parametry A a B jsou vlastně lineární trend v datech, parametry C, D a E "sinusovka", zajímají tě parametry B (lineární trend) a E (je úměrný periodicitě).
Standardní je pouze ta část s lineárním trendem v tom smyslu, že se u časových řad lineární trend hodnotí jako jedna z běžných charakteristik. Část se sinem vychází z toho, že v datech lze tušit sinusoidu. V praxi se takové funkce odhadují podle tvaru dat, nejlépe dat zbavených trendu, proto např. ↑ Xellos: navrhoval aproximaci pilovou funkcí. Špatná volba funkce totiž může vést k tomu, že ti příslušný algoritmus "napasuje" zvolenou funkci do dat způsobem, který odhad periodicity zkreslí.
Univerzální metodou je tomto případě analýza spektra nebo autokorelační funkce řady očištěné o trend; jenže jak píšeš výše, tohle jste se (ještě?) neučili.
Offline