Syntaks:
Vi kan beregne det glidende gjennomsnittet på forskjellige måter som er som følger:
Metode 1:
NumPy. cumsum ( )Den returnerer summen av elementene i den gitte matrisen. Vi kan beregne det glidende gjennomsnittet ved å dele utgangen av cumsum() med størrelsen på matrisen.
Metode 2:
NumPy. og . gjennomsnitt ( )Den har følgende parametere.
a: data i matriseform som skal gjennomsnittliggjøres.
akse: dens datatype er int og det er en valgfri parameter.
vekt: det er også en matrise og valgfri parameter. Den kan ha samme form som en 1D-form. Når det gjelder endimensjonal, må den ha samme lengde som 'en' matrise.
Merk at det ikke ser ut til å være noen standardfunksjon i NumPy for å beregne det glidende gjennomsnittet, slik at det kan gjøres med noen andre metoder.
Metode 3:
En annen metode som kan brukes til å beregne det glidende gjennomsnittet er:
f.eks. konvolvere ( en , i , modus = 'full' )I denne syntaksen er a den første inngangsdimensjonale og v er den andre inngangsdimensjonale verdien. Modus er den valgfrie verdien, den kan være full, samme og gyldig.
Eksempel # 01:
Nå, for å forklare mer om det glidende gjennomsnittet i Numpy, la oss gi et eksempel. I dette eksemplet vil vi ta ut det glidende gjennomsnittet av en matrise med konvolverfunksjonen til NumPy. Så vi tar en matrise 'a' med 1,2,3,4,5 som elementer. Nå vil vi kalle np.convolve-funksjonen og lagre dens utdata i vår 'b'-variabel. Etter det vil vi skrive ut verdien av variabelen vår 'b'. Denne funksjonen vil beregne den bevegelige summen av vår input-array. Vi vil skrive ut utdataene for å se om utdataene våre er riktige eller ikke.
Etter det vil vi konvertere produksjonen vår til det glidende gjennomsnittet ved å bruke samme konvolveringsmetode. For å beregne det glidende gjennomsnittet, må vi bare dele den bevegelige summen på antall prøver. Men hovedproblemet her er at siden dette er et glidende gjennomsnitt, fortsetter antallet prøver å endre seg avhengig av stedet vi er på. Så for å løse det problemet, vil vi ganske enkelt lage en liste over nevnerne, og vi må gjøre dette til et gjennomsnitt.
For det formålet har vi initialisert en annen variabel 'denom' for nevneren. Det er enkelt for listeforståelse ved å bruke rekkevidde-trikset. Arrayet vårt har fem forskjellige elementer, så antallet prøver på hvert sted vil gå fra én til fem og deretter ned fra fem til én. Så vi vil ganske enkelt legge til to lister sammen, og vi vil lagre dem i vår 'denom' -parameter. Nå vil vi skrive ut denne variabelen for å sjekke om systemet har gitt oss de sanne nevnerne eller ikke. Etter det vil vi dele vår bevegelige sum med nevnerne og skrive den ut ved å lagre utdata i 'c'-variabelen. La oss kjøre koden vår for å sjekke resultatene.
import nusset som f.eks.en = [ 1 , to , 3 , 4 , 5 ]
b = f.eks. konvolvere ( en , f.eks. de_liker ( en ) )
skrive ut ( 'Flyttesum' , b )
Navn = liste ( område ( 1 , 5 ) ) + liste ( område ( 5 , 0 , - 1 ) )
skrive ut ( 'Nevnere' , Navn )
c = f.eks. konvolvere ( en , f.eks. de_liker ( en ) ) / Navn
skrive ut ( 'Glidende gjennomsnitt ' , c )
Etter vellykket utførelse av koden vår, vil vi få følgende utgang. I den første linjen har vi skrevet ut 'Moving Sum'. Vi kan se at vi har '1' i starten og '5' på slutten av matrisen, akkurat som vi hadde i vår opprinnelige matrise. Resten av tallene er summene av forskjellige elementer i matrisen vår.
For eksempel kommer seks på den tredje indeksen til matrisen fra å legge til 1,2 og 3 fra vår input-array. Ti på den fjerde indeksen kommer fra 1,2,3 og 4. Femten kommer fra å summere alle tallene sammen, og så videre. Nå, i den andre linjen i produksjonen vår, har vi skrevet ut nevnerne til matrisen vår.
Fra produksjonen vår kan vi se at alle nevnerne er nøyaktige, noe som betyr at vi kan dele dem med vår bevegelige summatrise. Gå nå til den siste linjen i utgangen. På den siste linjen kan vi se at det første elementet i vår Moving average Array er 1. Gjennomsnittet av 1 er 1, så vårt første element er riktig. Gjennomsnittet på 1+2/2 vil være 1,5. Vi kan se at det andre elementet i utmatrisen vår er 1,5, så det andre gjennomsnittet er også riktig. Gjennomsnittet på 1,2,3 vil være 6/3=2. Det gjør også utgangen vår korrekt. Så fra utgangen kan vi si at vi har vellykket beregnet det bevegelige gjennomsnittet av en matrise.
Konklusjon
I denne veiledningen lærte vi om glidende gjennomsnitt: hva glidende gjennomsnitt er, hva er dets bruksområder og hvordan man beregner det glidende gjennomsnittet. Vi studerte det i detalj fra både matematiske og programmeringsmessige synspunkter. I NumPy er det ingen spesifikk funksjon eller prosess for å beregne det glidende gjennomsnittet. Men det er forskjellige andre funksjoner ved hjelp av hvilke vi kan beregne det glidende gjennomsnittet. Vi gjorde et eksempel for å beregne det glidende gjennomsnittet og beskrev hvert trinn i eksemplet vårt. Glidende gjennomsnitt er en nyttig tilnærming til å forutsi fremtidige resultater ved hjelp av eksisterende data.