Friday 10 November 2017

Liukuva Keskiarvo Ajan Sarjaan Matlab


Lataa movAv m katso myös movAv2 - päivitetty versio, joka mahdollistaa painotuksen. Matlab sisältää toiminnot nimeltään movavg ja tsmovavg aikasarjan liukuva keskiarvo Financial Toolboxissa, movAv on suunniteltu kopioimaan niiden perustoiminnot. Täällä on hyvä esimerkki hallinnoinnista indeksejä sisältäen silmukoita, jotka voivat olla hämmentäviä aluksi. Olen tietoisesti säilyttänyt koodin lyhyt ja yksinkertainen pitääksesi tämän prosessin clear. movAv suorittaa yksinkertaisen liukuvan keskiarvon, jota voidaan käyttää meluisten tietojen talteenottoon joissakin tilanteissa. Se toimii ottamalla keskiarvo , jonka koko määritellään n: lla. Suurempi n on, sitä suurempi n: n vaikutuksen tasoittamisnopeus on suhteessa syötevektorin y pituuteen ja hyvin tehokas, lajin luo alipäästösuodatin - katso esimerkkien ja huomioiden osa. Koska kunkin n: n arvon tarjoama tasoitusmäärä on suhteessa syöttövektorin pituuteen, se kannattaa aina testaa eri arvoja nähdäksesi mitä sopivaa Muista myös, että n pistettä katoaa jokaisesta keskiarvosta, jos n on 100, tulovektorin ensimmäiset 99 pistettä eivät sisällä tarpeeksi tietoa 100 prosenttiyksikköä varten. Tätä voidaan välttää jonkin verran keskittämällä pinoja Esimerkki alla olevasta koodista ja kaaviosta vertaa useita eri pituusikkunan keskiarvoja. Huomaa, miten sujuvaa 10 10pt - arvoa verrataan yhteen 20pt-keskiarvoon. Kummassakin tapauksessa 20 tietokokonaa menetetään kokonaisuudessaan. Luo xaxis x 1 0 01 5 Luo melukohinaa 4 kohinaa, 1 melutasoa, kohinaa 1 kohinaa, kohinaa, kohinaa 1 kohinaa, 1 kohinaa kohinaa kohinaa 1 x pituus x x keskiarvoista y2 movAv y, 10 10 pt y3 movAv y2, 10 10 10 pt y4 movAv y, 20 20 pt y5 movAv y, 40 40 pt y6 movAv y, 100 100 pt Plot kuva tontti x, y, y2, y3, y4, y5, y6 legenda data, 10pt liikkuva keskiarvo, 10 10pt, 20pt, 40pt, 100pt xlabel x ylabel y title Liikkuvien keskiarvojen vertailu. movAv m-koodin läpivientifunktion lähtö movAv y, n Ensimmäinen rivi määrittää toiminnon nimen, tulot ja lähdöt Tulo x pitäisi olla datan vektori keskimäärän suorittamiseksi, n on pistemäärä, joka suorittaa keskimääräisen tuloksen, sisältää funktion palauttavan keskiarvon. Preallocate-ulostulon tuotto NaN 1, numel y Etsi keskipiste n keskipisteen kierroksella n 2 Toiminnon päätehtävä tehdään silmukan silmukalle, mutta ennen kuin aloitetaan kaksi asiaa, valmistellaan Fir että tuotos on ennalta kohdistettu NaN: nä, se palvelee kahta tarkoitusta varten Ensinnäkin esivalinta on yleisesti hyvää käytäntöä, koska se vähentää Matlabin tekemien muistijongleerausten tekemistä, toiseksi se tekee erittäin helposti keskitetyn datan sijoitettavaksi lähdöksi, jonka koko on sama kuin tulovektori Tämä tarkoittaa, että samaa xaxia voidaan käyttää myöhemmin molempia varten, mikä on kätevää piirtää, vaihtoehtoisesti NaN: t voidaan poistaa myöhemmin yhdellä koodin ulostulon rivillä. Muuttujaa midPointia käytetään datan kohdistamiseksi lähtövektoriin Jos n 10, 10 pistettä menetetään, koska tulovektorin ensimmäisten 9 pisteen kohdalla ei ole tarpeeksi tietoa kymmenen pisteen keskiarvon ottamiseksi. Koska lähtö on lyhyempi kuin syöttö, se on kohdistettava oikein. Midpoint käytetään siten, että yhtä suuri määrä tietoja menetetään alussa ja lopussa, ja tulo pidetään kohdistettuna lähtöön, jonka NaN-puskureita luodaan, kun esivalinta tuottaa. 1-pituiseksi y - n Etsi indeksialue keskimäärin laskettuna. Laske keskiarvo a keskipisteen keskiarvo yab-pää Itsessään itse silmukalle syötetään keskiarvo kullekin tulolähteen kullekin segmentille Silmukka ajetaan sille, joka on määritelty 1: ksi tulon y pituuden mukaan, miinus menetettävän datan mukaan n Jos tulo on 100 pisteen pituinen ja n on 10, silmukka ajaa 1: stä 90: een. Tämä tarkoittaa, että segmentin ensimmäinen indeksi keskiarvoidaan. Toinen indeksi b on yksinkertaisesti n-1. Joten ensimmäisellä iteroinnilla, a 1 n 10 niin b 11-1 10 Ensimmäinen keskiarvo otetaan yab: n tai x 1: n mukaan 10 Tämän segmentin keskiarvo, joka on yksittäinen arvo, tallennetaan lähtöön indeksissä a midpoint tai 1 5 6. Toisessa iteraatiossa , a 2 b 2 10-1 11, joten keskiarvo otetaan x 2 11: n kohdalta ja tallennetaan lähtöön 7 Silmukan viimeinen iterointi tulon 100 pituudelle, 91 b 90 10-1 100, joten keskiarvo otetaan yli x 91 100 ja tallennetaan lähtöön 95 Tämä jättää tuotoksen yhteensä n 10 NaN-arvoa indeksillä 1 5 ja 96 100.Esimerkkejä ja huomioita Liikkuvat keskiarvot ovat hyödyllisiä joissakin tilanteissa, mutta ne ei ole aina paras valinta Tässä on kaksi esimerkkiä, joissa ne eivät välttämättä ole optimaalisia. Mikrofoni kalibrointi Tämä datayhdistelmä edustaa kunkin kaiuttimen tuottaman taajuuden tasoa ja tallennetaan mikrofonilla, jolla on tunnettu lineaarinen vaste Kaiuttimen lähtö vaihtelee taajuus, mutta voimme korjata tämän vaihtelun kalibrointidatalla - lähtö voidaan säätää tasolle kalibroinnin vaihtelujen huomioon ottamiseksi. Huomaa, että raakatiedot ovat meluisat - tämä tarkoittaa, että pieni taajuuden muutos näyttää vaatineen suuri, epätäsmällinen muutos tason huomioon ottaminen Onko tämä realistinen vai onko tämä tallennusympäristön tuote? Tässä tapauksessa on järkevää soveltaa liikkuvan keskiarvon, joka tasoittaa tason taajuuskäyrän, jotta saadaan kalibrointikäyrä, joka on hieman epätäsmällisempi Mutta miksi tämä esimerkki ei ole optimaalinen. Edellinen data olisi parempi - useat kalibroinnit keskimäärin yhdessä tuhoaisivat melun järjestelmässä niin kauan kuin se toimi dom ja antaa käyrän vähemmän hienovaraisia ​​yksityiskohtia menettänyt Liikkuva keskiarvo voi vain lähentää tätä, ja voi poistaa joitakin korkeampia taajuus dips ja huiput kaarteesta, jotka todella ovat olemassa. Sine aallot Liikkuva keskiarvo siniaallot korostaa kaksi pistettä. kysymys kohtuullisen määrän pistettä suorittaa keskimääräinen over. It s yksinkertainen, mutta on olemassa tehokkaampia menetelmiä signaalin analyysiin keskiarvon värähteleviä signaaleja aika-alalla. Tässä kaaviossa alkuperäinen siniaalto on piirretty sinisellä Noise on lisätty ja piirretty oranssina käyränä Liikkuva keskiarvo suoritetaan eri pisteissä, jotta voidaan nähdä, voidaanko alkuperäinen aalto saada takaisin 5 ja 10 pistettä tuottavat kohtuullisia tuloksia, mutta eivät poista melua kokonaan, kun enemmän pisteitä alkaa menetetään amplitudin yksityiskohtia, kun keskiarvo ulottuu eri vaiheiden välillä, muistaa aalto värähtää noin nollaan ja keskiarvo -1 1 0. Vaihtoehtoinen lähestymistapa olisi rakentaa alipäästösuodatin, jota voidaan käyttää jota sovelletaan taajuusalueella olevaan signaaliin, en aio mennä yksityiskohtiin, koska se ylittää tämän artikkelin soveltamisalan, mutta koska kohina on huomattavasti korkeampi kuin aaltojen perustaajuus, tässä tapauksessa olisi melko helppoa rakentaa alipäästösuodatin kuin poistaa korkea taajuusmelun. Minun on laskettava liikkuva keskiarvo tietosarjassa, silmukan sisällä silmukan minun täytyy saada liikkuvan keskiarvon N 9 päivän aikana. Taulukko I m laskentaan on 4 sarjaa 365 arvot M, joka itsessään on toisen datakokonaisuuden keskiarvo, haluan piirtää tietoni keskiarvot liikkuvaan keskitasoon yhdellä tontilla. I googlasi hieman liikkuvia keskiarvoja ja conv-komentoa ja löysin jotain, mitä yritin toteuttaa minun koodi. On pohjimmiltaan minä laskea keskiarvo ja piirtää sen väärässä liukuva keskiarvo otin wts arvo pois mathworks sivuston, joten se on väärä lähde minun ongelmani on kuitenkin, että en ymmärrä, mitä tämä wts on Voisiko joku selittää Jos se on jotain ng tekemään painoja arvoja, jotka ovat virheellisiä tässä tapauksessa Kaikki arvot on painotettu sama. Ja jos olen tekemässä tätä täysin väärin, voisinko saada apua. Minun vilpittömimmät thanks. asked 23 syyskuu 14 klo 19 05 . Konfunktion käyttäminen on erinomainen tapa liikuttaa keskimäärin käytettävää koodia. Wts on kuinka paljon punnittelet jokaista arvoa, kun arvasit, että kyseisen vektorin summa on aina yhtä suuri kuin yksi. Jos haluat painottaa jokaista arvoa tasaisesti ja tee koko N liikkuvan suodattimen, jonka haluat tehdä. Käytettäessä voimassa olevan argumentin konvoluutiossa seurauksena on vähemmän arvoja MS: ssä kuin sinulla on M Käytä samaa, jos et ymmärrä nollan täytön vaikutuksia Jos sinulla on signaali työkalulaatikon avulla voit käyttää cconv: ää, jos haluat kokeilla ympyränmuotoista liukuvaa keskiarvoa. Voit lukea conv - ja cconv-dokumentaatiota lisätietoja, jos et ole jo päässyt. Voit käyttää suodatinta löytääksesi juoksevan keskiarvon käyttämättä silmukkaa. Tämä Esimerkki etsii 16-elementti-mallin juoksevan keskiarvon ctor, käyttäen ikkunan kokoa 5.2 sileä osana Curve Fitting Toolboxia, joka on käytettävissä useimmissa tapauksissa. yy tasainen y sileä tiedot sarakevektorissa y liikkuva keskimääräinen suodatin Tulokset palautetaan sarake vektori yy Oletus span liikkuva keskiarvo on 5. on prosessin ehdoton keskiarvo ja L on järkevä, äärettömän asteinen lag - operaattori-polynomi, 1 1 L 2 L 2. Huomaa Arima-mallin objektin vakio-ominaisuus vastaa c eikä ehdoton keskiarvo. Woldin hajotus 2 Yhtälö 6-12 vastaa stationaarista stokastista prosessia edellyttäen, että kertoimet i ovat ehdottomasti summable. Näin on, kun AR-polynomi, L on stabiili eli kaikki sen juuret sijaitsevat yksikön ympyrän ulkopuolella. Lisäksi prosessi on syy-oletus edellyttäen, että MA polynomi on vaihtokelpoinen, jolloin kaikki sen juuret sijaitsevat yksikön ympyrän ulkopuolella. Econometrics Toolbox varmistaa ARMA-prosessien vakauden ja invertoituvuuteen Kun määrität ARMA-mallin käyttämällä arima-arvoa, saat virheen tai jos syötät kertoimia, jotka eivät vastaa vakaata AR-polynomi tai muunneltava MA-polynomi Vastaavasti estimaatti asettaa stationaarisuuden ja invertibility-rajoitukset arvioinnin aikana. 1 Box, G E P G M Jenkins ja G C Reinsel Time Series - analyysiennuste ja - ohjaus 3rd ed Englewood Cliffs, NJ Prentice Hall, 1994. 2 Wold, H Tutkimus staattisten aikasarjojen analyysiin Uppsala, Ruotsi Almqvist Wiksell, 1938.Valitse maa.

No comments:

Post a Comment