Moving genomsnittet sas
Om LAG-funktionen returnerar ett värde till en teckenvariabel som ännu inte har tilldelats en längd, är variabeln som standard tilldelad en längd på 200. LAG-funktionerna, LAG1, LAG2. LAG n returvärden från en kö. LAG1 kan också skrivas som LAG. En LAG n-funktion lagrar ett värde i en kö och returnerar ett värde som lagrats tidigare i den köen. Varje förekomst av en LAG n-funktion i ett program genererar en egen kö av värden. Kön för varje förekomst av LAG n initieras med n saknade värden, där n är könens längd (till exempel en LAG2-kö initieras med två saknade värden). När en förekomst av LAG n exekveras tas värdet högst upp i sin kö bort och returneras, de återstående värdena flyttas uppåt och argumentets nya värde placeras längst ned i kön. Därför returneras saknade värden för de första n-avrättningarna av varje förekomst av LAG n. varefter argumentets fördröjda värden börjar dyka upp. Obs! Lagring av värden längst ner i kön och returvärden från överkanten sker endast när funktionen körs. En förekomst av LAG n-funktionen som utförs på villkorligt sätt lagrar och returnerar endast värden från observationerna för vilka tillståndet är uppfyllt. Om argumentet för LAG n är ett matrisnamn, upprätthålls en separat kö för varje variabel i matrisen. När LAG-funktionen sammanställs, tilldelar SAS minne i en kö för att hålla värdena för variabeln som är listad i LAG-funktionen. Om exempelvis variabeln i funktion LAG100 (x) är numerisk med en längd av 8 byte, är det minne som behövs 8 gånger 100 eller 800 byte. Därför är minnesgränsen för LAG-funktionen baserad på det minne som SAS tilldelas, vilket varierar med olika operativmiljöer. Genomförande av genomsnittliga och exponentiella utjämningsmodeller Som ett första steg för att flytta bortom genomsnittliga modeller, slumpmässiga gångmodeller och linjära trendmodeller, nonseasonal mönster och trender kan extrapoleras med hjälp av en rörlig genomsnitts - eller utjämningsmodell. Det grundläggande antagandet bakom medelvärdes - och utjämningsmodeller är att tidsserierna är lokalt stationära med ett långsamt varierande medelvärde. Därför tar vi ett rörligt (lokalt) medelvärde för att uppskatta det nuvarande värdet av medelvärdet och sedan använda det som prognosen för den närmaste framtiden. Detta kan betraktas som en kompromiss mellan medelmodellen och slumpmässig-walk-without-drift-modellen. Samma strategi kan användas för att uppskatta och extrapolera en lokal trend. Ett rörligt medelvärde kallas ofta en quotsmoothedquot-version av den ursprungliga serien, eftersom kortsiktig medelvärde har en effekt att utjämna stötarna i originalserien. Genom att justera graden av utjämning (bredden på glidande medelvärdet) kan vi hoppas att hitta någon form av optimal balans mellan prestandan hos medel och slumpmässiga gångmodeller. Den enklaste typen av medelvärdesmodell är. Enkelt (lika viktat) Flyttande medelvärde: Prognosen för värdet på Y vid tiden t1 som görs vid tid t motsvarar det enkla medelvärdet av de senaste m-observationerna: (Här och på annat håll använder jag symbolen 8220Y-hat8221 för att stå för en prognos av tidsserie Y som gjordes så tidigt som möjligt enligt en given modell.) Detta medel är centrerat vid period-t (m1) 2, vilket innebär att uppskattningen av det lokala medelvärdet tenderar att ligga bakom den sanna värdet av det lokala medelvärdet med ca (m1) 2 perioder. Således säger vi att medelåldern för data i det enkla glidande medlet är (m1) 2 i förhållande till den period för vilken prognosen beräknas: det här är hur lång tid prognoserna tenderar att ligga bakom vändpunkter i data . Om du till exempel medger de senaste 5 värdena, kommer prognoserna att vara cirka 3 perioder sent för att svara på vändpunkter. Observera att om m1 är den enkla glidande genomsnittsmodellen (SMA) motsvarar den slumpmässiga gångmodellen (utan tillväxt). Om m är mycket stor (jämförbar med längden på uppskattningsperioden), motsvarar SMA-modellen den genomsnittliga modellen. Precis som med vilken parameter som helst av en prognosmodell, är det vanligt att justera värdet på k för att få den bästa kvotkvoten till data, dvs de minsta prognosfelen i genomsnitt. Här är ett exempel på en serie som verkar utgöra slumpmässiga fluktuationer runt ett långsamt varierande medelvärde. Först kan vi försöka passa den med en slumpmässig promenadmodell, vilket motsvarar ett enkelt glidande medelvärde på 1 term: Slumpmässig gångmodell svarar väldigt snabbt på förändringar i serien, men därmed väljer den mycket av kvotenhetskvoten i data (de slumpmässiga fluktuationerna) samt quotsignalquot (det lokala medelvärdet). Om vi istället försöker ett enkelt glidande medelvärde på 5 termer får vi en snyggare uppsättning prognoser: Det 5-åriga enkla glidande medlet ger betydligt mindre fel än den slumpmässiga promenadmodellen i det här fallet. Medelåldern för data i denna prognos är 3 ((51) 2), så att den tenderar att ligga bakom vändpunkter med cirka tre perioder. (Till exempel verkar en nedgång ha skett i period 21, men prognoserna vänder inte om till flera perioder senare.) Notera att de långsiktiga prognoserna från SMA-modellen är en horisontell rak linje, precis som i slumpmässig promenad modell. Således antar SMA-modellen att det inte finns någon trend i data. Men medan prognoserna från den slumpmässiga promenadmodellen helt enkelt motsvarar det senast observerade värdet är prognoserna från SMA-modellen lika med ett vägt genomsnitt av de senaste värdena. De konfidensbegränsningar som beräknas av Statgraphics för de långsiktiga prognoserna för det enkla glidande genomsnittet blir inte större eftersom prognostiseringshorisonten ökar. Det här är uppenbarligen inte korrekt Tyvärr finns det ingen underliggande statistisk teori som berättar hur förtroendeintervallen borde utvidgas för denna modell. Det är emellertid inte så svårt att beräkna empiriska uppskattningar av konfidensgränserna för prognosen för längre tid. Du kan till exempel skapa ett kalkylblad där SMA-modellen skulle användas för att prognostisera två steg framåt, 3 steg framåt etc. i det historiska dataprov. Därefter kan du beräkna felfunktionens avvikelser vid varje prognoshorisont och sedan konstruera konfidensintervaller för längre siktprognoser genom att lägga till och subtrahera multiplar med lämplig standardavvikelse. Om vi försöker ett 9-sikt enkelt glidande medelvärde får vi ännu smidigare prognoser och mer av en långsammare effekt: Medelåldern är nu 5 perioder (91) 2). Om vi tar ett 19-årigt glidande medel ökar medeltiden till 10: Observera att prognoserna nu försvinner nu bakom vändpunkter med cirka 10 perioder. Vilken mängd utjämning är bäst för denna serie Här är en tabell som jämför deras felstatistik, inklusive ett 3-siktsmedel: Modell C, det 5-åriga glidande genomsnittet, ger det lägsta värdet av RMSE med en liten marginal över 3 term och medellång sikt, och deras andra statistik är nästan identiska. Så, bland modeller med mycket liknande felstatistik kan vi välja om vi föredrar lite mer lyhördhet eller lite mer jämnhet i prognoserna. (Return to top of page.) Browns Enkel exponentiell utjämning (exponentiellt viktad glidande medelvärde) Den enkla glidande medelmodellen beskriven ovan har den oönskade egenskapen som den behandlar de sista k-observationerna lika och fullständigt ignorerar alla föregående observationer. Intuitivt bör tidigare data diskonteras på ett mer gradvis sätt - till exempel bör den senaste observationen få lite mer vikt än 2: a senast, och den 2: a senaste bör få lite mer vikt än den 3: e senaste, och så vidare. Den enkla exponentiella utjämningens (SES) - modellen åstadkommer detta. Låt 945 beteckna en quotsmoothing constantquot (ett tal mellan 0 och 1). Ett sätt att skriva modellen är att definiera en serie L som representerar den nuvarande nivån (dvs lokal medelvärde) för serien som uppskattad från data fram till idag. Värdet på L vid tid t beräknas rekursivt från sitt eget tidigare värde så här: Således är det nuvarande utjämnade värdet en interpolation mellan det tidigare jämnda värdet och den aktuella observationen, där 945 styr närheten av det interpolerade värdet till det senaste observation. Prognosen för nästa period är helt enkelt det nuvarande utjämnade värdet: Likvärdigt kan vi uttrycka nästa prognos direkt i form av tidigare prognoser och tidigare observationer, i någon av följande ekvivalenta versioner. I den första versionen är prognosen en interpolation mellan föregående prognos och tidigare observation: I den andra versionen erhålls nästa prognos genom att justera föregående prognos i riktning mot det föregående felet med en bråkdel av 945. Är felet gjort vid tid t. I den tredje versionen är prognosen ett exponentiellt vägt (dvs. rabatterat) glidande medelvärde med rabattfaktor 1-945: Interpolationsversionen av prognosformuläret är det enklaste att använda om du genomför modellen på ett kalkylblad: det passar in i en encell och innehåller cellreferenser som pekar på föregående prognos, föregående observation och cellen där värdet 945 lagras. Observera att om 945 1 motsvarar SES-modellen en slumpmässig gångmodell (utan tillväxt). Om 945 0 motsvarar SES-modellen den genomsnittliga modellen, förutsatt att det första släta värdet sätts lika med medelvärdet. (Återgå till början av sidan.) Medelåldern för data i prognosen för enkel exponentiell utjämning är 1 945 i förhållande till den period som prognosen beräknas för. (Detta är inte tänkt att vara uppenbart, men det kan enkelt visas genom att utvärdera en oändlig serie.) Den enkla, snabba genomsnittliga prognosen tenderar därför att ligga bakom vändpunkter med cirka 1 945 perioder. Till exempel, när 945 0,5 är fördröjningen 2 perioder när 945 0,2 är fördröjningen 5 perioder när 945 0,1 är fördröjningen 10 perioder, och så vidare. För en given genomsnittlig ålder (dvs mängden fördröjning) är prognosen för enkel exponentiell utjämning (SES) något överlägsen SMA-prognosen (Simple Moving Average) eftersom den lägger relativt större vikt vid den senaste observationen, dvs. det är något mer quotresponsivequot för förändringar som inträffade under det senaste förflutna. Exempelvis har en SMA-modell med 9 villkor och en SES-modell med 945 0,2 båda en genomsnittlig ålder på 5 för data i sina prognoser, men SES-modellen lägger mer vikt på de sista 3 värdena än SMA-modellen och vid Samtidigt gör det inte helt 8220forget8221 om värden som är mer än 9 perioder gamla, vilket visas i det här diagrammet. En annan viktig fördel med SES-modellen över SMA-modellen är att SES-modellen använder en utjämningsparameter som kontinuerligt varierar, så att den lätt kan optimeras genom att använda en kvotsolverquot-algoritm för att minimera det genomsnittliga kvadratfelet. Det optimala värdet på 945 i SES-modellen för denna serie visar sig vara 0,2961, som visas här: Medelåldern för data i denna prognos är 10,2961 3,4 perioder, vilket liknar det för ett 6-sikt enkelt glidande medelvärde. De långsiktiga prognoserna från SES-modellen är en horisontell rak linje. som i SMA-modellen och den slumpmässiga promenadmodellen utan tillväxt. Observera dock att de konfidensintervaller som beräknas av Statgraphics avviker nu på ett rimligt sätt, och att de är väsentligt smalare än konfidensintervallen för slumpmässig promenadmodell. SES-modellen förutsätter att serien är något mer förutsägbar än den slumpmässiga promenadmodellen. En SES-modell är egentligen ett speciellt fall av en ARIMA-modell. så ger den statistiska teorin om ARIMA-modeller en bra grund för beräkning av konfidensintervall för SES-modellen. I synnerhet är en SES-modell en ARIMA-modell med en icke-säsongsskillnad, en MA (1) term och ingen konstant term. annars känd som en quotARIMA (0,1,1) modell utan constantquot. MA (1) - koefficienten i ARIMA-modellen motsvarar kvantiteten 1-945 i SES-modellen. Om du till exempel passar en ARIMA (0,1,1) modell utan konstant till serien som analyseras här, visar den uppskattade MA (1) - koefficienten sig att vara 0.7029, vilket är nästan exakt en minus 0,2961. Det är möjligt att lägga till antagandet om en icke-noll konstant linjär trend till en SES-modell. För att göra detta, ange bara en ARIMA-modell med en icke-sekundär skillnad och en MA (1) term med en konstant, dvs en ARIMA (0,1,1) modell med konstant. De långsiktiga prognoserna kommer då att ha en trend som är lika med den genomsnittliga trenden som observerats under hela estimeringsperioden. Det går inte att göra detta i samband med säsongjustering, eftersom säsongsjusteringsalternativen är inaktiverade när modelltypen är inställd på ARIMA. Du kan emellertid lägga till en konstant långsiktig exponentiell trend till en enkel exponentiell utjämningsmodell (med eller utan säsongsjustering) genom att använda inflationsjusteringsalternativet i prognosproceduren. Den lämpliga quotinflationen (procentuell tillväxt) per period kan beräknas som lutningskoefficienten i en linjär trendmodell som är anpassad till data i samband med en naturlig logaritmtransformation, eller det kan baseras på annan oberoende information om långsiktiga tillväxtutsikter . (Återgå till början av sidan.) Browns Linear (ie double) Exponentiell utjämning SMA-modellerna och SES-modellerna antar att det inte finns någon trend av något slag i data (vilket vanligtvis är OK eller åtminstone inte för dåligt för 1- stegprognoser när data är relativt bullriga), och de kan modifieras för att införliva en konstant linjär trend som visas ovan. Vad sägs om kortsiktiga trender Om en serie visar en växande tillväxt eller ett cykliskt mönster som står klart mot bruset, och om det finns behov av att prognostisera mer än en period framåt, kan uppskattningen av en lokal trend också vara en fråga. Den enkla exponentiella utjämningsmodellen kan generaliseras för att erhålla en linjär exponentiell utjämning (LES) - modell som beräknar lokala uppskattningar av både nivå och trend. Den enklaste tidsvarierande trendmodellen är Browns linjära exponentiell utjämningsmodell, som använder två olika slätmade serier som centreras vid olika tidpunkter. Prognosformeln baseras på en extrapolering av en linje genom de två centra. (En mer sofistikerad version av denna modell, Holt8217s, diskuteras nedan.) Den algebraiska formen av Brown8217s linjär exponentiell utjämningsmodell, som den enkla exponentiella utjämningsmodellen, kan uttryckas i ett antal olika men likvärdiga former. Den här kvotens kvotstandardkvot uttrycks vanligtvis enligt följande: Låt S beteckna den singeljämnade serien som erhållits genom att använda enkel exponentiell utjämning till serie Y. Dvs, värdet på S vid period t ges av: (Minns att, under enkel exponentiell utjämning, detta skulle vara prognosen för Y vid period t1.) Låt sedan Squot beteckna den dubbelsidiga serien erhållen genom att applicera enkel exponentiell utjämning (med samma 945) till serie S: Slutligen prognosen för Y tk. för vilken kgt1 som helst, ges av: Detta ger e 1 0 (det vill säga lura lite och låt den första prognosen motsvara den faktiska första observationen) och e 2 Y 2 8211 Y 1. varefter prognoser genereras med hjälp av ekvationen ovan. Detta ger samma monterade värden som formeln baserad på S och S om de senare startades med användning av S1S1Y1. Denna version av modellen används på nästa sida som illustrerar en kombination av exponentiell utjämning med säsongsjustering. Holt8217s linjär exponentiell utjämning Brown8217s LES-modell beräknar lokala uppskattningar av nivå och trend genom att utjämna de senaste uppgifterna, men det faktum att det gör det med en enda utjämningsparameter ställer in en begränsning av de datamönster som den kan passa: nivån och trenden får inte variera till oberoende priser. Holt8217s LES-modell adresserar problemet genom att inkludera två utjämningskonstanter, en för nivån och en för trenden. När som helst t, som i Brown8217s modell, finns det en uppskattning L t på lokal nivå och en uppskattning T t av den lokala trenden. Här rekryteras de rekursivt från värdet av Y observerat vid tid t och de tidigare uppskattningarna av nivån och trenden med två ekvationer som applicerar exponentiell utjämning till dem separat. Om den beräknade nivån och trenden vid tiden t-1 är L t82091 och T t-1. respektive prognosen för Y tshy som skulle ha gjorts vid tid t-1 är lika med L t-1 T t-1. När det verkliga värdet observeras beräknas den uppdaterade uppskattningen av nivån rekursivt genom interpolering mellan Y tshy och dess prognos L t-1 T t 1 med vikter av 945 och 1- 945. Förändringen i beräknad nivå, nämligen L t 8209 L t82091. kan tolkas som en bullrig mätning av trenden vid tiden t. Den uppdaterade uppskattningen av trenden beräknas sedan rekursivt genom interpolering mellan L t 8209 L t82091 och den tidigare uppskattningen av trenden T t-1. Användning av vikter av 946 och 1-946: Tolkningen av trendutjämningskonstanten 946 är analog med den för nivåutjämningskonstanten 945. Modeller med små värden av 946 förutsätter att trenden ändras endast mycket långsamt över tiden, medan modeller med större 946 antar att det förändras snabbare. En modell med en stor 946 tror att den avlägsna framtiden är väldigt osäker, eftersom fel i trendberäkning blir ganska viktiga vid prognoser mer än en period framåt. (Återgå till början av sidan.) Utjämningskonstanterna 945 och 946 kan beräknas på vanligt sätt genom att minimera medelkvadratfelet i de 1-stegs-prognoserna. När detta görs i Statgraphics visar uppskattningarna att vara 945 0.3048 och 946 0.008. Det mycket lilla värdet av 946 innebär att modellen antar mycket liten förändring i trenden från en period till nästa, så i grunden försöker denna modell att uppskatta en långsiktig trend. I analogi med begreppet medelålder för de data som används för att uppskatta den lokala nivån i serien, är medelåldern för de data som används för att uppskatta den lokala trenden proportionell mot 1 946, men inte exakt lika med den . I detta fall visar det sig att vara 10.006 125. Detta är ett mycket exakt nummer eftersom precisionen av uppskattningen av 946 är verkligen 3 decimaler, men den har samma generella storleksordning som provstorleken på 100, så denna modell är medeltal över ganska mycket historia för att beräkna trenden. Prognosplotten nedan visar att LES-modellen beräknar en något större lokal trend i slutet av serien än den ständiga trenden som beräknas i SEStrend-modellen. Det uppskattade värdet på 945 är också nästan identiskt med det som erhållits genom att montera SES-modellen med eller utan trend, så det är nästan samma modell. Nu ser dessa ut som rimliga prognoser för en modell som beräknas beräkna en lokal trend. Om du 8220eyeball8221 ser det här, ser det ut som om den lokala trenden har vänt sig nedåt i slutet av serien. Vad har hänt Parametrarna i denna modell har uppskattats genom att minimera det kvadrerade felet i 1-stegs-prognoser, inte längre prognoser, i vilket fall trenden gör inte en stor skillnad. Om allt du tittar på är 1 steg framåt, ser du inte den större bilden av trender över (säg) 10 eller 20 perioder. För att få denna modell mer i linje med vår ögonbolls extrapolering av data kan vi manuellt justera trendutjämningskonstanten så att den använder en kortare baslinje för trendberäkning. Om vi till exempel väljer att ställa in 946 0,1, är medelåldern för de data som används vid uppskattning av den lokala trenden 10 perioder, vilket innebär att vi medeltar trenden över de senaste 20 perioderna eller så. Here8217s vad prognosplottet ser ut om vi sätter 946 0,1 samtidigt som ni håller 945 0.3. Detta ser intuitivt rimligt ut för denna serie, men det är troligen farligt att extrapolera denna trend mer än 10 perioder i framtiden. Vad sägs om felstatistik Här är en modelljämförelse för de två modellerna ovan och tre SES-modeller. Det optimala värdet på 945. För SES-modellen är ungefär 0,3, men liknande resultat (med något mer eller mindre responsivitet) erhålls med 0,5 och 0,2. (A) Hål linjär exp. utjämning med alfa 0,3048 och beta 0,008 (B) Hål linjär exp. utjämning med alfa 0,3 och beta 0,1 (C) Enkel exponentiell utjämning med alfa 0,5 (D) Enkel exponentiell utjämning med alfa 0,3 (E) Enkel exponentiell utjämning med alfa 0,2 Deras statistik är nästan identisk, så vi kan verkligen göra valet på grundval av prognosfel i 1 steg före proverna. Vi måste falla tillbaka på andra överväganden. Om vi starkt tror att det är vettigt att basera den nuvarande trendberäkningen på vad som hänt under de senaste 20 perioderna eller så kan vi göra ett ärende för LES-modellen med 945 0,3 och 946 0,1. Om vi vill vara agnostiska om det finns en lokal trend, kan en av SES-modellerna vara enklare att förklara och skulle också ge fler mitten av vägtrafikprognoserna för de kommande 5 eller 10 perioderna. (Tillbaka till början av sidan.) Vilken typ av trend-extrapolation är bäst: Horisontell eller linjär Empiriska bevis tyder på att om uppgifterna redan har justerats (om det behövs) för inflationen, kan det vara osäkert att extrapolera kortsiktiga linjära trender mycket långt in i framtiden. Tendenser som uppenbaras idag kan sänkas i framtiden på grund av olika orsaker som produktförstörelse, ökad konkurrens och konjunkturnedgångar eller uppgångar i en bransch. Av denna anledning utför enkel exponentiell utjämning ofta bättre utom provet än vad som annars skulle kunna förväntas, trots sin kvotiv kvot horisontell trend extrapolering. Dämpade trendmodifieringar av den linjära exponentiella utjämningsmodellen används också i praktiken för att införa en konservatismedel i sina trendprognoser. Den demoniserade trenden LES-modellen kan implementeras som ett speciellt fall av en ARIMA-modell, i synnerhet en ARIMA-modell (1,1,2). Det är möjligt att beräkna konfidensintervaller kring långsiktiga prognoser som produceras av exponentiella utjämningsmodeller, genom att betrakta dem som speciella fall av ARIMA-modeller. (Var försiktig: inte alla mjukvaror beräknar konfidensintervall för dessa modeller korrekt.) Bredden på konfidensintervallet beror på (i) modellens RMS-fel, (ii) utjämningstypen (enkel eller linjär) (iii) värdet (er) av utjämningskonstanten (erna) och (iv) antalet perioder framåt du prognoserar. I allmänhet sprids intervallet snabbare, eftersom 945 blir större i SES-modellen och de sprider sig mycket snabbare när linjär snarare än enkel utjämning används. Detta ämne diskuteras vidare i avsnittet ARIMA-modeller i anteckningarna. (Tillbaka till början av sidan.) Beräkningsverktyg Analogt har DataFrame en metod för att beräkna parvisa covariances bland serierna i DataFrame, även exklusive NAnull-värden. Om man antar att de saknade data saknas slumpmässigt resulterar detta i en uppskattning av kovariansmatrisen som är opartisk. För många tillämpningar kan dock denna uppskattning inte vara acceptabel eftersom den uppskattade kovariansmatrisen inte är garanterad att vara positiv halvt bestämd. Detta kan leda till uppskattade korrelationer med absoluta värden som är större än en, eller en icke-inverterbar kovariansmatris. Se Beräkning av kovariansmatriser för mer information. DataFrame. cov stöder också ett valfritt sökord med minperioder som anger det önskade minimala antalet observationer för varje kolumnpar för att få ett giltigt resultat. De vikter som används i fönstret anges av wintype-sökordet. Listan över erkända typer är: boxcar triang blackman hamming bartlett parzen bohman blackmanharris nuttall barthann kaiser (behöver beta) gaussian (behöver std) generalgaussian (behöver kraft, bredd) slepian (behöver bredd). Observera att rutan är lika med medelvärdet (). För vissa fönsterfunktioner måste ytterligare parametrar anges: För. sum () med en wintype. Det finns ingen normalisering gjord till vikterna för fönstret. Passande anpassade vikter av 1, 1, 1 ger ett annat resultat än passande vikter på 2, 2, 2. till exempel. När man passerar en vinstyp i stället för att uttryckligen specificera vikterna, är vikterna redan normaliserade så att den största vikten är 1. I motsats är naturen av. mean () beräkningen sådan att vikterna normaliseras i förhållande till varandra. Vikter av 1, 1, 1 och 2, 2, 2 ger samma resultat. Time-aware Rolling New i version 0.19.0. Nytt i version 0.19.0 är förmågan att skicka en förskjutning (eller konvertibel) till en. rolling () - metod och få den att producera fönster med variabel storlek baserat på det löpande tidsfönstret. För varje tidpunkt inkluderar detta alla föregående värden som uppträder inom det angivna tids deltaet. Detta kan vara särskilt användbart för ett icke-regelbundet tidsfrekvensindex. Detta är ett vanligt frekvensindex. Med hjälp av ett heltal fönster arbetar parametern att rulla längs fönstervycket. Att ange en förskjutning medger en mer intuitiv specifikation av rullfrekvensen. Med ett icke-regelbundet, men fortfarande monotoniskt index, ger det inte någon särskild beräkning med att rulla med ett heltal. Genom att använda tidsspecifikationen skapas variabla fönster för denna sparsamma data. Dessutom tillåter vi nu en valfri parameter för att ange en kolumn (snarare än indexets standard) i en DataFrame. Time-aware Rolling vs Resampling Användning. rolling () med ett tidsbaserat index är ganska likt resampling. De opererar och utför reduktiva operationer på tid indexerade pandasobjekt. När du använder. rolling () med en förskjutning. Förskjutningen är ett tids-delta. Ta ett fönster i bakåt-i-tiden och summera alla värden i det fönstret (inklusive slutpunkten, men inte startpunkten). Detta är det nya värdet på den tiden i resultatet. Dessa är fönster med variabel storlek i tidrymden för varje punkt i ingången. Du får samma resultat som ingången. Vid användning av. resample () med en förskjutning. Konstruera ett nytt index som är offsetens frekvens. För varje frekvensfack pekar aggregat från inmatningen i ett bakåtblickande fönster som faller i facket. Resultatet av denna aggregering är utgången för den frekvenspunkten. Fönstren är fast storlek i frekvensutrymmet. Ditt resultat kommer att ha formen av en vanlig frekvens mellan min och max för det ursprungliga inmatningsobjektet. För att sammanfatta. rullande () är en tidsbaserad fönsteroperation, medan. resample () är en frekvensbaserad fönsteroperation. Centrering av Windows Som standard är etiketterna inställda i den högra kanten av fönstret, men ett centralsökord är tillgängligt så att etiketterna kan ställas in i mitten. Binära fönsterfunktioner cov () och corr () kan beräkna flyttningsfönsterstatistik om två serier eller någon kombination av DataFrameSeries eller DataFrameDataFrame. Här är beteendet i varje fall: två serier. beräkna statistiken för parningen. DataFrameSeries. beräkna statistiken för varje kolumn i DataFrame med den överförda serien och returnerar därmed en DataFrame. DataFrameDataFrame. Beräkna statistiken för att matcha kolumnnamn som standard, och returnera en DataFrame. Om sökordsargumentet pairwiseTrue passeras beräknar du statistiken för varje par kolumner och returnerar en panel vars objekt är aktuella datum (se nästa avsnitt). Rullande parvisa kovarianer och korrelationer I finansiell dataanalys och andra områden är it8217s vanliga för att beräkna kovarians - och korrelationsmatriser för en samling av tidsserier. Ofta är man också intresserad av kovarians - och korrelationsmatriser i rörfönstret. Detta kan göras genom att passera det parvisa sökordsargumentet, vilket i fallet med DataFrame-ingångar kommer att ge en panel vars föremål är aktuella datum. I fallet med ett enda DataFrame-argument kan det parvisa argumentet utelämnas: Missande värden ignoreras och varje post beräknas med de parvisa fullständiga observationerna. Se covariansektionen för försiktighetsåtgärder i samband med denna metod för beräkning av kovarians - och korrelationsmatriser. Förutom att inte ha en fönsterparameter har dessa funktioner samma gränssnitt som deras. rolling motsvarigheter. Som ovan är parametrarna alla accepterar: minperiod. tröskeln för icke-nollpunktspunkter att kräva. Standardvärden som behövs för att beräkna statistik. Inga NaNs kommer att matas ut när minperiods icke-nollpunktspunkter har visats. Centrum. booleska, om du vill ställa in etiketterna i mitten (standard är False). Utgången från. rolling och. expanding-metoderna returnerar inte en NaN om det finns minst minvärden icke-nullvärden i det aktuella fönstret. Detta skiljer sig från cumsum. cumprod. cummax. och cummin. som returnerar NaN i utgången varhelst en NaN uppträder i ingången. En expanderande fönsterstatistik kommer att vara stabilare (och mindre mottaglig) än dess rullande fönster motsvarighet, eftersom den ökande fönstermåttet minskar den relativa effekten av en enskild datapunkt. Som exempel är här den genomsnittliga () - utmatningen för den tidigare tidsserien dataset: Exponentiellt viktad Windows En relaterad uppsättning funktioner är exponentiellt viktade versioner av flera av ovanstående statistik. Ett liknande gränssnitt för. rolling och. expanding nås via. ewm-metoden för att ta emot ett EWM-objekt. Ett antal expanderande EW (exponentiellt viktade) metoder tillhandahålls:
Comments
Post a Comment