Numpy glidande medelvärde funktion
Hmmm, det verkar som att denna quoteasy att implementquot-funktion är faktiskt ganska lätt att bli fel och har främjat en bra diskussion om minneseffektivitet. Jag är glad att ha uppblåst om det betyder att veta att någonting har gjorts rätt. ndash Richard Sep 20 14 kl 19:23 NumPys brist på en viss domänspecifik funktion är kanske på grund av Core Teams disciplin och trovärdighet till NumPys primära direktiv: tillhandahålla en N-dimensionell array-typ. samt funktioner för att skapa och indexera dessa arrays. Liksom många fundamentella mål är den här inte liten, och NumPy gör det briljant. Den (mycket) större SciPy innehåller en mycket större samling domänspecifika bibliotek (kallas underpaket av SciPy devs) - till exempel numerisk optimering (optimera), signalprocessing (signal) och integralkalkyl (integrera). Min gissning är att den funktion du är ute efter är i minst en av SciPy-subpackagesna (scipy. signal kanske) men jag skulle först se i samlingen av SciPy scikits. identifiera relevanta scikit (er) och leta efter intresse av det där intresset. Scikits är självständigt utvecklade paket baserat på NumPySciPy och riktad till en viss teknisk disciplin (t. ex. scikits-image. Scikits-learn etc.) Flera av dessa var (särskilt den fina OpenOpt för numerisk optimering) högt ansedda, mogna projekt länge innan de väljer att vistas under den relativt nya scikits rubriken. Scikits hemsida gillade att ovanstående listar cirka 30 sådana scikits. även om åtminstone flera av dessa inte längre är aktiva. Efter detta råd skulle du leda till scikits-timeseries men det paketet är inte längre under aktiv utveckling. I själva verket har Pandas blivit AFAIK, de facto NumPy-baserade tidsseribiblioteket. Pandas har flera funktioner som kan användas för att beräkna ett glidande medelvärde. Det enklaste av dessa är förmodligen rullande. som du använder så här: Nu, ring bara funktionen rollingmean som passerar i Serieobjektet och en fönsterstorlek. vilket i mitt exempel nedan är 10 dagar. verifiera att det fungerade - t. ex. jämförda värden 10-15 i de ursprungliga serierna mot den nya serien slätad med rullande medelfunktionen Rollingmean tillsammans med ungefär ett dussintals annan funktion är informellt grupperade i Pandas dokumentation under rubrik flyttningsfönstret funktioner en andra relaterad grupp av funktioner i Pandas kallas exponentiellt vikttade funktioner (t. ex. ewma. som beräknar exponentiellt rörligt vägt genomsnitt). Det faktum att den andra gruppen inte ingår i de första (rörliga fönsterfunktionerna) beror kanske på att de exponentiellt viktade transformationerna inte bygger på ett fönstret med fast längd. Följande exempel ger ett glidande medelvärde av föregående WINDOW-värden. Vi avkortar de första värdena (WINDOW -1) eftersom vi kan hitta genomsnittet före dem. (Standardbeteendet för konvolvering är att anta att värden före starten av vår sekvens är 0). (Mer formellt konstruerar vi sekvensen y för sekvensen x där yi (xi x (i1) 8230. x (in)) n) Detta utnyttjar numpy8217s convolution-funktionen. Detta är en allmän rörelse medellägeoperation. Ändring av viktningar gör vissa värden viktigare motsättning lämpligt kan du se genomsnittet som runt punkt snarare än för punkt. I stället för avkortade värden kan vi fixa de ursprungliga värdena på plats, som illustreras i det här exemplet: Vi introducerade tidigare hur man skapar glidande medelvärden med python. Denna handledning kommer att vara en fortsättning på detta ämne. Ett rörligt medelvärde i statistikens sammanhang, även kallat rollingrunning-medelvärde, är en typ av ändlighetsimpulsrespons. I vår tidigare handledning har vi ritat värdena för arraysna x och y: Let8217s plottar x mot det glidande medlet av y som vi ska ringa yMA: För det första utjämnar let8217s längden på båda arraysna: Och för att visa detta i sammanhang: Den resulterande graf: För att förstå detta, let8217s plot två olika relationer: x vs y och x vs MAy: det rörliga genomsnittet här är den gröna tomten som börjar vid 3: Dela detta: Gilla detta: Postnavigering Lämna ett svar Avbryt svar Mycket användbart I skulle vilja läsa den sista delen på stora dataset Hoppas det kommer snart8230 d bloggare så här:
Comments
Post a Comment