5 ključnih tehnika koje morate znati za savladavanje analize vremenskih serija

Podaci o vremenskim serijama su svuda - cene akcija, vremenski podaci, web sajt saobraćaj i vaš dnevni broj koraka.

Uvod

Podaci o vremenskim serijama su svuda - cene akcija, vremenski podaci, web sajt saobraćaj i vaš dnevni broj koraka. Ipak, smisao ovih tačaka podataka tokom vremena i predviđanje budućih trendova može biti izazov. Ovladavanje analizom vremenskih serija je od ključnog značaja za naučnike podataka, poslovne analitičare i istraživače koji žele da naprave tačne prognoze i steknu značajne uvide.

U ovom postu ćemo istražiti pet osnovnih tehnika koje će vam pomoći da steknete solidno razumevanje analize vremenskih serija. Do kraja, znaćete kako da razbijete i analizirate svoje podatke kao profesionalac i izgradite bolje prediktivne modele koristeći Pithon.

Razumevanje osnova analize vremenskih serija

Šta je vremenska serija?

Vremenska serija je niz tačaka podataka prikupljenih ili zabeleženih u uzastopnim vremenskim tačkama. Za razliku od drugih tipova podataka, vremenske serije imaju prirodno vremensko uređenje koje treba uzeti u obzir tokom analize. Na primer, dnevne cene zatvaranja akcija su klasičan primer podataka vremenskih serija.

Zašto je analiza vremenskih serija važna?

Analiza vremenskih serija pomaže u otkrivanju skrivenih obrazaca i predviđanju budućih trendova. Aplikacije se kreću od:

  • Predviđanje cena akcija ili finansijskih trendova.
  • Predviđanje vremenskih obrazaca ili sezonskih pojava.
  • Procena potražnje za proizvodima u e-trgovini ili maloprodaji.

Da bismo savladali analizu vremenskih serija, ispitajmo pet ključnih tehnika za efikasnu analizu podataka.

Tehnika 1: Dekompozicija vremenskih serija

Dekompozicija vremenskih serija se odnosi na razbijanje vremenskih serija na tri glavne komponente:

  • Trend: Opšti pravac u kojem se podaci kreću tokom vremena.
  • Sezonalnost: Ponavljanje kratkoročnih ciklusa u podacima (npr. Nedeljno ili mesečno).
  • Rezidualni (buka): Preostala varijacija koja se ne može pripisati trendu ili sezonalnosti.

Aditiv vs. Multiplikativna dekompozicija

  • aditiv: i (t) = trend (t) + sezonalnost (t) + ostatak (t)
  • Multiplikativno: Y(t) = Trend(t) * Sezonalnost(t) * Rezidual(t)

Izbor zavisi od prirode vaših podataka. Koristite aditiv kada je sezonska varijacija konstantna tokom vremena; Koristite multiplikativ kada se varijacija menja proporcionalno trendu.

Primer u Pithon

Uvoz pande kao PD
Uvoz matplotlib.pyplot kao plt
Od statsmodels.tsa.sezonski uvoz seasonal_decompose

# Učitajte skup podataka vremenskih serija
data = pd.read_csv('sales_data.csv', index_col='Datum', parse_dates=Istina)

# Razgradi vremensku seriju
rezultat = seasonal_decompose(podaci ['Prodaja'], model = 'aditiv', period = KSNUMKS)

# Plot dekomponovane komponente
Rezultat.plot()
plt.show()

Tehnika 2: Izglađivanje i filtriranje

Izglađivanje pomaže da se ukloni buka iz vremenske serije, čineći trendove i druge komponente vidljivijim. Neke popularne metode uključuju:

  • Jednostavna pokretni prosek (SMA): Prosečne podatke preko fiksnog prozora za izglađivanje kratkoročnih fluktuacija.
  • Eksponencijalni pokretni prosek (EMA): Slično SMA, ali daje veću težinu nedavnim zapažanjima.
  • Eksponencijalno izglađivanje (Holt-Vinters): Računi za trend i sezonalnost.

Primer u Pithonu: Jednostavan pokretni prosek

# Izračunajte pokretni prosek (prozor = 12 meseci)
data['SMA'] = data['Prodaja'].rolling(vindov=12).mean()

# Zemljište original vs. izglađena serija
data[['Prodaja', 'SMA']].plot()
plt.show()

Ovaj kod izračunava 12-mesečni prosjek za izglađivanje originalnih podataka o prodaji. Ovo vam može pomoći da lakše uočite dugoročne trendove.

Tehnika 3: Autoregresivni integrisani modeli pokretnog proseka (ARIMA)

ARIMA model je jedan od najčešće korišćenih modela za predviđanje vremenskih serija. Tri parametra ga definišu:

  • AR (Autoregresivno): Odnos između posmatranja i njegovih prethodnih zapažanja.
  • Ja (Integrisani): Razlikovanje podataka da bi bilo stacionarno.
  • MA (Moving Average): Uključivanje zavisnosti između posmatranja i njegovih preostalih grešaka.

Ključ je u odabiru prave kombinacije parametara (p, d, k) za tačno predviđanje budućih tačaka u seriji.

Primer u Pithonu: Izgradnja ARIMA modela

od statsmodels.tsa.arima.model uvoz ARIMA
# Uklopite ARIMA model (p = 1, d = 1, k = 1 kao primer)
model = ARIMA (podaci ['Prodaja'], order = (1, 1, 1))
model_fit = model.fit()

# Rezime  modela
print(model_fit.summary())

# Predviđanje narednih 12 perioda
prognoza = model_fit.forecast (koraci = 12)
štampa(prognoza)

Ovaj primer odgovara ARIMA modelu podacima o prodaji i predviđa narednih 12 perioda. Fino podešavanje parametara p, d i k je od ključnog značaja za bolje rezultate.

Tehnika 4: Stacionarnost i razlikovanje

Šta je Stacionarnost?

Stacionarna vremenska serija ima konstantnu sredinu, varijansu i autokovarijancu tokom vremena. Stacionarnost je ključna za mnoge modele vremenskih serija kao što je ARIMA.

Testiranje stacionarnosti

Dva standardna testa su:

  • Augmented Dickei-Fuller (ADF) test: Testira da li je prisutan koren jedinice, što ukazuje na nestacionarnost.
  • Kwiatkovski-Phillips-Schmidt-Shin (KPSS) Test: Testira nultu hipotezu stacionarnosti.

Razlikovanje za postizanje stacionarnosti

Diferencijacija pomaže stabilizaciji srednje vrednosti vremenske serije oduzimanjem prethodnog zapažanja od trenutnog.

Primer u Pithonu: Differencing i ADF test

from statsmodels.tsa.stattools import adfuller

# Perform first-order differencing
data['Differenced'] = data['Sales'].diff()

# ADF Test
result = adfuller(data['Differenced'].dropna())
print(f'ADF Statistic: {result[0]}')
print(f'p-value: {result[1]}')

# Plot the differenced series
data['Differenced'].plot()
plt.show()

Podaci o prodaji se razlikuju u ovom primeru, a ADF test se koristi za proveru stacionarnosti.

Tehnika 5: Sezonska razgradnja i sezonska ARIMA (SARIMA)

STL razlaganje

STL (Sezonska i trendovska dekompozicija koristeći Les) je moćan alat za razdvajanje sezonskih, trendovskih i rezidualnih komponenti.

SARIMA Model

Kada vaši podaci pokazuju jasnu sezonalnost, proširenje ARIMA - SARIMA - je prikladnije. Ima dodatne sezonske parametre za rukovanje ponavljajućim obrascima.

Primer u Pithonu: SARIMA model

from statsmodels.tsa.statespace.sarimax import SARIMAX
# Fit model SARIMA (sezonski red naveden kao (KSNUMKS, KSNUMKS, KSNUMKS))
model = SARIMAX(data['Prodaja'], order =(1, 1, 1), seasonal_order=(1, 1, 1, 12))
model_fit = model.fit()

# Rezime  modela
print(model_fit.summary())

# Predviđanje narednih 12 perioda
prognoza = model_fit.forecast (koraci = KSNUMKS)
štampa(prognoza)

Ovaj primer odgovara SARIMA model podacima, navodeći sezonski obrazac od 12 meseci.

Praktični savet

Iterativno poboljšajte svoje modele i potvrdite prognoze sa novim podacima za optimalnu tačnost.

Alati i softver za analizu vremenskih serija

  • Pithon biblioteke:
    • Pande za manipulaciju podacima.
    • statsmodels i Prophet za modeliranje.
    • Scikit-Learn za aplikacije za mašinsko učenje.
  • R paketi:
    • prognoza i tseries.
  • Ostali alati:
    • Ekcel za jednostavnu analizu.
    • Tableau za vizuelizaciju podataka.

Zakljuиak

Razumevanjem i primenom ovih pet tehnika - dekompozicija, izglađivanje, ARIMA modeliranje, stacionarnost i sezonska dekompozicija - bićete na dobrom putu da savladate analizu vremenskih serija.

Povezani postovi

Google Tag Manager praćenje na strani servera poboljšava privatnost podataka, web sajt performanse i kontrola podataka usmeravanjem podataka za praćenje preko sigurnog servera, a ne direktno u pretraživačima korisnika, što ga čini idealnim za preduzeća fokusirana na sigurnost podataka i usklađenost.
Podešavanje GA4 praćenja sa GTM kontejnerom na strani servera poboljšava tačnost podataka i privatnost obradom podataka na vašem serveru. Ova metoda zaobilazi blokatore oglasa i ograničenja pretraživača, a istovremeno vam omogućava da filtrirate ili anonimizujete podatke, obezbeđujući usklađenost i bolju bezbednost.
Praćenje na strani servera podrazumeva prikupljanje i obradu podataka na serveru, umesto u korisnikovom pregledaču.

Zakažite početne konsultacije sada

Hajde da razgovaramo o tome kako možemo optimizirati vaše poslovanje Kompozitna trgovina, Veštačka inteligencija, mašinsko učenje, nauka o podacima i inženjering podataka.