Einführung

Traits, die sich über Tage oder Monate wiederholen, nennt man Saisonalität. Zeitfolgen. Saisonale Veränderungen, Feste und kulturelle Ereignisse führen oft zu diesen Abweichungen. Das Verständnis dieser Muster ist wichtig, da sie die Unternehmensergebnisse und die Entscheidungsfindung stark beeinflussen. Durch die Analyse dieser Traits können Unternehmen das ganze Jahr über erfolgreicher planen, prognostizieren und sich an vorhersehbare Veränderungen anpassen.

Überblick

  • Erfahren Sie, wie Sie Saisonalität in Zeitreihendaten erkennen.
  • Entdecken Sie verschiedene Techniken zur Saisonalitätsanalyse.
  • Erlangen Sie ein Verständnis für die Visualisierung von Saisonalitätsmustern.
  • Entdecken Sie die Bedeutung der Saisonalität bei der Zeitreihenprognose.
  • Erfahren Sie mehr über Ansätze zur Saisonalitätsanalyse.

Saisonalität in Zeitreihendaten erkennen

Analysten verwenden eine Reihe von Techniken, um Saisonalität in Zeitreihendaten zu erkennen. Dazu gehören statistische Analyse Techniken wie die Analyse der Autokorrelationsfunktion (ACF), Diagramme saisonaler Unterreihen und Visualisierungen zur effektiven Erkennung von Mustern.

Arten von Techniken

Analysten verwenden viele Methoden, wenn sie die Saisonalität in Zeitreihendaten analysieren. Diese Ansätze helfen dabei, die Daten in Saison-, Pattern- und Restkomponenten zu unterteilen. Dazu gehören Zerlegungstechniken, Autokorrelationsanalyse und saisonale Zeitreihenzerlegung (STL).

Einige Methoden zur Bestimmung der Saisonalität umfassen die Überprüfung auf saisonale Schwankungen, die Identifizierung periodischer Muster in den Daten und die Feststellung, ob wiederkehrende Zyklen vorhanden sind. Diese Methoden können den Grad und die Bedeutung der Saisonalität in den Zeitreihendaten quantifizieren.

Visualisierung von Saisonalitätsmustern

Visualisierungen sind für das Verständnis saisonaler Muster in Zeitreihendaten unerlässlich. Analysten können die Daten effektiver darstellen und verstehen, indem sie saisonale Unterreihen, Zerlegungsdiagramme und Zeitreihendiagramme mit hervorgehobenen saisonalen Mustern darstellen.

Bedeutung der Saisonalität bei der Zeitreihenprognose

Saisonalität ist für die Vorhersage von Traits im Zeitverlauf von Bedeutung, da sie viele Unternehmen betrifft, wie zum Beispiel Bankwesen, GesundheitspflegeUnd Einzelhandel. Darüber hinaus wird die Genauigkeit dieser Vorhersagen erheblich verbessert.

  • Auswirkungen der Saisonalität auf die Prognosegenauigkeit: Das Ignorieren der Saisonalität kann zu Abweichungen in den Datenmustern führen und so die Prognose erschweren. Ungenaue Schätzungen können sich dann auf die Ressourcenzuweisung und Geschäftsentscheidungen auswirken.
  • Saisonalität zu Prognosemodellen hinzufügen: Es besser machen Vorhersagensollten Sie die Muster der Jahreszeiten in Ihre Modelle einbeziehen. Methoden wie saisonale exponentielle Glättung, saisonale ARIMAund der Prophet

Saisonalität vs. Trendanalyse

Die Trendanalyse konzentriert sich auf langfristige Richtungsänderungen in Daten, während die Saisonalität wiederkehrende Muster über festgelegte Zeiträume beschreibt. Die Unterscheidung zwischen beiden ist für eine präzise Prognose unerlässlich, da Saisonalität und Traits in unterschiedlichen Zeitreihen unterschiedlich interagieren können. Datensätze.

Ansätze zur Saisonalitätsanalyse

Die Saisonalitätsanalyse umfasst verschiedene Techniken zum Verstehen und Extrahieren saisonaler Muster aus Zeitreihendaten. Lassen Sie uns anhand eines Beispieldatensatzes einige dieser Ansätze untersuchen.

Lassen Sie uns zunächst einen Beispieldatensatz für eine Zeitreihe laden. Wir veranschaulichen dies anhand simulierter monatlicher Verkaufsdaten.

import pandas as pd

# Pattern dataset: Simulated month-to-month gross sales information

import pandas as pd

date_range = pd.date_range(begin="2020-01-01", intervals=36, freq='M')

sales_data = pd.Collection((100, 120, 130, 110, 105, 125, 135, 145, 140, 130, 120, 110,

                     105, 125, 135, 145, 140, 130, 120, 110, 105, 125, 135, 145,

                     140, 130, 120, 110, 105, 125, 135, 145, 140, 130, 120, 110),

                     index=date_range, title="Gross sales")

Techniken zur Saisonalitätsanalyse

Sehen wir uns nun einige Techniken zur Saisonalitätsanalyse an:

Zeitreihenzerlegung:

Durch die Zeitreihenzerlegung werden die Daten in ihre Pattern-, Saison- und Restkomponenten unterteilt, was uns dabei hilft, die zugrunde liegenden Muster zu verstehen.

from statsmodels.tsa.seasonal import seasonal_decompose

import matplotlib.pyplot as plt

# Carry out time collection decomposition

outcome = seasonal_decompose(sales_data, mannequin="additive")

outcome.plot()

plt.present()
Saisonalität in Zeitreihen |

Analyse der Autokorrelationsfunktion (ACF)

Die ACF-Analyse misst die Korrelation zwischen einer Zeitreihe und ihren verzögerten Werten. Sie hilft dabei, saisonale Muster zu erkennen.

from statsmodels.graphics.tsaplots import plot_acf

# Plot autocorrelation operate

from statsmodels.graphics.tsaplots import plot_acf

plot_acf(sales_data, lags=12)

plt.present()
Analyse der Autokorrelationsfunktion (ACF)

Handlung der saisonalen Unterserie

Die Zeitreihendaten werden in einem Saisonunterreihendiagramm entsprechend der Saisonperiode in Untergruppen aufgeteilt, wobei jede Untergruppe unabhängig dargestellt wird.

import seaborn as sns

# Plot seasonal subseries

import seaborn as sns

sns.boxplot(x=sales_data.index.month, y=sales_data.values)

plt.xlabel('Month')

plt.ylabel('Gross sales')

plt.title('Seasonal Subseries Plot')

plt.present()
Handlung der saisonalen Unterserie

Saisonale Zerlegung von Zeitreihen (STL)

Mithilfe einer lokal gewichteten Regression zerlegt die STL-Zerlegung die Zeitreihe in ihre Pattern-, Saison- und Residuenkomponenten.

# Carry out seasonal decomposition utilizing STL

result_stl = seasonal_decompose(sales_data, mannequin="stl")

result_stl.plot()

plt.present()
Saisonale Zerlegung von Zeitreihen (STL)

Saisonalitätsmodellierung und -prognose

Wir verwenden spezielle Modelle, die Änderungen im Laufe der Zeit und sich wiederholende Muster verarbeiten, um saisonale Änderungen in Daten vorherzusagen. Zwei Modelle, die wir häufig verwenden, sind Seasonal ARIMA (SARIMA) und Seasonal Exponential Smoothing.

Saisonale ARIMA (SARIMA)-Modelle

AutoRegressive Built-in Shifting Common, kurz ARIMA, ist eine beliebte Methode zur Vorhersage von Zeitreihendaten. Dabei wird eine als Differenzierung bekannte Technik verwendet, um mit sich verändernden Mustern umzugehen. ARIMA kombiniert zwei Modelle: Shifting Common (das historische Prognosefehler nutzt) und AutoRegressive (das zukünftige Werte auf Grundlage früherer Werte vorhersagt). Es enthält drei Einstellungen: d (Grad der Differenzierung), q (Verzögerungen des gleitenden Durchschnittsmodells) und p (Verzögerungen des autoregressiven Modells).

SARIMA erweitert ARIMA um saisonale Komponenten und ist daher besonders effektiv für Daten mit saisonalen Mustern. Es enthält zusätzliche saisonale Terme P, D und Q, die jeweils die saisonale autoregressive Ordnung, den saisonalen Differenzierungsgrad und die saisonale gleitende Durchschnittsordnung darstellen, zusammen mit Mdie Anzahl der Perioden in jeder Saison.

Generieren und Anpassen eines SARIMA-Modells

Hier ist ein Python-Codeausschnitt, der die SARIMAX-Klasse aus der Statsmodels-Bibliothek verwendet, um ein SARIMA-Modell anzupassen:

import pandas as pd

import numpy as np

from statsmodels.tsa.statespace.sarimax import SARIMAX

# Generate month-to-month gross sales information

np.random.seed(0)

date_range = pd.date_range(begin="2020-01-01", intervals=120, freq='M')

sales_data = pd.Collection(np.random.randint(100, 200, dimension=len(date_range)), index=date_range, title="Gross sales")

# Match a SARIMA mannequin

model_sarima = SARIMAX(sales_data, order=(1, 1, 1), seasonal_order=(1, 1, 1, 12))

result_sarima = model_sarima.match()

print(result_sarima.abstract())
Saisonale exponentielle Glättung | Prognose

Saisonale exponentielle Glättung

Durch die Berücksichtigung sowohl des Traits als auch der Saisonalität stellt die saisonale exponentielle Glättung eine Verbesserung gegenüber der standardmäßigen exponentiellen Glättung dar, wenn die Daten einen saisonalen Pattern aufweisen und die Prognose davon profitiert.

So verwenden Sie das statsmodels-Paket in Python, um diese Methode zu erstellen:

from statsmodels.tsa.holtwinters import ExponentialSmoothing

# Match seasonal exponential smoothing mannequin

model_exp_smooth = ExponentialSmoothing(sales_data, seasonal_periods=12, development='add', seasonal="add")

result_exp_smooth = model_exp_smooth.match()

print(result_exp_smooth.abstract())
Saisonalität in Zeitreihen

Saisonalität in Zeitreihendaten auswerten

Um saisonale Muster in Zeitreihendaten zu verstehen, werden verschiedene Messungen verwendet, darunter:

  • Saisonalitätsindex
  • Variationskoeffizient
  • Wie viele der Änderungen sind saisonbedingt?

Diese Messungen helfen uns, vorhersehbare und konsistente saisonale Muster zu erkennen, was für die Erstellung genauer Vorhersagen wichtig ist.

Saisonalitätsmetriken und Bewertungskriterien

import numpy as np

import pandas as pd

# Instance information

np.random.seed(0)

date_range = pd.date_range(begin="2020-01-01", intervals=120, freq='M')

sales_data = pd.Collection(np.random.randint(100, 200, dimension=len(date_range)), index=date_range, title="Gross sales")

# Calculating errors

mean_sales = sales_data.imply()

seasonal_estimates = np.full_like(sales_data, mean_sales)  # Placeholder for precise seasonal estimates

residuals = sales_data - seasonal_estimates

# Sum of Squared Errors for the seasonal part

sum_of_squared_errors_seasonal = np.sum(residuals**2)

# Whole errors may equally be outlined; right here utilizing the identical for example

sum_of_squared_errors_total = sum_of_squared_errors_seasonal  # This needs to be based mostly on a special calculation

# Metrics calculation

max_value = sales_data.max()

min_value = sales_data.min()

standard_deviation = sales_data.std()

mean_value = sales_data.imply()

seasonality_index = (max_value - min_value) / (max_value + min_value)

coefficient_of_variation = standard_deviation / mean_value

percentage_variation_explained = (sum_of_squared_errors_seasonal / sum_of_squared_errors_total) * 100

# Setting thresholds

thresholds = {

'seasonality_index': 0.5,

'coefficient_of_variation': 0.1,

'percentage_variation_explained': 70

}

# Evaluating seasonality

outcomes = {

"Robust seasonality detected": seasonality_index > thresholds('seasonality_index'),

"Low variability, indicating vital seasonality": coefficient_of_variation < thresholds('coefficient_of_variation'),

"Seasonality explains a big portion of the variation within the information": percentage_variation_explained > thresholds('percentage_variation_explained')

}

Ergebnisse

Saisonalität in Zeitreihendaten auswerten

Saisonalitätstests und Validierung

  • Saisonalitätstests: Saisonalitätstests sind wichtig, um zu überprüfen, ob in Ihren Zeitreihendaten saisonale Traits vorhanden sind. Dies kann die Prognosequalität Ihres Modells erheblich beeinflussen. Statistische Assessments bestätigen die Stationarität der Reihe und etwaige Traits oder Saisonalität.
  • Validierung der Prognosegenauigkeit: Es ist wichtig, die Genauigkeit Ihrer Saisonvorhersage zu bestätigen. Mithilfe verschiedener Maßnahmen müssen Sie Prognosewerte mit tatsächlichen Beobachtungen vergleichen, um die Leistung des Modells zu messen und Bereiche zu ermitteln, die möglicherweise verbessert werden müssen.
from statsmodels.tsa.stattools import adfuller, kpss

# Carry out ADF check

adf_result = adfuller(sales_data)

adf_statistic, adf_p_value = adf_result(0), adf_result(1)

print(f"ADF Statistic: {adf_statistic}, p-value: {adf_p_value}")

# Carry out KPSS check

kpss_result = kpss(sales_data, nlags="auto")  # Robotically determines the variety of lags

kpss_statistic, kpss_p_value = kpss_result(0), kpss_result(1)

print(f"KPSS Statistic: {kpss_statistic}, p-value: {kpss_p_value}")

Validierung der Prognosegenauigkeit

Die Entwicklung des Modells selbst ist wichtiger als die Überprüfung der Genauigkeit Ihrer Saisonprognosen. Sie erfordert die Verwendung einer Vielzahl von Maßnahmen, um die vorhergesagten Werte mit den tatsächlichen Beobachtungen zu vergleichen. Dieses Verfahren hilft bei der Messung der Wirksamkeit des Modells und identifiziert alle Bereiche, die verbessert werden müssen.

  • MAE: Der mittlere absolute Fehler (MAE) zeigt den durchschnittlichen Fehler zwischen unseren Vorhersagen und den tatsächlichen Ergebnissen.
  • RMSE: Der quadratische Mittelwertfehler (RMSE) gibt die Größe des durchschnittlichen Prognosefehlers an.
  • Prozentuale Prognosegenauigkeit: Diese Abbildung veranschaulicht die Genauigkeit, mit der unsere Annahmen mit den tatsächlichen Ereignissen übereinstimmten.

Code zur Prognosevalidierung:

import numpy as np

import pandas as pd

# Instance setup

np.random.seed(0)

date_range = pd.date_range(begin="2020-01-01", intervals=120, freq='M')

sales_data = pd.Collection(np.random.randint(100, 200, dimension=len(date_range)), index=date_range, title="Gross sales")

# Let's assume the final 12 information factors are our precise values

actual_values = sales_data(-12:)

# For simplicity, let’s assume forecasted values are barely diversified precise values

forecasted_values = actual_values * np.random.regular(1.0, 0.05, dimension=len(actual_values))

# Calculate forecast accuracy metrics

mae = mean_absolute_error(actual_values, forecasted_values)

rmse = mean_squared_error(actual_values, forecasted_values, squared=False)

forecast_accuracy_percentage = 100 * (1 - (np.abs(actual_values - forecasted_values) / actual_values)).imply()

# Show the outcomes

print(f"Imply Absolute Error (MAE): {mae}")

print(f"Root Imply Squared Error (RMSE): {rmse}")

print(f"Forecast Accuracy Share: {forecast_accuracy_percentage}%")
Saisonalität in Zeitreihen | Prognose

Praktische Anwendungen der Saisonalitätsanalyse in Zeitreihen

Die Saisonalitätsanalyse ist ein spezielles Instrument, das Geschäften und Unternehmen hilft, gute Entscheidungen zu treffen. Sie zeigt ihnen, wie die Umsätze im Jahresverlauf steigen und fallen. Auf diese Weise können Geschäfte planen, wann sie Schlussverkäufe durchführen oder wie viele Waren sie im Laden halten. Wenn ein Geschäft beispielsweise weiß, dass im Februar weniger Leute Dinge kaufen, kann es einen großen Ausverkauf veranstalten, um die übrig gebliebenen Waren zu verkaufen. Dies hilft ihnen, nichts zu verschwenden und weiterhin Geld zu verdienen. Unternehmen können auch von der Saisonalitätsanalyse profitieren, indem sie wissen, wie viel Inventar sie vorrätig halten müssen, um zu vermeiden, dass ihnen das Inventar ausgeht und Umsatzverluste entstehen. Im Finanzbereich nutzen Aktieninvestoren die Saisonalität, um vorherzusagen, ob die Aktienkurse steigen oder fallen werden, was ihnen ermöglicht, fundiertere Entscheidungen darüber zu treffen, was sie kaufen und verkaufen.

Abschluss

Das Verständnis der Saisonalität hilft Unternehmen und Investoren, das ganze Jahr über kluge Entscheidungen zu treffen. Wenn Geschäfte wissen, wann die Umsätze normalerweise steigen oder fallen, können sie ihre Verkäufe besser planen und ihre Lagerbestände klüger verwalten, wodurch sie Geld sparen und mehr verkaufen. Das Verständnis dieser Traits kann Investoren dabei helfen, fundiertere Entscheidungen über den Kauf oder Verkauf von Aktien zu treffen. Unternehmen und Investoren können enorm erfolgreich sein, wenn sie die Saisonalität in ihre Planungen und Prognosen einbeziehen.

Weitere Informationen zur Zeitreihenanalyse finden Sie unter Blackbelt Plus-Programm von Analytics Vidhya.

Häufig gestellte Fragen

F1. Was ist ein Beispiel für Saisonalität in Zeitreihen?

A. Ein Beispiel für Saisonalität in Zeitreihen sind erhöhte Einzelhandelsumsätze während der Weihnachtszeit. Viele Geschäfte verzeichnen beispielsweise jedes Jahr im Dezember aufgrund der Weihnachtseinkäufe einen deutlichen Umsatzanstieg, dem im Januar ein Rückgang folgt. Dieses Muster wiederholt sich jedes Jahr und veranschaulicht einen saisonalen Effekt, der von der Jahreszeit beeinflusst wird und auf der Grundlage historischer Daten vorhergesagt und geplant werden kann.

F2. Welche drei Arten von Saisonalität gibt es?

A. Die drei Arten der Saisonalität sind additive Saisonalität, multiplikative Saisonalität und gemischte Saisonalität.

F3. Was ist mit Saisonalität gemeint?

A. Saisonalität bezieht sich auf vorhersehbare und wiederkehrende Muster oder Schwankungen in einer Zeitreihe, die aufgrund saisonaler Faktoren in regelmäßigen Abständen auftreten. Verschiedene Faktoren wie Wetter, Feiertage oder kulturelle Ereignisse beeinflussen diese Muster. Sie treten über einen festen Zeitraum wie Tage, Wochen, Monate oder Quartale auf und beeinflussen das Verhalten oder Niveau der Daten zu bestimmten Zeitpunkten in jedem Zyklus.

F4. Was ist der Unterschied zwischen Zyklus und Saisonalität?

A. Der Unterschied zwischen Zyklus und Saisonalität liegt in ihrer Natur und Regelmäßigkeit. Saisonalität ist ein konsistentes, vorhersehbares Muster, das sich in festen Abständen (z. B. monatlich oder jährlich) wiederholt und von externen Faktoren wie Wetter oder Feiertagen bestimmt wird. Im Gegensatz dazu bezieht sich der Zyklus auf Schwankungen, die in unregelmäßigen Abständen auftreten und häufig von wirtschaftlichen Bedingungen oder langfristigen Traits beeinflusst werden und keinen festen Zeitraum oder kein vorhersehbares Muster aufweisen.

Von admin

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert