DE102020126568A1 - Systeme und verfahren für das feature-engineering - Google Patents

Systeme und verfahren für das feature-engineering Download PDF

Info

Publication number
DE102020126568A1
DE102020126568A1 DE102020126568.9A DE102020126568A DE102020126568A1 DE 102020126568 A1 DE102020126568 A1 DE 102020126568A1 DE 102020126568 A DE102020126568 A DE 102020126568A DE 102020126568 A1 DE102020126568 A1 DE 102020126568A1
Authority
DE
Germany
Prior art keywords
data
prediction
machine learning
processed
module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102020126568.9A
Other languages
English (en)
Inventor
Sebastien OUELLET
Zhen Lin
Christopher Wang
Chantal Bisson-Krol
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kinaxis Inc
Original Assignee
Kinaxis Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US16/599,143 external-priority patent/US11526899B2/en
Application filed by Kinaxis Inc filed Critical Kinaxis Inc
Publication of DE102020126568A1 publication Critical patent/DE102020126568A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0201Market modelling; Market analysis; Collecting market data
    • G06Q30/0204Market segmentation
    • G06Q30/0205Location or geographical consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/211Selection of the most significant subset of features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • G06F18/251Fusion techniques of input or preprocessed data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/285Selection of pattern recognition techniques, e.g. of classifiers in a multi-classifier system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Accounting & Taxation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Game Theory and Decision Science (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Systeme und Verfahren für das Feature-Engineering, bei denen interne und externe Signale empfangen und verschmolzen werden. Die Verschmelzung basiert auf Metadaten von jedem der einen oder mehreren internen Signale und jedem der einen oder mehreren externen Signale. Ein Satz von Merkmalen wird auf der Grundlage einer oder mehrerer gültiger Kombinationen erzeugt, die einer Umwandlungseingabe entsprechen, wobei die Umwandlung Teil der Umwandlungsbibliothek ist. Schließlich wird ein Satz von einem oder mehreren Merkmalen aus der Vielzahl von Merkmalen basierend auf einer Vorhersagekraft jedes Merkmals ausgewählt. Der Satz ausgewählter Merkmale kann zum Trainieren und Auswählen eines Maschinenlernmodells verwendet werden.

Description

  • QUERVERWEIS AUF VERWANDTE ANWENDUNGEN
  • Bei der vorliegenden Anmeldung handelt es sich um eine US-Patentanmeldung in Form der „Continuation-in-part“-Anmeldung, die die Priorität gemäß 35 U.S.C. Abschnitt 120 zu der US-Patentanmeldung mit der Seriennummer 16/599.143 beansprucht, die am 11. Oktober 2019 eingereicht wurde.
  • HINTERGRUND
  • Sowohl Hersteller als auch Einzelhändler sind von dem Kundenbedarf nach ihren Produkten abhängig. Dennoch mangelt es an Ansätzen für die Bestandsverwaltung, die von dem vorausgesagten täglichen Bedarf abhängt, der intuitiv und interpretierbar ist. Es gibt zum Beispiel wenig Informationen darüber, wie der Bedarf von verschiedenen Faktoren beeinflusst wird und wie sich der vorhergesagte Bedarf auf die Geschäftskennzahlen auswirkt.
  • Angesichts der umfangreichen Datenmenge innerhalb einer Lieferkette ist es schwierig, eine genaue Vorhersage der Verkäufe zu treffen. Aktuelle Lösungen werden mit dem Branchenkonzept der „Bedarfserfassung“ bezeichnet. Die gemeinsame Metrik, die für derartige Lösungen angegeben wird, basiert auf dem mittleren absoluten prozentualen Fehler (MAPE) der vorausgesagten Verkäufe im Vergleich zu den tatsächlichen Verkäufen. Die meisten Lösungen stellen zwar tägliche Verkaufsschätzungen unter Verwendung verschiedener Faktoren bereit, aber die Benutzer werden durch die Lösungen nicht darüber informiert, welche unterschiedlichen Auswirkungen diese Faktoren auf die vorausgesagten Verkäufe haben. Die MAPE-Metrik wird zwar verwendet und ist bekannt, berücksichtigt jedoch nicht die geschäftlichen Auswirkungen des Modellierungsfehlers und ist instabil, wenn es sich um Artikel mit geringer Menge handelt.
  • Darüber hinaus muss jedes Modell, das zur Umsatzvoraussage verwendet wird, die ständigen Änderungen der Faktoren berücksichtigen, die sich auf den Verkauf von Produkten auswirken. Solche Änderungen variieren häufig geografisch und zeitlich.
  • US 20140156346 offenbart Verfahren und Systeme zur Erleichterung der dynamischen Bedarfserfassung. Bei einigen Anwendungen werden Daten zur Bedarfserfassung von einer Verbrauchervorrichtung empfangen. Die Bedarfserfassungsdaten werden erzeugt, während sich die Verbrauchervorrichtung in dem Ladengeschäft befindet. Ein Informationsverwaltungssystem wird mit den Bedarfserfassungsdaten aktualisiert. Mit den Bedarfserfassungsdaten kann dann eine Analyse ausgeführt werden, um einen in dem Informationsverwaltungssystem angezeigten Bedarfsbericht zu erstellen.
  • US 2012030343411 offenbart ein System, ein Verfahren und ein Computerprogrammerzeugnis zur Bedarfsmodellierung und -vorhersage in Einzelhandelskategorien. Das Verfahren verwendet Zeitreihendaten, die aus Stückpreisen und Stückverkäufen für eine Reihe von verwandten Produkten bestehen. Diese Daten basieren auf einer Anzahl von Berichtszeiträumen und auf einer Anzahl von Ladengeschäften in einer Marktgeografie. Andere relevante Datensätze, die sich auf den Einzelhandelsbedarf auswirken, werden ebenfalls verwendet. Ein Bedarfsmodell mit verbesserter Genauigkeit wird erreicht durch: Schätzen eines Modells für Preisbewegungen und Preisdynamik aus den Zeitreihendaten der Einheitspreise in den aggregierten Verkaufsdaten; Schätzen eines Modells für den Marktabschnitt jedes Produkts in der Einzelhandelskategorie unter Verwendung der aggregierten Verkaufsdaten und integrierter zusätzlicher Produktattributdaten; und Schätzen der Erzeugung eines Modells für einen Gesamtmarktbedarf in der Einzelhandelskategorie aus den aggregierten Verkaufsdaten.
  • Bei der Verkaufsvoraussage müssen Echtzeitänderungen relevanter Faktoren sowohl aus geografischer als auch aus zeitlicher Perspektive berücksichtigt werden. Ein Vorhersageverfahren kann selbst dann veraltet sein, wenn die vorherige Vorhersage nur wenige Wochen zurückliegt, wenn sie nicht ständig aktualisiert wird, um Informationen zu berücksichtigen, die sich auf die Verkäufe auswirken. Ein Vorhersageverfahren, das sich nicht auf die aktuellsten Informationen stützt, wird keine genaue Vorhersage liefern. Es besteht die Notwendigkeit, ein dynamisches System zur Erfassung des Bedarfs zu entwickeln, das den Bedarf auf täglicher Basis auf granulärer Ebene (z.B. einzelne Produkte an einzelnen Standorten) voraussagt.
  • KURZE ÜBERSICHT
  • In einem Aspekt wird angegeben: ein computerimplementiertes Verfahren zum Vorhersagen von Verkäufen eines Produkts an einem Standort, wobei das Verfahren umfasst: Empfangen historischer Daten, die mit dem Produkt assoziiert sind, an einem Aufnahmemodul; Verarbeiten historischer Produktdaten durch das Aufnahmemodul; Bereitstellen verarbeiteter historischer Produktdaten für eine Maschinenlern-Speichervorrichtung; Abrufen historischer Standortdaten, die mit dem Standort assoziiert sind, durch ein externes Datenmodul; Verarbeiten der historischen Standortdaten durch das externe Datenmodul; Bereitstellen verarbeiteter historischer Standortdaten für die Maschinenlern-Speichervorrichtung; Empfangen einer Anfrage für eine Vorhersage der Verkäufe des Produkts an dem Standort durch ein Überwachungsmodul; Bestimmen eines Vorhersageverfahrens zur Erstellung der Vorhersage durch das Überwachungsmodul; Übermitteln von Anweisungen zur Ausführung des Vorhersageverfahrens an ein Vorhersagemodul durch das Überwachungsmodul; Zugreifen auf die verarbeiteten historischen Produktdaten, die verarbeiteten historischen Standortdaten und ein oder mehrere Maschinenlernmodelle von der Maschinenlern-Speichervorrichtung durch das Vorhersagemodul; Entwickeln eines oder mehrerer Merkmale, die mit den verarbeiteten historischen Produktdaten und/oder den verarbeiteten historischen Standortdaten assoziiert sind, durch das Vorhersagemodul; Bereitstellen der Vorhersage auf der Grundlage des Vorhersageverfahrens durch das Vorhersagemodul; und Hochladen der Vorhersage in den Maschinenlernspeicher; wobei: das Vorhersageverfahren in Echtzeit entweder: i) das Auswählen eines Maschinenlernmodells zur Erstellung der Vorhersage; oder ii) das erneute Trainieren eines zuvor ausgewählten Maschinenlernmodells und die Verwendung des erneut trainierten Modells zur Erstellung der Vorhersage; oder iii) die Erstellung der Vorhersage auf der Grundlage des zuvor ausgewählten Modells umfasst.
  • In einigen Ausführungsformen ist die Anfrage für die Vorhersage eine erste Anfrage und wählt das Vorhersagemodul das Maschinenlernmodell aus, um die Vorhersage zu erstellen, wobei das Auswählen umfasst: Trainieren einer Vielzahl von Maschinenlernmodellen an einem ersten Abschnitt eines Datensatzes; Validieren des Maschinenlernmodells an einem zweiten Abschnitt des Datensatzes; und erneutes Trainieren des Maschinenlernmodells an einer Summe aus dem ersten Abschnitt und dem zweiten Abschnitt, wobei der Datensatz eine Gesamtsumme der verarbeiteten historischen Produktdaten und der verarbeiteten historischen Standortdaten umfasst.
  • In einigen Ausführungsformen ist die Anfrage für die Vorhersage keine erste Anfrage; wurde seit einer letzten Vorhersage dem Maschinenlernspeicher eine neue Kategorie verarbeiteter Daten hinzugefügt, wobei die neue Kategorie verarbeiteter Daten eine neue Kategorie verarbeiteter historischer Produktdaten und/oder eine neue Kategorie verarbeiteter historischer Standortdaten umfasst; und wählt das Vorhersagemodul das Maschinenlernmodell aus, um die Vorhersage zu erstellen, wobei das Auswählen des Maschinenlernmodells umfasst: Trainieren einer Vielzahl von Maschinenlernmodellen an einem ersten Abschnitt eines erweiterten Datensatzes, wobei der erweiterte Datensatz die neue Kategorie von verarbeiteten Daten, die verarbeiteten historischen Produktdaten und die verarbeiteten historischen Standortdaten umfasst; Validieren des Maschinenlernmodells an einem zweiten Abschnitt des erweiterten Datensatzes; und erneutes Trainieren des Maschinenlernmodells an einer Gesamtsumme des ersten Abschnitts und des zweiten Abschnitts.
  • In einigen Ausführungsformen ist die Anfrage für die Vorhersage keine erste Anfrage; wurde eine zusätzliche Menge verarbeiteter Daten dem Maschinenlernspeicher seit einer letzten Vorhersage hinzugefügt, wobei die zusätzliche Menge verarbeiteter Daten neue verarbeitete historische Produktdaten und/oder neue verarbeitete historische Standortdaten umfasst; überschreitet die zusätzliche Menge verarbeiteter Daten einen Schwellenwert; und wählt das Vorhersagemodul das Maschinenlernmodell aus, um die Vorhersage zu erstellen; wobei das Auswählen des Maschinenlernmodells umfasst: Trainieren einer Vielzahl von Maschinenlernmodellen an einem ersten Abschnitt eines erweiterten Datensatzes, wobei der erweiterte Datensatz die zusätzliche Menge an verarbeiteten Daten, die verarbeiteten historischen Produktdaten und die verarbeiteten historischen Standortdaten umfasst; Validieren des Maschinenlernmodells an einem zweiten Abschnitt des erweiterten Datensatzes; und erneutes Trainieren des Maschinenlernmodells an einer Summe aus dem ersten Abschnitt und dem zweiten Abschnitt. In einigen Ausführungsformen liegt die Anfrage für die Vorhersage des Schwellenwerts bei wenigstens 15% bis 30% einer Menge verarbeiteter Daten, die von dem Vorhersagemodul für die Erstellung der neuesten Vorhersage verwendet werden.
  • In einigen Ausführungsformen ist die Anfrage für die Vorhersage keine erste Anfrage, und umfasst das Verfahren weiterhin: Bewerten einer Vorhersagegenauigkeit der Vorhersage anhand eingehender verarbeiteter historischer Produktdaten durch das Überwachungsmodul; und Anweisen des Maschinenlernmoduls durch das Überwachungsmodul, das Maschinenlernmodell auszuwählen, wenn die Vorhersagegenauigkeit unter einen Schwellenwert fällt, wobei das Auswählen des Maschinenlernmodells umfasst: Trainieren einer Vielzahl von Maschinenlernmodellen an einem ersten Abschnitt eines erweiterten Datensatzes, wobei der erweiterte Datensatz die eingehenden verarbeiteten historischen Produktdaten, die verarbeiteten historischen Produktdaten und die verarbeiteten historischen Standortdaten umfasst; Validieren des Maschinenlernmodells an einem zweiten Abschnitt des erweiterten Datensatzes; und erneutes Trainieren des Maschinenlernmodells an einer Gesamtsumme aus dem ersten Abschnitt und dem zweiten Abschnitt. In einigen Ausführungsformen basiert die Vorhersagegenauigkeit auf einem der folgenden Faktoren: einem mittleren absoluten prozentualen Fehler (MAPE), einem mittleren absoluten skalierten Fehler (MASE), einem mittleren absoluten Fehler (MAE) und einem gewichteten mittleren absoluten prozentualen Fehler (WMAPE).
  • In einigen Ausführungsformen ist die Anfrage für die Vorhersage keine erste Anfrage; wobei das Verfahren weiterhin umfasst: Auswerten eines Zeitintervalls zwischen einer jüngsten Vorhersage und der Anfrage durch das Überwachungsmodul; und Anweisen des Vorhersagemoduls durch das Überwachungsmodul, das zuvor ausgewählte Maschinenlernmodell erneut zu trainieren, wenn das Zeitintervall einen Schwellenwert überschreitet, wobei das erneute Trainieren das erneute Trainieren des zuvor ausgewählten Maschinenlernmodells an einem erweiterten Datensatz umfasst, der die verarbeiteten historischen Produktdaten, die verarbeiteten historischen Standortdaten und die während des Zeitintervalls gesammelten neuen verarbeiteten Daten umfasst. In einigen Ausführungsformen liegt der Schwellenwert zwischen 2 und 8 Monaten.
  • In einem weiteren Aspekt wird ein nicht flüchtiges computerlesbares Speichermedium angegeben, wobei das computerlesbare Speichermedium Befehle umfasst, die, wenn sie von einem Computer ausgeführt werden, den Computer dazu veranlassen: an einem Aufnahmemodul historische Daten, die einem Produkt zugeordnet sind, zu empfangen; durch das Aufnahmemodul historische Produktdaten zu verarbeiten; verarbeitete historische Produktdaten an eine Maschinenlern-Speichervorrichtung zu liefern; durch ein externes Datenmodul historische Standortdaten, die einem Standort zugeordnet sind, abzurufen; durch das externe Datenmodul die historischen Standortdaten zu verarbeiten; die verarbeiteten historischen Standortdaten für die Maschinenlern-Speichervorrichtung bereitzustellen; eine Anfrage für eine Vorhersage der Verkäufe des Produkts an dem Standort durch ein Überwachungsmodul zu empfangen; ein Vorhersageverfahren zum Erstellen der Vorhersage durch das Überwachungsmodul zu bestimmen; Anweisungen zur Ausführung des Vorhersageverfahrens an ein Vorhersagemodul durch das Überwachungsmodul zu übermitteln; durch das Vorhersagemodul auf die verarbeiteten historischen Produktdaten, die verarbeiteten historischen Standortdaten und ein oder mehrere Maschinenlernmodelle aus der Maschinenlern-Speichervorrichtung zuzugreifen; durch das Vorhersagemodul ein oder mehrere Merkmale, die den verarbeiteten historischen Produktdaten und/oder den verarbeiteten historischen Standortdaten zugeordnet sind, zu erstellen; durch das Vorhersagemodul das Vorhersageverfahren auszuführen; durch das Vorhersagemodul die Vorhersage auf der Grundlage des Vorhersageverfahrens bereitzustellen; und die Vorhersage in den Maschinenlernspeicher hochzuladen; wobei beim Ausführen des Vorhersageverfahrens die Anweisungen den Computer veranlassen, entweder i) ein Maschinenlernmodell auszuwählen, um die Vorhersage zu erstellen; oder ii) ein zuvor ausgewähltes Maschinenmodell erneut zu trainieren und das erneut trainierte Modell zu verwenden, um die Vorhersage zu erstellen; oder iii) die Vorhersage auf der Grundlage des zuvor ausgewählten Modells zu erstellen.
  • In einigen Ausführungsformen ist die Anfrage für die Vorhersage eine erste Anfrage; wählt das Vorhersagemodul das Maschinenlernmodell aus, um die Vorhersage zu machen; und veranlassen die Anweisungen den Computer, wenn sie von dem Computer ausgeführt werden: eine Vielzahl von Maschinenlernmodellen an einem ersten Abschnitt eines Datensatzes zu trainieren; das Maschinenlernmodell an einem zweiten Abschnitt des Datensatzes zu validieren; und das Maschinenlernmodell an einer Summe des ersten Abschnitts und des zweiten Abschnitts erneut zu trainieren, wobei der Datensatz eine Gesamtsumme der verarbeiteten historischen Produktdaten und der verarbeiteten historischen Standortdaten umfasst.
  • In einigen Ausführungsformen ist die Anfrage für die Vorhersage keine erste Anfrage; wurde seit einer letzten Vorhersage dem Maschinenlernspeicher eine neue Kategorie verarbeiteter Daten hinzugefügt, wobei die neue Kategorie verarbeiteter Daten eine neue Kategorie verarbeiteter historischer Produktdaten und/oder eine neue Kategorie verarbeiteter historischer Standortdaten umfasst; wählt das Vorhersagemodul das Maschinenlernmodell aus, um die Vorhersage zu erstellen; und veranlassen die Anweisungen, wenn sie von dem Computer ausgeführt werden, den Computer dazu: eine Vielzahl von Maschinenlernmodellen an einem ersten Abschnitt eines erweiterten Datensatzes zu trainieren, wobei der erweiterte Datensatz die neue Kategorie von verarbeiteten Daten, die verarbeiteten historischen Produktdaten und die verarbeiteten historischen Standortdaten umfasst; das Maschinenlernmodell an einem zweiten Abschnitt des erweiterten Datensatzes zu validieren; und das Maschinenlernmodell an einer Gesamtsumme des ersten Abschnitts und des zweiten Abschnitts erneut zu trainieren.
  • In einigen Ausführungsformen ist die Anfrage für die Vorhersage keine erste Anfrage; wurde eine zusätzliche Menge an verarbeiteten Daten seit einer letzten Vorhersage zu dem Maschinenlernspeicher hinzugefügt, wobei die zusätzliche Menge an verarbeiteten Daten neue verarbeitete historische Produktdaten und/oder neue verarbeitete historische Standortdaten umfasst; überschreitet die zusätzliche Menge an verarbeiteten Daten einen Schwellenwert; wählt das Vorhersagemodul das Maschinenlernmodell aus, um die Vorhersage zu erstellen; und veranlassen die Anweisungen, wenn sie von dem Computer ausgeführt werden, den Computer dazu: eine Vielzahl von Maschinenlernmodellen an einem ersten Abschnitt eines erweiterten Datensatzes zu trainieren, wobei der erweiterte Datensatz die zusätzliche Menge an verarbeiteten Daten, die verarbeiteten historischen Produktdaten und die verarbeiteten historischen Standortdaten umfasst; das Maschinenlernmodell an einem zweiten Abschnitt des erweiterten Datensatzes zu validieren; und das Maschinenlernmodell an einer Summe des ersten Abschnitts und des zweiten Abschnitts erneut zu trainieren. In einigen Ausführungsformen liegt der Schwellenwert bei wenigstens 15% bis 30% einer Menge verarbeiteter Daten, die von dem Vorhersagemodul für die Erstellung der neuesten Vorhersage verwendet werden.
  • In einigen Ausführungsformen ist die Anfrage für die Vorhersage keine erste Anfrage; und veranlassen die Anweisungen, wenn sie von dem Computer ausgeführt werden, den Computer weiterhin: durch das Überwachungsmodul eine Vorhersagegenauigkeit der Vorhersage anhand eingehender verarbeiteter historischer Produktdaten auszuwerten; und das Maschinenlernmodul durch das Überwachungsmodul anzuweisen, das Maschinenlernmodell auszuwählen, wenn die Vorhersagegenauigkeit unter einen Schwellenwert fällt; und veranlassen die Anweisungen, wenn sie von dem Computer ausgeführt werden, den Computer dazu: eine Vielzahl von Maschinenlernmodellen an einem ersten Abschnitt eines erweiterten Datensatzes zu trainieren, wobei der erweiterte Datensatz die eingehenden verarbeiteten historischen Produktdaten, die verarbeiteten historischen Produktdaten und die verarbeiteten historischen Standortdaten umfasst; das Maschinenlernmodell an einem zweiten Abschnitt des erweiterten Datensatzes zu validieren; und das Maschinenlernmodell an einer Gesamtsumme des ersten Abschnitts und des zweiten Abschnitts erneut zu trainieren. In einigen Ausführungsformen basiert die Vorhersagegenauigkeit auf einem der folgenden Faktoren: einem mittleren absoluten prozentualen Fehler (MAPE), einem mittleren absoluten skalierten Fehler (MASE), einem mittleren absoluten Fehler (MAE) und einem gewichteten mittleren absoluten prozentualen Fehler (WMAPE).
  • In einigen Ausführungsformen ist die Anfrage für die Vorhersage keine erste Anfrage; und veranlassen die Anweisungen, wenn sie von dem Computer ausgeführt werden, den Computer weiterhin: durch das Überwachungsmodul ein Zeitintervall zwischen einer jüngsten Vorhersage und der Anfrage auszuwerten; und das Vorhersagemodul durch das Überwachungsmodul anzuweisen, das zuvor ausgewählte Maschinenlernmodell erneut zu trainieren, wenn das Zeitintervall einen Schwellenwert überschreitet, wobei das erneute Trainieren das erneute Trainieren des zuvor ausgewählten Maschinenlernmodells an einem erweiterten Datensatz umfasst, der die verarbeiteten historischen Produktdaten, die verarbeiteten historischen Standortdaten und die während des Zeitintervalls gesammelten neuen verarbeiteten Daten umfasst. In einigen Ausführungsformen liegt der Schwellenwert zwischen 2 und 8 Monaten.
  • In einem weiteren Aspekt wird ein Computersystem angegeben, das umfasst: einen Prozessor; und einen Speicher, der Befehle speichert, die, wenn sie von dem Prozessor ausgeführt werden, das System dazu einrichten: an einem Aufnahmemodul historische Daten, die einem Produkt zugeordnet sind, zu empfangen; durch das Aufnahmemodul historische Produktdaten zu verarbeiten; verarbeitete historische Produktdaten an eine Maschinenlern-Speichervorrichtung zu liefern; durch ein externes Datenmodul historische Standortdaten mit dem Standort abzurufen; durch das externe Datenmodul die historischen Standortdaten zu verarbeiten; verarbeitete historische Standortdaten an die Maschinenlern-Speichervorrichtung zu liefern; durch ein Überwachungsmodul eine Anfrage für eine Vorhersage der Verkäufe des Produkts an dem Standort zu empfangen; durch das Überwachungsmodul ein Vorhersageverfahren zur Erstellung der Vorhersage zu bestimmen; durch das Überwachungsmodul einen Befehl zur Ausführung des Vorhersageverfahrens an ein Vorhersagemodul zu übermitteln; durch das Vorhersagemodul auf die verarbeiteten historischen Produktdaten, die verarbeiteten historischen Standortdaten und ein oder mehrere Maschinenlernmodelle aus der Maschinenlern-Speichervorrichtung zuzugreifen; durch das Vorhersagemodul ein oder mehrere Merkmale, die mit den verarbeiteten historischen Produktdaten und/oder den verarbeiteten historischen Standortdaten assoziiert sind, zu erstellen; durch das Vorhersagemodul die Vorhersage auf Basis des Vorhersageverfahrens bereitzustellen; und die Vorhersage in den Maschinenlernspeicher hochzuladen; wobei beim Ausführen des Vorhersageverfahrens die Anweisungen das System dazu einrichten entweder: i) ein Maschinenlernmodell auszuwählen, um die Vorhersage zu machen; oder ii) ein zuvor ausgewähltes Maschinenmodell erneut zu trainieren und das erneut trainierte Modell zu verwenden, um die Vorhersage zu machen; oder iii) die Vorhersage auf der Grundlage des zuvor ausgewählten Modells zu machen.
  • In einigen Ausführungsformen ist die Anfrage für die Vorhersage eine erste Anfrage; wählt das Vorhersagemodul das Maschinenlernmodell aus, um die Vorhersage zu machen; und richten die Anweisungen, wenn sie von dem Prozessor ausgeführt werden, das System dazu ein: eine Vielzahl von Maschinenlernmodellen an einem ersten Abschnitt eines Datensatzes zu trainieren; das Maschinenlernmodell an einem zweiten Abschnitt des Datensatzes zu validieren; und das Maschinenlernmodell an einer Summe des ersten Abschnitts und des zweiten Abschnitts erneut zu trainieren, wobei der Datensatz eine Gesamtsumme der verarbeiteten historischen Produktdaten und der verarbeiteten historischen Standortdaten umfasst.
  • In einigen Ausführungsformen ist die Anfrage für die Vorhersage keine erste Anfrage; wurde seit einer letzten Vorhersage dem Maschinenlernspeicher eine neue Kategorie verarbeiteter Daten hinzugefügt, wobei die neue Kategorie verarbeiteter Daten eine neue Kategorie verarbeiteter historischer Produktdaten und/oder eine neue Kategorie verarbeiteter historischer Standortdaten umfasst; wählt das Vorhersagemodul das Maschinenlernmodell zur Erstellung der Vorhersage aus; und richten die Anweisungen, wenn sie von dem Prozessor ausgeführt werden, das System dazu ein: eine Vielzahl von Maschinenlernmodellen an einem ersten Abschnitt eines erweiterten Datensatzes zu trainieren, wobei der erweiterte Datensatz die neue Kategorie von verarbeiteten Daten, die verarbeiteten historischen Produktdaten und die verarbeiteten historischen Standortdaten umfasst; das Maschinenlernmodell an einem zweiten Abschnitt des erweiterten Datensatzes zu validieren; und das Maschinenlernmodell an einer Gesamtsumme des ersten Abschnitts und des zweiten Abschnitts erneut zu trainieren.
  • In einigen Ausführungsformen ist die Anfrage für die Vorhersage keine erste Anfrage; wurde seit einer letzten Vorhersage eine zusätzliche Menge an verarbeiteten Daten zum Maschinenlernspeicher hinzugefügt, wobei die zusätzliche Menge an verarbeiteten Daten neue verarbeitete historische Produktdaten und neue verarbeitete historische Standortdaten umfasst; überschreitet die zusätzliche Menge an verarbeiteten Daten einen Schwellenwert; wählt das Vorhersagemodul das Maschinenlernmodell aus, um die Vorhersage zu erstellen; und richten die Anweisungen, wenn sie von dem Prozessor ausgeführt werden, das System dazu ein: eine Vielzahl von Maschinenlernmodellen an einem ersten Abschnitt eines erweiterten Datensatzes zu trainieren, wobei der erweiterte Datensatz die zusätzliche Menge an verarbeiteten Daten, die verarbeiteten historischen Produktdaten und die verarbeiteten historischen Standortdaten umfasst; das Maschinenlernmodell an einem zweiten Abschnitt des erweiterten Datensatzes zu validieren; und das Maschinenlernmodell an einer Summe des ersten Abschnitts und des zweiten Abschnitts erneut zu trainieren. In einigen Ausführungsformen liegt der Schwellenwert bei wenigstens 15% bis 30% einer Menge verarbeiteter Daten, die von dem Vorhersagemodul für die Erstellung der neuesten Vorhersage verwendet werden.
  • In einigen Ausführungsformen ist die Anfrage für die Vorhersage keine erste Anfrage; und richten die Anweisungen, wenn sie von dem Prozessor ausgeführt werden, das System weiterhin dazu ein: durch das Überwachungsmodul eine Vorhersagegenauigkeit der Vorhersage anhand eingehender verarbeiteter historischer Produktdaten zu bewerten; das Maschinenlernmodul durch das Überwachungsmodul anzuweisen, das Maschinenlernmodell auszuwählen, wenn die Vorhersagegenauigkeit unter einen Schwellenwert fällt; und richten die Anweisungen, wenn sie von dem Prozessor ausgeführt werden, das System dazu ein: eine Vielzahl von Maschinenlernmodellen an einem ersten Abschnitt eines erweiterten Datensatzes zu trainieren, wobei der erweiterte Datensatz die eingehenden verarbeiteten historischen Produktdaten, die verarbeiteten historischen Produktdaten und die verarbeiteten historischen Standortdaten umfasst; das Maschinenlernmodell an einem zweiten Abschnitt des erweiterten Datensatzes zu validieren; und das Maschinenlernmodell an einer Gesamtsumme des ersten Abschnitts und des zweiten Abschnitts erneut zu trainieren. In einigen Ausführungsformen basiert die Vorhersagegenauigkeit auf einem der folgenden Faktoren: einem mittleren absoluten prozentualen Fehler (MAPE), einem mittleren absoluten skalierten Fehler (MASE), einem mittleren absoluten Fehler (MAE) und einem gewichteten mittleren absoluten prozentualen Fehler (WMAPE).
  • In einigen Ausführungsformen ist die Anfrage für die Vorhersage keine erste Anfrage; und umfasst das Verfahren weiterhin: Auswerten eines Zeitintervalls zwischen einer jüngsten Vorhersage und der Anfrage durch das Überwachungsmodul; und Anweisen des Vorhersagemoduls durch das Überwachungsmodul, das zuvor ausgewählte Maschinenlernmodell erneut zu trainieren, wenn das Zeitintervall einen Schwellenwert überschreitet, wobei das erneute Trainieren das erneute Trainieren des zuvor ausgewählten Maschinenlernmodells an einem erweiterten Datensatz umfasst, der die verarbeiteten historischen Produktdaten, die verarbeiteten historischen Standortdaten und die während des Zeitintervalls gesammelten neuen verarbeiteten Daten umfasst. In einigen Ausführungsformen liegt der Schwellenwert zwischen 2 und 8 Monaten.
  • In einem weiteren Aspekt wird ein computerimplementiertes Verfahren für das Feature-Engineering angegeben, wobei das Verfahren folgende Schritte umfasst: Empfangen eines oder mehrerer interner Signale durch ein Aufnahmemodul; Empfangen eines oder mehrerer externer Signale durch das Aufnahmemodul; Verschmelzen von Daten aus dem einen oder den mehreren internen Signalen und dem einen oder den mehreren externen Signalen, wobei das Verschmelzen auf Metadaten jedes des einen oder der mehreren internen Signale und jedes des einen oder der mehreren externen Signale basiert; und Erzeugen einer Vielzahl von Merkmalen auf der Grundlage einer oder mehrerer gültiger Kombinationen, die mit einer Umwandlungseingabe übereinstimmen, wobei die Umwandlung Teil einer Bibliothek von Umwandlungen ist.
  • In einigen Ausführungsformen umfasst das computerimplementierte Verfahren weiterhin: Auswählen eines oder mehrerer Merkmale aus der Vielzahl von Merkmalen auf der Grundlage einer Vorhersagekraft jedes Merkmals, um einen Satz ausgewählter Merkmale bereitzustellen. In einigen Ausführungsformen wird der Satz ausgewählter Merkmale verwendet, um ein oder mehrere Maschinenlernmodelle zu trainieren.
  • In einigen Ausführungsformen des computerimplementierten Verfahrens ist das externe Signal ein Wettersignal und/oder ein Finanzsignal. In einigen Ausführungsformen kann wenigstens eines der internen und externen Signale einen Bereich umfassen; wobei das wenigstens eine der internen und externen Signale so erweitert werden kann, dass es ein oder mehrere einzelne Felder des Bereichs umfasst.
  • In einem weiteren Aspekt wird ein Computergerät angegeben, wobei das Computergerät umfasst: einen Prozessor; und einen Speicher, in dem Befehle gespeichert sind, die, wenn sie von dem Prozessor ausgeführt werden, das Gerät dazu einrichten: durch ein Aufnahmemodul ein oder mehrere interne Signale zu empfangen; durch das Aufnahmemodul ein oder mehrere externe Signale zu empfangen; Daten von dem einen oder den mehreren internen Signalen und dem einen oder den mehreren externen Signalen zu verschmelzen, wobei die Verschmelzung auf Metadaten jedes des einen oder der mehreren internen Signale und jedes des einen oder der mehreren externen Signale basiert; und eine Vielzahl von Merkmalen basierend auf einer oder mehreren gültigen Kombinationen zu erzeugen, die mit einer Umwandlungseingabe übereinstimmen, wobei die Umwandlung Teil einer Umwandlungsbibliothek ist.
  • In einigen Ausführungsformen des Computergerätes wird das Gerät durch die Anweisungen weiterhin dazu eingerichtet: ein oder mehrere Merkmale aus der Vielzahl von Merkmalen basierend auf einer Vorhersagekraft jedes Merkmals auszuwählen, um einen Satz ausgewählter Merkmale bereitzustellen. In einigen Ausführungsformen richten die Anweisungen das Gerät weiterhin dazu ein: den Satz ausgewählter Merkmale zu verwenden, um ein oder mehrere Maschinenlernmodelle zu trainieren.
  • In einigen Ausführungsformen des Computergerätes ist das externe Signal ein Wettersignal und/oder ein Finanzsignal. In einigen Ausführungsformen kann wenigstens eines der internen Signale und der externen Signale einen Bereich umfassen; und das wenigstens eine der internen Signale und der externen Signale kann so erweitert werden, dass es ein oder mehrere einzelne Felder des Bereichs umfasst.
  • In einem weiteren Aspekt wird ein nicht flüchtiges computerlesbares Speichermedium angegeben, wobei das computerlesbare Speichermedium Befehle umfasst, die, wenn sie von einem Computer ausgeführt werden, den Computer dazu veranlassen: durch ein Aufnahmemodul ein oder mehrere interne Signale zu empfangen; durch das Aufnahmemodul ein oder mehrere externe Signale zu empfangen; Daten aus dem einen oder den mehreren internen Signalen und dem einen oder den mehreren externen Signalen zu verschmelzen, wobei die Verschmelzung auf Metadaten jedes des einen oder der mehreren internen Signale und jedes des einen oder der mehreren externen Signale basiert; und eine Vielzahl von Merkmalen auf der Grundlage einer oder mehrerer gültiger Kombinationen zu erzeugen, die mit einer Umwandlungseingabe übereinstimmen, wobei die Umwandlung Teil einer Umwandlungsbibliothek ist.
  • In einigen Ausführungsformen des computerlesbaren Speichermediums wird der Computer durch die Anweisungen weiterhin dazu eingerichtet: ein oder mehrere Merkmale aus der Vielzahl von Merkmalen basierend auf einer Vorhersagekraft jedes Merkmals auszuwählen, um einen Satz ausgewählter Merkmale bereitzustellen. In einigen Ausführungsformen richten die Anweisungen das Gerät weiterhin dazu ein: den Satz ausgewählter Merkmale zu verwenden, um ein oder mehrere Maschinenlernmodelle zu trainieren.
  • In einigen Ausführungsformen des computerlesbaren Speichermediums ist das externe Signal ein Wettersignal und/oder ein Finanzsignal. In einigen Ausführungsformen kann wenigstens eines der internen und externen Signale einen Bereich umfassen; und das wenigstens eine der internen und externen Signale kann so erweitert werden, dass es ein oder mehrere einzelne Felder des Bereichs umfasst.
  • In einem weiteren Aspekt wird ein computerimplementiertes Verfahren zum Vorhersagen der Verkäufe eines Produkts an einem Standort angegeben, wobei das Verfahren die folgenden Schritte umfasst: Empfangen historischer Daten, die mit dem Produkt assoziiert sind, in einem Aufnahmemodul; Verarbeiten historischer Produktdaten durch das Aufnahmemodul; Bereitstellen verarbeiteter historischer Produktdaten für eine Maschinenlern-Speichervorrichtung; Abrufen historischer Standortdaten, die mit dem Standort verbunden sind, durch ein externes Datenmodul; Verarbeiten der historischen Standortdaten durch das externe Datenmodul; Bereitstellen verarbeiteter historischer Standortdaten für die Maschinenlern-Speichervorrichtung; Empfangen einer Anfrage für eine Vorhersage der Verkäufe des Produkts an dem Standort durch ein Überwachungsmodul; Bestimmen eines Vorhersageverfahrens zur Erstellung der Vorhersage durch das Überwachungsmodul; Übermitteln von Anweisungen für Ausführung des Vorhersageverfahrens an ein Vorhersagemodul durch das Überwachungsmodul; Zugreifen auf die verarbeiteten historischen Produktdaten, die verarbeiteten historischen Standortdaten und ein oder mehrere Maschinenlernmodelle von der Maschinenlern-Speichervorrichtung durch das Vorhersagemodul; Entwickeln eines oder mehrerer Merkmale, die den verarbeiteten historischen Produktdaten und/oder den verarbeiteten historischen Standortdaten zugeordnet sind, durch das Vorhersagemodul; Bereitstellen der Vorhersage auf der Grundlage des Vorhersageverfahrens durch das Vorhersagemodul; und Hochladen der Vorhersage in den Maschinenlernspeicher; wobei das Entwickeln eines oder mehrerer Merkmale umfasst: Empfangen eines oder mehrerer interner Signale durch das Aufnahmemodul; Empfangen eines oder mehrerer externer Signale durch das Aufnahmemodul; Verschmelzen von Daten von dem einen oder den mehreren internen Signalen und dem einen oder den mehreren externen Signalen, wobei die Verschmelzung auf Metadaten von jedem des einen oder der mehreren internen Signale und jedem des einen oder der mehreren externen Signale basiert; Erzeugen einer Vielzahl von Merkmalen auf der Grundlage einer oder mehrerer gültiger Kombinationen, die mit einer Umwandlungseingabe übereinstimmen, wobei die Umwandlung Teil einer Bibliothek von Umwandlungen ist; Auswählen eines oder mehrerer Merkmale aus der Vielzahl von Merkmalen auf der Grundlage einer Vorhersagekraft jedes Merkmals, um einen Satz ausgewählter Merkmale bereitzustellen; und Verwenden des Satzes ausgewählter Merkmale, um das eine oder die mehreren Maschinenlernmodelle zu trainieren; wobei: das Vorhersageverfahren umfasst: in Echtzeit entweder: i) Auswählen eines Maschinenlernmodells aus dem einen oder den mehreren Maschinenlernmodellen, um die Vorhersage zu erstellen; oder ii) erneutes Trainieren eines zuvor ausgewählten Maschinenlernmodells aus dem einen oder den mehreren Maschinenlernmodellen und Verwenden des erneut trainierten Modells, um die Vorhersage zu erstellen; oder iii) Erstellen der Vorhersage auf der Grundlage des zuvor ausgewählten Modells.
  • In einigen Ausführungsformen des computerimplementierten Verfahrens ist die Anfrage für die Vorhersage eine erste Anfrage und wählt das Vorhersagemodul das Maschinenlernmodell aus, um die Vorhersage zu machen, wobei das Auswählen umfasst: Trainieren des einen oder der mehreren Maschinenlernmodelle an einem ersten Abschnitt eines Datensatzes; Validieren des Maschinenlernmodells an einem zweiten Abschnitt des Datensatzes; und erneutes Trainieren des Maschinenlernmodells an einer Summe des ersten Abschnitts und des zweiten Abschnitts, wobei der Datensatz eine Gesamtsumme der verarbeiteten historischen Produktdaten und der verarbeiteten historischen Standortdaten umfasst.
  • In einigen Ausführungsformen des computerimplementierten Verfahrens ist die Anfrage für die Vorhersage keine erste Anfrage; wurde seit einer letzten Vorhersage dem Maschinenlernspeicher eine neue Kategorie verarbeiteter Daten hinzugefügt, wobei die neue Kategorie verarbeiteter Daten eine neue Kategorie verarbeiteter historischer Produktdaten und/oder eine neue Kategorie verarbeiteter historischer Standortdaten umfasst; und wählt das Vorhersagemodul das Maschinenlernmodell aus, um die Vorhersage zu erstellen, wobei das Auswählen des Maschinenlernmodells umfasst: Trainieren der Vielzahl von Maschinenlernmodellen an einem ersten Abschnitt eines erweiterten Datensatzes, wobei der erweiterte Datensatz die neue Kategorie von verarbeiteten Daten, die verarbeiteten historischen Produktdaten und die verarbeiteten historischen Standortdaten umfasst; Validieren des Maschinenlernmodells an einem zweiten Abschnitt des erweiterten Datensatzes; und erneutes Trainieren des Maschinenlernmodells an einer Gesamtsumme aus dem ersten Abschnitt und dem zweiten Abschnitt.
  • In einigen Ausführungsformen des computerimplementierten Verfahrens ist die Anfrage für die Vorhersage keine erste Anfrage; wurde seit einer letzten Vorhersage eine zusätzliche Menge an verarbeiteten Daten zu dem Maschinenlernspeicher hinzugefügt, wobei die zusätzliche Menge an verarbeiteten Daten neue verarbeitete historische Produktdaten und neue verarbeitete historische Standortdaten umfasst; die zusätzliche Menge an verarbeiteten Daten einen Schwellenwert überschreitet; und das Vorhersagemodul das Maschinenlernmodell auswählt, um die Vorhersage zu erstellen; wobei das Auswählen des Maschinenlernmodells umfasst: Trainieren einer Vielzahl von Maschinenlernmodellen an einem ersten Abschnitt eines erweiterten Datensatzes, wobei der erweiterte Datensatz die zusätzliche Menge an verarbeiteten Daten, die verarbeiteten historischen Produktdaten und die verarbeiteten historischen Standortdaten umfasst; Validieren des Maschinenlernmodells an einem zweiten Abschnitt des erweiterten Datensatzes; und erneutes Trainieren des Maschinenlernmodells an einer Summe aus dem ersten Abschnitt und dem zweiten Abschnitt. In einigen Ausführungsformen liegt die Anfrage für die Vorhersage des Schwellenwerts bei wenigstens 15% bis 30% einer Menge verarbeiteter Daten, die von dem Vorhersagemodul für die Erstellung der neuesten Vorhersage verwendet werden.
  • In einigen Ausführungsformen des computerimplementierten Verfahrens ist die Anfrage für die Vorhersage keine erste Anfrage, und umfasst das Verfahren weiterhin: Bewerten einer Vorhersagegenauigkeit der Vorhersage anhand eingehender verarbeiteter historischer Produktdaten durch das Überwachungsmodul; und Anweisen des Maschinenlernmoduls durch das Überwachungsmodul, das Maschinenlernmodell auszuwählen, wenn die Vorhersagegenauigkeit unter einen Schwellenwert fällt, wobei das Auswählen des Maschinenlernmodells umfasst: Trainieren einer Vielzahl von Maschinenlernmodellen an einem ersten Abschnitt eines erweiterten Datensatzes, wobei der erweiterte Datensatz die eingehenden verarbeiteten historischen Produktdaten, die verarbeiteten historischen Produktdaten und die verarbeiteten historischen Standortdaten umfasst; Validieren des Maschinenlernmodells an einem zweiten Abschnitt des erweiterten Datensatzes; und erneutes Trainieren des Maschinenlernmodells an einer Gesamtsumme aus dem ersten Abschnitt und dem zweiten Abschnitt. In einigen Ausführungsformen basiert die Vorhersagegenauigkeit auf einem der folgenden Faktoren: einem mittleren absoluten prozentualen Fehler (MAPE), einem mittleren absoluten skalierten Fehler (MASE), einem mittleren absoluten Fehler (MAE) und einem gewichteten mittleren absoluten prozentualen Fehler (WMAPE).
  • In einigen Ausführungsformen des computerimplementierten Verfahrens ist die Anfrage für die Vorhersage keine erste Anfrage und umfasst das Verfahren weiterhin: Bewerten eines Zeitintervalls zwischen einer jüngsten Vorhersage und der Anfrage durch das Überwachungsmodul; und Anweisen des Vorhersagemoduls durch das Überwachungsmodul, das zuvor ausgewählte Maschinenlernmodell erneut zu trainieren, wenn das Zeitintervall einen Schwellenwert überschreitet, wobei das erneute Trainieren das erneute Trainieren des zuvor ausgewählten Maschinenlernmodells an einem erweiterten Datensatz umfasst, der die verarbeiteten historischen Produktdaten, die verarbeiteten historischen Standortdaten und neue verarbeitete Daten umfasst, die während des Zeitintervalls gesammelt wurden. In einigen Ausführungsformen liegt der Schwellenwert zwischen 2 und 8 Monaten.
  • In einem weiteren Aspekt wird ein nicht flüchtiges computerlesbares Speichermedium angegeben, wobei das computerlesbare Speichermedium Befehle umfasst, die, wenn sie von einem Computer ausgeführt werden, den Computer dazu veranlassen: an einem Aufnahmemodul historische Daten, die mit dem Produkt verbunden sind, zu empfangen; durch das Aufnahmemodul historische Produktdaten zu verarbeiten; verarbeitete historische Produktdaten an eine Maschinenlern-Speichervorrichtung zu liefern; durch ein externes Datenmodul historische Standortdaten, die mit dem Standort verbunden sind, abzurufen; durch das externe Datenmodul die historischen Standortdaten zu verarbeiten; verarbeitete historische Standortdaten an die Maschinenlern-Speichervorrichtung zu liefern; durch ein Überwachungsmodul eine Anfrage für eine Vorhersage der Verkäufe des Produkts an dem Standort zu empfangen; durch das Überwachungsmodul ein Vorhersageverfahren zur Erstellung der Vorhersage zu bestimmen; durch das Überwachungsmodul an ein Vorhersagemodul Anweisungen zur Ausführung des Vorhersageverfahrens zu übermitteln; durch das Vorhersagemodul auf die verarbeiteten historischen Produktdaten, die verarbeiteten historischen Standortdaten und ein oder mehrere Maschinenlernmodelle von der Maschinenlernspeichervorrichtung zuzugreifen; durch das Vorhersagemodul ein oder mehrere Merkmale, die mit den verarbeiteten historischen Produktdaten und/oder den verarbeiteten historischen Standortdaten verknüpft sind, zu entwickeln; durch das Vorhersagemodul die Vorhersage auf der Grundlage des Vorhersageverfahrens bereitzustellen; und die Vorhersage in den Maschinenlernspeicher hochzuladen; wobei: zum Entwickeln eines oder mehrerer Merkmale die Anweisungen, die, wenn sie von einem Computer ausgeführt werden, den Computer dazu veranlassen: durch das Aufnahmemodul ein oder mehrere interne Signale zu empfangen; durch das Aufnahmemodul ein oder mehrere externe Signale zu empfangen; Daten von dem einen oder den mehreren internen Signalen und dem einen oder den mehreren externen Signalen zu verschmelzen, wobei die Verschmelzung auf Metadaten von jedem des einen oder der mehreren internen Signale und jedem des einen oder der mehreren externen Signale basiert; eine Vielzahl von Merkmalen auf der Grundlage einer oder mehrerer gültiger Kombinationen zu erzeugen, die mit einer Umwandlungseingabe übereinstimmen, wobei die Umwandlung Teil einer Bibliothek von Umwandlungen ist; ein oder mehrerer Merkmale aus der Vielzahl von Merkmalen auf der Grundlage einer Vorhersagekraft jedes Merkmals auszuwählen, um einen Satz ausgewählter Merkmale bereitzustellen; und den Satz ausgewählter Merkmale zu verwenden, um das eine oder die mehreren Maschinenlernmodelle zu trainieren; wobei: das Vorhersageverfahren in Echtzeit entweder: i) Auswählen eines Maschinenlernmodells aus dem einen oder den mehreren Maschinenlernmodellen, um die Vorhersage zu erstellen; oder ii) erneutes Trainieren eines zuvor ausgewählten Maschinenlernmodells aus dem einen oder den mehreren Maschinenlernmodellen und Verwenden des erneut trainierten Modells, um die Vorhersage zu erstellen; oder iii) Erstellen der Vorhersage auf der Grundlage des zuvor ausgewählten Modells umfasst.
  • In einigen Ausführungsformen des nicht flüchtigen computerlesbaren Speichermediums ist die Anfrage für die Vorhersage eine erste Anfrage; wählt das Vorhersagemodul das Maschinenlernmodell aus, um die Vorhersage zu erstellen; und veranlassen die Anweisungen den Computer, wenn sie von dem Computer ausgeführt werden: eine Vielzahl von Maschinenlernmodellen an einem ersten Abschnitt eines Datensatzes zu trainieren; das Maschinenlernmodell an einem zweiten Abschnitt des Datensatzes zu validieren; und das Maschinenlernmodell an einer Summe aus dem ersten Abschnitt und dem zweiten Abschnitt erneut zu trainieren, wobei der Datensatz eine Gesamtsumme der verarbeiteten historischen Produktdaten und der verarbeiteten historischen Standortdaten umfasst.
  • In einigen Ausführungsformen des nicht flüchtigen computerlesbaren Speichermediums ist die Anfrage für die Vorhersage keine erste Anfrage; wurde eine neue Kategorie verarbeiteter Daten dem Maschinenlernspeicher seit einer letzten Vorhersage hinzugefügt, wobei die neue Kategorie verarbeiteter Daten eine neue Kategorie verarbeiteter historischer Produktdaten und/oder eine neue Kategorie verarbeiteter historischer Standortdaten umfasst; wählt das Vorhersagemodul das Maschinenlernmodell zur Erstellung der Vorhersage aus; und veranlassen die Anweisungen, wenn sie von dem Computer ausgeführt werden, den Computer: eine Vielzahl von Maschinenlernmodellen an einem ersten Abschnitt eines erweiterten Datensatzes zu trainieren, wobei der erweiterte Datensatz die neue Kategorie von verarbeiteten Daten, die verarbeiteten historischen Produktdaten und die verarbeiteten historischen Standortdaten umfasst; das Maschinenlernmodell an einem zweiten Abschnitt des erweiterten Datensatzes zu validieren; und das Maschinenlernmodell an einer Gesamtsumme aus dem ersten Abschnitt und dem zweiten Abschnitt erneut zu trainieren.
  • In einigen Ausführungsformen des nicht flüchtigen computerlesbaren Speichermediums ist die Anfrage für die Vorhersage keine erste Anfrage; wurde seit einer letzten Vorhersage eine zusätzliche Menge verarbeiteter Daten zu dem Maschinenlernspeicher hinzugefügt, wobei die zusätzliche Menge verarbeiteter Daten neue verarbeitete historische Produktdaten und/oder neue verarbeitete historische Standortdaten umfasst; überschreitet die zusätzliche Menge verarbeiteter Daten einen Schwellenwert; wählt das Vorhersagemodul das Maschinenlernmodell aus, um die Vorhersage zu erstellen; und veranlassen die Anweisungen den Computer, wenn sie von dem Computer ausgeführt werden: eine Vielzahl von Maschinenlernmodellen auf einem ersten Abschnitt eines erweiterten Datensatzes zu trainieren, wobei der erweiterte Datensatz die zusätzliche Menge an verarbeiteten Daten, die verarbeiteten historischen Produktdaten und die verarbeiteten historischen Standortdaten umfasst; das Maschinenlernmodell an einem zweiten Abschnitt des erweiterten Datensatzes zu validieren; und das Maschinenlernmodell an einer Summe des ersten Abschnitts und des zweiten Abschnitts erneut zu trainieren. In einigen Ausführungsformen liegt der Schwellenwert bei wenigstens 15% bis 30% einer Menge verarbeiteter Daten, die von dem Vorhersagemodul für die Erstellung der neuesten Vorhersage verwendet werden.
  • In einigen Ausführungsformen des nicht flüchtigen computerlesbaren Speichermediums ist die Anfrage der Vorhersage keine erste Anfrage; und richten die Anweisungen, wenn sie von dem Computer ausgeführt werden den Computer weiterhin dazu ein: durch das Überwachungsmodul eine Vorhersagegenauigkeit der Vorhersage anhand eingehender verarbeiteter historischer Produktdaten zu bewerten; und das Maschinenlernmodul durch das Überwachungsmodul anzuweisen, das Maschinenlernmodell auszuwählen, wenn die Vorhersagegenauigkeit unter einen Schwellenwert fällt; wobei die von dem Computer ausgeführten Anweisungen den Computer veranlassen: eine Vielzahl von Maschinenlernmodellen an einem ersten Abschnitt eines erweiterten Datensatzes zu trainieren, wobei der erweiterte Datensatz die eingehenden verarbeiteten historischen Produktdaten, die verarbeiteten historischen Produktdaten und die verarbeiteten historischen Standortdaten umfasst; das Maschinenlernmodell an einem zweiten Abschnitt des erweiterten Datensatzes zu validieren; und das Maschinenlernmodell an einer Gesamtsumme des ersten Abschnitts und des zweiten Abschnitts erneut zu trainieren. In einigen Ausführungsformen basiert die Vorhersagegenauigkeit auf einem der folgenden Faktoren: einem mittleren absoluten prozentualen Fehler (MAPE), einem mittleren absoluten skalierten Fehler (MASE), einem mittleren absoluten Fehler (MAE) und einem gewichteten mittleren absoluten prozentualen Fehler (WMAPE).
  • In einigen Ausführungsformen des nicht flüchtigen computerlesbaren Speichermediums ist die Anfrage für die Vorhersage keine erste Anfrage; und veranlassen die Anweisungen, wenn sie von dem Computer ausgeführt werden, den Computer weiterhin: durch das Überwachungsmodul ein Zeitintervall zwischen einer jüngsten Vorhersage und der Anfrage auszuwerten; und das Vorhersagemodul durch das Überwachungsmodul anzuweisen, das zuvor ausgewählte Maschinenlernmodell erneut zu trainieren, wenn das Zeitintervall einen Schwellenwert überschreitet, wobei das erneute Trainieren das erneute Trainieren des zuvor ausgewählten Maschinenlernmodells auf einem erweiterten Datensatz umfasst, der die verarbeiteten historischen Produktdaten, die verarbeiteten historischen Standortdaten und die während des Zeitintervalls gesammelten neuen verarbeiteten Daten umfasst. In einigen Ausführungsformen liegt der Schwellenwert zwischen 2 und 8 Monaten.
  • In einem weiteren Aspekt wird ein Computersystem angegeben, das umfasst: einen Prozessor; und einen Speicher, in dem Befehle gespeichert werden, die bei Ausführung durch den Prozessor das System dazu einrichten: an einem Aufnahmemodul historische Daten, die mit dem Produkt verbunden sind, zu empfangen; durch das Aufnahmemodul historische Produktdaten zu verarbeiten; verarbeitete historische Produktdaten an eine Maschinenlern-Speichervorrichtung zu liefern; durch ein externes Datenmodul historische Standortdaten, die mit dem Standort verbunden sind, abzurufen; durch das externe Datenmodul die historischen Standortdaten zu verarbeiten; verarbeitete historische Standortdaten an die Maschinenlern-Speichervorrichtung zu liefern; durch ein Überwachungsmodul eine Anfrage für eine Vorhersage der Verkäufe des Produkts an dem Standort zu empfangen; durch das Überwachungsmodul ein Vorhersageverfahren zur Erstellung der Vorhersage zu bestimmen; durch das Überwachungsmodul an ein Vorhersagemodul Anweisungen zur Ausführung des Vorhersageverfahrens zu übermitteln; durch das Vorhersagemodul auf die verarbeiteten historischen Produktdaten, die verarbeiteten historischen Standortdaten und ein oder mehrere Maschinenlernmodelle aus der Maschinenlern-Speichervorrichtung zuzugreifen; durch das Vorhersagemodul ein oder mehrere Merkmale, die mit den verarbeiteten historischen Produktdaten und/oder den verarbeiteten historischen Standortdaten verknüpft sind, zu entwickeln; durch das Vorhersagemodul die Vorhersage auf der Grundlage des Vorhersageverfahrens bereitzustellen; und die Vorhersage in den Maschinenlernspeicher hochzuladen; wobei: zum Entwickeln eines oder mehrerer Merkmale die Anweisungen, die, wenn sie von dem Prozessor ausgeführt werden, das System dazu einrichten, durch das Aufnahmemodul ein oder mehrere interne Signale zu empfangen; durch das Aufnahmemodul ein oder mehrere externe Signale zu empfangen; Daten von dem einen oder den mehreren internen Signalen und dem einen oder den mehreren externen Signalen zu verschmelzen, wobei die Verschmelzung auf Metadaten von jedem von dem einen oder den mehreren internen Signalen und jedem von dem einen oder den mehreren externen Signalen basiert; eine Vielzahl von Merkmalen auf der Grundlage einer oder mehrerer gültiger Kombinationen zu erzeugen, die mit einer Umwandlungseingabe übereinstimmen, wobei die Umwandlung Teil einer Bibliothek von Umwandlungen ist; ein oder mehrere Merkmale aus der Vielzahl von Merkmalen auf der Grundlage einer Vorhersagekraft jedes Merkmals auszuwählen, um einen Satz ausgewählter Merkmale bereitzustellen; und den Satz ausgewählter Merkmale zu verwenden, um das eine oder die mehreren Maschinenlernmodelle zu trainieren; wobei: das Vorhersageverfahren in Echtzeit entweder: i) Auswählen eines Maschinenlernmodells aus dem einen oder den mehreren Maschinenlernmodellen, um die Vorhersage zu erstellen; oder ii) das erneute Trainieren eines zuvor ausgewählten Maschinenlernmodells aus dem einen oder den mehreren Maschinenlernmodellen und Verwenden des erneut trainierten Modells, um die Vorhersage zu erstellen; oder iii) Erstellen der Vorhersage auf der Grundlage des zuvor ausgewählten Modells umfasst.
  • In einigen Ausführungsformen des Computersystems ist die Anfrage für die Vorhersage eine erste Anfrage; wählt das Vorhersagemodul das Maschinenlernmodell aus, um die Vorhersage zu machen; und richten die Anweisungen, wenn sie von dem Prozessor ausgeführt werden, das System dazu ein: eine Vielzahl von Maschinenlernmodellen an einem ersten Abschnitt eines Datensatzes zu trainieren; das Maschinenlernmodell an einem zweiten Abschnitt des Datensatzes zu validieren; und das Maschinenlernmodell an einer Summe aus dem ersten Abschnitt und dem zweiten Abschnitt erneut zu trainieren, wobei der Datensatz eine Gesamtsumme der verarbeiteten historischen Produktdaten und der verarbeiteten historischen Standortdaten umfasst.
  • In einigen Ausführungsformen des Computersystems ist die Anfrage für die Vorhersage keine erste Anfrage; wurde seit einer letzten Vorhersage dem Maschinenlernspeicher eine neue Kategorie verarbeiteter Daten hinzugefügt, wobei die neue Kategorie verarbeiteter Daten wenigstens eine neue Kategorie verarbeiteter historischer Produktdaten und eine neue Kategorie verarbeiteter historischer Standortdaten umfasst; wählt das Vorhersagemodul das Maschinenlernmodell zur Erstellung der Vorhersage aus; und richten die Anweisungen, wenn sie von dem Prozessor ausgeführt werden, das System dazu ein: eine Vielzahl von Maschinenlernmodellen an einem ersten Abschnitt eines erweiterten Datensatzes zu trainieren, wobei der erweiterte Datensatz die neue Kategorie von verarbeiteten Daten, die verarbeiteten historischen Produktdaten und die verarbeiteten historischen Standortdaten umfasst; das Maschinenlernmodell an einem zweiten Abschnitt des erweiterten Datensatzes zu validieren; und das Maschinenlernmodell an einer Gesamtsumme des ersten Abschnitts und des zweiten Abschnitts erneut zu trainieren.
  • In einigen Ausführungsformen des Computersystems ist die Anfrage für die Vorhersage keine erste Anfrage; wurde seit einer letzten Vorhersage eine zusätzliche Menge verarbeiteter Daten zu dem Maschinenlernspeicher hinzugefügt, wobei die zusätzliche Menge verarbeiteter Daten neue verarbeitete historische Produktdaten und/oder neue verarbeitete historische Standortdaten umfasst; überschreitet die zusätzliche Menge verarbeiteter Daten einen Schwellenwert; wählt das Vorhersagemodul das Maschinenlernmodell aus, um die Vorhersage zu erstellen; und richten die Anweisungen, wenn sie von dem Prozessor ausgeführt werden, das System dazu ein: eine Vielzahl von Maschinenlernmodellen an einem ersten Abschnitt eines erweiterten Datensatzes zu trainieren, wobei der erweiterte Datensatz die zusätzliche Menge an verarbeiteten Daten, die verarbeiteten historischen Produktdaten und die verarbeiteten historischen Standortdaten umfasst; das Maschinenlernmodell an einem zweiten Abschnitt des erweiterten Datensatzes zu validieren; und das Maschinenlernmodell an einer Summe des ersten Abschnitts und des zweiten Abschnitts erneut zu trainieren. In einigen Ausführungsformen liegt der Schwellenwert bei wenigstens 15% bis 30% einer Menge verarbeiteter Daten, die von dem Vorhersagemodul für die Erstellung der neuesten Vorhersage verwendet werden.
  • In einigen Ausführungsformen des Computersystems ist die Anfrage für die Vorhersage keine erste Anfrage; und richten die Anweisungen, wenn sie von dem Prozessor ausgeführt werden, das System weiterhin dazu ein: durch das Überwachungsmodul eine Vorhersagegenauigkeit der Vorhersage anhand eingehender verarbeiteter historischer Produktdaten zu bewerten; das Maschinenlernmodul durch das Überwachungsmodul anzuweisen, das Maschinenlernmodell auszuwählen, wenn die Vorhersagegenauigkeit unter einen Schwellenwert fällt; und richten die Anweisungen, wenn sie von dem Prozessor ausgeführt werden, das System dazu ein: eine Vielzahl von Maschinenlernmodellen an einem ersten Abschnitt eines erweiterten Datensatzes zu trainieren, wobei der erweiterte Datensatz die eingehenden verarbeiteten historischen Produktdaten, die verarbeiteten historischen Produktdaten und die verarbeiteten historischen Standortdaten umfasst; das Maschinenlernmodell an einem zweiten Abschnitt des erweiterten Datensatzes zu validieren; und das Maschinenlernmodell an einer Gesamtsumme des ersten Abschnitts und des zweiten Abschnitts erneut zu trainieren. In einigen Ausführungsformen basiert die Vorhersagegenauigkeit auf einem der folgenden Faktoren: einem mittleren absoluten prozentualen Fehler (MAPE), einem mittleren absoluten skalierten Fehler (MASE), einem mittleren absoluten Fehler (MAE) und einem gewichteten mittleren absoluten prozentualen Fehler (WMAPE).
  • In einigen Ausführungsformen des Computersystems ist die Anfrage für die Vorhersage keine erste Anfrage; und richten die Anweisungen, wenn sie vom Prozessor ausgeführt werden, das System dazu ein: durch das Überwachungsmodul ein Zeitintervall zwischen einer jüngsten Vorhersage und der Anfrage auszuwerten; und das Vorhersagemodul durch das Überwachungsmodul anzuweisen, das zuvor ausgewählte Maschinenlernmodell erneut zu trainieren, wenn das Zeitintervall einen Schwellenwert überschreitet, wobei das erneute Trainieren das erneute Trainieren des zuvor ausgewählten Maschinenlernmodells auf einem erweiterten Datensatz umfasst, der die verarbeiteten historischen Produktdaten, die verarbeiteten historischen Standortdaten und die während des Zeitintervalls gesammelten neuen verarbeiteten Daten umfasst. In einigen Ausführungsformen liegt der Schwellenwert zwischen 2 und 8 Monaten.
  • Es wird ein Ansatz zur Bedarfserfassung angegeben, der eine Reihe vorteilhafter Merkmale umfasst. Neben der Bereitstellung genauer Vorhersagen auf der Grundlage sich ändernder Bedingungen wird die Interpretierbarkeit des Bedarfsmodells in Bezug auf Faktoren, die Bewertung des Modells in Bezug auf Leistungskennzahlen und die Verwendung von Bestandssimulationen für das Bewertungsverfahren angegeben.
  • Die Einzelheiten einer oder mehrerer Ausführungsformen des Gegenstands dieser Beschreibung sind in den beigefügten Zeichnungen und der nachstehenden Beschreibung aufgeführt. Andere Merkmale, Aspekte und Vorteile des Gegenstands werden aus der Beschreibung, den Zeichnungen und den Ansprüchen ersichtlich.
  • Ähnliche Bezugszeichen und Kennzeichnungen weisen in den verschiedenen Zeichnungen auf ähnliche Elemente hin.
  • Figurenliste
  • Um die Erläuterung eines bestimmten Elements oder Vorgangs leicht identifizieren zu können, bezieht (beziehen) sich die signifikanteste(n) Ziffer(n) in einem Bezugszeichen auf die Zahl der Zeichnung, in der dieses Element zuerst eingeführt wurde.
    • 1 zeigt eine Systemarchitektur gemäß einer Ausführungsform.
    • 2 zeigt ein Blockschaltbild gemäß einer Ausführungsform.
    • 3 zeigt ein Flussdiagramm für ein Aufnahmemodul gemäß einer Ausführungsform.
    • 4 zeigt Umwandlungsbeispiele gemäß einer Ausführungsform.
    • 5 zeigt Umwandlungsbeispiele gemäß einer Ausführungsform.
    • 6 zeigt ein Flussdiagramm für ein externes Datenmodul gemäß einer Ausführungsform.
    • 7 zeigt ein Umwandlungsbeispiel gemäß einer Ausführungsform.
    • 8 zeigt ein Flussdiagramm für ein Überwachungsmodul gemäß einer Ausführungsform.
    • 9 zeigt ein Flussdiagramm für ein Vorhersagemodul gemäß einer Ausführungsform.
    • 10 zeigt ein Flussdiagramm einer Vorhersageanfragesauswertung durch ein Überwachungsmodul gemäß einer Ausführungsform.
    • 11 zeigt ein Flussdiagramm eines Vorhersagemoduls gemäß einer Ausführungsform.
    • 12 zeigt ein Flussdiagramm eines Vorhersagemoduls gemäß einer Ausführungsform.
    • 13 zeigt eine Vorhersage des Maschinenlernens gemäß einer Ausführungsform.
    • 14 zeugt ein Flussdiagramm des Feature-Engineerings gemäß einer Ausführungsform.
    • 15 zeigt Daten zur Aufnahme gemäß einer Ausführungsform.
    • 16 zeigt Wetterdaten für die Aufnahme 1600 gemäß einer Ausführungsform.
    • 17 zeigt eine Datentabellenerweiterung gemäß einer Ausführungsform.
    • 18 zeigt eine Verschmelzung von Datentabellen gemäß einer Ausführungsform.
    • 19 zeigt eine Verschmelzung von Datentabellen gemäß einer Ausführungsform.
    • 20 veranschaulicht einen Schritt der Merkmalserzeugung gemäß einer Ausführungsform.
    • 21 veranschaulicht die Merkmalserzeugung gemäß einer Ausführungsform.
    • 22 zeigt eine Merkmalsauswahl gemäß einer Ausführungsform.
    • 23 zeigt das Trainieren eines Modells und eine Merkmalsoptimierung gemäß einer Ausführungsform.
  • DETAILLIERTE BESCHREIBUNG
  • Das Bedarfsermittlungsverfahren kann vorausgesagte Tagesverkäufe für ein einzelnes Produkt (z.B. gemäß ihrer Identifikationscodes für die Lagerhaltungseinheit (SKU)) für einzelne Standorte (z.B. Einzelhandelsgeschäfte) über einen gewissen Horizont (z.B. 13 Wochen im Voraus) für eine Vielzahl von Zwecken liefern, due unter anderem umfassen: die Erlaubnis des Benutzers, die Vorhersagen zur Steuerung der Nachschubaufträge an den definierten Standorten zu nutzen; und die Gewinnung eines analytischen Verständnisses der Faktoren, die die vorausgesagten Verkäufe antreiben, um für die Zukunft zu planen.
  • Die Datenverarbeitungsdienste setzen sich aus verschiedenen Komponenten einer Pipeline für maschinelles Lernen zusammen. Je nach Benutzeranfrage können aus den nutzerspezifischen und öffentlichen Rohdatensätzen Merkmale erzeugt werden. Anschließend können ein oder mehrere Quantil-Regressionsmodelle mit diesen Merkmalen trainiert werden. Die Auswahl von Merkmalen und Hyperparametern kann durch die Bewertung jedes Modells anhand desselben Validiersatzes erfolgen. Die Bewertung umfasst die Verwaltung eines simulierten Inventars für den Zeitraum, der dem Validiersatz entspricht, wobei Aufträge auf der Grundlage einfacher Heuristiken erteilt und wichtige Leistungskennzahlen gemessen werden, wie z.B. übermäßiger Bestand über einen bestimmten Zeitraum und Anzahl der Lagerausfalltage. Sobald ein Modell ausgewählt ist (für die beste Leistung für eine Artikel- und Ladengeschäftskombination), kann der Beitrag jedes Merkmals (auf der Grundlage der Bedarfsvorhersagen) durch Modellinterpretationstechniken (z.B. SHapley Additive exPlantions) bewertet werden. In einem letzten Schritt können Daten in Bezug auf Vorhersagen, Vorhersagequalität und Vorhersagebeiträge gesammelt und dem Benutzer durch eine Reihe interaktiver Visualisierungen, die in den oben erwähnten Benutzeranwendungsschnittstellen zu finden sind, veranschaulicht werden.
  • Historische Daten können aus einer Vielzahl von Quellen gesammelt werden. Beispielsweise können Daten von einem Kunden/Benutzer gesammelt werden, die historische und weiterführende Daten wie Kampagnen umfassen. In einigen Ausführungsformen können historische Kundendaten auch Verkaufsortdaten umfassen, die Informationen über die Menge des an einem bestimmten Tag an einem bestimmten Standort verkauften Produkts und den Bestand eines bestimmten Produkts an einem bestimmten Standort liefern. Andere Arten von Daten können aus dem Internet und sozialen Medien gewonnen werden, wie z.B. Wetterdaten, Finanzmärkte und ähnliches. Kalenderdaten, die lokale Feiertage umfassen, sowie lokale Ereignisdaten können ebenfalls gesammelt werden. Es können auch Einzelheiten zu Werbekampagnen für ein bestimmtes Produkt an einem bestimmten Standort und andere relevante Ereignisse einbezogen werden. Zusammenfassend lässt sich sagen, dass sämtliche Informationen, die sich auf den Verkauf eines bestimmten Produkts an einem bestimmten Standort beziehen oder sich auf diesen auswirken, als Teil des Eingabedatensatzes verwendet werden können.
  • Die Rohdaten werden zunächst verarbeitet, bevor sie von Maschinenlernmodellen verwendet werden. In einigen Ausführungsformen kann dies die Erzeugung von Merkmalen beinhalten (die in die verschiedenen Modelle des Maschinenlernmoduls eingespeist werden).
  • In einigen Ausführungsformen sind die Daten in einen Trainingsabschnitt und einen Validierabschnitt unterteilt. Jedes Modell kann an dem Trainingsabschnitt trainiert werden. Jedes trainierte Modell wird anschließend an dem verbleibenden Validierabschnitt der Daten getestet, wobei das Modell, das die beste Vorhersage für den Validierabschnitt der Daten liefert, ausgewählt wird. Das ausgewählte Maschinenlernmodell kann an dem gesamten Datensatz erneut trainiert und dann für den Einsatz auf Echtzeitdaten verwendet werden.
  • In einigen Ausführungsformen sind die Daten in einen Trainings-, einen Validier- und einen Versuchsabschnitt unterteilt. Jedes Modell kann an dem Trainingsabschnitt trainiert werden. Jedes trainierte Modell wird dann an dem Validierabschnitt der Daten getestet, wobei das Modell, das die beste Vorhersage für den Validierabschnitt der Daten liefert, ausgewählt wird. Das ausgewählte Maschinenlernmodell kann an den ersten beiden Abschnitten (d.h. Daten aus dem Trainings- und Validierabschnitt) erneut trainiert werden. Es kann dann in dem Versuchsabschnitt getestet werden, um ein Maß an Genauigkeit für den Benutzer zu beziehen. Das ausgewählte Modell kann dann für den Einsatz auf Echtzeitdaten verwendet werden.
  • Die Maschinenlernmodelle werden anhand von Daten trainiert und validiert, die ein bestimmtes Produkt an einem bestimmten Standort betreffen, um Vorhersagen für dieses Produkt an diesem Standort zu erstellen. Die Vorhersage durch das ausgewählte trainierte Modell kann für einen ausgewählten Zeitrahmen erfolgen. In einigen Ausführungsformen ist dieser Zeitrahmen ein 13-Wochen-Horizont. Die „Echtzeit“-Eingabedaten, die für die Vorhersage verwendet werden, können Verkaufsdaten aus einem früheren Zeitraum (z.B. Verkäufe von vor 1 Monat oder 2 Monaten oder 3 Monaten oder mehr), Werbekampagnen, Wetterdaten für den Standort und in der Nähe des Standortes, Marktindizes für den Standort und in der Nähe des Standortes sowie Ereignisse an dem Standort oder in der Nähe des Standortes umfassen.
  • 1 veranschaulicht eine Systemarchitektur 100 gemäß einer Ausführungsform.
  • Die Client-Datenquelle 102 liefert eine Vielzahl von Rohdaten des Benutzers, einschließlich, aber nicht beschränkt auf: Verkaufsstellendaten, die die Verkaufsaufzeichnungen sämtlicher Produkte des Kunden an jedem Standort anzeigen; die Bestandshistorie sämtlicher Produkte des Kunden an jedem Standort; Details zu Werbekampagnen für sämtliche Produkte an allen Standorten und Ereignisse, die für den Verkauf eines Kundenprodukts an jedem Standort wichtig/relevant sind.
  • Das Aufnahmemodul 104 empfängt die Client-Datenquelle 102 und konvertiert sie in ein anderes Format, das für die Speicherung in dem ML-Speicher 106 bereit ist.
  • Das Modul 120 zur dynamischen Bedarfsermittlung besteht aus drei Modulen: dem externen Datenmodul 110, dem Überwachungsmodul 112 und dem Vorhersagemodul 114, die nachfolgend beschrieben werden.
  • Das externe Datenmodul 110 bezieht externe Daten aus (einer) externen Datenquelle(n) 108 und bereitet sie für die Speicherung in dem ML-Speicher 106 vor. Externe Daten können aus dem Internet und sozialen Medien gewonnen werden und können Informationen wie Wetterdaten, Finanzmarktdaten usw. für eine Vielzahl von Standorten umfassen. Diese Standorte können Standorte umfassen, die für den Produktverkauf des Kunden wichtig sind. Darüber hinaus können Marktindizes breiter sein als der/die vom Kunden gewünschte(n) tatsächliche(n) Standort(e), da Marktindizes oft landesweit sind, während Standorte auf kleinere geografische Gebiete wie Städte oder Ortschaften beschränkt sein können. Kalenderdaten, die lokale Feiertage umfassen, sowie lokale Ereignisdaten können ebenfalls einbezogen werden. In einigen Ausführungsformen kann das externe Datenmodul 110 auf einem Zeitplan beruhen, um externe Daten von (einer) externen Datenquelle(n) 108 zu beziehen (z.B. auf einem täglichen, halbtägigen, wöchentlichen, zweiwöchentlichen, monatlichen usw. Zeitplan). Das externe Datenmodul 110 kann auf verschiedene Arten von Daten zugreifen, jede nach einem eigenen Zeitplan. Zum Beispiel kann auf Wetterdaten auf täglicher Basis zugegriffen werden; auf Marktdaten kann täglich oder wöchentlich zugegriffen werden, auf Kalenderdaten kann jährlich zugegriffen werden, usw.
  • Das Anfragemodul 116 liefert eine Anfrage an das Überwachungsmodul 112, um eine Vorhersage für einen Teilsatz der in dem ML-Speicher 106 gespeicherten Daten zu erstellen. In einigen Ausführungsformen kann das Anfragemodul 116 die Vorhersage eines bestimmten Produkts in einem bestimmten Ladengeschäft (oder an einem bestimmten Standort) für einen Vorhersagehorizont anfordern.
  • Das Überwachungsmodul 112 bezieht die vom Anfragemodul 116 bereitgestellten Informationen darüber, welche Teilmenge von Produkten/Ladengeschäften vorausgesagt werden soll. Auf der Grundlage von Informationen, die sich auf die Teilmenge beziehen, und Informationen, die sich auf den ML-Speicher 106 beziehen, entscheidet das Überwachungsmodul 112 auf der Grundlage einer Reihe von Regeln, die im Folgenden beschrieben werden, wie die Teilmenge vorausgesagt wird. Sobald die Teilmenge für die Vorhersage bereit ist, liefert das Vorhersagemodul 114 eine Vorhersage, die für die Ausgabe 118 ausgegeben wird.
  • 2 zeigt ein System 200 gemäß einer Ausführungsform eines dynamischen Bedarfserfassu ngssystems.
  • Das System 200 umfasst einen Systemserver 202, einen ML-Speicher 106, eine Client-Datenquelle 102 und (eine) externe Datenquelle(n) 108. Der Systemserver 202 kann einen Speicher 206, eine Diskette 208, einen Prozessor 204 und ein dynamisches Bedarfserfassungsmodul 120 umfassen. Wenngleich ein Prozessor 204 gezeigt ist, kann der Systemserver 202 einen oder mehrere Prozessoren umfassen. In einigen Ausführungsformen kann der Speicher 206 im Vergleich zu der Diskette 208 ein flüchtiger Speicher sein, die ein nichtflüchtiger Speicher sein kann. In einigen Ausführungsformen kann der Systemserver 202 über das Netzwerk 210 mit dem ML-Speicher 106, der/den externen Datenquelle(n) 108 und der Client-Datenquelle 102 kommunizieren. Wenngleich der ML-Speicher 106 als von dem Systemserver 202 getrennt dargestellt ist, kann der ML-Speicher 106 auch in den Systemserver 202 integriert sein, entweder als separate Komponente innerhalb des Systemservers 202 oder als Teil von Speicher 206 und/oder Diskette 208.
  • Das System 200 kann zudem zusätzliche Merkmale und/oder Funktionen umfassen. Beispielsweise kann das System 200 auch zusätzlichen Speicher (austauschbar und/oder nicht austauschbar) einschließlich, aber nicht beschränkt auf magnetische oder optische Platten oder Bänder umfassen. Ein derartiger zusätzlicher Speicher ist in 2 durch den Speicher 206 und die Diskette 208 dargestellt. Zu den Speichermedien können flüchtige und nicht flüchtige, austauschbare und nicht austauschbare Medien gehören, die in einem beliebigen Verfahren oder einer beliebigen Technik zum Speichern von Informationen wie computerlesbaren Anweisungen, Datenstrukturen, Programmmodulen oder anderen Daten ausgeführt sind. Der Speicher 206 und die Diskette 208 sind Beispiele für nichtflüchtige computerlesbare Speichermedien. Zu den nicht flüchtigen computerlesbaren Medien gehören auch, aber nicht ausschließlich, Direktzugriffsspeicher (RAM), Festspeicher (ROM), elektrisch löschbarer programmierbarer Festspeicher (EEPROM), Flash-Speicher und/oder andere Speichertechniken, Compact-Disc-Festspeicher (CD-ROM), DVDs und/oder andere optische Speicher, Magnetkassetten, Magnetband, Magnetplattenspeicher oder andere magnetische Speichervorrichtungen und/oder jedes andere Medium, das zur Speicherung der gewünschten Informationen verwendet werden und auf das das System 200 zugreifen kann. Jedes dieser nicht flüchtigen computerlesbaren Speichermedien kann Teil des System 200 sein. Die Kommunikation zwischen Systemserver 202, Client-Datenquelle 102, ML-Speicher 106 und externer(n) Datenquelle(n) 108 über das Netzwerk 210 kann über verschiedene Netzwerktypen erfolgen. Nicht einschränkende beispielhafte Netzwerktypen können Fibre Channel, Small Computer System Interface (SCSI), Bluetooth, Ethernet, Wi-Fi, Infrared Data Association (IrDA), Nahbereichsnetzwerke (LAN), drahtlose Nahbereichsnetzwerke (WLAN), Weitbereichsnetzwerke (WAN) wie das Internet, serieller und universeller serieller Bus (USB) sein. Im Allgemeinen kann die Kommunikation zwischen verschiedenen Komponenten des Systems 200 über festverdrahtete, zellulare, Wi-Fi- oder bluetooth-vernetzte Komponenten oder ähnliches erfolgen. In einigen Ausführungsformen können ein oder mehrere elektronische Vorrichtungen des Systems 200 cloud-basierte Funktionen, wie z.B. cloudbasierten Speicher umfassen.
  • Der ML-Speicher 106 kann eine „In-Speicher“-Datenbank verwenden, in der ein flüchtiger (z.B. nicht plattenbasierter) Speicher (z.B. RAM) sowohl für den Cache-Speicher als auch für die Speicherung der gesamten Datenbank während des Betriebs verwendet wird, und ein Festspeicher (z.B. eine oder mehrere Festplatten) für die Offline-Persistenz und die Wartung von Datenbank-Schnappschüssen verwendet wird. Alternativ kann der flüchtige Speicher als Cache-Speicher für die Speicherung kürzlich verwendeter Daten verwendet werden, während der Festspeicher die gesamte Datenbank speichert.
  • Der ML-Speicher 106 kann Metadaten bezüglich der Struktur, Beziehungen und Bedeutung von Daten speichern. Diese Informationen können Daten umfassen, die das Schema der in den Daten gespeicherten Datenbanktabellen definieren. Ein Datenbanktabellenschema kann den Namen der Datenbanktabelle, die Spalten der Datenbanktabelle, den mit jeder Spalte verbundenen Datentyp und andere mit der Datenbanktabelle verbundene Informationen angeben. Der ML-Speicher 106 kann zudem oder alternativ Mandantenfähigkeit unterstützen, indem er mehrere logische Datenbanksysteme bereitstellt, die programmatisch voneinander isoliert sind. Darüber hinaus können die Daten indexiert und/oder selektiv in einem Index repliziert werden, um eine schnelle Suche und ein schnelles Auffinden der Daten zu ermöglichen. Darüber hinaus kann der ML-Speicher 106 eine Reihe von Maschinenlernmodellen speichern, auf die das dynamische Bedarfserfassungsmodul 120 zugreift. Eine Reihe von ML-Modellen, wie z.B. gradientenverstärkte Bäume, Zusammenstellung von Bäumen und Support-Vektor-Regression, können verwendet werden.
  • Eine externe Datenquelle(n) 108 (kann) können Quellen umfassen, die sowohl historische als auch Echtzeit-Informationen über Klima, Wetter, Finanzindizes, Webdaten, Daten aus sozialen Medien, lokale Feiertage, Festivals und Veranstaltungen und ähnliches liefern. Kommerzielle Wetter- und Finanzdienstleistungen können erworben oder auf andere Weise zugänglich gemacht werden.
  • Die Client-Datenquelle 102 kann eine Vielzahl von Rohdaten des Benutzers bereitstellen, einschließlich, aber nicht beschränkt auf: Verkaufsstellendaten, die die Verkaufsaufzeichnungen sämtlicher Produkte des Clients an jedem Standort anzeigen; die Bestandshistorie sämtlicher Produkte des Kunden an jedem Standort; Details zu Werbekampagnen für sämtliche Produkte an sämtlichen Standorten und Ereignisse, die für den Verkauf eines Produkts des Clients an jedem Standort wichtig/relevant sind.
  • Über das Netzwerk 210 kann der Systemserver 202 Daten aus dem ML-Speicher 106, 102 und der/den externen Datenquelle(n) 108 abrufen. Die abgerufenen Daten können in dem Speicher 206 oder auf der Diskette 208 gespeichert werden. In einigen Fällen kann der Systemserver 202 auch einen Webserver umfassen und Ressourcen in ein für die Anzeige in einem Internet-Browser geeignetes Format formatieren.
  • 3 zeigt ein Flussdiagramm 300 für ein Aufnahmemodul 308 gemäß einer Ausführungsform.
  • Ein Aufnahmemodul 308 empfängt Daten von der Client-Datenquelle 102 in Block 302 und fährt mit der Vorverarbeitung der Daten in Block 304 fort. Die Vorverarbeitung kann die Umwandlung, Validierung, Korrektur der Daten oder eine beliebige Kombination davon umfassen.
  • Die Validierung der Daten ist ein einfaches Mittel um festzustellen, ob in den eingehenden Daten potenzielle Fehler vorliegen. Die Validierung kann z.B. die Identifizierung fehlender Daten, Nulldaten, Unterschiede in der Zeilenanzahl und Dateninkongruenzen umfassen. In einigen Ausführungsformen kann das Datenvalidierungsmodul einen Maschinenlernalgorithmus in Verbindung mit einem Z-Score-Schwellenwert verwenden, um anomale Datenwerte zu identifizieren.
  • Die Datenkorrektur umfasst die Korrektur oder Neuberechnung von Daten, die auf einen Fehler hindeuten. Zum Beispiel: fehlende oder fehlerhafte Werte können durch Daten ersetzt werden, die aus einem oder mehreren vorhandenen Werten, einem Durchschnitt der vorhandenen Daten oder einem Mittelwert der vorhandenen Daten interpoliert werden. In einigen Ausführungsformen kann bei der Korrektur von Daten ein Vorhersagemodell verwendet werden, um Daten zu ersetzen, die auf einen Fehler hindeuten.
  • Umwandlungsbeispiele sind in 4 dargestellt und nachfolgend beschrieben.
  • Die vorverarbeiteten Daten werden zur Aktualisierung der Daten in Block 306 für die Speicherung in dem ML-Speicher 106 verwendet.
  • 4 zeigt ein Umwandlungsbeispiel 400 gemäß einer Ausführungsform. Beispiele für Merkmale 402 können Daten zu folgenden Bereichen umfassen: Verkaufsstelle, Wetter, Veranstaltungen/Feiertage, Marktindex, Internetverkehr und Werbeaktionen. Die Merkmale 402 können zusätzliche Datenkategorien, weniger oder andere Kategorien als die in 4 dargestellten umfassen.
  • Beispiel 1 404 zeigt, wie Daten, die sich auf ein seltenes Ereignis beziehen, das in binärer Form vorliegt, in eine Form umgewandelt werden, die ganze Zahlen umfasst, indem die Anzahl der Tage bis zu dem Ereignis angegeben wird. Beispielsweise kann das seltene Ereignis den Wert „0“ haben, um den Tag anzugeben, an dem ein Ladengeschäft geöffnet ist (z.B. Mo-Sa), und „1“, um den Tag anzugeben, an dem ein Ladengeschäft geschlossen ist (z.B. Sonntag). Die Reihe von „0“ und „1“ wird stattdessen in eine Reihe von ganzen Zahlen umgewandelt, die angeben, wie viele Tage ein bestimmter Tag von dem seltenen Ereignis entfernt ist.
  • Beispiel 2 406 zeigt ein Beispiel für die Umwandlung aufeinanderfolgender Daten in eine tabellarische Form, in der Jahr (in einer Zeile), Monat (in einer zweiten Zeile) und Datum (in der dritten Zeile) aufgeführt sind.
  • Beispiel 3 408 zeigt ein Beispiel für die Umwandlung von Temperaturwerten an bestimmten Daten in Temperaturwerte in Bezug auf den niedrigsten Temperaturwert (6°C). Die ursprüngliche 6°C-Anzeige wird in ‚0‘ umgewandelt; 7°C in ‚1‘; 8°C in ‚2‘ und so weiter. Grafische Darstellungen der Umwandlungen werden weiter unten diskutiert.
  • In 5 sind weitere Umwandlungsbeispiele 500 gemäß einer Ausführungsform dargestellt.
  • Die Werbungsumwandlung 502 kann grafisch als die Anzahl der Tage nach einer Werbung und nicht als der tatsächliche Tag der Werbung dargestellt werden. Zum Vergleich werden die Verkäufe eines Artikels 504 neben der Verkaufswerbungs-Umwandlung 502 angezeigt. Eine vorläufige Analyse zeigt, dass es kurz nach einer Werbeaktion im Oktober 2016 und im April 2017 eine Verkaufsspitze gab.
  • In 6 ist ein Flussdiagramm 600 für ein externes Datenmodul 110 gemäß einer Ausführungsform dargestellt.
  • Das externe Datenmodul 110 ruft Daten (bei Block 602) aus (der) externen Datenquelle(n) 108 ab, die Rohdaten über Wetter, Marktindizes, Trends usw. umfassen kann (können). Die externe(n) Datenquelle(n) 108 liefert (liefern) Daten, die die Client-Datenquelle 102 (aus 1) ergänzen. Die Rohdaten werden bereinigt (oder validiert), um Ausreißer zu entfernen, und (bei Block 604) für die Speicherung in dem ML-Speicher 106 (bei Block 606) umgewandelt.
  • Die Vorverarbeitung kann die Umwandlung, Validierung, Korrektur der Daten oder eine beliebige Kombination davon umfassen.
  • Die Validierung der Daten ist ein einfaches Mittel um festzustellen, ob die eingehenden Daten potenzielle Fehler umfassen. Die Validierung kann z.B. die Identifizierung fehlender Daten, Nulldaten, Unterschiede in der Zeilenanzahl und Dateninkongruenzen umfassen. In einigen Ausführungsformen kann das Datenvalidierungsmodul einen Maschinenlernalgorithmus in Verbindung mit einem Z-Score-Schwellenwert verwenden, um anomale Datenwerte zu identifizieren.
  • Die Datenkorrektur umfasst die Korrektur oder Neuberechnung von Daten, die auf einen Fehler hindeuten. Zum Beispiel: fehlende oder fehlerhafte Werte können durch Daten ersetzt werden, die aus einem oder mehreren vorhandenen Werten, einem Durchschnitt vorhandener Daten oder einem Mittelwert vorhandener Daten interpoliert werden. In einigen Ausführungsformen kann bei der Korrektur von Daten ein Vorhersagemodell verwendet werden, um Daten zu ersetzen, die auf einen Fehler hindeuten.
  • Beispiele für die Umwandlung von externen Daten werden unter Bezugnahme auf 7 diskutiert.
  • Die vorverarbeiteten externen Daten werden zur Aktualisierung der Daten in Block 306 für die Speicherung in dem ML-Speicher 106 verwendet.
  • In 7 sind weitere Umwandlungsbeispiele 700 von externen Daten gemäß einer Ausführungsform dargestellt.
  • Beispiele für externe Daten sind Kalenderdaten, wie Feiertage, und Wetterdaten.
  • Die Urlaubsumwandlung 702 kann grafisch als Anzahl der Tage bis zu einem Feiertag und nicht bis zum tatsächlichen Tag des Feiertags dargestellt werden. Zum Vergleich sind die Verkäufe eines Artikels 704 neben der Feiertagsumwandlung 702 dargestellt. Vorläufige Analysen deuten darauf hin, dass es kurz nach einem Feiertag im Oktober 2016 und April 2017 zu einer Verkaufsspitze kam.
  • Die Wetterumwandlung 706 kann grafisch als wöchentlich gleitender Durchschnitt der Himmelsbedeckung über einem Gebiet, in dem der Artikel verkauft wird, dargestellt werden. Zum Vergleich sind die Verkäufe eines Artikels 704 neben der Urlaubsumwandlung 702 dargestellt.
  • 8 zeigt ein Flussdiagramm 800 für ein Überwachungsmodul 112 gemäß einer Ausführungsform.
  • Das Überwachungsmodul 112 empfängt eine Anfrage für eine Vorhersage (bei Block 802) von dem Anfragemodul 116. Basierend auf den spezifischen Informationen, die mit der Anfrage verbunden sind, wertet das Überwachungsmodul 112 den Vorhersageschritt (bei Block 804) auf der Grundlage der Daten und der Metriken für Maschinenlernen aus, die sämtlich in dem ML-Speicher 106 gespeichert sind. Einzelheiten dieser Auswertung werden nachstehend beschrieben. Sobald der Vorhersageschritt ausgewertet ist, werden Anweisungen an das Vorhersagemodul 114 (bei Block 806) gesendet.
  • 9 zeigt ein Flussdiagramm 900 für ein Vorhersagemodul gemäß einer Ausführungsform.
  • Das Überwachungsmodul 112 wertet eine Vorhersageanfrage von dem Anfragemodul 116 im Hinblick auf die im ML-Speicher 106 gespeicherten Daten und Metriken des Maschinenlernmodells aus. Es werden Anweisungen an das Vorhersagemodul 114 gesendet, um eine von drei Aufgabenfolgen zu initiieren. Eine erste Aufgabenfolge umfasst: das Vorhersagemodul 114 wählt im Block 902 ein Maschinenlernmodell aus, gefolgt von einem Training des ausgewählten Modells in Block 904, gefolgt von einer Vorhersage mit dem trainierten Modell im Block 906 für einen bestimmten zukünftigen Zeitraum.
  • Eine zweite, andere Aufgabenfolge umfasst: Trainieren eines ausgewählten Modells in Block 904, gefolgt von einer Vorhersage mit dem trainierten Modell in Block 906 für einen bestimmten zukünftigen Zeitraum.
  • Eine dritte, andere Aufgabenfolge umfasst einfach die Vorhersage mit einem ausgewählten, trainierten Modell in Block 906 für einen bestimmten zukünftigen Zeitraum.
  • Sämtliche von dem Vorhersagemodul 114 erzeugten Ergebnisse werden in dem ML-Speicher 106 gespeichert. In einigen Ausführungsformen umfasst dies das ausgewählte, trainierte Modell und sämtliche damit verbundenen Merkmale und Hyperparameter zusammen mit den Vorhersageergebnissen.
  • Da der ML-Speicher 106 dynamisch mit externen Daten und Benutzerdaten aktualisiert wird, können die von dem Vorhersagemodul 114 erzeugten Vorhersageergebnisse durch Vergleich mit tatsächlich aktualisierten Daten ausgewertet werden. In einigen Ausführungsformen wird die Auswertung der vorausgesagten Ergebnisse von dem Überwachungsmodul 112 ausgeführt und als Teil der Auswertung des Vorhersageschritts (Block 804) in 8 verwendet.
  • 10 zeigt ein Flussdiagramm der Auswertung einer Vorhersageanfrage durch ein Überwachungsmodul 112 gemäß einer Ausführungsform.
  • Das Überwachungsmodul 112 empfängt eine Anfrage für eine Vorhersage an Block 1002. Dies kann z.B. eine Anfrage zum Vorhersagen des Bedarfs nach einem bestimmten Produkt des Clients an einem bestimmten Standort über einen bestimmten Zeitraum sein. Es kann sich beispielsweise um eine Anfrage zum Vorhersagen des Bedarfs an einer bestimmten Marke eines Staubsaugers in einem bestimmten Einzelhandelsgeschäft in Kanata, Ontario, für einen Zeitraum von 13 Wochen handeln.
  • Das Überwachungsmodul 112 prüft mit dem ML-Speicher 106, ob dies das erste Mal ist, dass eine Vorhersageanfrage für dieses bestimmte Produkt und diesen bestimmten Standort in Block 1004 gestellt wird. Ist dies der Fall, dann kennzeichnet das Überwachungsmodul 112 die Anfrage, einen vollständigen Modellauswahlvorgang zu durchlaufen, in Block 1006, der anschließend an das Vorhersagemodul 114 gesendet wird (siehe 9). Ausführungsformen des vollständigen Modellauswahlvorgangs werden im Folgenden beschrieben.
  • Wenn es nicht das erste Mal ist, dass eine Vorhersageanfrage für dieses bestimmte Produkt und diesen Standort gestellt wird, prüft das Überwachungsmodul 112 den ML-Speicher 106 um festzustellen, ob seit der letzten Vorhersageanfrage für das bestimmte Produkt und den Standort in Block 1008 eine neue Klasse relevanter Signaldaten hinzugefügt wurde. Wenn die Antwort ja lautet, dann kennzeichnet Überwachungsmodul 112 die Anfrage zur Durchführung eines vollständigen Modellauswahlvorgangs in Block 1006, die anschließend an das Vorhersagemodul 114 gesendet wird (siehe 9).
  • Als Beispiel kann der ML-Speicher 106 in der Zeit zwischen der ersten Anfrage und der nachfolgenden Anfrage Wetterdaten erhalten haben, die einen für den Standort der Anfrage relevanten Feuchtigkeitsindex umfassen, der in den für die ursprüngliche Vorhersage verwendeten Daten nicht vorhanden war. Der Feuchtigkeitsindex ist eine neue Klasse von Signaldaten, die bei der Maschinenlernvorhersage des bestimmten Produkts an dem bestimmten Standort verwendet werden kann. Es wird darauf hingewiesen, dass, wenn in der Zwischenzeit neue Feuchtigkeitsdaten empfangen wurden, die neuen Feuchtigkeitsdaten jedoch keine Auswirkungen auf den interessierenden Standort haben, diese nicht als relevant betrachtet werden. Wenn z.B. der ML-Speicher 106 den Feuchtigkeitsindex für Washington, D.C. erhält, aber nicht für Kanata ON (wo die Vorhersage angefordert wird), dann wird dies nicht als relevante neue Klasse von Signaldaten betrachtet.
  • Wenn die Antwort in Block 1008 nein lautet, prüft das Überwachungsmodul 112, ob die Menge der neuen relevanten Daten, die seit der letzten Vorhersage in dem ML-Speicher 106 gespeichert wurden, über einem bestimmten Schwellenwert in Block 1010 liegt. Wenn ja, dann kennzeichnet das Überwachungsmodul 112 die Anfrage, sich einem vollständigen Modellauswahlvorgang im ML-Speicher 106 zu unterziehen, der anschließend an das Vorhersagemodul 114 gesendet wird (siehe 9). Auch hier wird ein Vergleich in Bezug auf Daten ausgeführt, die für die betreffende Vorhersageanfrage relevant sind.
  • Als Beispiel empfängt der ML-Speicher 106 fortlaufend Benutzerdaten und externe Daten. Während einer Zwischenperiode zwischen den Vorhersageanfragen sammelt sich die Menge der neuen Signaldaten an und kann so quantifiziert werden, dass die Menge der neuen Daten einen Prozentsatz der für die vorherige Vorhersage verwendeten Datenmenge ausmacht. In einigen Ausführungsformen kann der Mindestschwellenwert 15% bis 30% oder 15% oder 20% oder 25% oder 30% der für die vorherige Vorhersage verwendeten Datenmenge betragen.
  • Wenn die Antwort in Block 1010 nein lautet, fährt das Überwachungsmodul 112 mit Block 1012 fort, um die Leistung des in der vorherigen Vorhersage verwendeten Maschinenlernmodells zu bewerten. Unter Bezugnahme auf 9 wird, sobald das Vorhersagemodul 114 eine Vorhersage liefert, die Vorhersage in dem ML-Speicher 106 gespeichert. das Überwachungsmodul 112 wertet die Vorhersage laufend aus, indem es die vorausgesagten Werte mit den tatsächlichen Werten vergleicht, während letztere laufend in den ML-Speicher 106 hochgeladen werden. Zur Bewertung der Genauigkeit der vorhergesagten Werte können nach dem Stand der Technik bekannte Bewertungsverfahren verwendet werden, wobei ein Kriterium ausgewählt werden kann, um zu bestimmen, ob die Vorhersage realisierbar bleibt oder nicht. In einigen Ausführungsformen kann das Bewertungsverfahren aus dem mittleren absoluten prozentualen Fehler (MAPE), dem mittleren absoluten skalierten Fehler (MASE), dem mittleren absoluten Fehler (MAE) und dem gewichteten mittleren absoluten prozentualen Fehler (WMAPE) ausgewählt werden. Wenn die Vorhersage als nicht realisierbar erachtet wird, kennzeichnet das Überwachungsmodul 112 die Anfrage, sich einem vollständigen Modellauswahlverfahren zu unterziehen, in Block 1006, der anschließend an das Vorhersagemodul 114 gesendet wird (siehe 9).
  • Wenn die Antwort in Block 1012 nein lautet, fährt das Überwachungsmodul 112 mit Block 1012 fort, um das Zeitintervall zwischen der vorherigen und der aktuellen Vorhersageanfrage in Block 1014 auszuwerten. Wenn das Zeitintervall über einem bestimmten Schwellenwert liegt, kennzeichnet Überwachungsmodul 112 die Anfrage, das aktuelle Modell in Block 1010 erneut trainieren zu lassen, was anschließend an das Vorhersagemodul 114 gesendet wird (siehe 9). Der Schwellenwert für das Zeitintervall kann ein beliebiger Wert sein. In einigen Ausführungsformen kann der Zeitschwellenwert einige Monate oder mehr betragen. In einigen Ausführungsformen kann der Zeitschwellenwert 2 bis 8 Monate oder 3 bis 6 Monate oder 2 Monate oder 3 Monate oder 6 Monate betragen. Das erneute Trainieren des ausgewählten Modells kann ein erneutes Trainieren des ursprünglichen Datensatzes zusammen mit den Daten, die sich in der dazwischen liegenden Zeitspanne angesammelt haben, umfassen.
  • Wenn der Zeitschwellenwert überschritten wird, werden sämtliche Signaldaten, die in der Zwischenzeit zwischen aufeinanderfolgenden Vorhersageanfragen von dem Benutzer und von externen Datenquellen gesammelt wurden, für das erneute Training des aktuellen Modells verwendet. Ausführungsformen des erneuten Trainings werden im Folgenden beschrieben.
  • Wenn der Zeitschwellenwert nicht überschritten wird, weist das Überwachungsmodul 112 das Vorhersagemodul 114 an, ohne erneutes Training mit dem aktuellen Modell in Block 1018 vorherzusagen.
  • 11 zeigt ein Flussdiagramm 1100 eines Vorhersagemoduls 114 gemäß einer Ausführungsform.
  • Das Vorhersagemodul 114 empfängt von dem Überwachungsmodul 112, wie in 9 dargestellt, Anweisungen, entweder ein Modell (Block 902) zu trainieren / erneut zu trainieren (Block 904) oder eine Vorhersage (Block 906) auszuwählen. In 11 beschreibt die Blockabfolge 1118 ein Flussdiagramm des Modellauswahlvorgangs 1102 in einer Ausführungsform; beschreibt die Blockabfolge 1120 ein Flussdiagramm des Trainingsvorgangs 1112 in einer Ausführungsform, und bezieht sich Block 1116 auf die Vorhersage des trainierten ML-Modells.
  • Wenn das Vorhersagemodul 114 angewiesen wird, einen Modellauswahlvorgang 1102 durch das Überwachungsmodul 112 durchzuführen, besteht ein erster Schritt darin, Merkmale von Signaldaten (aus dem ML-Speicher 106 abgerufen) in dem Schritt Block 1104 zu entwickeln. Das Entwickeln von Merkmalen kann in dem Sinn automatisiert werden, dass das System Merkmale erzeugen kann, die für das Maschinenlernen leichter zugänglich sind, ohne dass ein Benutzer eine oder mehrere Umwandlungen des Entwicklungsvorgangs für Merkmale definieren muss. In einigen Ausführungsformen kann die Auswahl der Umwandlungen automatisch durch Verfahren wie Kreuzvalidierung, Reduzierung der Dimensionalität und Unabhängigkeitskriterienversuche erfolgen. Das Feature-Engineering wird weiter unten erörtert.
  • Der Zeitrahmen der Signaldaten, die in dem Block 1104 verwendet werden, variiert, je nachdem, wo in dem Flussdiagramm 1000 (von 10) der Modellauswahlvorgang stattfindet. Wenn zum Beispiel der Modellauswahlvorgang in Block 1006 ausgewählt wird (d.h. wenn zum ersten Mal eine Vorhersage ausgeführt wird), dann werden sämtliche relevanten Signaldaten (von dem Benutzer und externen Datenquellen), die bis zum Zeitpunkt des Empfangs der ersten Vorhersageanfrage gesammelt wurden, verwendet. Wenn z.B. der Modellauswahlvorgang in Block 1006 ausgewählt wird (d.h. Ausführen einer nachfolgenden Vorhersage), dann werden sämtliche relevanten Signaldaten (von dem Benutzer und externen Datenquellen) verwendet, die bis zum Zeitpunkt des Empfangs der nachfolgenden Anfrage gesammelt wurden.
  • Sobald die Daten des Feature-Engineering vorbereitet sind, werden sie zum Trainieren, Validieren und optional zum Testen verwendet. In einigen Ausführungsformen werden die entwickelten Daten chronologisch in zwei Abschnitte unterteilt: einen Trainingsabschnitt und einen Validierabschnitt. Das Vorhersagemodul 114 erhält Zugriff auf eine Vielzahl von ML-Modellen in dem ML-Speicher 106; jedes der ML-Modelle wird an dem Trainingsabschnitt in Block 1106 trainiert. Jedes trainierte ML-Modell liefert dann eine Vorhersage für den Zeitraum, der dem Validierabschnitt in Block 1108 entspricht. Jede Vorhersage wird auf Genauigkeit bewertet, wobei das genaueste Modell für die weitere Vorhersage in Block 1110 ausgewählt wird.
  • In einigen Ausführungsformen kann der Trainingsabschnitt zwischen 50%-80% des vollständigen entwickelten Datensatzes betragen; kann der Validierabschnitt zwischen 20%-50% betragen, so dass die Gesamtsumme 100% beträgt. In einigen Ausführungsformen kann der Trainings-/Validierabschnitt 60%/40%, oder 80%/20% oder 70%/30% betragen. Es können verschiedene, gemäß der Technik bekannte Validierschemata verwendet werden. Beispiele hierfür sind verschachtelte Kreuzvalidierungen mit einer äußeren und einer inneren Schleife (zur Abstimmung von Hyperparametern). Beispielsweise kann die Validierung über viele Fenster der Trainingsdaten und nicht nur über ein einzelnes Fenster ausgeführt werden.
  • Das erneute Trainieren eines ausgewählten ML-Modells wird in der Blockabfolge 1120 gemäß einer Ausführungsform beschrieben. Ein ausgewähltes ML-Modell wird zunächst an einem erweiterten Datensatz in Block 1114 erneut trainiert. Die Einzelheiten des Trainierens / erneuten Trainierens variieren leicht, je nachdem, wo in dem Gesamtvorgang von 10 das ausgewählte Modell trainiert wird - innerhalb eines Modellauswahlvorgangs (d.h. in Block 1006); oder innerhalb eines Neutrainiervorgangs allein (d.h. Block 1016).
  • Wenn das erneute Trainieren des ausgewählten ML-Modells Teil eines Modellauswahlvorgangs 1102 ist, wird das ausgewählte ML-Modell an einem erweiterten entwickelten Datensatz, der Daten umfasst, die den Trainings- und Validierabschnitten des Datensatzes entsprechen (in Block 1114) erneut trainiert.
  • Wenn das erneute Trainieren des ausgewählten ML-Modells ohne Modellauswahlvorgang 1102 (d.h. nur erneutes Trainieren) erfolgt, wird das ausgewählte ML-Modell an einem erweiterten entwickelten Datensatz, der Daten umfasst, die den Trainings- und Validierabschnitten des Datensatzes entsprechen (in Block 1114), erneut trainiert.
  • 12 zeigt ein Flussdiagramm 1200 eines Vorhersagemoduls 114 gemäß einer Ausführungsform.
  • Das Vorhersagemodul 114 erhält von dem Überwachungsmodul 112, wie in 9 dargestellt, Anweisungen, entweder ein Modell zu wählen (Block 902), zu trainieren / erneut zu trainieren (Block 904) oder eine Vorhersage (Block 906) zu treffen. In 12 beschreibt die Blockabfolge 1222 ein Flussdiagramm des Modellauswahlvorgangs 1202 in einer Ausführungsform; beschreibt die Blockabfolge 1224 ein Flussdiagramm des Trainingsvorgangs 1212 in einer Ausführungsform, und bezieht sich der Block 1220 auf die Vorhersage des trainierten ML-Modells.
  • Wenn das Vorhersagemodul 114 angewiesen wird, einen Modellauswahlvorgang 1202 durch das Überwachungsmodul 112 auszuführen, besteht ein erster Schritt darin, Merkmale von Signaldaten (aus dem ML-Speicher 106 abgerufen) in dem Schritt Block 1204 zu entwickeln. Das Feature-Engineering kann in dem Sinn automatisiert werden, dass das System Merkmale erzeugen kann, die für das maschinelle Lernen leichter zugänglich sind, ohne dass ein Benutzer eine oder mehrere Umwandlungen des Vorgangs des Feature-Engineering definieren muss. In einigen Ausführungsformen kann die Auswahl der Umwandlungen automatisch durch Verfahren wie Kreuzvalidierung, Reduzierung der Dimensionalität und Tests der Unabhängigkeitskriterien erfolgen.
  • Der Zeitrahmen der Signaldaten, die in dem Block 1204 verwendet werden, variiert, je nachdem, wo in dem Flussdiagramm 1000 (von 10) der Modellauswahlvorgang stattfindet. Wenn zum Beispiel der Modellauswahlvorgang in Block 1006 ausgewählt wird (d.h. wenn zum ersten Mal eine Vorhersage ausgeführt wird), dann werden sämtliche relevanten Signaldaten (von dem Benutzer und externen Datenquellen), die bis zu dem Zeitpunkt des Empfangs der ersten Vorhersageanfrage gesammelt wurden, verwendet. Wenn z.B. der Modellauswahlvorgang in Block 1006 oder in dem ML-Speicher 106 ausgewählt wird (d.h. Durchführung einer nachfolgenden Vorhersage), dann werden sämtliche relevanten Signaldaten (von dem Benutzer und externen Datenquellen) verwendet, die bis zu dem Zeitpunkt des Empfangs der nachfolgenden Anfrage gesammelt wurden.
  • Sobald die Daten des Feature-Engineering vorbereitet sind, werden sie zum Trainieren, Validieren und Testen verwendet. In einigen Ausführungsformen sind die entwickelten Daten chronologisch in drei Abschnitte unterteilt: einen Trainingsabschnitt, einen Validierabschnitt und einen Versuchsabschnitt. Das Vorhersagemodul 114 erhält Zugang zu einer Vielzahl von ML-Modellen in dem ML-Speicher 106; jedes der ML-Modelle wird an dem Trainingsabschnitt in Block 1206 trainiert. Jedes trainierte ML-Modell liefert dann eine Vorhersage für den Zeitraum, der dem Validierabschnitt in Block 1208 entspricht. Jede Vorhersage wird auf Genauigkeit überprüft, wobei das genaueste Modell für die weitere Vorhersage in Block 1210 ausgewählt wird.
  • In einigen Ausführungsformen kann der Trainingsabschnitt zwischen 50%-80% des vollständigen entwickelten Datensatzes betragen; der Validierabschnitt kann zwischen 10%-25% und der Testabschnitt zwischen 5%-25% liegen, so dass die Gesamtsumme 100% beträgt. In einigen Ausführungsformen liegt der Trainings-/Validier-/Prüfabschnitt bei 60%/20%/20%. In einigen Ausführungsformen kann die Datenmenge in dem Versuchsabschnitt zu groß sein, um rechtzeitig ausgeführt werden zu können, wobei in diesem Fall ein absoluter Zeitrahmen für die Daten gewählt wird. Dies kann z.B. zwischen den letzten 10-20 Datenwochen oder etwa den letzten 15 Datenwochen liegen, wobei der Umfang des Trainings- und/oder Validierabschnitts erhöht wird. Es können auch andere, in der Technik bekannte Validierschemata verwendet werden. Beispiele hierfür sind verschachtelte Kreuzvalidierung mit einer äußeren und einer inneren Schleife (zur Abstimmung von Hyperparametern). Beispielsweise kann die Validierung nicht nur in einem einzigen Fenster, sondern in mehreren Fenstern der Trainingsdaten ausgeführt werden.
  • Das erneute Trainieren eines ausgewählten ML-Modells ist in der Blockabfolge 1224 gemäß einer Ausführungsform beschrieben. Ein ausgewähltes ML-Modell wird zunächst an einem erweiterten Datensatz in Block 1214 erneut trainiert; anschließend wird eine Vorhersage entsprechend der Periode eines Versuchsabschnitts in Block 1216 erstellt, wobei seine Genauigkeit basierend auf seiner Leistung in dem Versuchsabschnitt, in Block 1218 bewertet wird. Die Einzelheiten des Trainierens / erneuten Trainierens variieren leicht, je nachdem, wo in dem Gesamtvorgang von 10 das ausgewählte Modell trainiert wird - innerhalb eines Modellauswahlvorgangs (d.h. in Block 1006, Block 1006, ML-Speicher 106 oder 618); oder innerhalb eines Vorgangs erneuten Trainierens allein (d.h. Block 1006).
  • Wenn das erneute Trainieren des ausgewählten ML-Modells Teil eines Modellauswahlvorgangs 1202 ist, wird das ausgewählte ML-Modell an einem erweiterten entwickelten Datensatz erneut trainiert, der Daten umfasst, die den Trainings- und Validierabschnitten des Datensatzes entsprechen (bei Block 1214). Es sagt anschließend Vorhersagen voraus, die der Zeitdauer des Versuchsabschnitts in Block 1216 entsprechen, wobei dessen Genauigkeit in Block 1218 bewertet wird.
  • Wenn das erneute Trainieren des ausgewählten ML-Modells ohne Modellauswahlvorgang 1202 (d.h. nur erneutes Trainieren) erfolgt, wird das ausgewählte ML-Modell an einem erweiterten entwickelten Datensatz erneut trainiert, der Daten umfasst, die den Trainings- und Validierabschnitten des Datensatzes entsprechen (in Block 1214). Es sagt dann Vorhersagen voraus, die der Zeitdauer des Versuchsabschnitts in Block 1216 entsprechen, wobei seine Genauigkeit in Block 1218 bewertet wird.
  • Die Genauigkeitsbewertung des ausgewählten ML-Modells in Block 1218 kann mit einer Reihe von Techniken ausgeführt werden, die gemäß Stand der Technik bekannt sind. Zum Beispiel können Fehlermaße wie der mittlere absolute Fehler (MAE) oder der mittlere absolute skalierte Fehler (MASE) zur Bewertung der Genauigkeit verwendet werden. Die Genauigkeitsbewertung ermöglicht es einem Benutzer, sich eine Vorstellung von der Vorhersagbarkeit des Bedarfs nach einem bestimmten Produkt an einem bestimmten Standort für einen bestimmten Zeitraum zu machen.
  • Beispiel
  • Ein Client bittet um eine 13-Wochen-Vorhersage des Bedarfs nach einem bestimmten Produkt in seinem einzigen Ladengeschäft in Kanata, Ontario. Der Benutzer stellt historische Daten in Bezug auf die Verkäufe des Produkts an seinem Standort in Kanata in Form von Verkaufsortdaten, Lagerbestand, Werbeinformationen u.ä. dem Aufnahmemodul 308 (aus 1) zur Verfügung, das die Daten vorverarbeitet und in dem ML-Speicher 106 speichert. Darüber hinaus stellt der Benutzer fortlaufend Daten in Bezug auf den Verkauf des Produkts an dem Standort Kanata bereit, so dass der ML-Speicher 106 laufend aktualisiert wird.
  • Externe Daten, die sich auf die Produktverkäufe in Kanata beziehen, werden durch das externe Datenmodul 110 aus (der) externen Datenquelle(n) 108 bezogen. Zu diesen externen Daten gehören historische Wetterdaten für Kanata und die umliegende Region, Feiertage und Ereignisse im Laufe des Jahres für Kanata, Marktindizes für die Provinz Ontario (in der Kanata liegt) und Kanada sowie andere Finanzdaten im Zusammenhang mit Kanata. Die externen Daten werden ebenfalls vorverarbeitet und in dem ML-Speicher 106 gespeichert. Wie die Benutzerdaten werden auch die externen Daten laufend aktualisiert.
  • Das Überwachungsmodul 112 empfängt die Vorhersageanfrage von dem Anfragemodul 116 und bestimmt, ob diese Anfrage die erste Anfrage für das bestimmte Produkt in seinem Ladengeschäft in Kanata ist oder nicht. Wenn es sich um die erste Anfrage dieser Art handelt, kennzeichnet das Überwachungsmodul 112 die Vorhersageanfrage für einen Modellauswahlvorgang durch das Vorhersagemodul 114. Handelt es sich dagegen um eine spätere Vorhersageanfrage, durchläuft das Überwachungsmodul 112 das in 10 gezeigte Flussdiagramm und kennzeichnet die Vorhersageanfrage gegebenenfalls für das Vorhersagemodul 114 oder weist das Vorhersagemodul 114 einfach an, den Bedarf für die nächsten 13 Wochen vorherzusagen.
  • Wenn die Vorhersageanfrage die erste ihrer Art ist, führt das Vorhersagemodul 114 einen Modellauswahlvorgang durch, bei dem sämtliche für das bestimmte Produkt in dem Kanata-Speicher relevanten historischen Daten aus dem ML-Speicher 106 abgefragt werden. Das Vorhersagemodul 114 erzeugt dann Merkmale (sowohl für externe Daten als auch für von dem Benutzer gelieferte Daten) und führt diese mit den Bedarfsdaten (dem Ziel für die Vorhersage - bereits vom Benutzer gelieferte Daten) zusammen. Aus dem gesamten historischen Satz wird ein Trainings- und Validiersatz erstellt, wobei verschiedene Verfahren angewandt werden, um die beste Konfiguration von Merkmalen und Modellen zu finden, wobei jede Konfiguration verglichen und die beste gemäß einer Metrik der Wahl (z.B. MAE, MASE usw.) ausgewählt wird. Diese Konfiguration (z.B. Merkmale und Hyperparameter) wird in dem Datenspeicher gespeichert, wobei das ausgewählte Modell an einem größeren Trainingssatz trainiert und seine Leistung an einem Testsatz gemessen wird, der den neuesten Daten entspricht, die über die Produktverkäufe in dem Kanata-Ladengeschäft erfasst wurden. Das ML-Modell und seine Leistung werden zudem in dem ML-Speicher 106 gespeichert.
  • Anschließend wird mit dem trainierten Modell eine Vorhersage für einen Zeitraum von 13 Wochen im Voraus berechnet. Darüber hinaus werden Erklärungen zu jedem Punkt der Vorhersage entsprechend den von dem Modell verwendeten Merkmalen und dem, was sie für jede Vorhersage mit sich brachten, berechnet.
  • 13 zeigt eine Vorhersage des Maschinenlernens 1300 gemäß einer Ausführungsform. In 13 wird zum ersten Mal eine Anfrage gestellt. Die Verkäufe des Produkts in einem bestimmten Ladengeschäft in Kanata sind auf der Y-Achse gegenüber einem Kalenderdatum (von 2016-2018) auf der X-Achse dargestellt.
  • Die tatsächlichen Verkäufe sind (durch eine Volllinie) von etwa September 2016 bis August 2018 angezeigt, wobei die Verkäufe im Jahr 2017 um den Monat August und im Jahr 2018 um Juli-August ihren Höhepunkt erreichen. Der historische Datensatz erstreckt sich also von September 2016 bis August 2018, ein Zeitraum von 2 Jahren. Die historischen Daten bestanden aus den täglichen Verkäufen in einem Ladengeschäft für das eine Produkt, während die externen Daten aus Feiertagen bestanden (d.h. keine Wetterinformationen, keine Marktindizes).
  • Die Gesamtdauer des anfänglichen Trainings und der Validierung dauert von September 2016 bis zum 15. Januar 2018, worauf die Versuche stattfinden (wie durch den schwarzen Punkt 1302 angezeigt). Eine Reihe von ML-Modellen, wie z.B. gradientenverstärkte Bäume, eine Zusammenstellung von Bäumen und Stützvektorregression, wurden während des anfänglichen Trainingssatzes verwendet. Ein gradientenverstärktes Baummodell, Light GBM, wurde während der Validierung ausgewählt und von September 2016 bis zum 15. Januar 2018 an dem Datensatz erneut trainiert. In diesem Beispiel wurden sämtliche Daten, mit Ausnahme der letzten 20%, für das Training des ausgewählten Modells verwendet. In einigen Ausführungsformen kann der Testdatensatz der kleinere des Datensatzes aus dem Zeitraum der letzten 10-20 Wochen und die letzten 20% des gesamten Datensatzes sein. In einigen Ausführungsformen, bei denen sich der historische Datensatz über ein Jahr (52 Wochen) erstreckt, kann der Trainings-/Validierzeitraum 40-42 Wochen betragen, während die restlichen 10-12 Wochen für die Prüfung des ausgewählten Modells verwendet wurden. In einigen Ausführungsformen kann ein verschachteltes Validierschema verwendet werden. Das beste ML-Modell kann nach einer von dem Benutzer festgelegten Konfiguration oder nach beliebigen Standardkriterien wie MASE, MAE, WMAPE (gewichteter mittlerer absoluter prozentualer Fehler) usw. ausgewählt werden.
  • In 13 sind die Ergebnisse für die Testperiode vom 15. Januar 2018 bis 31. August 2018 dargestellt. Die vorausgesagten ML-Ergebnisse sind in der Legenden-Tabelle 1304 als „vorausgesagter Verkauf“ (Linie mit durchgezogenen Kreisen) dargestellt, während die tatsächlichen Verkäufe als „Wochenverkäufe“ (Volllinie) gekennzeichnet sind. Zum Vergleich ist zudem eine saisonale Vorhersage (Linie mit durchgezogenen Dreiecken) für die Testperiode angezeigt. Die saisonale Vorhersage wird durch einfaches Kopieren der wöchentlichen Verkäufe, die ein Jahr zuvor stattgefunden haben, ausgeführt. In diesem Beispiel ist die saisonale Vorhersage für die Wochen vom 20. Februar 2018 bis zum 31. August 2018 identisch mit den wöchentlichen Verkäufen in den Wochen vom 20. Februar 2017 bis zum 31. August 2018.
  • Die Genauigkeit des ML-Modells in 13 wurde relativ zu der Genauigkeit der saisonalen Vorhersage mit MASE bewertet. Da die Genauigkeit der saisonalen Vorhersage auf einen MASE-Wert von 1,0 normalisiert wurde, ergab sich für das ML-Modell ein MASE-Wert von 0,81; d.h. das ML-Modell war bei der Vorhersage der wöchentlichen Verkäufe genauer als die Verfahren der saisonalen Vorhersage.
  • Darüber hinaus liefert 13 ein Intervall der Verkäufe zwischen dem vorhergesagten 10. und 90. Perzentil für das ML-Modell. Dieses Intervall wurde mittels Quantilregression erzeugt. In einigen Ausführungsformen ist ein Quintilregressionsansatz möglicherweise nicht für sämtliche ML-Modelle möglich. Das heißt, andere ML-Modelle verwenden möglicherweise ein anderes Schema (d.h. keine Quantilregression), um ein derartiges Intervall zu erhalten.
  • FEATURE-ENGINEERING
  • 14 zeigt ein Feature-Engineering-Flussdiagramm 1400 gemäß einer Ausführungsform.
  • In Schritt 1404 werden Benutzersignale zur Aufnahme bereitgestellt. Wenn Metadaten für jedes Benutzersignal nicht zur Verfügung gestellt werden, können diese in Schritt 1408 erzeugt werden. In ähnlicher Weise können in Schritt 1410 ein oder mehrere externe Signale (z.B. Wetter-, Finanzdatensätze usw.) zur Aufnahme bereitgestellt werden. Vor dem Verschmelzen von Daten sollte geprüft werden, ob im Entscheidungsblock 1416 Bereiche vorhanden sind oder nicht; wenn ja, wird der betreffende Datensatz in Schritt 1418 erweitert, und in Schritt 1420 werden Metadaten des/der erweiterten Datensatzes/Datensätze erzeugt. Nachdem die Daten in Schritt 1422 verschmolzen wurden, werden Merkmale auf der Grundlage gültiger Kombinationen erzeugt, die mit der Eingabe von Umwandlungen aus einer Bibliothek von Umwandlungen in Schritt 1424 übereinstimmen. Die erzeugten Merkmale können durch Auswahl von Merkmalen in Schritt 1426 gefiltert werden. Schließlich werden die ausgewählten Merkmale in Schritt 1428 zum Trainieren und Auswählen eines Maschinenlernmodells verwendet.
  • 15 bis 22 veranschaulichen ein Beispiel für Feature-Engineering.
  • SCHRITT 1: AUFNAHME VON DATEN
  • 15 zeigt die Daten für die Aufnahme 1500 gemäß einer Ausführungsform. In dem in 15 gezeigten Beispiel hat ein Benutzer zwei Signale, von denen das eine die historischen Bedarfsdaten 1502 und das andere die historischen Werbungsdaten 1510 umfasst. Für jedes Signal sind zwei Dateien erforderlich: eine Datendatei und eine Metadatendatei, die den Inhalt der Datendatei definiert. Daten- und Metadatendateien werden automatisch aufgenommen, sobald sie hochgeladen werden.
  • Eine Datendatei umfasst Spalten und Werte für ein bestimmtes Signal, während die (der Datendatei zugeordnete) Metadatendatei die Spaltennamen und ihre zugehörigen Typen umfasst. In einigen Ausführungsformen kann ein maschineller Lerntyp in Form von zulässigen Operationen definiert werden. Beispielsweise können eine Kategorie und eine numerische Größe beide durch ganze Zahlen dargestellt werden, haben aber unterschiedliche Bedeutungen und Verwendungen.
  • In 15 umfassen die Datendatei historische Bedarfsdaten 1502 fünf Spalten: Teile-ID, Kunden-ID, Datum, Menge und Standort. Jede Zeile der historischen Bedarfsdaten 1502 umfasst einen Wert. Die historischen Bedarfsmetadaten 1504 umfassen daher fünf Zeilen: eine Zeile für jede Spaltennamens-ID 1506. Jede Spaltennamens-ID 1506 hat einen zugehörigen Spaltentyp 1508: eine Teil-ID hat den Spaltentyp „Schlüsseltyp“; eine Kunden-ID hat ebenfalls den Spaltentyp „Schlüsseltyp“; das Datum hat den Spaltentyp „Datumstyp“; die Menge hat den Spaltentyp „Vorhersagetyp“; und der Standort hat den Spaltentyp „Schlüsseltyp“ .
  • In 15 umfasst die Datendatei historische Werbungsdaten 1510 vier Spalten: Teil-ID, Startdatum, Enddatum und Werbung. Das heißt, für eine bestimmte Teil-ID hat die zugehörige Werbeaktion ein Start- und Enddatum. Beispielsweise hat die Teil-ID ‚A‘ eine „Verkaufs“-Werbung, die am 1. Januar 2019 beginnt und am 4. Januar 2019 endet. Darüber hinaus hat Teil-ID ‚A‘ eine „Feiertags“-Werbung, die am 8. Januar 2019 beginnt und am 15. Januar 2019 endet.
  • Die Metadaten der historischen Werbung 1512 umfassen daher vier Zeilen: eine Zeile für jede Spaltennamen-ID 1506. Jede Spaltennamen-ID 1506 hat einen zugehörigen Spaltentyp 1508: eine Teil-ID hat den Spaltentyp „Schlüsseltyp“; das Startdatum hat den Spaltentyp „Datumsbereichstyp“; das Enddatum hat den Spaltentyp „Datumsbereichstyp“; und Werbung hat den Spaltentyp „Veranstaltungstyp“. Es wird darauf hingewiesen, dass es sich bei „Startdatum“ und „Enddatum“ zwar jeweils um Datumsangaben handelt, diese jedoch nicht als „Datum“, sondern als Spaltentyp „Datumsbereichstyp“ definiert sind.
  • Sobald die Daten in eine Datenbank geladen sind, können externe Signale auf der Grundlage der Daten in den historischen Bedarfsdaten 1502 und/oder den historischen Werbungsdaten 1510 aufgenommen werden. Beispielsweise können Wettersignale hochgeladen werden, da „Standort“ ein spezieller Spaltenname ist, der immer eine physische Adresse angibt, wenn er in einer hochgeladenen Datei vorhanden ist. Daher kann die Datenbank automatisch mit einer Daten- und Metadatendatei für die öffentlichen Wetterdaten befüllt werden. Ein weiteres Beispiel können finanzielle Signale in Bezug auf Orte sein, die in den historischen Werbungsdaten 1510 aufgeführt sind.
  • 16 zeigt historische Wetterdaten 1602 und historische Wettermetadaten 1604, die automatisch in eine Datenbank hochgeladen wurden, unter Verwendung der Standorte, die in den historischen Bedarfsdaten 1502 von 15 aufgeführt sind.
  • In 16 umfasst die Datendatei historische Wetterdaten 1602 drei Spalten: Standort, Datum und Temperatur. Das heißt, für einen bestimmten Standort und ein bestimmtes Datum wird eine aufgezeichnete Temperatur angegeben. Zum Beispiel zeigt die erste Zeile der historischen Wetterdaten 1602 eine Temperatur von 72 F in New York City am 2. Januar 2019 an. Eine nachfolgende Zeile historischer Wetterdaten 1602 zeigt eine Temperatur von 85 F in London am 2. Februar 2019 an.
  • Die historischen Wettermetadaten 1604 umfassen daher drei Zeilen: eine Zeile für jede Spaltennamen-ID 1506. Jede Spaltennamen-ID 1506 hat einen zugehörigen Spaltentyp 1508: „Standort“ hat den Spaltentyp „Schlüsseltyp“; „Datum“ hat den Spaltentyp „Datumstyp“; und „Temperatur“ hat den Spaltentyp „Numerischer Typ“.
  • SCHRITT 2: VERSCHMELZUNG
  • Sobald sämtliche relevanten Datentabellen in der Datenbank sind und sämtliche relevanten Arten von Spalten bekannt sind (über die Metadaten-Tabellen), können Tabellen miteinander verschmolzen werden. Der Prozess der Verschmelzung bezieht sich auf das Zusammenfügen mehrerer Tabellen unter Verwendung von domänenübergreifendem Wissen.
  • Anknüpfend an die in 15 und 16 gezeigten Beispiele werden die historischen Wetter- und Werbungstabellen unter Verwendung der entsprechenden Schlüsselfelder mit den historischen Bedarfsdaten verbunden.
  • Explodierende Datumsbereiche
  • Vor dem Zusammenführen mit den historischen Werbungsdaten 1510 wird der Datumsbereich erweitert, so dass ein Abgleich an allen Tagen, an denen die Werbungen stattfinden, ausgeführt werden kann. Danach kann der neue erweiterte Datensatz so zusammengeführt werden, als ob die Werbungen auf täglicher Basis erfolgen würden. Der Datumsbereich wird zu einem einzigen Datum erweitert, so dass jeder Tag innerhalb des Datumsbereichs eine separate Zeile ist.
  • Dies ist in 17 veranschaulicht, in der die ursprünglichen historischen Werbungsdaten 1510 neben den erweiterten historischen Werbungsdaten 1702 dargestellt sind. In der ersten Zeile 1704 der historischen Werbungsdaten 1510 hat die Teil-ID „A“ eine „Verkaufs“-Werbung zwischen dem 1. Januar 2019 und dem 4. Januar 2019. In den erweiterten historischen Werbungsdaten 1702 wird diese eine Zeile auf vier Zeilen erweitert (obwohl nur zwei angezeigt werden): Die „Verkaufs“-Werbung für die Teil-ID „A“ wird für die Daten 1. Januar 2019 (angezeigt), 2. Januar 2019 (angezeigt), 3. Januar 2019 (nicht angezeigt) und 4. Januar 2019 (nicht angezeigt) aufgeführt.
  • Ähnlich hat in der zweiten Zeile 1706 der historischen Werbungsdaten 1510, die Teil-ID „A“ eine „Feiertags“-Werbung zwischen dem 8. Januar 2019 und dem 15. Januar 2019. In den erweiterten historischen Werbungsdaten 1702 wird diese eine Zeile auf acht Zeilen erweitert (obwohl nur zwei angezeigt werden): „Feiertags“-Werbung für Teil-ID „A“ wird für die Daten 8. Januar 2019 (gezeigt), 9. Januar 2019 (gezeigt), 10. Januar 2019 (nicht gezeigt), 11. Januar 2019 (nicht gezeigt), 12. Januar 2019 (nicht gezeigt), 13. Januar 2019 (nicht gezeigt), 14. Januar 2019 (nicht gezeigt) und 15. Januar 2019 (nicht gezeigt) aufgeführt.
  • Dieselbe Erweiterung gilt für sämtliche anderen Zeilen der historischen Werbedaten 1510. Zum Beispiel hat in Zeile 1708 der historischen Werbedaten 1510, die Teil-ID „B“ eine „Wochenend“-Werbung zwischen dem 2. Januar 2019 und dem 5. Januar 2019. In den erweiterten historischen Werbungsdaten 1702 wird diese eine Zeile auf vier Zeilen erweitert (obwohl nur zwei angezeigt sind): Die „Wochenend“-Werbung für die Teil-ID „B“ wird für die Daten 2. Januar 2019 (angezeigt), 3. Januar 2019 (angezeigt), 4. Januar 2019 (nicht angezeigt) und 5. Januar 2019 (nicht angezeigt) aufgeführt.
  • Ähnlich hat in Zeile 1710 der historischen Werbedaten 1510, die Teil-ID „B“ eine „Verkaufs“-Werbung zwischen dem 2. Februar 2019 und dem 7. Februar 2019. In den erweiterten historischen Werbungsdaten 1702 wird diese eine Zeile auf sechs Zeilen erweitert (obwohl nur zwei angezeigt werden): Die „Verkaufs“-Werbung für die Teil-ID „B“ wird für die Daten 2. Februar 2019 (angezeigt), 3. Februar 2019 (angezeigt), 4. Februar 2019 (nicht angezeigt), 5. Februar 2019, 6. Februar 2019 (nicht angezeigt) und 7. Februar 2019 aufgeführt.
  • Erster Zusammenführungsvorgang (Bedarf und Werbung)
  • Von den beiden Metadatentabellen historische Bedarf-Metadaten 1504 und Historische Wetter-Metadaten 1604 teilt sich die historische Bedarfstabelle (d.h. historische Bedarfsdaten 1502) den Teil-ID-Schlüssel und die Datumsspalte mit der Tabelle historische Werbung (d.h. historische Werbungsdaten 1510). Diese beiden Tabellen können auf der Grundlage dieser beiden gemeinsamen Spalten miteinander verschmolzen (zusammengeführt) werden.
  • Dies ist in 18 dargestellt, wo die historischen Bedarfsdaten 1502 mit den erweiterten historischen Werbungsdaten 1702 verschmolzen werden, um die verschmolzenen Bedarfs- und Werbungsdaten 1802 zu ergeben. Es wird darauf hingewiesen, dass in 18 die Werbungen mit den Bedarfsdaten am 02.01.2019 verschmolzen wurden, obwohl dieses Datum nirgendwo in den ursprünglichen Werbungsdaten existierte. Diese Art von Vorgang unterscheidet die Verschmelzung von der einfachen Zusammenführung, da die Daten kombiniert und gruppiert werden können, auch wenn es keine genauen Schlüsselübereinstimmungen gibt.
  • Ein weiteres Beispiel hierfür kann die Zusammenführung von Signalen sein, die auf einer Provinz oder einem Landkreis basiert, während der Standort selbst eine Adresse oder eine Stadt sein kann. Ein derartiger Verschmelzungsvorgang kann geografisch nahe beieinander liegende Signale miteinander verbinden, ohne dass ein Benutzer die Beziehung zwischen ihnen oder die Granularität der Standortdaten definieren muss.
  • Zweiter Zusammenführungsvorgang (Wetterdaten)
  • Da die historischen Bedarfsdaten 1502 und die historischen Wetterdaten 1602 Datum und Standort gemeinsam haben, können die Daten in diesen beiden gemeinsamen Spalten zusammengeführt werden. Dies ist in 19 dargestellt.
  • SCHRITT 3: MERKMALSERZEUGUNG
  • Sobald sämtliche relevanten Signale verschmolzen sind, können zusätzliche Funktionen erzeugt werden, die zusätzliche Vorhersagekraft haben können. Eine derartige Erzeugung erfolgt aus i) den Metadaten für die verschmolzenen Daten, ii) der Bibliothek der unterstützten Umwandlungen und iii) den verschmolzenen Daten. Dies ist in 20 dargestellt, in der zu sehen ist: vollständig fusionierte Daten 1902, fusionierte Metadaten 2002 und eine Umwandlungsbibliothek 2004.
  • Aus den verschmolzenen Metadaten 2002 und der Umwandlungsbibliothek 2004 lassen sich sämtliche Spaltenkombinationen ermitteln, die mit den Eingabetypen der verschiedenen Umwandlungen übereinstimmen, wie die Umwandlungs- und Spaltenkombinationen 2102 zeigen.
  • Nun, da sämtliche anwendbaren Kombinationen von Spalten und Umwandlungen bekannt sind (aus der Umwandlung und den Spaltenkombinationen 2102), können diese auf die vollständig verschmolzenen Daten 1902 angewendet werden, um eine endgültige Tabelle, die merkmalserzeugte Daten 2104, zu erhalten, die zum Trainieren der Maschinenlernmodelle verwendet werden kann. Aus Gründen der Kürze der merkmalserzeugten Daten 2104 wurden einige Spaltennamen abgekürzt, damit sie in eine einzige Zeile passen.
  • SCHRITT 4: MERKMALSAUSWAHL
  • Sobald Merkmale erzeugt wurden, können diese auf einen kleineren Satz von Spalten heruntergefiltert werden, die eine verbesserte Vorhersagekraft haben. Dies geschieht durch einen Algorithmus zur Merkmalsauswahl, der einen Satz von erzeugten Merkmalen nehmen und diejenigen mit der geringsten Informationsmenge verwerfen kann.
  • In einigen Ausführungsformen wird jedes erzeugte Merkmal, bei dem die Varianz über den interessierenden Zeitraum gering oder null ist, eliminiert. Anschließend werden die Beziehungen zwischen den Merkmalen und der vorherzusagenden Menge modelliert, um die erzeugten Merkmale in eine Rangfolge zu bringen oder zu bewerten. Bei einigen Ausführungsformen umfasst dieser Ansatz auch die Schätzung der gegenseitigen Informationen zwischen jedem Merkmal und der interessierenden Menge, wobei eine Reihe von Spitzenmerkmalen hinsichtlich ihrer gegenseitigen Informationsbewertung beibehalten wird. Dies kann zum Beispiel ein Satz von 30, 40 oder mehr Top-Merkmalen sein. Derartige Schätzungen können auch kaskadiert werden, um einen endgültigen reduzierten Satz von Merkmalen (z.B. 15, 20 usw.) zu erhalten, der in die Maschinenlernmodelle eingespeist wird. Verschiedene Typen der Maschinenlernmodelle unterstützen zudem unterschiedliche Größen von Merkmalssätzen, so dass die Auswahl von Merkmalen zu unterschiedlichen Sätzen führt und die Maschinenlernmodelle unterschiedliche Sätze verwenden, je nachdem, wie jedes Modell mit unterschiedlichen Größen von Merkmalssätzen umgeht.
  • Es wird in dem Beispiel in 15 bis 21 angenommen, dass Temperatur, Monat und Jahr die höchste Vorhersagekraft haben. Sämtliche Spalten der merkmalserzeugten Daten 2104 werden herausgefiltert, mit Ausnahme der Schlüsselspalten, der Datumsspalte und der Spalte Vorhersagetyp. Dies ist in 22 dargestellt.
  • Mit Hilfe der Diskretion kann ausgewählt werden, welche Funktionen für das nachfolgende maschinelle Lernen verwendet werden sollen.
  • SCHRITT 5: MODELLTRAINING UND MERKMALOPTIMIERUNG
  • 23 zeigt ein Modelltraining und die Merkmaloptimierung 2300 gemäß einer Ausführungsform. Sobald die merkmalsausgewählten Daten 2202 (siehe 22) fertig gestellt sind, werden sie für das Training einer Vielzahl von Maschinenlernmodellen (Maschinenlernmodell #1 2302, Maschinenlernmodell #2 2310 usw.) verwendet. Jedes trainierte Modell (d.h. das trainierte Modell #1 2304, das trainierte Modell #2 2312, usw.) wird ausgewertet und ein am besten erneut trainiertes Modell 2314 ausgewählt. Neue Daten 2306 werden dann durch das am besten erneut trainierte Modell 2314 verarbeitet, um eine Vorhersage 2308 zu erstellen. Darüber hinaus kann ein Modell an den merkmalsgewählten Daten 2202 unter Verwendung verschiedener Konfigurationen des Modells (z.B. unterschiedliche Anzahl von Schichten in einem neuronalen Netz) trainiert werden; dann kann die Konfiguration ausgewählt werden, die die genaueste Vorhersage der Trainingsdaten liefert.
  • Obwohl die oben beschriebenen Algorithmen einschließlich der Algorithmen, die sich auf die vorstehenden Flussdiagramme beziehen, separat beschrieben wurden, versteht es sich, dass zwei oder mehr der hier offengelegten Algorithmen in jeder beliebigen Kombination kombiniert werden können. Jedes der hier beschriebenen Verfahren, Module, Algorithmen, Anwendungen oder Vorgänge kann maschinenlesbare Anweisungen zur Ausführung umfassen durch: (a) einen Prozessor, (b) eine Steuereinheit und/oder (c) jede andere geeignete Verarbeitungsvorrichtung. Jeder Algorithmus, jede Software oder Verfahren, die hier offenbart wird, kann in Software ausgeführt sein, die auf einem nicht flüchtigen, greifbaren Medium wie z.B. einem Flash-Speicher, einer CD-ROM, einer Diskette, einer Festplatte, einer DVD oder anderen Speichervorrichtungen gespeichert ist, wobei Personen mit gewöhnlichen Kenntnissen auf diesem Gebiet der Technik verstehen werden, dass der gesamte Algorithmus und/oder Teile davon alternativ durch eine andere Vorrichtung als eine Steuereinheit ausgeführt werden könnten und/oder in bekannter Weise in Firmware oder dedizierter Hardware ausgeführt sein könnten (z.B. kann er durch eine anwendungsspezifische integrierte Schaltung (ASIC), eine programmierbare Logikvorrichtung (PLD), eine anwenderprogrammierbare Logikvorrichtung (FPLD), diskrete Logik usw. ausgeführt werden.) Wenngleich weiterhin spezifische Algorithmen unter Bezugnahme auf die hier dargestellten Flussdiagramme beschrieben wurden, werden Personen mit gewöhnlichen Kenntnissen auf diesem Gebiet der Technik verstehen, dass alternativ viele andere Verfahren zur Ausführung der maschinenlesbaren Beispielbefehle verwendet werden können. Zum Beispiel kann die Reihenfolge der Ausführung der Blöcke geändert werden und/oder einige der beschriebenen Blöcke können geändert, beseitigt oder kombiniert werden.
  • Es wird darauf hingewiesen, dass die hier dargestellten und diskutierten Algorithmen aus verschiedenen Modulen bestehen, die bestimmte Funktionen erfüllen und miteinander interagieren. Es versteht sich, dass diese Module lediglich auf der Grundlage ihrer Funktion zum Zwecke der Beschreibung getrennt sind und Computer-Hardware und/oder ausführbaren Software-Code darstellen, der auf einem computerlesbaren Medium zur Ausführung auf geeigneter Computer-Hardware gespeichert ist. Die verschiedenen Funktionen der verschiedenen Module und Einheiten können als Hardware und/oder Software, die auf einem nicht flüchtigen computerlesbaren Medium wie oben beschrieben als Module gespeichert sind, in beliebiger Weise kombiniert oder getrennt werden und können getrennt oder in Kombination verwendet werden.
  • Es wurden besondere Ausführungsformen des Gegenstandes beschrieben. Andere Ausführungsformen fallen in den Geltungsbereich der folgenden Ansprüche. Beispielsweise können die in den Ansprüchen genannten Handlungen in einer anderen Reihenfolge ausgeführt werden und dennoch wünschenswerte Ergebnisse erzielen. Als ein Beispiel erfordern die in den begleitenden Zeichnungen dargestellten Vorgänge nicht unbedingt die dargestellte besondere Reihenfolge oder sequenzielle Reihenfolge, um wünschenswerte Ergebnisse zu erzielen. Bei bestimmten Anwendungen können Multitasking und Parallelverarbeitung vorteilhaft sein.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 16/599143 [0001]
    • US 20140156346 [0005]
    • US 2012030343411 [0006]

Claims (21)

  1. Computerimplementiertes Verfahren für das Feature-Engineering, wobei das Verfahren folgende Schritte umfasst: Empfangen eines oder mehrerer interner Signale durch ein Aufnahmemodul; Empfangen eines oder mehrerer externer Signale durch das Aufnahmemodul; Verschmelzen von Daten aus dem einen oder mehreren internen Signalen und dem einen oder mehreren externen Signalen, wobei das Verschmelzen auf Metadaten jedes der einen oder mehreren internen Signale und jedes der einen oder mehreren externen Signale basiert; und Erzeugen einer Vielzahl von Merkmalen auf der Grundlage einer oder mehrerer gültiger Kombinationen, die mit einer Umwandlungseingabe übereinstimmen, wobei die Umwandlung Teil einer Umwandlungsbibliothek ist.
  2. Computerimplementiertes Verfahren nach Anspruch 1, weiterhin umfassend: Auswählen eines oder mehrerer Merkmale aus der Vielzahl von Merkmalen auf der Grundlage einer Vorhersagekraft jedes Merkmals, um einen Satz ausgewählter Merkmale bereitzustellen.
  3. Computerimplementiertes Verfahren nach Anspruch 2, weiterhin umfassend: Verwenden des Satzes ausgewählter Merkmale zum Trainieren eines oder mehrerer Maschinenlernmodelle.
  4. Computerimplementiertes Verfahren nach Anspruch 1, bei dem: das externe Signal ein Wettersignal und/oder ein Finanzsignal ist.
  5. Computerimplementiertes Verfahren nach Anspruch 1, bei dem wenigstens eines der internen Signale und der externen Signale einen Bereich umfasst; und das wenigstens eine der internen Signale und der externen Signale erweitert wird, um ein oder mehrere einzelne Felder des Bereichs einzuschließen.
  6. Computergerät, wobei das Computergerät umfasst: einen Prozessor; und einen Speicher, der Befehle speichert, die, wenn sie von dem Prozessor ausgeführt werden, das Gerät dazu einrichten: durch ein Aufnahmemodul ein oder mehrere interne Signale zu empfangen; durch das Aufnahmemodul ein oder mehrere externe Signale zu empfangen; Daten von dem einen oder den mehreren internen Signalen und dem einen oder den mehreren externen Signalen zu verschmelzen, wobei das Verschmelzen auf Metadaten von jedem des einen oder der mehreren internen Signale und jedem des einen oder der mehreren externen Signale basiert; und eine Vielzahl von Merkmalen auf der Grundlage einer oder mehrerer gültiger Kombinationen zu erzeugen, die einer Umwandlungseingabe entsprechen, wobei die Umwandlung Teil einer Umwandlungsbibliothek ist.
  7. Computergerät nach Anspruch 6, bei dem die Anweisungen das Gerät weiterhin dazu einrichten: ein oder mehrere Merkmale aus der Vielzahl von Merkmalen basierend auf einer Vorhersagekraft jedes Merkmals auszuwählen, um einen Satz von ausgewählten Merkmalen bereitzustellen.
  8. Computergerät nach Anspruch 7, bei dem die Anweisungen das Gerät weiterhin dazu einrichten: den Satz ausgewählter Merkmale zu verwenden, um ein oder mehrere Maschinenlernmodelle zu trainieren.
  9. Computergerät nach Anspruch 6, bei dem: das externe Signal ein Wettersignal und/oder ein Finanzsignal ist.
  10. Computergerät nach Anspruch 6, bei dem wenigstens eines der internen Signale und der externen Signale einen Bereich umfasst; und das wenigstens eine der internen Signale und externen Signale erweitert wird, um ein oder mehrere einzelne Felder des Bereichs zu umfassen.
  11. Nicht flüchtiges computerlesbares Speichermedium, wobei das computerlesbare Speichermedium Befehle umfasst, die, wenn sie von einem Computer ausgeführt werden, den Computer veranlassen: durch ein Aufnahmemodul ein oder mehrere interne Signale zu empfangen; durch das Aufnahmemodul ein oder mehrere externe Signale zu empfangen; Daten von dem einen oder den mehreren internen Signalen und dem einen oder den mehreren externen Signalen zu verschmelzen, wobei das Verschmelzen auf der Grundlage von Metadaten jedes der einen oder mehreren internen Signale und jedes der einen oder mehreren externen Signale basiert; und eine Vielzahl von Merkmalen auf der Grundlage einer oder mehrerer gültiger Kombinationen zu erzeugen, die mit einer Umwandlungseingabe übereinstimmen, wobei die Umwandlung Teil einer Umwandlungsbibliothek ist.
  12. Computerlesbares Speichermedium nach Anspruch 11, bei dem die Anweisungen den Computer weiterhin dazu einrichten: ein oder mehrere Merkmale aus der Vielzahl von Merkmalen auf der Grundlage einer Vorhersagekraft jedes Merkmals auszuwählen, um einen Satz ausgewählter Merkmale bereitzustellen.
  13. Computerlesbares Speichermedium nach Anspruch 12, bei dem die Anweisungen den Computer weiterhin dazu einrichten: den Satz ausgewählter Merkmale zu verwenden, um ein oder mehrere Maschinenlernmodelle zu trainieren.
  14. Computerlesbares Speichermedium nach Anspruch 11, bei dem: das externe Signal ein Wettersignal und/oder ein Finanzsignal ist.
  15. Computerlesbares Speichermedium nach Anspruch 11, bei dem wenigstens eines der internen Signale und der externen Signale einen Bereich umfasst; und das wenigstens eine der internen Signale und der externen Signale erweitert wird, um ein oder mehrere einzelne Felder des Bereichs einzuschließen.
  16. Computerimplementiertes Verfahren zum Vorhersagen von Verkäufen eines Produkts an einem Standort, wobei das Verfahren folgende Schritte umfasst: Empfangen historischer Daten, die mit dem Produkt verbunden sind, an einem Aufnahmemodul; Verarbeiten historischer Produktdaten durch das Aufnahmemodul; Bereitstellen verarbeiteter historischer Produktdaten für eine Maschinenlern-Speichervorrichtung; Abrufen historischer Standortdaten, die mit dem Standort assoziiert sind, durch ein externes Datenmodul; Verarbeiten der historischen Standortdaten durch das externe Datenmodul; Bereitstellen verarbeiteter historischer Standortdaten für die Maschinenlern-Speichervorrichtung; Empfangen einer Anfrage für eine Vorhersage der Verkäufe des Produkts durch ein Überwachungsmodul an dem Standort; Bestimmen eines Vorhersageverfahrens zur Erstellung der Vorhersage durch das Überwachungsmodul; Übermitteln von Anweisungen zur Ausführung des Vorhersageverfahrens an ein Vorhersagemodul durch das Überwachungsmodul; Zugreifen auf die verarbeiteten historischen Produktdaten, die verarbeiteten historischen Standortdaten und ein oder mehrere Maschinenlernmodelle aus der Maschinenlern-Speichervorrichtung durch das Vorhersagemodul; Entwickeln eines oder mehrerer Merkmale, die mit den verarbeiteten historischen Produktdaten und/oder den verarbeiteten historischen Standortdaten assoziiert sind, durch das Vorhersagemodul; Bereitstellen der Vorhersage auf der Grundlage des Vorhersageverfahrens durch das Vorhersagemodul; und Hochladen der Vorhersage in den Maschinenlernspeicher; wobei: das Entwickeln eines oder mehrerer Merkmale umfasst: Empfangen eines oder mehrerer interner Signale durch das Aufnahmemodul; Empfangen eines oder mehrerer externer Signale durch das Aufnahmemodul; Verschmelzen von Daten von dem einen oder den mehreren internen Signalen und dem einen oder den mehreren externen Signalen, wobei das Verschmelzen auf Metadaten von jedem des einen oder der mehreren internen Signale und jedem des einen oder der mehreren externen Signale basiert; Erzeugen einer Vielzahl von Merkmalen auf der Grundlage einer oder mehrerer gültiger Kombinationen, die mit einer Umwandlungseingabe übereinstimmen, wobei die Umwandlung Teil einer Umwandlungsbibliothek ist; Auswählen eines oder mehrerer Merkmale aus der Vielzahl von Merkmalen auf der Grundlage einer Vorhersagekraft jedes Merkmals, um einen Satz ausgewählter Merkmale bereitzustellen; und Verwenden des Satzes ausgewählter Merkmale, um das eine oder die mehreren Maschinenlernmodelle zu trainieren; und wobei: das Vorhersageverfahren in Echtzeit entweder: i) das Auswählen eines Maschinenlernmodells aus dem einen oder den mehreren Maschinenlernmodellen zur Erstellung der Vorhersage; oder ii) das erneute Trainieren eines zuvor ausgewählten Maschinenlernmodells aus dem einen oder den mehreren Maschinenlernmodellen und das Verwenden des erneut trainierten Modells zur Erstellung der Vorhersage; oder iii) das Erstellen der Vorhersage auf der Grundlage des zuvor ausgewählten Modells umfasst.
  17. Computerimplementiertes Verfahren nach Anspruch 16, bei dem: die Anfrage für die Vorhersage eine erste Anfrage ist; das Vorhersagemodul das Maschinenlernmodell auswählt, um die Vorhersage zu machen, wobei das Auswählen umfasst: Trainieren des einen oder der mehreren Maschinenlernmodelle an einem ersten Abschnitt eines Datensatzes; Validieren des Maschinenlernmodells an einem zweiten Abschnitt des Datensatzes; und erneutes Trainieren des Maschinenlernmodells an einer Summe aus dem ersten Abschnitt und dem zweiten Abschnitt, wobei der Datensatz eine Gesamtsumme aus den verarbeiteten historischen Produktdaten und den verarbeiteten historischen Standortdaten umfasst.
  18. Computerimplementiertes Verfahren nach Anspruch 16, bei dem: die Anfrage für die Vorhersage keine erste Anfrage ist; dem Maschinenlernspeicher seit einer letzten Vorhersage eine neue Kategorie verarbeiteter Daten hinzugefügt wurde, wobei die neue Kategorie verarbeiteter Daten eine neue Kategorie verarbeiteter historischer Produktdaten und/oder eine neue Kategorie verarbeiteter historischer Standortdaten umfasst; und das Vorhersagemodul das Modell des Maschinenlernens auswählt, um die Vorhersage zu erstellen, wobei das Auswählen des Maschinenlernmodells umfasst: Trainieren der Vielzahl von Maschinenlernmodellen an einem ersten Abschnitt eines erweiterten Datensatzes, wobei der erweiterte Datensatz die neue Kategorie der verarbeiteten Daten, die verarbeiteten historischen Produktdaten und die verarbeiteten historischen Standortdaten umfasst; Validieren des Maschinenlernmodells an einem zweiten Abschnitt des erweiterten Datensatzes; und erneutes Trainieren des Maschinenlernmodells an einer Gesamtsumme aus dem ersten und dem zweiten Abschnitt.
  19. Computerimplementiertes Verfahren nach Anspruch 16, bei dem: die Anfrage für die Vorhersage keine erste Anfrage ist; eine zusätzliche Menge verarbeiteter Daten seit einer letzten Vorhersage zu dem Maschinenlernspeicher hinzugefügt worden ist, wobei die zusätzliche Menge verarbeiteter Daten neu verarbeitete historische Produktdaten und neu verarbeitete historische Standortdaten umfasst; die zusätzliche Menge an verarbeiteten Daten einen Schwellenwert überschreitet; und das Vorhersagemodul das Maschinenlernmodell auswählt, um die Vorhersage zu machen; wobei das Auswählen des Maschinenlernmodells umfasst: Trainieren einer Vielzahl von Maschinenlernmodellen an einem ersten Abschnitt eines erweiterten Datensatzes, wobei der erweiterte Datensatz die zusätzliche Menge verarbeiteter Daten, die verarbeiteten historischen Produktdaten und die verarbeiteten historischen Standortdaten umfasst; Validieren des Maschinenlernmodells an einem zweiten Abschnitt des erweiterten Datensatzes; und erneutes Trainieren des Maschinenlernmodells an einer Summe aus dem ersten und dem zweiten Abschnitt.
  20. Computerimplementiertes Verfahren nach Anspruch 16, bei dem die Anfrage nach der Vorhersage keine erste Anfrage ist und das Verfahren weiterhin umfasst: Bewerten einer Vorhersagegenauigkeit der Vorhersage durch das Überwachungsmodul anhand eingehender verarbeiteter historischer Produktdaten; und Anweisen des Maschinenlernmoduls durch das Überwachungsmodul, das Maschinenlernmodell auszuwählen, wenn die Vorhersagegenauigkeit unter einen Schwellenwert fällt, wobei das Auswählen des Maschinenlernmodells umfasst: Trainieren einer Vielzahl von Maschinenlernmodellen an einem ersten Abschnitt eines erweiterten Datensatzes, wobei der erweiterte Datensatz die eingehenden verarbeiteten historischen Produktdaten, die verarbeiteten historischen Produktdaten und die verarbeiteten historischen Standortdaten umfasst; Validieren des Maschinenlernmodells an einem zweiten Abschnitt des erweiterten Datensatzes; und erneutes Trainieren des Maschinenlernmodells an einer Gesamtsumme aus dem ersten und dem zweiten Abschnitt.
  21. Computerimplementiertes Verfahren nach Anspruch 16, bei dem: die Anfrage für die Vorhersage keine erste Anfrage ist; und das Verfahren weiterhin umfasst: Bewerten eines Zeitintervalls zwischen der letzten Vorhersage und der Anfrage durch das Überwachungsmodul; und Anweisen des Vorhersagemoduls durch das Überwachungsmodul, das zuvor ausgewählte Maschinenlernmodell erneut zu trainieren, wenn das Zeitintervall einen Schwellenwert überschreitet, wobei das erneute Trainieren das erneute Trainieren das zuvor ausgewählten Maschinenlernmodells an einem erweiterten Datensatz umfasst, der die verarbeiteten historischen Produktdaten, die verarbeiteten historischen Standortdaten und die während des Zeitintervalls gesammelten neuen verarbeiteten Daten umfasst.
DE102020126568.9A 2019-10-11 2020-10-09 Systeme und verfahren für das feature-engineering Pending DE102020126568A1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US16/599,143 2019-10-11
US16/599,143 US11526899B2 (en) 2019-10-11 2019-10-11 Systems and methods for dynamic demand sensing
US16/837,182 2020-04-01
US16/837,182 US11537825B2 (en) 2019-10-11 2020-04-01 Systems and methods for features engineering

Publications (1)

Publication Number Publication Date
DE102020126568A1 true DE102020126568A1 (de) 2021-04-15

Family

ID=73460517

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020126568.9A Pending DE102020126568A1 (de) 2019-10-11 2020-10-09 Systeme und verfahren für das feature-engineering

Country Status (3)

Country Link
US (3) US11537825B2 (de)
DE (1) DE102020126568A1 (de)
GB (1) GB2590162A (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102023200231A1 (de) 2023-01-12 2024-07-18 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Evaluieren einer Steuerung einer Robotervorrichtung

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11537825B2 (en) * 2019-10-11 2022-12-27 Kinaxis Inc. Systems and methods for features engineering
US11526899B2 (en) 2019-10-11 2022-12-13 Kinaxis Inc. Systems and methods for dynamic demand sensing
US11886514B2 (en) 2019-10-11 2024-01-30 Kinaxis Inc. Machine learning segmentation methods and systems
GB2601623A (en) * 2020-11-17 2022-06-08 Walmart Apollo Llc Methods and apparatus for automatic route assignment
US20230195842A1 (en) * 2021-12-20 2023-06-22 Sap Se Automated feature engineering for predictive modeling using deep reinforcement learning

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8108423B2 (en) 2008-10-03 2012-01-31 Disney Enterprises, Inc. System and method for ontology and rules based segmentation engine for networked content delivery
US20120303412A1 (en) * 2010-11-24 2012-11-29 Oren Etzioni Price and model prediction system and method
US8386285B2 (en) 2011-05-25 2013-02-26 International Business Machines Corporation Demand modeling and prediction in a retail category
US9111228B2 (en) 2012-10-29 2015-08-18 Sas Institute Inc. System and method for combining segmentation data
US20140156346A1 (en) 2012-12-04 2014-06-05 Sap Ag Methods and systems for dynamic demand sensing
US9218574B2 (en) 2013-05-29 2015-12-22 Purepredictive, Inc. User interface for machine learning
US20140358828A1 (en) 2013-05-29 2014-12-04 Purepredictive, Inc. Machine learning generated action plan
US11100420B2 (en) 2014-06-30 2021-08-24 Amazon Technologies, Inc. Input processing for machine learning
US20160358099A1 (en) 2015-06-04 2016-12-08 The Boeing Company Advanced analytical infrastructure for machine learning
US11188824B2 (en) 2017-02-17 2021-11-30 Google Llc Cooperatively training and/or using separate input and subsequent content neural networks for information retrieval
CA3235875A1 (en) 2017-03-23 2018-09-27 Kinaxis Inc. Method and system for generation of at least one output analytic for a promotion
WO2018200555A1 (en) * 2017-04-24 2018-11-01 Walmart Apollo, Llc System and method for using stores as receiving points for third party, e-commerce suppliers
US11068916B2 (en) * 2017-06-26 2021-07-20 Kronos Technology Systems Limited Partnershi Using machine learning to predict retail business volume
WO2019051615A1 (en) 2017-09-18 2019-03-21 Rubikloud Technologies Inc. METHOD AND SYSTEM FOR HIERARCHICAL PREDICTION
US11922440B2 (en) * 2017-10-31 2024-03-05 Oracle International Corporation Demand forecasting using weighted mixed machine learning models
US10535138B2 (en) 2017-11-21 2020-01-14 Zoox, Inc. Sensor data segmentation
US11017422B2 (en) * 2018-03-01 2021-05-25 Adobe Inc. Dynamically generating digital product notifications over time based on product expiration data
US11599894B2 (en) * 2018-06-29 2023-03-07 Tata Consultancy Services Limited Method and system for generating customer decision tree through machine learning
US10896237B2 (en) * 2018-08-22 2021-01-19 International Business Machines Corporation Reducing database stress using cognitive data caching
US11475404B2 (en) * 2018-09-05 2022-10-18 Trax Technology Solutions Pte Ltd. Aggregating product shortage information
US10997614B2 (en) * 2018-10-09 2021-05-04 Oracle International Corporation Flexible feature regularization for demand model generation
US11295324B2 (en) * 2018-10-26 2022-04-05 Target Brands, Inc. Method and system for generating disaggregated demand forecasts from ensemble demand forecasts
US11170391B2 (en) * 2018-10-26 2021-11-09 Target Brands, Inc. Method and system for validating ensemble demand forecasts
US20200130425A1 (en) 2018-10-26 2020-04-30 Pilot Inc. Beadlock with filler ring
US20200210920A1 (en) * 2019-01-02 2020-07-02 Legion Technologies, Inc. Machine Learning System for Demand Forecasting With Improved Date Alignment
US11526899B2 (en) * 2019-10-11 2022-12-13 Kinaxis Inc. Systems and methods for dynamic demand sensing
US11537825B2 (en) * 2019-10-11 2022-12-27 Kinaxis Inc. Systems and methods for features engineering

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102023200231A1 (de) 2023-01-12 2024-07-18 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Evaluieren einer Steuerung einer Robotervorrichtung

Also Published As

Publication number Publication date
GB202016092D0 (en) 2020-11-25
US11537825B2 (en) 2022-12-27
US20230086226A1 (en) 2023-03-23
US20230085701A1 (en) 2023-03-23
GB2590162A (en) 2021-06-23
US20210110219A1 (en) 2021-04-15

Similar Documents

Publication Publication Date Title
DE102020126568A1 (de) Systeme und verfahren für das feature-engineering
DE102020126569A1 (de) Systeme und verfahren für die dynamische bedarfserfassung
Giraud et al. Capitalizing on opportunistic data for monitoring relative abundances of species
CN112990284B (zh) 一种基于XGBoost算法的个体出行行为预测方法、系统及终端
DE102013202692A1 (de) System zum finden von fahrzeugfahrtübereinstimmungen und verfahren
DE202014011247U1 (de) Systeme zur Datengewinnung und -modellierung
DE112011104487T5 (de) Verfahren und System zur prädiktiven Modellierung
DE102017207686A1 (de) Einblicke in die belegschaftsstrategie
DE112021001986T5 (de) Verfahren und System zum Verarbeiten von Datenaufzeichnungen
DE112019004261T5 (de) Analyse und Korrektur der Lieferketten-Gestaltung durch maschinelles lernen
EP1831804A1 (de) Relationale komprimierte datenbank-abbilder (zur beschleunigten abfrage von datenbanken)
DE102016100046A1 (de) Verfahren, System und Benutzerschnittstelle zur Expertensuche auf der Basis von Aufzeichnungen zu Lösungen von Problemstellungen
DE112008001066T5 (de) Verfahren und System zur Bereitstellung eines virtuellen Stellenmarktes
DE112018001757T5 (de) Betriebs-/Wartungsmanagementverfahren, Programm und Betriebs-/Wartungsmanagementsystem
DE112020002892T5 (de) Aktives lernen für den datenabgleich
DE112021003881T5 (de) Online-training von neuronalen netzen
EP1627263B1 (de) Verfahren sowie computerprogramm mit programmcode-mitteln und computerprogramm-produkt zur ermittlung eines zukünftigen systemverhaltens eines dynamischen systems
DE102017208626A1 (de) Liquide Belegschafts-Plattform
EP2927849A1 (de) Verfahren und Computerprogrammprodukt zur Analyse von Flugpassagier-Ticket-Massendatenbeständen
DE112019007601T5 (de) Lernvorrichtung, lernverfahren, lerndatenerzeugungsvorrichtung, lerndatenerzeugungsverfahren, inferenzvorrichtung und inferenzverfahren
Herschel Principles and Applications of Business Intelligence Research
EP3672200A1 (de) Verfahren zur zusammenarbeit von mehreren geräten eines lokalen netzwerks
DE112020003024T5 (de) Informationsverarbeitungsvorrichtung, informationsverarbeitungsverfahren und programm
DE112021000081T5 (de) Systeme, Verfahren und Geräte für hierarchisch Vorhersagen
DE102020134974A1 (de) Automatisiertes rekursives divisives clustern

Legal Events

Date Code Title Description
R012 Request for examination validly filed