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.