Vyřešeno: rolovací okno pytorch

Poslední aktualizace: 09/11/2023

rolovací okno Svět analýzy dat často vyžaduje práci s daty časových řad a běžnou technikou používanou při manipulaci s takovými daty je použití konceptu rolovací okno. Rolovací okno, někdy označované jako pohyblivé okno nebo posuvné okno, je přístup, který nám umožňuje segmentovat naši datovou sadu na menší části, zpracovávat je a získávat užitečné poznatky z výsledné podsérie. Tato výkonná technika je široce používána ve financích, prognózování a analýze trendů, což z ní činí cennou dovednost mít v sadě analytických nástrojů. V tomto článku prozkoumáme koncept rolovacího okna, vypořádáme se s problémem, rozložíme jeho řešení do snadno srozumitelných kroků a probereme související knihovny a funkce Pythonu, které nám mohou usnadnit život.

Problémové prohlášení

Předpokládejme, že máme datovou sadu časových řad, která obsahuje denní údaje o prodeji maloobchodu za rok. Naším úkolem je analyzovat tento soubor dat a vypočítat 7denní klouzavý průměr prodeje, abychom vyhladili potenciální anomálie, identifikovali trendy a řídili obchodní rozhodnutí. Pro analýzu dat budeme používat Python, známý a široce používaný programovací jazyk.

Přístup k řešení

Chcete-li vyřešit problém s rolovacím oknem, budeme postupovat takto:

  1. Importujte potřebné knihovny
  2. Načtěte datovou sadu
  3. Vytvořte rolovací okno
  4. Vypočítejte 7denní klouzavý průměr
  5. Vizualizujte výsledky

Začněme importem požadovaných knihoven a načtením datové sady.

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())

Po načtení datové sady nyní přistoupíme k vytvoření rolovacího okna.

Vytvoření rolovacího okna

Obracíme se k mocným Pandy knihovny k vytvoření rolovacího okna pomocí rolling() funkce. Rolling window bude mít velikost 7 dní, protože chceme vypočítat 7denní klouzavý průměr.

# Create a rolling window of 7 days
rolling_window = data['sales'].rolling(window=7)

Nyní, když máme klouzavé okno, můžeme vypočítat 7denní klouzavý průměr.

Výpočet 7denního klouzavého průměru

Abychom našli 7denní klouzavý průměr tržeb, jednoduše zavoláme mean() funkce na našem objektu rolovacího okna. Tento nový klouzavý průměr pak přidáme jako nový sloupec v naší datové sadě.

# Calculate the moving average
data['7_day_avg'] = rolling_window.mean()

# Preview the updated dataset
print(data.head(10))

Nakonec si naše výsledky vizualizujme, abychom lépe porozuměli trendům v našich datech.

Vizualizace výsledků

Použijeme populární matplotlib Knihovna pro vytvoření jednoduchého spojnicového grafu zobrazujícího jak denní údaje o prodeji, tak náš vypočítaný 7denní klouzavý průměr.

# 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()

Vygenerovaný graf zobrazuje údaje o denním prodeji spolu se 7denním klouzavým průměrem, což nám usnadňuje identifikaci trendů a anomálií.

Závěrem lze říci, že rolovací okno je široce využíváno v analýze dat, konkrétně časových řad, pro svou schopnost odhalit skryté vzorce a trendy v rámci velkých datových sad. Kombinace Pythonu, Pandas a Matplotlib zjednodušuje proces výpočtu klouzavého průměru a vizualizace výsledků, což z něj činí přístupný předmět pro začátečníky i odborníky v oboru.

Související příspěvky: