En verden av dataanalyse krever ofte arbeid med tidsseriedata, og en vanlig teknikk som brukes til å håndtere slike data er å bruke konseptet med en rullende vindu. Et rullende vindu, noen ganger referert til som et bevegelig vindu eller skyvevindu, er en tilnærming som lar oss segmentere datasettet vårt i mindre biter, behandle dem og få nyttig innsikt fra den resulterende underserien. Denne kraftige teknikken er mye brukt i økonomi, prognoser og trendanalyse, noe som gjør den til en verdifull ferdighet å ha i din analytiske verktøykasse. I denne artikkelen vil vi utforske konseptet med et rullende vindu, takle et problem, bryte ned løsningen i lettfattelige trinn, og diskutere relaterte Python-biblioteker og funksjoner som kan gjøre livene våre enklere.
Problemstilling
La oss anta at vi har et tidsseriedatasett som inneholder daglige salgstall for en butikk i et år. Vår oppgave er å analysere dette datasettet og beregne det 7-dagers rullende gjennomsnittet av salg for å jevne ut potensielle anomalier, identifisere trender og veilede forretningsbeslutninger. Vi skal bruke Python, et velkjent og mye brukt programmeringsspråk for dataanalyse.
Løsningstilnærming
For å løse problemet med rullevinduet, følger vi disse trinnene:
- Importer de nødvendige bibliotekene
- Last inn datasettet
- Lag det rullende vinduet
- Beregn 7-dagers glidende gjennomsnitt
- Visualiser resultatene
La oss starte med å importere de nødvendige bibliotekene og laste inn datasettet.
import pandas as pd import numpy as np import matplotlib.pyplot as plt # Load dataset (Assuming the dataset is a CSV file) data = pd.read_csv('sales_data.csv') # Preview the dataset print(data.head())
Etter å ha lastet inn datasettet, fortsetter vi nå med å lage det rullende vinduet.
Opprette rullevinduet
Vi vender oss til de mektige pandaer bibliotek for å lage et rullende vindu ved å bruke rolling()
funksjon. Det rullende vinduet vil ha en størrelse på 7 dager, da vi ønsker å beregne 7-dagers glidende gjennomsnitt.
# Create a rolling window of 7 days rolling_window = data['sales'].rolling(window=7)
Nå som vi har det rullende vinduet, kan vi beregne 7-dagers glidende gjennomsnitt.
Beregning av 7-dagers glidende gjennomsnitt
For å finne det 7-dagers glidende gjennomsnittet av salg, kaller vi ganske enkelt mean()
funksjon på vårt rullende vindusobjekt. Vi legger deretter til dette nye glidende gjennomsnittet som en ny kolonne i datasettet vårt.
# Calculate the moving average data['7_day_avg'] = rolling_window.mean() # Preview the updated dataset print(data.head(10))
Til slutt, la oss visualisere resultatene våre for å bedre forstå trendene i dataene våre.
Visualisere resultater
Vi skal bruke det populære Matplotlib biblioteket for å lage et enkelt linjediagram som viser både de daglige salgsdataene og vårt beregnede 7-dagers glidende gjennomsnitt.
# Plot the daily sales data plt.plot(data['sales'], label='Daily Sales') # Plot the 7-day moving average plt.plot(data['7_day_avg'], label='7-Day Moving Average', color='red') # Add labels and legend plt.xlabel('Days') plt.ylabel('Sales') plt.title('Daily Sales and 7-Day Moving Average') plt.legend() # Display the plot plt.show()
Det genererte diagrammet viser de daglige salgsdataene sammen med det 7-dagers glidende gjennomsnittet, noe som gjør det lettere for oss å identifisere trender og uregelmessigheter.
Avslutningsvis er det rullende vinduet mye brukt i dataanalyse, spesielt tidsserier, for sin evne til å avsløre skjulte mønstre og trender i store datasett. Kombinasjonen av Python, Pandas og Matplotlib forenkler prosessen med å beregne glidende gjennomsnitt og visualisere resultater, noe som gjør det til et tilgjengelig emne for både nybegynnere og eksperter på området.