Numpy glidande medelvärde

Numpy Glidande Medelvarde



Innan vi börjar med vårt ämne, låt oss förstå vad det glidande medelvärdet är. Inom statistik är ett glidande medelvärde en teknik för att beräkna och analysera datapunkter. Den beräknar datapunkter genom att göra en serie av ett genomsnitt av olika delmängder från en fullständig datamängd. Så, ett glidande medelvärde är ett mått som fångar den typiska förändringen i en informationsserie över tid. Flytt är en av de mest flexibla och mest använda tekniska analysindikatorerna. Eftersom det är så enkelt att använda, använder professionella investerare det som ett medel för en viss uppsättning data i statistik. Vi kan också beräkna ett glidande medelvärde under en kortare period genom att använda det på dags- eller minutdata. Till exempel: När vi bestämmer ett 10-dagars glidande medelvärde kommer vi i vårt fall bara summa slutkurserna från någon av de föregående tio dagar och dividera resultatet med tio. Nästa dag kommer vi också att beräkna priset under de senaste tio dagarna, vilket innebär att vi inte kommer att beräkna priset för den första dagen. Det kommer snarare att ersättas av vårt pris igår. Data ändras på detta sätt med varje rörlig dag, det är känt som det glidande medelvärdet av denna anledning. Syftet med det glidande medelvärdet är att bestämma början av en trend, sedan följa dess framsteg och även rapportera dess vändning om den inträffar. Formeln för att beräkna det glidande medelvärdet är Ft = (Dt1+Dt2+Dt3…+Dtn)/n. Där Dt är Efterfrågan i period t och Ft är Prognos i tid t.

Syntax:

Vi kan beräkna det glidande medelvärdet på olika sätt som är följande:

Metod 1:

NumPy. cumsum ( )

Den returnerar summan av element i den givna arrayen. Vi kan beräkna det glidande medelvärdet genom att dividera utmatningen av cumsum() med storleken på matrisen.







Metod 2:

NumPy. och . medel ( )

Den har följande parametrar.



a: data i arrayform som ska medelvärdesbildas.



axel: dess datatyp är int och det är en valfri parameter.





vikt: det är också en array och valfri parameter. Den kan ha samma form som en 1D-form. I fallet med endimensionell, måste den ha samma längd som 'en' array.

Observera att det inte verkar finnas någon standardfunktion i NumPy för att beräkna det glidande medelvärdet så det kan göras med några andra metoder.



Metod 3:

En annan metod som kan användas för att beräkna det glidande medelvärdet är:

t.ex. konvolvera ( a , i , läge = 'full' )

I denna syntax är a den första ingångsdimensionen och v är den andra ingångsdimensionella värdet. Läget är det valfria värdet, det kan vara fullt, samma och giltigt.

Exempel # 01:

Låt oss nu ge ett exempel för att förklara mer om det glidande medelvärdet i Numpy. I det här exemplet tar vi ut det glidande medelvärdet för en array med konvolverfunktionen av NumPy. Så vi tar en array 'a' med 1,2,3,4,5 som dess element. Nu kommer vi att anropa np.convolve-funktionen och lagra dess utdata i vår 'b'-variabel. Efter det kommer vi att skriva ut värdet på vår variabel 'b'. Denna funktion kommer att beräkna den rörliga summan av vår inmatningsmatris. Vi kommer att skriva ut utdata för att se om vår utdata är korrekt eller inte.

Efter det kommer vi att konvertera vår produktion till det glidande medelvärdet med samma konvolverningsmetod. För att beräkna det glidande medelvärdet måste vi bara dividera den rörliga summan med antalet prover. Men huvudproblemet här är att eftersom det här är ett glidande medelvärde fortsätter antalet prover att förändras beroende på var vi befinner oss. Så för att lösa problemet kommer vi helt enkelt att skapa en lista över nämnare och vi måste omvandla detta till ett genomsnitt.

För detta ändamål har vi initierat en annan variabel 'denom' för nämnaren. Det är enkelt för listförståelse med hjälp av räckviddstricket. Vår array har fem olika element så antalet prover på varje plats kommer att gå från ett till fem och sedan tillbaka från fem till ett. Så vi kommer helt enkelt att lägga till två listor tillsammans och vi kommer att lagra dem i vår 'denom' -parameter. Nu kommer vi att skriva ut denna variabel för att kontrollera om systemet har gett oss de sanna nämnarna eller inte. Efter det kommer vi att dela vår rörliga summa med nämnarna och skriva ut den genom att lagra utdata i variabeln 'c'. Låt oss köra vår kod för att kontrollera resultaten.

importera numpy som t.ex.

a = [ 1 , två , 3 , 4 , 5 ]

b = t.ex. konvolvera ( a , t.ex. one_like ( a ) )

skriva ut ( 'Rörelsesumma' , b )

namn = lista ( räckvidd ( 1 , 5 ) ) + lista ( räckvidd ( 5 , 0 , - 1 ) )

skriva ut ( 'Nämnare' , namn )

c = t.ex. konvolvera ( a , t.ex. one_like ( a ) ) / namn

skriva ut ( 'Glidande medelvärde ' , c )

Efter framgångsrik exekvering av vår kod kommer vi att få följande utdata. På första raden har vi skrivit ut 'Rörelsesumman'. Vi kan se att vi har '1' i början och '5' i slutet av arrayen, precis som vi hade i vår ursprungliga array. Resten av siffrorna är summan av olika element i vår array.

Till exempel kommer sex på det tredje indexet av matrisen från att lägga till 1,2 och 3 från vår inmatningsmatris. Tio på det fjärde indexet kommer från 1,2,3 och 4. Femton kommer från att summera alla siffror tillsammans, och så vidare. Nu, på den andra raden av vår produktion, har vi skrivit ut nämnarna för vår array.

Från vår utdata kan vi se att alla nämnare är exakta, vilket betyder att vi kan dela dem med vår rörliga summamatris. Gå nu till den sista raden i utgången. På den sista raden kan vi se att det första elementet i vår Moving average Array är 1. Medelvärdet av 1 är 1 så vårt första element är korrekt. Genomsnittet på 1+2/2 blir 1,5. Vi kan se att det andra elementet i vår utgångsmatris är 1,5 så det andra medelvärdet är också korrekt. Genomsnittet på 1,2,3 blir 6/3=2. Det gör också att vår produktion blir korrekt. Så från utdata kan vi säga att vi framgångsrikt har beräknat det glidande medelvärdet för en array.

Slutsats

I den här guiden lärde vi oss om glidande medelvärden: vad glidande medelvärde är, vad är dess användningsområden och hur man beräknar glidande medelvärde. Vi studerade det i detalj ur både matematisk och programmeringssynpunkt. I NumPy finns det ingen specifik funktion eller process för att beräkna det glidande medelvärdet. Men det finns olika andra funktioner med hjälp av vilka vi kan beräkna det glidande medelvärdet. Vi gjorde ett exempel för att beräkna det glidande medelvärdet och beskrev varje steg i vårt exempel. Rörliga medelvärden är ett användbart tillvägagångssätt för att prognostisera framtida resultat med hjälp av befintlig data.