Tuesday, 15 August 2017

Moving Average Nan Matlab


Die gebruik van MATLAB, hoe kan ek die 3-daagse bewegende gemiddelde van 'n spesifieke kolom van 'n matriks en voeg die bewegende gemiddelde op daardie matriks ek probeer om die 3-daagse bewegende gemiddelde van onder bereken op die top van die matriks. Ek het my kode voorsien: Gegewe die volgende matriks A en masker: Ek het probeer die implementering van die conv opdrag maar Ek ontvang 'n fout. Hier is die conv opdrag Ek het probeer om te gebruik op die 2de kolom van matriks A: Die uitset Ek verlang word in die volgende matriks: Indien u enige voorstelle, sou ek dit baie waardeer. Dankie vir kolom 2 van matriks A, ek berekening van die 3-daagse bewegende gemiddelde soos volg en die plasing van die resultaat in kolom 4 van matriks A (Ek herdoop matriks n as 39desiredOutput39 net ter illustrasie). Die 3-dag gemiddeld van 17, 14, 11, is 14 die 3-dag gemiddeld van 14, 11, 8 is 11 die 3-dag gemiddeld van 11, 8, 5 is 8 en die 3-dag gemiddeld van 8, 5, 2 is 5. Daar is geen waarde in die onderste 2 rye vir die 4de kolom omdat die berekening vir die 3-daagse bewegende gemiddelde begin aan die onderkant. Die 39valid39 uitset sal nie gewys word tot ten minste 17, 14, en 11. Hopelik sal hierdie sin uitvoering maak Aaron 12 Junie 13 by 01:28 1 Antwoord In die algemeen is dit sal help as jy die fout sal wys. In hierdie geval jy doen twee dinge verkeerd: Eerste het jou konvolusie te verdeel deur drie (of die lengte van die bewegende gemiddelde) Tweedens, let op die grootte van c. Jy kan nie net pas c in 'n. Die tipiese manier om 'n bewegende gemiddelde sou wees om dieselfde te gebruik, maar dit nie die geval is lyk wat jy wil hê. In plaas jy gedwing word om 'n paar lyne gebruik: Hoe om NaN skat met geweegde bewegende gemiddelde in Matlab Die Nans in jou probleem ten minste in die exemple is net daar om verskeidenheid grootte aan te pas vir die plot en kon al verwyder word. Besef jy dat hierdie kode produseer dieselfde plot met geen NaN truuks / gemors. As jou data in Z bevat NaN, moet jy dit te verwyder met behulp van command | isNaN wat gee jou terug 'n Boole Ek het geen idee wat jy wil doen, maar hier is 'n voorbeeld | isNaN (Z (i)) yi1 (i) 'n (1) Z (i) (1-a (1)) yi1 (i-1) anders yi1 (i) yi1 (i-1) as Z waarde is NaN dan die beste voorspelling is dat dit nie indeks indeks het verander, ek slaan die indeks waar ek het geen idee einde einde yi1 (indeks) NaN eienskappe NaN om al die waarde waar ek het geen idee so miskien beter hulle nie kan uitdruk. figuur (1) plot (1: 10, Z, o:) hou op plot (2: 11, yi1, G) legende (werklike waardes, vooruitsig: 0.9) uithou Het jy 'n vraag wat jy beantwoord quicklymovingaverage v3.1 nodig ( Maart 2008) MOVINGAVERAGE (X, F) glad die vektor data X met 'n wagon venster grootte 2F1, dit wil sê deur middel van gemiddeld elke element met die F-elemente aan sy regterhand en die F-elemente na links. Die uiterste elemente word ook gemiddeld maar met minder data, natuurlik. Verlaat die kante ongeskonde. Die metode is baie vinnig. MOVINGAVERAGE2 (X, M, N) glad die matriks X met 'n wagon venster van grootte (2M1) x (2N1), dit wil sê deur middel van gemiddeld elke element met sy omliggende elemente wat pas in die genoemde houer gesentreer op dit. Hierdie een is ook baie vinnig. Die elemente by die kante is ook gemiddeld, maar die hoeke is heel links. NANMOVINGAVERAGE (X, F) of NANMOVINGAVERAGE (X, F, 1) aanvaar Nans elemente in die vektor X laasgenoemde interpolates ook diegene Nans elemente omring deur numeriese elemente. NANMOVINGAVERAGE2 (X, M, N) of NANMOVINGAVERAGE2 (X, M, N, 1) aanvaar elemente Nans in die matriks X laasgenoemde interpolates ook diegene NaN elemente omring deur numeriese elemente. Nuwe eenvoudige GAP vul: SMOOTHMAVERAGE (X, M, N, IND) hierdie een glad net die X (IND) elemente. ignoreer Nans. Dit kan gebruik word om gapings te elimante op jou data. Elke M-lêers het 'n voorbeeld (sien die kiekie). Kyk hieronder om die veranderinge op v3.1 sien. Let wel: Op soek na die 2 dimensionele kode van MOVINGAVERAGE2.M (en RUNMEAN vir 'n paar wenke) iemand kan 'n N-dimensionele MA maklik maak. Wil jy Matlab 7.5 (R2007b) MATLAB Soek Pad Tags vir hierdie lêer Sal u asseblief aanmeld om lêers te merk. Sal u asseblief aanmeld om 'n opmerking of gradering voeg. Kommentaar (31) Ek wil graag om te kry 'n bewegende gemiddelde funksie hantering van nan waardes Carlos, ek hou van jou funksie movingaverage, baie maklik om te gebruik. Ek het data wat klein is om groot tyd gapings en ek donx27t wil filter oor die gapings. Ek kon die vektor breek op elke gaping, maar dit sou werk beteken. Enige voorstel oor hoe om iets te hanteer soos hierdie baie nuttige vyand my (hoofsaaklik vir die plot) Liewe almal, Ix27m hantering gaping te vul op weer metings wat die NaN moet gevul gebaseer op die tyd venster van 'n paar dae. (Dws buurt uur van 'n paar dae). Byvoorbeeld, sal een NaN by 17:00 word vervang deur die gemiddelde waarde in die buurt uur van omgewing 'n paar dae. (Letx27s sê 4, 5 en 18:00 van buurt 5 dae) Hier is die been van die vraag wat ek graag om te gaan met: waardes rand (1,1000) X27 fakeNaN vloer (rand (1300) x271000) waardes (fakeNaN) NaN want ek 1 : lengte (waardes) N 24 I (1: 5) havingnanindex vind (| isNaN (waardes)) newvalues ​​nanmean (waardes (havingnanindex N-1: havingnanindexn1)): Iets soos dit:: As jy enige oplossings of advies, asseblief voel vry om my te laat weet. Dankie, Michael hi Carlos ek het 'n e-pos aan jou stuur oor die probleme in programmatie van die rekursiewe bewegende dekking het jy enige idee oor hierdie kwessie enige hulp asb dankie deur vooraf Edgar Guevara Codina Itx27s voldoende por naprosessering van spektroskopiese seine, baie nuttig inderdaad. Carlos Adrian Vargas Aguilera Gemeenskaplike Aslak, is jy op soek na VLOOIE in plaas van foute. Maar, ok, GEBRUIKERS: PASOP van uitskieters en groot beteken as die gebruik van CUMSUM runmean metode Gebruik eerder: NDNANFILTER :) Hi Carlos. Ek bedoel dit as 'n opbouende kritiek. Die punt is dat die fout is onnodig, maklik voorkombare, en daar is geen spoed voordeel. Jy is reg dat in die spesifieke voorbeeld die fout is nie baie groot nie (alhoewel jy die fout maak om dit te vergelyk met die gemiddelde eerder as die standaard afwyking te maak). Maar net omdat die fout is klein in daardie geval, beteken nie dit is vir al die reeks. Probeer byvoorbeeld hierdie: m3 n100000 xrandn (N, 1) x (1) 1e100 Die probleem is dat die uitskieter gee aanleiding tot groot foute in die hele stryk reeks, en nie net in die venster. Ek vergeet die gradering vir Aslakx27s voorbeeld (1 ster): hy vergelyk foute van verduidelijk 1e-90,000000001 en 1e-13 eps. Ja 10,000 keer groter, maar vir waardes met 1000 beteken wat 1x27000,000x27000,000 groter as die groter fout. Dit is 'n groot bietjie fout isnx27t dit Nice kode maar. Die cumsum truuk om te bereken bewegende gemiddeldes kan lei tot unneccarily groot foute onder sekere omstandighede: die gemiddelde is baie anders as nul en die reeks is baie lank. Herex27s n klein toets wat die probleem illustreer met behulp van 3 verskillende benaderings van die berekening van die bewegende gemiddelde. Dit dui daarop dat die x27cumsumx27 metode het foute wat meer as 10000 keer groter as die foute van die filter metode is. Daar is geen werklike spoed verskil. M10 n300000 xrandn (N, 1) 1000 dink byvoorbeeld atmosferiese druk. tiese snan (lengte (x) - m1,1) vir ii1: lengte (s) se (ii) gemiddelde (x (ii (0: m-1))) einde slowtimetoc tiese c0cumsum (x) c (c (M1: einde) - C (1: end-m)) / m cumsumtimetoc cumsumerrorsqrt (gemiddelde ((CS) 0,2)) tiese fltones (m, 1) / m ffilter2 (Flt, x, x27validx27) filtertimetoc filtererrorsqrt (gemiddelde ((FS ) 0,2)) slowtime 9,4732 cumsumtime 0,041549 cumsumerror 2.6456e-009 filtertime 0,033685 filtererror 1.4151e-013 Wel kommentaar Check I / O getalle en foute vectorized vinnige Carlos Adrin Vargas Aguilera gevind 'n onskuldige fout op MOVINGAVERAGE, lyn 75: 'n ekstra komma in die waarsku JA RK: Trouens, dit is beperkings van hierdie bewegende gemiddelde, maar die probleem met die kante is algemeen in filtrering teorie. Die skrywer gee ons 'n idee en jy BTW: daardie gaping te vul is wat ek was op soek na. Dankie Carlos Adrin Vargas Aguilera Hallo Sam Dankie vir jou kommentaar. Ek het geen probleem met die voorbeeld, moet jy die kiekie hierbo (sonder die gate) kry, miskien itx27s jou Matlab release maar die kode is eintlik eenvoudig en moet werk op ander. Oor die F, te kry 'n gesentreerde gemiddelde rondom 'n element, moet die aantal elemente gemiddelde vreemd wees, sodat 2F1, en op hierdie manier F is die half-breedte van die venster (kyk die beskrywing hierbo). Soortgelyke vir die M, N op 2D. Hi Carlos, baie dankie vir jou interessante Matlab kode. Ek het 'n twyfel oor die venster grootte in 1D bewegende gemiddelde. Die grootte van die venster is x272F1x27 kan jy asseblief vir my sê wat x27Fx27 staan ​​ook ek het probeer om die 2D kry bewegende gemiddelde om te werk met jou verskaf byvoorbeeld i couldnx27t dit te kry om work. Documentation tsmovavg uitset tsmovavg (tsobj, s, lag ) gee terug die eenvoudige bewegende gemiddeld vir finansiële tydreekse voorwerp, tsobj. lag dui die aantal vorige datapunte gebruik met die huidige data punt by die berekening van die bewegende gemiddelde. uitset tsmovavg (vektor, s, lag, dowwe) gee terug Die eenvoudige bewegende gemiddelde vir 'n vektor. lag dui die aantal vorige datapunte gebruik met die huidige data punt by die berekening van die bewegende gemiddelde. uitset tsmovavg (tsobj, e, timeperiod) gee terug Die eksponensiële geweegde bewegende gemiddelde vir finansiële tydreekse voorwerp, tsobj. Die eksponensiële bewegende gemiddelde is 'n geweegde bewegende gemiddelde, waar timeperiod spesifiseer die tydperk. Eksponensiële bewegende gemiddeldes te verminder die lag deur die toepassing van meer gewig aan onlangse pryse. Byvoorbeeld, 'n 10-tydperk eksponensiële bewegende gemiddelde gewigte die mees onlangse prys deur 18.18. Eksponensiële Persentasie 2 / (TIMEPER 1) of 2 / (WINDOWSIZE 1). uitset tsmovavg (vektor, e, timeperiod, dowwe) gee terug Die eksponensiële geweegde bewegende gemiddelde vir 'n vektor. Die eksponensiële bewegende gemiddelde is 'n geweegde bewegende gemiddelde, waar timeperiod spesifiseer die tydperk. Eksponensiële bewegende gemiddeldes te verminder die lag deur die toepassing van meer gewig aan onlangse pryse. Byvoorbeeld, 'n 10-tydperk eksponensiële bewegende gemiddelde gewigte die mees onlangse prys deur 18.18. (2 / (timeperiod 1)). uitset tsmovavg (tsobj, t, numperiod) gee terug Die driehoekige bewegende gemiddelde vir finansiële tydreekse voorwerp, tsobj. Die driehoekige bewegende gemiddelde dubbel glad die data. tsmovavg word bereken dat die eerste eenvoudige bewegende gemiddelde met venster breedte van oordek (numperiod 1) / 2. Dan bereken dit 'n tweede eenvoudige bewegende gemiddelde op die eerste bewegende gemiddelde met dieselfde venster grootte. uitset tsmovavg (vektor, t, numperiod, dowwe) gee terug Die driehoekige bewegende gemiddelde vir 'n vektor. Die driehoekige bewegende gemiddelde dubbel glad die data. tsmovavg word bereken dat die eerste eenvoudige bewegende gemiddelde met venster breedte van oordek (numperiod 1) / 2. Dan bereken dit 'n tweede eenvoudige bewegende gemiddelde op die eerste bewegende gemiddelde met dieselfde venster grootte. uitset tsmovavg (tsobj, w, gewigte) gee terug Die geweegde bewegende gemiddelde vir die finansiële tydreekse voorwerp, tsobj. deur die verskaffing van gewigte vir elke element in die bewegende venster. Die lengte van die gewig vektor bepaal die grootte van die venster. As groter gewig faktore word gebruik vir meer onlangse pryse en kleiner faktore vir vorige pryse, die neiging is meer ontvanklik vir onlangse wysigings. uitset tsmovavg (vektor, w, gewigte, dowwe) gee terug Die geweegde bewegende gemiddelde vir die vektor deur die verskaffing van gewigte vir elke element in die bewegende venster. Die lengte van die gewig vektor bepaal die grootte van die venster. As groter gewig faktore word gebruik vir meer onlangse pryse en kleiner faktore vir vorige pryse, die neiging is meer ontvanklik vir onlangse wysigings. uitset tsmovavg (tsobj, m, numperiod) gee terug Die gemodifiseerde bewegende gemiddelde vir die finansiële tydreekse voorwerp, tsobj. Die aangepaste bewegende gemiddelde is soortgelyk aan die eenvoudige bewegende gemiddelde. Oorweeg die argument numperiod die lag van die eenvoudige bewegende gemiddelde wees. Die eerste gewysigde bewegende gemiddelde bereken word soos 'n eenvoudige bewegende gemiddelde. Daaropvolgende waardes word bereken deur die toevoeging van die nuwe prys en trek die laaste gemiddelde van die gevolglike bedrag. uitset tsmovavg (vektor, m, numperiod, dowwe) gee terug Die gemodifiseerde bewegende gemiddelde vir die vektor. Die aangepaste bewegende gemiddelde is soortgelyk aan die eenvoudige bewegende gemiddelde. Oorweeg die argument numperiod die lag van die eenvoudige bewegende gemiddelde wees. Die eerste gewysigde bewegende gemiddelde bereken word soos 'n eenvoudige bewegende gemiddelde. Daaropvolgende waardes word bereken deur die toevoeging van die nuwe prys en trek die laaste gemiddelde van die gevolglike bedrag. dowwe 8212 dimensie te bedryf saam positiewe heelgetal met waarde 1 of 2 Dimension te bedryf saam, wat as 'n positiewe heelgetal met 'n waarde van 1 of 2. dowwe is 'n opsionele insette argument, en as dit nie gebruik word as 'n inset, die verstek waarde 2 word aanvaar. Die standaard van dowwe 2 dui op 'n ry-georiënteerde matriks, waar elke ry is 'n veranderlike en elke kolom is 'n waarneming. As dowwe 1. die insette is veronderstel om 'n kolomvektor of-kolom-georiënteerde matriks, waar elke kolom is 'n veranderlike en elke ry 'n waarneming wees. e 8212 aanwyser vir eksponensiële bewegende gemiddelde karakter vektor Eksponensiële bewegende gemiddelde is 'n geweegde bewegende gemiddelde, waar timeperiod is die tydperk van die eksponensiële bewegende gemiddelde. Eksponensiële bewegende gemiddeldes te verminder die lag deur die toepassing van meer gewig aan onlangse pryse. Byvoorbeeld, 'n tydperk van 10 eksponensiële bewegende gemiddelde gewigte die mees onlangse prys deur 18.18. Eksponensiële Persentasie 2 / (TIMEPER 1) of 2 / (WINDOWSIZE 1) timeperiod 8212 Lengte van tyd positiewe getal Kies Jou CountryDocumentation ARIMA klas beskrywing ARIMA skep model voorwerpe vir stilstaande of eenheid wortel stationaire lineêre tydreeksmodel. Dit sluit bewegende gemiddelde (MA), outoregressiewe (AR), gemengde outoregressiewe en bewegende gemiddelde (ARMA), geïntegreerde (ARIMA), multiplikatiewe seisoenale en lineêre tydreeksmodelle dat 'n regressie komponent (ARIMAX) insluit. Spesifiseer modelle met bekende koëffisiënte, skat koëffisiënte met data met behulp van skatting. of na te boots modelle met boots. By verstek, die variansie van die innovasies is 'n positiewe skalaar, maar jy kan enige ondersteun voorwaardelike variansie model, spesifiseer soos 'n GARCH model. Konstruksie Mdl ARIMA skep 'n ARIMA model grade nul. MDL ARIMA (p, D, q) skep 'n nonseasonal lineêre tydreeksmodel behulp outoregressiewe graad p. breukmetodes graad D. en bewegende gemiddelde graad q. MDL ARIMA (Naam, Waarde) skep 'n lineêre tydreeksmodel die gebruik van addisionele opsies wat deur een of meer naam, Waarde paar argumente. Naam is die naam eiendom en waarde is die ooreenstemmende waarde. Naam moet binne aanhalingstekens (). Jy kan 'n paar naam-waarde paar argumente spesifiseer in enige volgorde as NAME1, VALUE1. Namen, ValueN. Insette Argumente Let wel: Jy kan net hierdie argumente gebruik vir nonseasonal modelle. Vir seisoenale modelle, gebruik die naam-waarde sintaksis. Definisies Lag Operateur Die lag operateur L word gedefinieer as L i y t y t x2212 i. Jy kan lag operateur polinome te skep met behulp van hulle om die notasie kondenseer en los lineêre verskilvergelykings. Die lag operateur polinome in die lineêre tydreeksmodel definisies is: x03D5 (L) 1 x2212 x03D5 L x2212 x03D5 2 L 2 x2212. x2212 x03D5 p L p. wat is die graad p outoregressiewe polinoom. x03B8 (L) 1 x03B8 L x03B8 2 L 2. x03B8 Q L q. wat is die graad Q bewegende gemiddelde polinoom. x03A6 (L) 1 x2212 x03A6 p 1 L p 1 x2212 x03A6 p 2 L p 2 x2212. x2212 x03A6 p s L p s. wat is die graad p s seisoenale outoregressiewe polinoom. x0398 (L) 1 x0398 Q 1 L Q 1 x0398 Q 2 L V 2. x0398 q s L q s. wat is die graad Q se seisoenale bewegende gemiddelde polinoom. Let wel: Die grade van die lag operateurs in die seisoenale polinome 934 (L) en 920 (L) nie voldoen aan diegene gedefinieer deur Box en Jenkins 1. Met ander woorde, Ekonometrie Toolboxx2122 nie behandel p 1 s. p 2 2s. p s c p s of Q 1 s. Q 2 2s. q s c q is waar C p en c Q is positiewe heelgetalle. Die sagteware is buigsaam as dit kan jy die lag operateur grade spesifiseer. Sien Multiplikatiewe ARIMA Model Spesifikasies. Lineêre tydreeksmodel 'n Lineêre tydreeksmodel vir reaksie proses yt en innovasies 949 t is 'n stogastiese proses wat die vorm YTC x03D5 1 yt x2212 1 x2026 x03D5 pyt x2212 p x03B5 t x03B8 1 x03B5 t x2212 1 x2026 x03B8 Q x03B5 t x2212 het q. In lag operateur notasie, hierdie model is x03D5 (L) y t c x03B8 (L) x03B5 t. Die algemene tye reeks model, wat breukmetodes, multiplikatiewe seisoenaliteit, en seisoenale breukmetodes sluit, is x03D5 (L) (1 x2212 L) D x03A6 (L) (1 x2212 L s) D sytc x03B8 (L) x0398 (L) x03B5 t . Die koëffisiënte van die nonseasonal en seisoenale outoregressiewe polinome x03D5 (L) en x03A6 (L) stem ooreen met AR en Kong. onderskeidelik. Die grade van hierdie polinome is p en p s. Net so, die koëffisiënte van polinome x03B8 (L) en x0398 (L) stem ooreen met MA en SMA. Die grade van hierdie polinome is Q en Q is. onderskeidelik. Die polinome (1 x2212 L) D en (1 x2212 L s) D e het 'n mate van nonseasonal en seisoenale integrasie D en D s. onderskeidelik. Let daarop dat is, stem ooreen met eiendom Seisoenaliteit model. D s is 1 as Seisoenaliteit is nul, en dit is 0 anders. Dit wil sê, die sagteware van toepassing eerste-orde seisoenale breukmetodes as Seisoenaliteit 8805 1. Die model eiendom Q gelyk aan q q s is. Jy kan hierdie model uit te brei deur die insluiting van 'n matriks van voorspeller data. Vir meer besonderhede, sien ARIMA model insluitende Eksogene covariates. Stasionariteit Vereistes x03D5 (L) y t c x03B8 (L) x03B5 t. waar 949 t het beteken 0, variansie 963 2. en C o v (x03B5 t. x03B5 s) 0 vir t 8800 s. stilstaan ​​as sy verwagte waarde, variansie en kovariansie tussen elemente van die reeks is onafhanklik van tyd. Byvoorbeeld, die MA (Q) model, met c 0. stilstaan ​​vir 'n Q x003C x221E omdat E (yt) x03B8 (L) 0 0. V ar (yt) x03C3 2 x2211 i 1 Q x03B8 i 2. en C OV (y t. yt x2212 s) vry van t vir alle tye wys 1. Eenheid wortel van die tydreeks x007B y t t 1. T x007D is 'n eenheid wortel proses as die verwagte waarde, variansie, of kovariansie groei met die tyd. Daarna het die tydreeks is nie stilstaan. Verwysings 1 Box, G. E. P. G. M. Jenkins, en G. C. Reinsel. Tydreeksanalise: Vooruitskatting en beheer. 3rd ed. Englewood Cliffs, NJ: Prentice Hall, 1994. 2 Enders, W. Toegepaste Ekonometriese tydreekse. Hoboken, New Jersey: John Wiley amp Sons, Inc. 1995 Kies 'n land

No comments:

Post a Comment