Det rörliga genomsnittet som ett filter Det rörliga genomsnittet används ofta för utjämning av data i närvaro av brus. Det enkla glidande medlet är inte alltid känt som FIT-filtret (Finite Impulse Response) som det är, medan det faktiskt är ett av de vanligaste filteren i signalbehandling. Att behandla det som ett filter gör det möjligt att jämföra det med, till exempel, fönsterfönster med synkronisering (se artiklarna om lågpass, högpass och bandpass och bandavvisningsfilter för exempel på dem). Den stora skillnaden med dessa filter är att det rörliga medlet är lämpligt för signaler för vilka den användbara informationen finns i tidsdomänen. varav utjämning av mätningar med medelvärde är ett utmärkt exempel. Windowed-sinc-filter är å andra sidan starka utövande inom frekvensområdet. med utjämning i ljudbehandling som ett typiskt exempel. Det finns en mer detaljerad jämförelse av båda typerna av filter i Time Domain vs Frekvensdomänprestanda för filter. Om du har data där både tid och frekvensdomän är viktiga, kanske du vill titta på variationer på rörlig genomsnittsnivå. Vilket presenterar ett antal viktade versioner av det glidande medlet som är bättre på det. Det rörliga genomsnittet av längd (N) kan definieras som skrivet som det typiskt implementeras, med det aktuella utgångsprovet som medelvärdet av de tidigare (N) - proverna. Sett som ett filter utför det rörliga medlet en konvolvering av ingångssekvensen (xn) med en rektangulär puls längd (N) och höjd (1N) (för att göra pulsens område och därmed förstärkningen av filtret , ett ). I praktiken är det bäst att ta (N) udda. Även om ett glidande medelvärde också kan beräknas med ett jämnt antal prover, har fördelen med att fördröjningen av filtret är ett heltal antal prover, eftersom fördröjningen av ett filter med (N) proverna är exakt ((N-1) 2). Det rörliga genomsnittet kan sedan justeras exakt med de ursprungliga uppgifterna genom att flytta det med ett heltal antal prover. Tidsdomän Eftersom det rörliga medlet är en konvolvering med en rektangulär puls, är dess frekvensrespons en sinc-funktion. Detta gör det något som det dubbla av windowed-sinc-filtret, eftersom det är en konvolvering med en sinc-puls som resulterar i ett rektangulärt frekvenssvar. Det är detta sinc-frekvensrespons som gör det rörliga genomsnittet en dålig performer i frekvensdomänen. Det fungerar dock mycket bra i tidsdomänen. Därför är det perfekt att släta data för att ta bort brus samtidigt som du fortfarande håller ett snabbt stegsvar (Figur 1). För det typiska Additiv White Gaussian Noise (AWGN) som ofta antas, har medelvärden (N) prover effekten av att öka SNR med en faktor (sqrt N). Eftersom bruset för de enskilda proverna är okorrelerat finns det ingen anledning att behandla varje prov på olika sätt. Därför kommer det rörliga medelvärdet, vilket ger varje prov samma vikt, att bli av med den maximala mängden brus för en given stegresponsskärpa. Genomförande Eftersom det är ett FIR-filter kan det glidande medlet implementeras genom konvolvering. Det kommer då att ha samma effektivitet (eller brist på det) som alla andra FIR-filter. Det kan emellertid också genomföras rekursivt, på ett mycket effektivt sätt. Det följer direkt av definitionen att denna formel är resultatet av uttrycken för (yn) och (yn1), dvs där vi märker att förändringen mellan (yn1) och (yn) är att en extra term (xn1N) visas vid Slutet, medan termen (xn-N1N) tas bort från början. I praktiska tillämpningar är det ofta möjligt att lämna uppdelningen av (N) för varje term genom att kompensera för den resulterande vinsten av (N) på en annan plats. Detta rekursiva genomförande kommer att bli mycket snabbare än konvolvering. Varje nytt värde av (y) kan beräknas med endast två tillägg, i stället för (N) tillägg som skulle vara nödvändiga för en enkel implementering av definitionen. En sak att se efter med en rekursiv implementering är att avrundningsfel kommer att ackumuleras. Det kan vara ett problem för din ansökan, men det innebär också att denna rekursiva implementering faktiskt kommer att fungera bättre med ett heltal implementering än med flytande punktnummer. Detta är ganska ovanligt, eftersom en flytande punktimplementering vanligtvis är enklare. Slutsatsen av allt detta måste vara att du aldrig ska underskatta nyttan av det enkla glidande medelfiltret i signalbehandlingsapplikationer. Filtrera designverktyg Denna artikel kompletteras med ett filterdesignverktyg. Experimentera med olika värden för (N) och visualisera de resulterande filteren. Prova det nuMoving Average Filters Flyttmedelvärden är benägen för whipsaws, när priset korsar fram och tillbaka över det glidande genomsnittet på en varierande marknad. Traders har utvecklat ett antal filter under åren för att eliminera falska signaler. Det enklaste glidande medelvärdet genererar signaler när priset går över det glidande medlet: Gå långt när priset går över det glidande medlet underifrån. Gå kort när pris korsar till under det glidande genomsnittet ovanifrån. Filter läggs till för att objektivt mäta när priset har korsat det glidande medlet. De vanligaste filtren är: Slutkurs - antingen en, två eller tre på varandra följande dagar måste alla stänga överbelöna det glidande genomsnittet. Hela fältet måste korsa det glidande medlet. Två eller tre rader (i följd) måste alla vara borta från det glidande medelvärdet. medelvärdet måste luta i riktning mot handeln Typiskt pris. Medianpris eller viktat slut kan också användas som ersättare till slutkurs. Handlarna är bara inmatade om det rörliga genomsnittet sluttar i handelsriktningen. Detta filter fungerar inte med exponentiella rörliga medelvärden eftersom exponentiell rörligt medelvärde alltid slingrar upp när priset stänger över det glidande medelvärdet och sluttar ned om det stänger nedan. Avsluta när priset går över det glidande medlet. Flyttande medelhöjd kan användas i kombination med andra filter som slutkurs. Det enda rörliga medlet används med två filter: Mus över diagramtexter för att visa handelssignaler. Gå kort - två stänger under ett fallande rörligt medelvärde. Gå med ett långvarigt medel ökar nu och priset har stängt över det glidande genomsnittet i 2 dagar. Följande dopp under det glidande genomsnittet (i början av januari) filtreras bort. Den långa handeln är avslutad eftersom det finns två stänger under det rörliga genomsnittet. Ingen kort handel skrivs in när det rörliga genomsnittet är sluttande uppåt. Gå lång - två stänger över ett stigande glidande medelvärde. Gå kort eftersom det finns två stänger under ett fallande rörligt medelvärde. Gå lång - två stänger över ett stigande glidande medelvärde. Gå kort - två stänger under ett fallande rörligt medelvärde. Gå långrörande medel ökar igen och det finns 2 stänger ovanför den. Notera hur lönsam den långa handeln 2 är under den starka uppåtgående trenden, jämfört med när priset piskar runt det relativt glidande genomsnittet. ofta byter dig in och ut ur affärer. Trendindikatorer är vanligtvis olönsamma och bör undvikas under marknaderna. Frequency Response of the Running Average Filter. Ett LTI-systemets frekvensrespons är DTFS för impulsresponsen. Impulsresponsen av ett L-provrörande medelvärde är Eftersom glidande medelfilter är FIR, frekvensresponsen minskar till den ändliga summan. Vi kan använda den mycket användbara identiteten för att skriva frekvensresponsen som där vi har låt oss minus jomega. N 0 och M L minus 1. Vi kan vara intresserade av storleken på denna funktion för att bestämma vilka frekvenser som går igenom filtret obetydligt och vilka dämpas. Nedan är en plot av storleken på denna funktion för L 4 (röd), 8 (grön) och 16 (blå). Den horisontella axeln varierar från noll till pi radianer per prov. Observera att frekvensresponsen i alla tre fall har en lowpass-egenskap. En konstant komponent (nollfrekvens) i ingången passerar genom filtret obetydligt. Vissa högre frekvenser, såsom pi 2, elimineras helt av filtret. Men om avsikt var att designa ett lågpassfilter, har vi inte gjort det bra. Några av de högre frekvenserna dämpas endast med en faktor på cirka 110 (för 16-punkts glidande medelvärdet) eller 13 (för det fyrapunkts glidande medlet). Vi kan göra mycket bättre än det. Ovanstående plot skapades av följande Matlab-kod: omega 0: pi400: pi H4 (14) (1-exp (-iomega4)) (1-exp (-iomega)) H8 (18) iomega8)) (1-exp (-iomega)) H16 (116) (1-exp (-iomega16)) (1-exp (-iomega)) plot (omega, abs (H4) H16)) axel (0, pi, 0, 1) Copyright copy 2000- - University of California, BerkeleyMoving Average Filter Du kan använda modulen Moving Average Filter för att beräkna en serie ensidiga eller tvåsidiga medelvärden över en dataset, med hjälp av en fönsterlängd som du anger. När du har definierat ett filter som uppfyller dina behov kan du applicera det på valda kolumner i en dataset genom att ansluta den till Apply Filter-modulen. Modulen gör alla beräkningar och ersätter värden inom numeriska kolumner med motsvarande glidande medelvärden. Du kan använda det resulterande rörliga medelvärdet för plottning och visualisering, som en ny jämn grundlinje för modellering, för att beräkna avvikelser mot beräkningar för liknande perioder, och så vidare. Denna typ av medel hjälper dig att avslöja och förutse användbara tidsmönster i retrospektiv och realtidsdata. Den enklaste typen av glidande medel börjar vid ett visst prov i serien och använder medelvärdet för den positionen plus de tidigare n-positionerna i stället för det faktiska värdet. (Du kan definiera n som du vill.) Ju längre period n över vilken medelvärdet beräknas, desto mindre varians kommer du att ha bland värden. När du också ökar antalet använda värden, desto mindre effekt har ett enskilt värde på det resulterande genomsnittet. Ett glidande medelvärde kan vara ensidigt eller tvåsidigt. I ett ensidigt medel används endast värden som föregår indexvärdet. I ett tvåsidigt medel används tidigare och framtida värden. För scenarier där du läser streamingdata är kumulativa och viktade glidmedelvärden särskilt användbara. Ett kumulativt glidande medel tar hänsyn till punkterna före den aktuella perioden. Du kan vikta alla datapunkter lika vid beräkning av medelvärdet, eller du kan se till att värden närmare den aktuella datapunkten vägs starkare. I ett vägt rörligt medelvärde. Alla vikter måste summa till 1. I ett exponentiellt rörligt medelvärde. medelvärdena består av ett huvud och en svans. som kan vägas. En lättviktig svans innebär att svansen följer huvudet ganska nära, så genomsnittet beter sig som ett glidande medelvärde på en kort viktningstid. När svansviktarna är tyngre, beter sig medelvärdet mer som ett längre enkelt glidande medelvärde. Lägg till Moving Average Filter-modulen i ditt experiment. För längd. Skriv ett positivt heltal värde som definierar den totala storleken på det fönster som filtret appliceras på. Detta kallas också filtermasken. För ett glidande medel bestämmer längden på filtret hur många värden som medelvärde i glidfönstret. Längre filter kallas också högre orderfilter, och ger ett större räkningsfönster och en närmare approximation av trendlinjen. Kortare eller lägre ordningens filter använder ett mindre räkningsfönster och mer liknar de ursprungliga uppgifterna. För Typ. välj vilken typ av rörligt medelvärde som ska tillämpas. Azure Machine Learning Studio stöder följande typer av rörliga genomsnittliga beräkningar: Ett enkelt glidande medelvärde (SMA) beräknas som ett obestämt rullande medelvärde. Triangulära glidande medelvärden (TMA) är genomsnittliga två gånger för en jämnare trendlinje. Ordet triangulärt härrör från formen av vikterna som appliceras på data, vilket betonar centrala värden. Ett exponentiellt rörligt medelvärde (EMA) ger större vikt till de senaste data. Viktningen sjunker exponentiellt. Ett modifierat exponentiellt rörligt medelvärde beräknar ett löpande rörligt medelvärde, där beräkning av det glidande medlet vid någon punkt beaktar det tidigare beräknade glidande medlet vid alla föregående punkter. Denna metod ger en jämnare trendlinje. Med en enda punkt och ett nuvarande glidande medel beräknas det kumulativa glidande genomsnittet (CMA) det glidande medelvärdet vid den aktuella punkten. Lägg till datasetet som har de värden du vill beräkna ett glidande medelvärde för och lägg till Apply Filter-modulen. Anslut det rörliga medelfiltret till den vänstra ingången på Apply Filter. och anslut datasetet till höger ingång. Använd kolumnväljaren i tillämpningsfiltermodulen för att ange vilka kolumner filtret ska appliceras på. Som standard kommer det filter du skapar att appliceras på alla numeriska kolumner, så var noga med att utesluta några kolumner som inte har lämpliga data. Kör experimentet. På den punkten ersätts det aktuella (eller indexvärdet) för varje uppsättning värden som definieras av filterlängdsparametern med det glidande medelvärdet.
No comments:
Post a Comment