-
11. Data: 2010-08-25 10:43:27
Temat: Re: przewidywanie wartości cyklicznego wykresu
Od: Mariusz Marszałkowski <m...@g...com>
On 25 Sie, 10:14, "marek.hudyma" <m...@g...com> wrote:
> Czy w takim przypadku Fourier jest w stanie mi pomóc ?
A dużo masz danych? Kiedyś bawiłem się czymś podobnym dla
małej ilości danych. Szukałem najlepszego dopasowania:
min( suma_po_j (suma_po_i ( a_i * sin( b_i * x_j ) + c_i * cos( d_i *
x:j ) ) - y_j ) ^ 2 )
Gdy danych jest mało, to zwykłe symulowane wyżarzanie sobie
radzi.
Można tez o maple wrzucić i użyć jakiegoś optymalizatora dla kilku
punktów startowych.
Pozdrawiam
-
12. Data: 2010-08-25 11:13:57
Temat: Re: przewidywanie wartości cyklicznego wykresu
Od: bartekltg <b...@g...com>
On 25 Sie, 09:12, "slawek" <s...@h...pl> wrote:
> A czy ty, Bartku-głupku-wioskowy, przeczytałeś już "Transforms and
Oj, wczoraj myslalem, ze reprezentujesz jakas wiedze
a tylko zapomniales o czyms w poscie wspomniec.
Ale teraz sprawdzilem, ze jestes tym kre.. nie do konca
obeznanym z tematyka czlowiekiem z watku o calkowaniu
numerycznym.
Widze, ze o jezyku polskim (sasiedni watek) i Fourierze
masz podobny poziom wiedzy, za to przerosnietym
mniemaniu o sobie i swojej wiedzy.
Trudno, pozdrawiam reszte i bez odbioru.
bartekltg
-
13. Data: 2010-08-25 13:40:39
Temat: Re: przewidywanie wartości cyklicznego wykresu
Od: "Tomasz \"rocku\" K." <r...@n...spam>
W dniu 24.08.2010 12:12, Mark pisze:
> Cześć,
>
> Załóżmy, że mamy dane, które układają się w sposób cykliczny, np.
> liczba opadów w danym mieście z kilku lat, czy sprzedaż ołówków w
> skali tygodniowej. Jak się zrobi wykres słupkowy, to wyraźnie widać
> cykliczną tendecję.
>
> Jednak: Dane mogą być niekompletne. Cykl może się zmieniać - może się
> nieco skracać, wydłużać. Wartości na wykresie mogą układać się w
> ładne cykle, ale czasami mogą być niespodziewane piki.
>
> Mając taki wykres chciałbym podjąć próbę przewidzenia wartości w
> przyszłości. Oczywiście jak każde przewidywanie jest obarczone błędem
> i ryzykiem (zdaję sobie z tego sprawę).
> Mając taki wykres w miarę intuicyknie można dorysować kolejny cykl
> ołówkiem..
>
> Jakiego algorytmu, metody powinienem użyć do przewidywania wartości
> cyklicznego wykresu ?
> (mając np. 10 cykli wstecz chciałbym przewidzieć jeden do przodu).
>
> Dzięki za pomoc !
rrdtool posiada implementację algorytmu przewidywania Holt-Winters. Po
odpowiednim dobraniu parametrów działa to całkiem sprawnie.
--
Pozdrawiam,
Tomasz "rocku" K.
-
14. Data: 2010-08-25 14:49:28
Temat: Re: przewidywanie wartości cyklicznego wykresu
Od: "slawek" <s...@h...pl>
Użytkownik "marek.hudyma" <m...@g...com> napisał w wiadomości grup
dyskusyjnych:a31d669f-1d9c-49ce-9243-bc0f7f0d3428@q1
g2000yqg.googlegroups.com...
> Dziękuję za zainteresowanie i dyskusję na temat Fouriera. Aż wstyd się
> przyznać, po skończeniu politechniki, niewiele mi już zostało w głowie
> z tego tematu.
Bo na politechnikach nikt tego porządnie nie uczy. Podobnie na
uniwersytetach. Takie rzeczy najlepiej przejść na praktycznych przykładach
(moim zdaniem), oczywiście taką praktykę można już mieć w czasie studiów.
> Jak każdy inteligentny człowiek, jestem w stanie powtórzyć sobie
> gruntownie wiedzę z tego zakresu.
> Moje pytanie brzmi, czy powinienem ??
Moim zdaniem matematyka jest przyjemnością samą w sobie. Ale w twoim
przypadku - chwyć się za wavlelet toolbox z Matlaba. A jak nie masz
Matlaba... to poszukaj czegoś, co używa "wavelets" i robi "scroll map".
Cokolwiek to będzie, na pewno ci się przyda.
Jak to działać będzie? Masz sygnał zależny od czasu, np. ciśnienie powietrza
zarejestrowane miktofonem. Dzięki analizie falkowej (ew. fourierowskiej, ale
w sieci znajdziesz mnóstwo przykładów od wyższości falek nad Fourierem,
ostatecznie są to transformacje dość zbliżone) będziesz miał mapę
(rzutowanie 3D wykresu na płaszczyznę) gdzie na osi poziomej będziesz miał
czas - a na osi pionowej częstotliwość. Tak ogólnie to prawie jak zapis
nutowy - w x-sie to jest "kiedy zagrać nutę" - w y-ku to jest "jaką nutę".
Na takim wykresie zawsze coś wychodzi. Jak ci się spodoba, to poczytasz
sobie jakieś książki czy inne teksty o falkach. Jak nie - to nie będziesz
musiał tracić czasu na to, co ci się nie przyda.
> W moim problemie "cykl" próbek może wahać się o kilka procent (oceniam
> że raz cykl może być dłuższy raz krótszy do 15-20%). Czasem może
> brakować próbek, a czasmi 'piki' mają nie być brane pod uwagę.
Takie rzeczy to w teorii chaosu podobno normalne. Tzn. wlezienie w zastaną
sytuację i próba coś-z-tym-zrobienia.
> Czy w takim przypadku Fourier jest w stanie mi pomóc ?
Ten Fourier już nie, bo nie żyje. Nazwisko we Francji dość popularne, więc
jakiś Fourier może i tak ;)
Natomiast analiza czasow-częstoliwościowa... Z sukcesów to można np. wczesne
wykrywanie zawałów serca - na dwa tygodnie przed już można postawić diagnozę
po wysokorozdzielczym elektrokardiogramie.
slawek
-
15. Data: 2010-08-25 14:59:49
Temat: Re: przewidywanie wartości cyklicznego wykresu
Od: "slawek" <s...@h...pl>
Użytkownik "Mariusz Marszałkowski" <m...@g...com> napisał w wiadomości
grup
dyskusyjnych:b2d74561-be9f-4428-9a4f-f19e86871f94@z1
0g2000yqb.googlegroups.com...
> On 25 Sie, 10:14, "marek.hudyma" <m...@g...com> wrote:
>
>> Czy w takim przypadku Fourier jest w stanie mi pomóc ?
> A dużo masz danych? Kiedyś bawiłem się czymś podobnym dla
> małej ilości danych. Szukałem najlepszego dopasowania:
> min( suma_po_j (suma_po_i ( a_i * sin( b_i * x_j ) + c_i * cos( d_i *
> x:j ) ) - y_j ) ^ 2 )
> Gdy danych jest mało, to zwykłe symulowane wyżarzanie sobie
> radzi.
Ależ ty po prostu zrobiłeś "wolną transformację Fouriera" według własnego
pomysłu. Serio.
Rozkład na widmo częstotliwości jest jednoznacznie określony (z dokładnością
do czynnika 2Pi, który gdzieś musisz wstawić - albo w transformację, albo w
transformację odwrotną).
FFT jest fajne, bo jest gotowe, np. biblioteka fftw .
Ma koszt N log(N), czyli nienajgorzej. (Falki mają mniej, sic!)
Gdy danych jest mało, to... no pojawia się problem entropii - przy 10
punktach masz 20 liczb rzeczywistych zmiennoprzecinkowych 8-bajtowych np. To
razem 10*20*8*8 bitów. Czyli 2^12800 możliwości (pomijając +NAN i inne
takie). Z tego np. nijak nie określisz 20 współczynników zespolonych
zapisanych (także parach 8-bajtowych itd.) - bo możliwości jest wtedy
2^25600. To oznacza, że niezależnie od tego jakie będziesz miał dane, masz
za mało stopni swobody, aby określić te współczynniki.
Przy 2-3 punktach nie wyznaczysz A,B,C i omegi we wzorku y = A sin(omega t)
+ B cos(omega t) + C, nawet jak będziesz przypiekał sobie pięty ciekłym
ołowiem.
slawek
-
16. Data: 2010-08-25 15:03:14
Temat: Re: przewidywanie wartości cyklicznego wykresu
Od: "slawek" <s...@h...pl>
Użytkownik "bartekltg" <b...@g...com> napisał w wiadomości grup
dyskusyjnych:cb0bf417-d74c-47e8-9f31-a538c550a2db@x2
1g2000yqa.googlegroups.com...
> Oj, wczoraj myslalem, ze reprezentujesz jakas wiedze
> a tylko zapomniales o czyms w poscie wspomniec.
Bartek i myślenie? Jak dla mnie to fascynujące.
slawek
PS. A procedura całkowania numerycznego daje radę, także na jednym z
komputerów z TOP500. Pa dzieciaczki.
-
17. Data: 2010-08-25 15:11:36
Temat: Re: przewidywanie wartości cyklicznego wykresu
Od: bartekltg <b...@g...com>
On 25 Sie, 16:59, "slawek" <s...@h...pl> wrote:
> Gdy danych jest mało, to... no pojawia się problem entropii - przy 10
> punktach masz 20 liczb rzeczywistych zmiennoprzecinkowych 8-bajtowych np. To
> razem 10*20*8*8 bitów. Czyli 2^12800 możliwości (pomijając +NAN i inne
> takie). Z tego np. nijak nie określisz 20 współczynników zespolonych
> zapisanych (także parach 8-bajtowych itd.) - bo możliwości jest wtedy
> 2^25600. To oznacza, że niezależnie od tego jakie będziesz miał dane, masz
> za mało stopni swobody, aby określić te współczynniki.
Mialem juz nie pisac, ale takich baboli lepiej nie zostawiac,
jeszcze ktos uwierzy. Dyskretna transformata fouriera
matematycznie od pocztku dziala na ciagach liczb rzeczywistych.
Jesli wiec podajemy liczby rzeczywiste, jest to to samo
co podanie liczb zespolonych o takeij czesci rzeczywistej
i zerowej czesci zespolonej.
Na wejsciu i na wyjsciu jest wiec 20 liczb zespolonych
i nie ma sie co o entropie martwic.
A jak to wygląda po stronie wyniku? po prostu nie wszytkie
wektory transformaty da sie uzyskac z rzeczywistej probki
na wejsciu.
pozdrawiam
bartekltg
-
18. Data: 2010-08-25 15:22:27
Temat: Re: przewidywanie wartości cyklicznego wykresu
Od: "slawek" <s...@h...pl>
Użytkownik "bartekltg" <b...@g...com> napisał w wiadomości grup
dyskusyjnych:61804d97-b204-4e98-bc9a-0f92fa1d1ea3@v8
g2000yqe.googlegroups.com...
> Mialem juz nie pisac, ale takich baboli lepiej nie zostawiac,
> jeszcze ktos uwierzy. Dyskretna transformata fouriera
> matematycznie od pocztku dziala na ciagach liczb rzeczywistych.
No to ja proszę sprzedaj mi komputer z CPU liczącym dokładnie na liczbach
rzeczywistych niewymiernych. Skumałeś dowcip, czy mam się rozdrabniać
tłumaczeniem?
> Na wejsciu i na wyjsciu jest wiec 20 liczb zespolonych
> i nie ma sie co o entropie martwic.
Nie pikusiu - jeżeli masz chęć na wyznaczenie 20 współczynników na podstawie
dwóch punktów - to jest to chory pomysł - i o tym pisałem.
Przestań Bartuś klaskać dziobem w klawiaturę - przeczytaj lektury jakie
wymieniłem - moim zdaniem to (serio!) najlepsze, co o transformacjach można
zapodać ambitnemu studentowi informatyki.
slawek