DE112021000081T5 - Systems, methods and devices for hierarchical predictions - Google Patents

Systems, methods and devices for hierarchical predictions Download PDF

Info

Publication number
DE112021000081T5
DE112021000081T5 DE112021000081.0T DE112021000081T DE112021000081T5 DE 112021000081 T5 DE112021000081 T5 DE 112021000081T5 DE 112021000081 T DE112021000081 T DE 112021000081T DE 112021000081 T5 DE112021000081 T5 DE 112021000081T5
Authority
DE
Germany
Prior art keywords
hierarchy
prediction
weight matrix
node
computer
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.)
Withdrawn
Application number
DE112021000081.0T
Other languages
German (de)
Inventor
Behrouz Haji Soleimani
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 Ottawa Ca
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
Application filed by Kinaxis Inc filed Critical Kinaxis Inc
Publication of DE112021000081T5 publication Critical patent/DE112021000081T5/en
Withdrawn 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
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • 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
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/087Inventory or stock management, e.g. order filling, procurement or balancing against orders
    • 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/0202Market predictions or forecasting for commercial activities
    • 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
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Development Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Marketing (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Game Theory and Decision Science (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Data Mining & Analysis (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 die Abstimmung einer Vorhersagen in einer Hierarchie, die ein Vorverarbeitungsmodul und ein Vorhersageabstimmungsmodul umfassen. Das Vorverarbeitungsmodul rekonstruiert die Struktur der Hierarchie und erfasst die Beziehung zwischen den Knoten der Hierarchie in einer Summationsmatrix S. Die Vorhersageabstimmungsmatrix verwendet die Summationsmatrix S, eine Gewichtungsmatrix W (die ein Gewichtungsschema zwischen den Knoten widerspiegelt) und eine Basisprognose, um den Gesamtvorhersagefehler unter Verwendung eines Verfahrens der kleinsten Quadrate zu optimieren. Die abgestimmte Vorhersage hat einen Konsistenzfehler von Null.Systems and methods for matching a prediction in a hierarchy, comprising a pre-processing module and a prediction matching module. The pre-processing module reconstructs the structure of the hierarchy and captures the relationship between the nodes of the hierarchy in a summation matrix S. The prediction matching matrix uses the summation matrix S, a weighting matrix W (reflecting a weighting scheme between the nodes) and a baseline prediction to calculate the overall prediction error using a to optimize the method of least squares. The matched prediction has a consistency error of zero.

Description

Hintergrundbackground

Unternehmen mit komplexen Lieferketten haben ein gesteigertes Interesse daran, ihren Bedarf für jedes Produkt einige Monate in der Zukunft vorherzusagen. Eine genaue Schätzung der Nachfrage hilft den Unternehmen, ihre Produktion im Voraus zu planen und gerade genug Produkte zu produzieren, um Über- und Unterbestände zu vermeiden. Es gibt inhärente Hierarchien in den Daten der Lieferkette, die genutzt und ausgenutzt werden können, um zu besseren Vorhersagen und Prognosen der Nachfrage zu gelangen. Beispielsweise werden Produkte von verschiedenen Kunden bestellt, und die Nachfrage für jede Produkt-Kunden-Kombination kann separat prognostiziert und zur Gesamtnachfrage nach Produkten aggregiert werden, also beispielsweise vereinigt werden. Alternativ kann die Gesamtnachfrage nach einem Produkt auch direkt aus den aggregierten historischen Nachfragen prognostiziert werden. In jedem Fall besteht die Aggregationsbedingung, dass die Summe der Nachfrage nach einem Produkt von verschiedenen Kunden der Gesamtnachfrage nach einem Produkt entsprechen muss. Wird jedoch die künftige Nachfrage auf den verschiedenen Hierarchieebenen getrennt prognostiziert, so addieren sich die Vorhersagen nicht korrekt. Aus diesem Grund prognostizieren die meisten Unternehmen ihre Nachfrage nur auf der am stärksten aufgeschlüsselten Ebene einer Hierarchie (z. B. für jede Produkt-Kunden-Kombination).Companies with complex supply chains have an increased interest in predicting their needs for each product several months into the future. Accurately estimating demand helps companies plan their production ahead of time and produce just enough product to avoid overstocking and understocking. There are inherent hierarchies in supply chain data that can be harnessed and exploited to better predict and forecast demand. For example, products are ordered by different customers, and the demand for each product-customer combination can be forecast separately and aggregated, e.g. combined, to form the total demand for products. Alternatively, the total demand for a product can also be forecast directly from the aggregated historical demand. In any case, the aggregation condition is that the sum of the demand for a product from different customers must equal the total demand for a product. However, if future demand is forecast separately at the various hierarchical levels, the forecasts do not add up correctly. For this reason, most companies only forecast their demand at the most detailed level of a hierarchy (e.g. for each product-customer combination).

Hierarchien können auf viele verschiedene Arten definiert werden und können viele Ebenen haben. Beispielsweise kann eine Hierarchie auf geografischen Regionen basieren - so dass die Gesamtnachfrage nach einem Produkt gleich der Summe der Nachfragen aus verschiedenen Ländern ist und die Nachfrage eines bestimmten Landes gleich der Summe der Nachfragen aus verschiedenen Regionen/Bezirken dieses Landes ist. Eine andere Möglichkeit, eine Hierarchie zu definieren, ist auf der Grundlage einer Produktfamilie. So ist beispielsweise die Gesamtnachfrage nach Fernsehgeräten in einem Elektronikunternehmen gleich der Summe der Nachfrage nach verschiedenen Größen oder Modellen von Fernsehgeräten. Hierarchien können auch auf der Grundlage von Zeitdimensionen definiert werden. So sollte beispielsweise die Summe der wöchentlichen Nachfrage der monatlichen oder vierteljährlichen Nachfrage entsprechen.Hierarchies can be defined in many different ways and can have many levels. For example, a hierarchy may be based on geographic regions - such that the total demand for a product is equal to the sum of demands from different countries, and the demand for a particular country is equal to the sum of demands from different regions/districts of that country. Another way to define a hierarchy is based on a product family. For example, the total demand for televisions in an electronics company is equal to the sum of the demand for different sizes or models of televisions. Hierarchies can also be defined based on time dimensions. For example, the sum of the weekly demand should equal the monthly or quarterly demand.

Aufgrund der komplizierten Natur des Problems prognostizieren die meisten Unternehmen ihre Nachfrage nur auf einer Ebene einer Hierarchie. In der Regel handelt es sich dabei um die Ebene, von der ein Unternehmen glaubt, dass sie am genauesten ist oder für das Unternehmen am sinnvollsten ist. Dennoch ist jede einzelne Vorhersage mit einem Fehler behaftet. Die Addition der einzelnen Vorhersagen innerhalb der Hierarchie führt zu einem kumulativen Fehler in der Gesamtvorhersage, der recht groß sein kann.Due to the complicated nature of the problem, most companies only forecast their demand at one level of a hierarchy. Typically, this is the level that a company believes is most accurate or makes the most sense for the company. However, every single prediction is flawed. The addition of the individual predictions within the hierarchy leads to a cumulative error in the overall prediction, which can be quite large.

Im Bereich der Zeitreihenvorhersage hat Hyndman den optimalen Abgleich von Vorhersagen in zeitlichen Hierarchien untersucht, einschließlich des optimalen Vorhersageabstimmung für hierarchische und gruppierte Zeitreihen durch Spurminimierung. Diese Studie lässt sich jedoch nicht ohne weiteres auf die Organisation von Vorhersagen für Lieferketten übertragen.In the field of time series prediction, Hyndman has studied optimal matching of predictions in temporal hierarchies, including optimal prediction matching for hierarchical and clustered time series by lane minimization. However, this study does not readily translate to the organization of supply chain forecasting.

Daher besteht die Notwendigkeit, die Gesamtvorhersageaktivität durch Minimierung des Gesamtvorhersagefehlers zu verbessern. Darüber hinaus besteht die Notwendigkeit, eine Vorhersageabstimmung für Nicht-Zeitreihen-Hierarchien, wie z. B. Lieferketten, bereitzustellen.Therefore, there is a need to improve overall prediction activity by minimizing overall prediction error. In addition, there is a need to perform forecast matching for non-time series hierarchies such as B. supply chains to provide.

Kurze ZusammenfassungShort Summary

Hierin werden Systeme und Verfahren beschrieben, die die Vorhersage auf verschiedenen Ebenen einer Hierarchie berücksichtigen und die Gesamtvorhersage durch Reduzierung des Gesamtvorhersagefehlers der Hierarchie verbessern können. In einigen Ausführungsformen werden Informationen über die Beziehungen innerhalb der Hierarchie verwendet, um inkonsistente Vorhersagen verschiedener Ebenen als Eingabe zu verwenden und die Vorhersagen so abzustimmen, dass sie vollständig konsistent werden, so dass sie sich korrekt addieren. Darüber hinaus wird die Gesamtgenauigkeit der Vorhersagen über die gesamte Hierarchie hinweg verbessert.Systems and methods are described herein that take into account prediction at different levels of a hierarchy and can improve the overall prediction by reducing the overall prediction error of the hierarchy. In some embodiments, information about the relationships within the hierarchy is used to take inconsistent predictions from different levels as input and tune the predictions to become fully consistent so that they add up correctly. In addition, the overall accuracy of predictions across the hierarchy is improved.

In einem Aspekt wird ein computerimplementiertes Verfahren zur Vorhersagebestimmung (auch als Verfahren zum Prognoseabgleich bezeichnet) in einer Hierarchie bereitgestellt, wobei das Verfahren die folgenden Schritte umfasst: Empfangen von Daten, die sich auf die Hierarchie beziehen, durch ein Vorverarbeitungsmodul; Erzeugen der Hierarchie auf der Grundlage der Daten und einer Summationsmatrix, die sich auf eine Struktur der Hierarchie bezieht, durch das Vorverarbeitungsmodul; Empfangen einer Basisvorhersage der Hierarchie, der Summationsmatrix und einer Gewichtungsmatrix durch ein Vorhersageabstimmungsmodul, wobei die Gewichtungsmatrix ein Gewichtungsschema für jeden Knoten der Hierarchie widerspiegelt, wobei die Gewichtungsmatrix entweder durch das Vorverarbeitungsmodul oder das Vorhersageabstimmungsmodul erzeugt wird; Erzeugen, durch das Vorhersageabstimmungsmodul, einer abgestimmten Vorhersage auf der Grundlage einer Optimierungstechnik der kleinsten Quadrate zum Projizieren der Basisvorhersage auf eine unterste Ebene der Hierarchie, abhängig von einer Bedingung für jeden Knoten der untersten Ebene der Hierarchie.In one aspect, there is provided a computer-implemented method for forecast determination (also referred to as a method for forecast matching) in a hierarchy, the method comprising the steps of: receiving, by a pre-processing module, data related to the hierarchy; generating, by the pre-processing module, the hierarchy based on the data and a summation matrix relating to a structure of the hierarchy; receiving by a prediction matching module a baseline prediction of the hierarchy, the summation matrix and a weight matrix, the weight matrix reflecting a weighting scheme for each node of the hierarchy, the weight matrix being generated by either the pre-processing module or the prediction matching module; generating, by the prediction matching module, a matched prediction based on a least squares optimization technique for projecting the Baseline prediction to a bottom level of the hierarchy, dependent on a condition for each node of the bottom level of the hierarchy.

In einigen Ausführungsformen basiert die abgestimmte Vorhersage auf einer nichtnegativen Kleinstquadrat-Optimierungstechnik. In einigen Ausführungsformen basiert die abgestimmte Vorhersage auf einer iterativen Optimierung, bei der jeder Knoten der Vorhersage der untersten Ebene innerhalb eines entsprechenden Bereichs begrenzt wird. In einigen Ausführungsformen bezieht sich jeder Eintrag der Gewichtungsmatrix auf eine oder mehrere Metriken der Hierarchie; die Gewichtungsmatrix kann in einigen Fällen diagonal sein. In einigen Ausführungsformen bezieht sich jeder Eintrag der Gewichtungsmatrix auf einen Vorhersagefehler (auch als Prognosefehler bezeichnet) jedes Knotens der Hierarchie. In einigen Ausführungsformen führt das Vorverarbeitungsmodul mindestens einen der folgenden Schritte aus: i) Entfernen eines oder mehrerer Knoten der Hierarchie, die einen Nullwert oder einen Wert unter einem Schwellenwert aufweisen; ii) Auffüllen eines oder mehrerer fehlender Datensätze der Hierarchie auf der Grundlage von Geschwisterinformationen; und iii) Extrahieren von rollierenden Merkmalen auf allen Ebenen der Hierarchie.In some embodiments, the matched prediction is based on a non-negative least squares optimization technique. In some embodiments, the matched prediction is based on an iterative optimization where each node of the bottom-level prediction is constrained within a corresponding range. In some embodiments, each entry of the weight matrix relates to one or more metrics of the hierarchy; the weight matrix can be diagonal in some cases. In some embodiments, each entry of the weight matrix relates to a prediction error (also referred to as a prediction error) of each node of the hierarchy. In some embodiments, the pre-processing module performs at least one of the following steps: i) remove one or more nodes of the hierarchy that have a null value or a value below a threshold; ii) filling in one or more missing records of the hierarchy based on sibling information; and iii) extracting rolling features at all levels of the hierarchy.

In einem anderen Aspekt wird eine Rechenvorrichtung zur Vorhersageabstimmung in einer Hierarchie bereitgestellt, wobei die Rechenvorrichtung umfasst: einen Prozessor; und einen Speicher, der Anweisungen speichert, die, wenn sie von dem Prozessor ausgeführt werden, die Vorrichtung für die folgenden Schritte konfigurieren: Empfangen von Daten, die sich auf eine Hierarchie beziehen, durch ein Vorverarbeitungsmodul; Erzeugen der Hierarchie auf der Grundlage der Daten und einer Summationsmatrix, die sich auf eine Struktur der Hierarchie bezieht, durch das Vorverarbeitungsmodul; Empfangen einer Basisvorhersage der Hierarchie, der Summationsmatrix und einer Gewichtungsmatrix durch ein Vorhersageabstimmungsmodul, wobei die Gewichtungsmatrix ein Gewichtungsschema für jeden Knoten der Hierarchie widerspiegelt, wobei die Gewichtungsmatrix entweder durch das Vorverarbeitungsmodul oder das Vorhersageabstimmungsmodul erzeugt wird; Erzeugen, durch das Vorhersageabstimmungsmodul, einer abgestimmten Vorhersage auf der Grundlage einer Optimierungstechnik der kleinsten Quadrate zum Projizieren der Basisvorhersage auf eine unterste Ebene der Hierarchie, abhängig von einer Bedingung für jeden Knoten der untersten Ebene der Hierarchie.In another aspect, there is provided a computing device for prediction matching in a hierarchy, the computing device comprising: a processor; and a memory storing instructions that, when executed by the processor, configure the device for the following steps: receiving, by a pre-processing module, data related to a hierarchy; generating, by the pre-processing module, the hierarchy based on the data and a summation matrix relating to a structure of the hierarchy; receiving by a prediction matching module a baseline prediction of the hierarchy, the summation matrix and a weight matrix, the weight matrix reflecting a weighting scheme for each node of the hierarchy, the weight matrix being generated by either the pre-processing module or the prediction matching module; generating, by the prediction matching module, a matched prediction based on a least squares optimization technique for projecting the baseline prediction to a bottom level of the hierarchy dependent on a condition for each node of the bottom level of the hierarchy.

In einigen Ausführungsformen basiert die abgestimmte Vorhersage auf einer nicht-negativen Kleinste-Quadrate-Optimierungstechnik. In einigen Ausführungsformen basiert die abgestimmte Vorhersage auf einer iterativen Optimierung, bei der jeder Knoten der Vorhersage der untersten Ebene innerhalb eines entsprechenden Bereichs begrenzt wird. In einigen Ausführungsformen bezieht sich jeder Eintrag der Gewichtungsmatrix auf eine oder mehrere Metriken der Hierarchie; die Gewichtungsmatrix kann in einigen Fällen diagonal sein. In einigen Ausführungsformen bezieht sich jeder Eintrag der Gewichtungsmatrix auf einen Vorhersagefehler jedes Knotens der Hierarchie. In einigen Ausführungsformen führt das Vorverarbeitungsmodul mindestens einen der folgenden Schritte durch: i) Entfemen eines oder mehrerer Knoten der Hierarchie, die einen Nullwert oder einen Wert unter einem Schwellenwert aufweisen; ii) Auffüllen eines oder mehrerer fehlender Datensätze der Hierarchie auf der Grundlage von Geschwisterinformationen; und iii) Extrahieren von rollierenden Merkmalen auf allen Ebenen der Hierarchie.In some embodiments, the matched prediction is based on a non-negative least squares optimization technique. In some embodiments, the matched prediction is based on an iterative optimization where each node of the bottom-level prediction is constrained within a corresponding range. In some embodiments, each entry of the weight matrix relates to one or more metrics of the hierarchy; the weight matrix can be diagonal in some cases. In some embodiments, each entry of the weight matrix relates to a prediction error of each node of the hierarchy. In some embodiments, the pre-processing module performs at least one of the following steps: i) removing one or more nodes of the hierarchy that have a null value or a value below a threshold; ii) filling in one or more missing records of the hierarchy based on sibling information; and iii) extracting rolling features at all levels of the hierarchy.

In einem anderen Aspekt wird ein nicht-transitorisches, computerlesbares Speichermedium zur Vorhersageabstimmung in einer Hierarchie bereitgestellt, wobei das computerlesbare Speichermedium Anweisungen enthält, die, wenn sie von einem Computer ausgeführt werden, den Computer veranlassen: Empfangen von Daten, die sich auf eine Hierarchie beziehen, durch ein Vorverarbeitungsmodul; Erzeugen der Hierarchie auf der Grundlage der Daten und einer Summationsmatrix, die sich auf eine Struktur der Hierarchie bezieht, durch das Vorverarbeitungsmodul; Empfangen einer Basisvorhersage der Hierarchie, der Summationsmatrix und einer Gewichtungsmatrix durch ein Vorhersageabstimmungsmodul, wobei die Gewichtungsmatrix ein Gewichtungsschema für jeden Knoten der Hierarchie widerspiegelt, wobei die Gewichtungsmatrix entweder durch das Vorverarbeitungsmodul oder das Vorhersageabstimmungsmodul erzeugt wird; Erzeugen, durch das Vorhersageabstimmungsmodul, einer abgestimmten Vorhersage auf der Grundlage einer Optimierungstechnik der kleinsten Quadrate zum Projizieren der Basisvorhersage auf eine unterste Ebene der Hierarchie, abhängig von einer Bedingung für jeden Knoten der untersten Ebene der Hierarchie.In another aspect, there is provided a non-transitory, computer-readable storage medium for predictive matching in a hierarchy, the computer-readable storage medium containing instructions that, when executed by a computer, cause the computer to: receive data related to a hierarchy , by a pre-processing module; generating, by the pre-processing module, the hierarchy based on the data and a summation matrix relating to a structure of the hierarchy; receiving by a prediction matching module a baseline prediction of the hierarchy, the summation matrix and a weight matrix, the weight matrix reflecting a weighting scheme for each node of the hierarchy, the weight matrix being generated by either the pre-processing module or the prediction matching module; generating, by the prediction matching module, a matched prediction based on a least squares optimization technique for projecting the baseline prediction to a bottom level of the hierarchy dependent on a condition for each node of the bottom level of the hierarchy.

In einigen Ausführungsformen basiert die abgestimmte Vorhersage auf einer nicht-negativen Kleinste-Quadrate-Optimierungstechnik. In einigen Ausführungsformen basiert die abgestimmte Vorhersage auf einer iterativen Optimierung, bei der jeder Knoten der Vorhersage der untersten Ebene innerhalb eines entsprechenden Bereichs begrenzt wird. In einigen Ausführungsformen bezieht sich jeder Eintrag der Gewichtungsmatrix auf eine oder mehrere Metriken der Hierarchie; die Gewichtungsmatrix kann in einigen Fällen diagonal sein. In einigen Ausführungsformen bezieht sich jeder Eintrag der Gewichtungsmatrix auf einen Vorhersagefehler jedes Knotens der Hierarchie. In einigen Ausführungsformen führt das Vorverarbeitungsmodul mindestens einen der folgenden Schritte durch: i) Entfemen eines oder mehrerer Knoten der Hierarchie, die einen Nullwert oder einen Wert unter einem Schwellenwert aufweisen; ii) Auffüllen eines oder mehrerer fehlender Datensätze der Hierarchie auf der Grundlage von Geschwisterinformationen; und iii) Extrahieren von rollierenden Merkmalen auf allen Ebenen der Hierarchie.In some embodiments, the matched prediction is based on a non-negative least squares optimization technique. In some embodiments, the matched prediction is based on an iterative optimization where each node of the bottom-level prediction is constrained within a corresponding range. In some embodiments, each entry of the weight matrix relates to one or more metrics of the hierarchy; the weight matrix can be diagonal in some cases. In some embodiments, each entry of the weight matrix relates to a prediction error of each node of the hierarchy. In some versions For example, the pre-processing module performs at least one of the following steps: i) removing one or more nodes of the hierarchy that have a null value or a value below a threshold; ii) filling in one or more missing records of the hierarchy based on sibling information; and iii) extracting rolling features at all levels of the hierarchy.

In einem anderen Aspekt wird ein computerimplementiertes Verfahren zur Reduzierung eines Vorhersagefehlers in einer Hierarchie bereitgestellt, wobei das Verfahren die folgenden Schritte umfasst: Empfangen von Daten, die sich auf eine Hierarchie beziehen, durch ein Vorverarbeitungsmodul; Erzeugen der Hierarchie auf der Grundlage der Daten und einer Summationsmatrix, die sich auf eine Struktur der Hierarchie bezieht, durch das Vorverarbeitungsmodul; Empfangen einer Basisvorhersage der Hierarchie, der Summationsmatrix und einer Gewichtungsmatrix durch ein Vorhersageabstimmungsmodul, wobei die Gewichtungsmatrix ein Gewichtungsschema für jeden Knoten der Hierarchie widerspiegelt, wobei die Gewichtungsmatrix entweder durch das Vorverarbeitungsmodul oder das Vorhersageabstimmungsmodul erzeugt wird; Erzeugen, durch das Vorhersageabstimmungsmodul, einer abgestimmten Vorhersage auf der Grundlage einer Optimierungstechnik der kleinsten Quadrate zum Projizieren der Basisvorhersage auf eine unterste Ebene der Hierarchie, abhängig von einer Bedingung für jeden Knoten der untersten Ebene der Hierarchie.In another aspect, there is provided a computer-implemented method for reducing prediction error in a hierarchy, the method comprising the steps of: receiving, by a pre-processing module, data related to a hierarchy; generating, by the pre-processing module, the hierarchy based on the data and a summation matrix relating to a structure of the hierarchy; receiving by a prediction matching module a baseline prediction of the hierarchy, the summation matrix and a weight matrix, the weight matrix reflecting a weighting scheme for each node of the hierarchy, the weight matrix being generated by either the pre-processing module or the prediction matching module; generating, by the prediction matching module, a matched prediction based on a least squares optimization technique for projecting the baseline prediction to a bottom level of the hierarchy dependent on a condition for each node of the bottom level of the hierarchy.

In einigen Ausführungsformen basiert die abgestimmte Vorhersage auf einer nicht-negativen Kleinste-Quadrate-Optimierungstechnik. In einigen Ausführungsformen basiert die abgestimmte Vorhersage auf einer iterativen Optimierung, bei der jeder Knoten der Vorhersage der untersten Ebene innerhalb eines entsprechenden Bereichs begrenzt wird. In einigen Ausführungsformen bezieht sich jeder Eintrag der Gewichtungsmatrix auf eine oder mehrere Metriken der Hierarchie; die Gewichtungsmatrix kann in einigen Fällen diagonal sein. In einigen Ausführungsformen bezieht sich jeder Eintrag der Gewichtungsmatrix auf einen Vorhersagefehler jedes Knotens der Hierarchie. In einigen Ausführungsformen führt das Vorverarbeitungsmodul mindestens einen der folgenden Schritte durch: i) Entfemen eines oder mehrerer Knoten der Hierarchie, die einen Nullwert oder einen Wert unter einem Schwellenwert aufweisen; ii) Auffüllen eines oder mehrerer fehlender Datensätze der Hierarchie auf der Grundlage von Geschwisterinformationen; und iii) Extrahieren von Rollierende Merkmale auf allen Ebenen der Hierarchie.In some embodiments, the matched prediction is based on a non-negative least squares optimization technique. In some embodiments, the matched prediction is based on an iterative optimization where each node of the bottom-level prediction is constrained within a corresponding range. In some embodiments, each entry of the weight matrix relates to one or more metrics of the hierarchy; the weight matrix can be diagonal in some cases. In some embodiments, each entry of the weight matrix relates to a prediction error of each node of the hierarchy. In some embodiments, the pre-processing module performs at least one of the following steps: i) removing one or more nodes of the hierarchy that have a null value or a value below a threshold; ii) filling in one or more missing records of the hierarchy based on sibling information; and iii) extracting rolling features at all levels of the hierarchy.

In einem anderen Aspekt wird eine Rechenvorrichtung zum Reduzieren eines Vorhersagefehlers in einer Hierarchie bereitgestellt, wobei die Rechenvorrichtung umfasst: einen Prozessor; und einen Speicher, der Anweisungen speichert, die, wenn sie von dem Prozessor ausgeführt werden, die Vorrichtung für die folgenden Schritte konfigurieren Empfangen von Daten, die sich auf eine Hierarchie beziehen, durch ein Vorverarbeitungsmodul; Erzeugen der Hierarchie auf der Grundlage der Daten und einer Summationsmatrix, die sich auf eine Struktur der Hierarchie bezieht, durch das Vorverarbeitungsmodul; Empfangen einer Basisvorhersage der Hierarchie, der Summationsmatrix und einer Gewichtungsmatrix durch ein Vorhersageabstimmungsmodul, wobei die Gewichtungsmatrix ein Gewichtungsschema für jeden Knoten der Hierarchie widerspiegelt, wobei die Gewichtungsmatrix entweder durch das Vorverarbeitungsmodul oder das Vorhersageabstimmungsmodul erzeugt wird; Erzeugen, durch das Vorhersageabstimmungsmodul, einer abgestimmten Vorhersage auf der Grundlage einer Optimierungstechnik der kleinsten Quadrate zum Projizieren der Basisvorhersage auf eine unterste Ebene der Hierarchie, abhängig von einer Bedingung für jeden Knoten der untersten Ebene der Hierarchie.In another aspect, there is provided a computing device for reducing prediction error in a hierarchy, the computing device comprising: a processor; and a memory storing instructions that, when executed by the processor, configure the device for the following steps: receiving, by a pre-processing module, data related to a hierarchy; generating, by the pre-processing module, the hierarchy based on the data and a summation matrix relating to a structure of the hierarchy; receiving by a prediction matching module a baseline prediction of the hierarchy, the summation matrix and a weight matrix, the weight matrix reflecting a weighting scheme for each node of the hierarchy, the weight matrix being generated by either the pre-processing module or the prediction matching module; generating, by the prediction matching module, a matched prediction based on a least squares optimization technique for projecting the baseline prediction to a bottom level of the hierarchy dependent on a condition for each node of the bottom level of the hierarchy.

In einigen Ausführungsformen basiert die abgestimmte Vorhersage auf einer nicht-negativen Kleinste-Quadrate-Optimierungstechnik. In einigen Ausführungsformen basiert die abgestimmte Vorhersage auf einer iterativen Optimierung, bei der jeder Knoten der Vorhersage der untersten Ebene innerhalb eines entsprechenden Bereichs begrenzt wird. In einigen Ausführungsformen bezieht sich jeder Eintrag der Gewichtungsmatrix auf eine oder mehrere Metriken der Hierarchie; die Gewichtungsmatrix kann in einigen Fällen diagonal sein. In einigen Ausführungsformen bezieht sich jeder Eintrag der Gewichtungsmatrix auf einen Vorhersagefehler jedes Knotens der Hierarchie. In einigen Ausführungsformen führt das Vorverarbeitungsmodul mindestens einen der folgenden Schritte durch: i) Entfemen eines oder mehrerer Knoten der Hierarchie, die einen Nullwert oder einen Wert unter einem Schwellenwert aufweisen; ii) Auffüllen eines oder mehrerer fehlender Datensätze der Hierarchie auf der Grundlage von Geschwisterinformationen; und iii) Extrahieren von rollierenden Merkmalen auf allen Ebenen der Hierarchie.In some embodiments, the matched prediction is based on a non-negative least squares optimization technique. In some embodiments, the matched prediction is based on an iterative optimization where each node of the bottom-level prediction is constrained within a corresponding range. In some embodiments, each entry of the weight matrix relates to one or more metrics of the hierarchy; the weight matrix can be diagonal in some cases. In some embodiments, each entry of the weight matrix relates to a prediction error of each node of the hierarchy. In some embodiments, the pre-processing module performs at least one of the following steps: i) removing one or more nodes of the hierarchy that have a null value or a value below a threshold; ii) filling in one or more missing records of the hierarchy based on sibling information; and iii) extracting rolling features at all levels of the hierarchy.

In einem anderen Aspekt wird ein nicht-transitorisches computerlesbares Speichermedium zum Reduzieren eines Vorhersagefehlers in einer Hierarchie bereitgestellt, wobei das computerlesbare Speichermedium Anweisungen enthält, die, wenn sie von einem Computer ausgeführt werden, den Computer veranlassen Empfangen von Daten, die sich auf eine Hierarchie beziehen, durch ein Vorverarbeitungsmodul; Erzeugen der Hierarchie auf der Grundlage der Daten und einer Summationsmatrix, die sich auf eine Struktur der Hierarchie bezieht, durch das Vorverarbeitungsmodul; Empfangen einer Basisvorhersage der Hierarchie, der Summationsmatrix und einer Gewichtungsmatrix durch ein Vorhersageabstimmungsmodul, wobei die Gewichtungsmatrix ein Gewichtungsschema für jeden Knoten der Hierarchie widerspiegelt, wobei die Gewichtungsmatrix entweder durch das Vorverarbeitungsmodul oder das Vorhersageabstimmungsmodul erzeugt wird; Erzeugen, durch das Vorhersageabstimmungsmodul, einer abgestimmten Vorhersage auf der Grundlage einer Optimierungstechnik der kleinsten Quadrate zum Projizieren der Basisvorhersage auf eine unterste Ebene der Hierarchie, abhängig von einer Bedingung für jeden Knoten der untersten Ebene der Hierarchie.In another aspect, there is provided a non-transitory computer-readable storage medium for reducing prediction error in a hierarchy, the computer-readable storage medium containing instructions that, when executed by a computer, cause the computer to receive data related to a hierarchy , by a preprocessing mo du; generating, by the pre-processing module, the hierarchy based on the data and a summation matrix relating to a structure of the hierarchy; receiving by a prediction matching module a baseline prediction of the hierarchy, the summation matrix and a weight matrix, the weight matrix reflecting a weighting scheme for each node of the hierarchy, the weight matrix being generated by either the pre-processing module or the prediction matching module; generating, by the prediction matching module, a matched prediction based on a least squares optimization technique for projecting the baseline prediction to a bottom level of the hierarchy dependent on a condition for each node of the bottom level of the hierarchy.

In einigen Ausführungsformen basiert die abgestimmte Vorhersage auf einer nichtnegativen Kleinstquadrat-Optimierungstechnik. In einigen Ausführungsformen basiert die abgestimmte Vorhersage auf einer iterativen Optimierung, bei der jeder Knoten der Vorhersage der untersten Ebene innerhalb eines entsprechenden Bereichs begrenzt wird. In einigen Ausführungsformen bezieht sich jeder Eintrag der Gewichtungsmatrix auf eine oder mehrere Metriken der Hierarchie; die Gewichtungsmatrix kann in einigen Fällen diagonal sein. In einigen Ausführungsformen bezieht sich jeder Eintrag der Gewichtungsmatrix auf einen Vorhersagefehler jedes Knotens der Hierarchie. In einigen Ausführungsformen führt das Vorverarbeitungsmodul mindestens einen der folgenden Schritte durch: i) Entfemen eines oder mehrerer Knoten der Hierarchie, die einen Nullwert oder einen Wert unter einem Schwellenwert aufweisen; ii) Auffüllen eines oder mehrerer fehlender Datensätze der Hierarchie auf der Grundlage von Geschwisterinformationen; und iii) Extrahieren von rollierenden Merkmalen auf allen Ebenen der Hierarchie.In some embodiments, the matched prediction is based on a non-negative least squares optimization technique. In some embodiments, the matched prediction is based on an iterative optimization where each node of the bottom-level prediction is constrained within a corresponding range. In some embodiments, each entry of the weight matrix relates to one or more metrics of the hierarchy; the weight matrix can be diagonal in some cases. In some embodiments, each entry of the weight matrix relates to a prediction error of each node of the hierarchy. In some embodiments, the pre-processing module performs at least one of the following steps: i) removing one or more nodes of the hierarchy that have a null value or a value below a threshold; ii) filling in one or more missing records of the hierarchy based on sibling information; and iii) extracting rolling features at all levels of the hierarchy.

Die Einzelheiten einer oder mehrerer Ausführungsformen des Gegenstands dieser Beschreibung sind in den beigefügten Zeichnungen und der nachstehenden Beschreibung dargelegt. Andere Merkmale, Aspekte und Vorteile des Gegenstandes werden aus der Beschreibung, den Zeichnungen und den Ansprüchen ersichtlich.The details of one or more embodiments of the subject matter of this description are set forth in the accompanying drawings and the description below. Other features, aspects, and advantages of the subject matter will be apparent from the description, drawings, and claims.

Gleiche Bezugsnummern und Bezeichnungen in den verschiedenen Zeichnungen bezeichnen gleiche Elemente.Like reference numbers and designations in the different drawings indicate like elements.

Figurenlistecharacter list

Um die Erörterung eines bestimmten Elements oder einer bestimmten Handlung leicht erkennen zu können, beziehen sich die höchstwertige(n) Ziffer(n) in einer Bezugsnummer auf die Nummer der Abbildung, in der dieses Element zuerst eingeführt wird.

  • 1 zeigt eine Systemarchitektur in Übereinstimmung mit einer Ausführungsform.
  • 2 zeigt ein Blockdiagramm in Übereinstimmung mit einer Ausführungsform.
  • 3 zeigt ein Beispiel für eine Hierarchie gemäß einer Ausführungsform.
  • 4 zeigt eine Hierarchievorhersage gemäß einer Ausführungsform.
  • 5 zeigt eine Hierarchievorhersage gemäß einer Ausführungsform.
  • 6 zeigt eine Tabelle mit Symbolen.
  • 7 zeigt eine Vorhersageabstimmungsstruktur gemäß einer Ausführungsform.
  • 8 zeigt die Auswertung einer Projektionsmatrix gemäß einer Ausführungsform.
  • 9 zeigt die Auswertung einer Projektionsmatrix gemäß einer Ausführungsform.
  • 10 zeigt ein Flussdiagramm gemäß einer Ausführungsform.
  • 11 zeigt ein Flussdiagramm gemäß einer Ausführungsform.
  • 12 zeigt ein Flussdiagramm einer Vorhersageabstimmung gemäß einer Ausführungsform.
  • 13 zeigt einen Vergleich von Basisvorhersagefehlern und abgestimmten Vorhersagefehlern gemäß einer Ausführungsform.
  • 14 zeigt zwei Diagramme des Bedarfs in Abhängigkeit vom Datum gemäß einer Ausführungsform.
In order to readily identify the discussion of a particular element or action, the most significant digit(s) in a reference number refers to the figure number in which that element is first introduced.
  • 1 Figure 1 shows a system architecture in accordance with an embodiment.
  • 2 12 shows a block diagram in accordance with an embodiment.
  • 3 Figure 1 shows an example of a hierarchy according to one embodiment.
  • 4 12 shows a hierarchy prediction according to an embodiment.
  • 5 12 shows a hierarchy prediction according to an embodiment.
  • 6 shows a table with symbols.
  • 7 12 shows a prediction voting structure according to one embodiment.
  • 8th shows the evaluation of a projection matrix according to an embodiment.
  • 9 shows the evaluation of a projection matrix according to an embodiment.
  • 10 12 shows a flowchart according to an embodiment.
  • 11 12 shows a flowchart according to an embodiment.
  • 12 12 shows a flowchart of prediction tuning according to one embodiment.
  • 13 12 shows a comparison of baseline prediction errors and matched prediction errors, according to one embodiment.
  • 14 12 shows two graphs of demand versus date according to one embodiment.

Detaillierte BeschreibungDetailed description

Hierin werden Systeme und Verfahren für hierarchische Vorhersagen (auch als Prognosen bezeichnet) beschrieben, die Vorhersagen abgleichen und alle Vorhersagen über eine gesamte Hierarchie hinweg konsistent machen, wodurch das Problem der Inkonsistenz, das bei früheren Versuchen auftrat, gelöst wird. Darüber hinaus verwenden diese Systeme und Verfahren Informationen aus allen Ebenen der Hierarchie, um den Gesamtfehler über die gesamte Hierarchie zu reduzieren.Described herein are systems and methods for hierarchical predictions (also known as forecasts) that match predictions and make all predictions consistent across an entire hierarchy, thereby solving the problem of inconsistency encountered in previous attempts. In addition, these systems and procedures use information from all levels of the hierarchy to reduce overall error across the hierarchy.

1 zeigt eine Systemarchitektur 100 gemäß einer Ausführungsform. 1 10 shows a system architecture 100 according to an embodiment.

In einigen Ausführungsformen umfasst das hierarchische Vorhersagesystem ein Vorverarbeitungsmodul 104 und ein Vorhersageabstimmungsmodul 106. Die beiden Module können in jede bestehende Vorhersage-Pipeline 108 eingefügt werden, wodurch beliebige Sätze von Vorhersagen konsistent und mit verbesserter Genauigkeit (durch Verringerung des gesamten Vorhersagefehlers) erstellt werden. Dies ermöglicht es den Unternehmen, bestehende maßgeschneiderte Vorhersagelösungen in Verbindung mit dem hierin offengelegten hierarchischen Vorhersagesystem und -verfahren zu verwenden.In some embodiments, the hierarchical prediction system includes a pre-processing module 104 and a prediction matching module 106. The two modules can be inserted into any existing prediction pipeline 108, thereby making arbitrary sets of predictions consistently and with improved accuracy (by reducing overall prediction error). This allows companies to use existing custom forecasting solutions in conjunction with the hierarchical forecasting system and method disclosed herein.

Die Client-Datenquelle 102 liefert Informationen über die Struktur einer Hierarchie (von einem Client), so dass die Hierarchie rekonstruiert werden kann. In einigen Ausführungsformen baut das Vorverarbeitungsmodul 104 die Hierarchie und die Beziehungen zwischen den Knoten der Hierarchie sowie die Datenaggregation für höhere Ebenen der Hierarchie auf.The client data source 102 provides information about the structure of a hierarchy (from a client) so that the hierarchy can be reconstructed. In some embodiments, the pre-processing module 104 builds the hierarchy and the relationships between the nodes of the hierarchy, as well as data aggregation for higher levels of the hierarchy.

In einigen Ausführungsformen entfernt das Vorverarbeitungsmodul 104 Knoten, die sehr kleine Werte (d. h. weniger als einen Schwellenwert) oder den Wert Null haben. Solche kleinen Mengen tragen nur wenig zur Abstimmung der Vorhersagen bei, machen die Struktur jedoch komplexer.In some embodiments, the pre-processing module 104 removes nodes that have very small values (i.e., less than a threshold) or zero values. Such small amounts do little to tune the predictions, but add complexity to the structure.

In einigen Ausführungsformen kann das Vorverarbeitungsmodul 104 fehlende Datensätze auf der Grundlage von Geschwisterinformationen auffüllen. Das heißt, das Vorverarbeitungsmodul 104 kann die Hierarchie ausnutzen, um fehlende Informationen aufzufüllen.In some embodiments, the pre-processing module 104 may fill in missing records based on sibling information. That is, the pre-processing module 104 can exploit the hierarchy to fill in missing information.

In einigen Ausführungsformen kann das Vorverarbeitungsmodul 104 rollierende Merkmale (engl. rolling features) auch als rollende oder wälzende Merkmale (d. h. auf Verzögerung basierende Merkmale, also Verzögerungsmerkmale) auf allen Ebenen der Hierarchie extrahieren. In einigen Ausführungsformen kann eine solche Extraktion unter Verwendung von Statistiken der rollierenden Merkmale der Kinder in den Eltern durchgeführt werden, wenn Daten für höhere Ebenen aggregiert werden.In some embodiments, the pre-processing module 104 may also extract rolling features as rolling or tumbling features (i.e., delay-based features) at all levels of the hierarchy. In some embodiments, such an extraction can be performed using statistics of the rolling characteristics of the children in the parents when aggregating data for higher levels.

Das Vorhersageabstimmungsmodul 106 stellt sicher, dass die Vorhersagen konsistent sind und einen insgesamt reduzierten Vorhersagefehler aufweisen. Das Vorhersageabstimmungsmodul 106 umfasst ein Optimierungsverfahren, welches die Vorhersagen konsistent und genauer macht. In einigen Ausführungsformen kann die Optimierung während des Vorhersageabstimmung eingeschränkt werden. Bei der Vorhersage eines Bedarfs in einer Lieferkette sollte beispielsweise eine negative Zahl in der Vorhersage nicht zulässig sein. In einigen Ausführungsformen können sowohl uneingeschränkte als auch eingeschränkte Formen der Vorhersageabstimmung von einem Benutzer auf der Grundlage der Geschäftsanforderungen des Unternehmens konfiguriert werden.The prediction matching module 106 ensures that the predictions are consistent and have an overall reduced prediction error. The prediction matching module 106 includes an optimization process that makes the predictions consistent and more accurate. In some embodiments, optimization may be constrained during prediction tuning. For example, when forecasting demand in a supply chain, a negative number should not be allowed in the forecast. In some embodiments, both unconstrained and constrained forms of predictive voting can be configured by a user based on the organization's business needs.

In einigen Ausführungsformen kann ein allgemeines Gewichtungsschema für die Optimierung verwendet werden. In einigen Ausführungsformen kann das Gewichtungsschema einzelnen Knoten während der Optimierung einen Wichtigkeitswert zuweisen, der auf unternehmensspezifischen Wichtigkeitswerten oder Metriken basiert. In einigen Ausführungsformen umfassen diese Metriken/Werte die Kosten von Produkten, das Auftragsvolumen, die Fehlerquote von Vorhersagen usw. In solchen Fällen kann das Gewichtungsschema durch das Vorverarbeitungsmodul erstellt werden. In einigen Ausführungsformen kann das Gewichtungsschema dem Vorhersagefehler jedes Knotens einen Wichtigkeitswert zuweisen. In solchen Fällen wird das Gewichtungsschema im Anschluss an die Vorhersage-Pipeline 108 entwickelt, da die Vorhersage-Pipeline 108 die Fehlerschätzungen für jeden Knoten in der Hierarchie liefert.In some embodiments, a general weighting scheme can be used for the optimization. In some embodiments, the weighting scheme may assign an importance value to individual nodes during optimization based on enterprise-specific importance values or metrics. In some embodiments, these metrics/values include the cost of products, order volume, error rate of predictions, etc. In such cases, the weighting scheme may be created by the pre-processing module. In some embodiments, the weighting scheme may assign an importance value to each node's prediction error. In such cases, the weighting scheme is developed subsequent to the prediction pipeline 108, since the prediction pipeline 108 provides the error estimates for each node in the hierarchy.

2 zeigt ein Blockdiagramm 200 in Übereinstimmung mit einer Ausführungsform eines dynamischen Bedarfsermittlungssystems. 2 Figure 2 shows a block diagram 200 in accordance with one embodiment of a dynamic needs assessment system.

Das Blockdiagramm 200 umfasst einen System-Server 202, eine Client-Datenquelle 216 und eine Client-Vorhersage-Pipeline 218. Der Systemserver 202 kann einen Speicher 210, eine Festplatte 204, einen Prozessor 212, ein Vorverarbeitungsmodul 208 und ein Vorhersageabstimmungsmodul 206 umfassen. Obwohl ein Prozessor 212 dargestellt ist, kann der Systemserver 202 einen oder mehrere Prozessoren umfassen. In einigen Ausführungsformen kann der Speicher 210 ein flüchtiger Speicher sein, während es sich bei der Festplatte 204 um einen nichtflüchtigen Speicher handeln kann. In einigen Ausführungsformen kann der Systemserver 202 mit der Client-Datenquelle 216 und der Client-Vorhersage-Pipeline 218 über das Netzwerk 214 kommunizieren.The block diagram 200 includes a system server 202 , a client data source 216 , and a client prediction pipeline 218 . Although one processor 212 is shown, system server 202 may include one or more processors. In some embodiments, memory 210 may be volatile memory, while hard drive 204 may be non-volatile memory. In some embodiments, system server 202 may communicate with client data source 216 and client prediction pipeline 218 over network 214 .

Das Blockdiagramm 200 kann auch zusätzliche Merkmale und/oder Funktionen enthalten. Zum Beispiel kann der System-Server 202 auch zusätzlichen Speicher (austauschbar und/oder nicht austauschbar) enthalten, einschließlich, aber nicht beschränkt auf magnetische oder optische Platten oder Bänder. Ein solcher zusätzliche Speicher ist in 2 durch den Speicher 210 und die Festplatte 204 dargestellt. Zu den Speichermedien können flüchtige und nichtflüchtige, entfernbare und nicht entfernbare Medien gehören, die in einem beliebigen Verfahren oder einer beliebigen Technologie zur Speicherung von Informationen wie computerlesbaren Anweisungen, Datenstrukturen, Programmmodulen oder anderen Daten implementiert sind. Der Speicher 210 und die Festplatte 204 sind Beispiele für nicht flüchtige, computerlesbare Speichermedien. Zu den nicht transitorischen computerlesbaren Speichermedien gehören unter anderem Random Access Memory (RAM), Read-Only Memory (ROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), Flash-Speicher und/oder andere Speichertechnologien, Compact Disc Read-Only Memory (CD-ROM), Digital Versatile Discs (DVD) und/oder andere optische Speichermedien, Magnetkassetten, Magnetbänder, Magnetplattenspeicher oder andere magnetische Speichervorrichtungen und/oder jedes andere Medium, das zur Speicherung der gewünschten Informationen verwendet werden kann und auf das der Systemserver 202 zugreifen kann. Jedes dieser nichtübertragbaren, computerlesbaren Speichermedien kann Teil des System-Servers 202 sein.Block diagram 200 may also include additional features and/or functionality. For example, system server 202 may also include additional storage (removable and/or non-removable) including but not limited to magnetic or optical disks or tapes. Such additional memory is in 2 represented by memory 210 and hard drive 204. Storage media may include volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information, such as computer-readable instructions, data structures, program modules, or other data. Memory 210 and hard drive 204 are examples of non-transitory, computer-readable storage media. Non-transitory computer-readable storage media include, but are not limited to, random access Memory (RAM), Read-Only Memory (ROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), Flash memory and/or other storage technologies, Compact Disc Read-Only Memory (CD-ROM), Digital Versatile Discs (DVD ) and/or other optical storage media, magnetic cartridges, magnetic tapes, magnetic disk drives, or other magnetic storage devices and/or any other medium that can be used to store the desired information and that can be accessed by the system server 202. Any of these non-portable, computer-readable storage media may be part of the system server 202.

Die Kommunikation zwischen dem System-Server 202, der Client-Datenquelle 216 und der Client-Vorhersagepipeline 218 über das Netzwerk 214 kann über verschiedene Netzwerktypen erfolgen. Nicht einschränkende Beispiel-Netzwerktypen können Fibre Channel, Small Computer System Interface (SCSI), Bluetooth, Ethernet, Wi-fi, Infrared Data Association (IrDA), Local Area Networks (LAN), Wireless Local Area Networks (WLAN), Wide Area Networks (WAN) wie das Internet, Serial und Universal Serial Bus (USB) umfassen. Im Allgemeinen kann die Kommunikation zwischen verschiedenen Komponenten des Blockdiagramms 200 über festverdrahtete, zellulare, Wi-Fi- oder Bluetooth-vernetzte Komponenten oder Ähnliches erfolgen. In einigen Ausführungsformen können ein oder mehrere elektronische Geräte des Systems 200 Cloud-basierte Funktionen enthalten, wie z.B. Cloud-basierte Speichermöglichkeiten.Communication between the system server 202, the client data source 216, and the client prediction pipeline 218 over the network 214 can be over various types of networks. Non-limiting example network types may include Fiber Channel, Small Computer System Interface (SCSI), Bluetooth, Ethernet, Wi-Fi, Infrared Data Association (IrDA), Local Area Networks (LAN), Wireless Local Area Networks (WLAN), Wide Area Networks (WAN) such as the Internet, Serial and Universal Serial Bus (USB). In general, communication between various components of block diagram 200 may be via hardwired, cellular, Wi-Fi, or Bluetooth networked components, or the like. In some embodiments, one or more electronic devices of system 200 may include cloud-based capabilities, such as cloud-based storage capabilities.

Die Client-Datenquelle 216 kann eine Vielzahl von Rohdaten von einem Client bereitstellen. Sie kann genügend Informationen enthalten, um eine Hierarchie zu rekonstruieren - einschließlich der Struktur der Hierarchie und der Beziehungen zwischen verschiedenen Knoten der Hierarchie.Client data source 216 may provide a variety of raw data from a client. It can contain enough information to reconstruct a hierarchy - including the structure of the hierarchy and the relationships between different nodes of the hierarchy.

Über das Netzwerk 214 kann der Systemserver 202 Daten von der Client-Datenquelle 216 abrufen und auf die Client-Vorhersagepipeline 218 zugreifen. Die abgerufenen Daten können im Speicher 210 oder auf der Festplatte 204 gespeichert werden. In einigen Fällen kann der Systemserver 202 auch einen Webserver umfassen und Ressourcen in einem Format formatieren, das für die Anzeige in einem Webbrowser geeignet ist.The system server 202 can retrieve data from the client data source 216 and access the client prediction pipeline 218 via the network 214 . The retrieved data can be stored in memory 210 or hard disk 204 . In some cases, system server 202 may also include a web server and format resources in a format suitable for display in a web browser.

3 zeigt ein Beispiel für eine Hierarchie 300 gemäß einer Ausführungsform. Die Beispielhierarchie 300 ist eine Hierarchie von Teilen und Kunden, mit drei Ebenen: Ebene 0 302 (die Wurzel oder die gesamten Daten); Ebene 1 304 (Teil/SKU-Ebene); und Ebene 2 306 (Teil-Kunden-Ebene). Acht Knoten sind gekennzeichnet als: A1, A2, A3, B1, B2, A, B, Daten). Es gibt 5 Knoten (A1, A2, A3, B1, B2) auf Ebene 2 306, zwei Knoten (A, B) auf Ebene 1 304 und einen Knoten (Daten) auf Ebene 0 302. In einer Ausführungsform einer Lieferkette kann die Hierarchie mehrere Ebenen und Tausende von Knoten umfassen. 3 FIG. 3 shows an example of a hierarchy 300 according to an embodiment. The example hierarchy 300 is a hierarchy of parts and customers, with three levels: level 0 302 (the root or all of the data); Level 1 304 (part/SKU level); and level 2 306 (partial customer level). Eight nodes are labeled as: A1, A2, A3, B1, B2, A, B, Data). There are 5 nodes (A1, A2, A3, B1, B2) at level 2 306, two nodes (A, B) at level 1 304, and one node (data) at level 0 302. In one embodiment of a supply chain, the hierarchy span multiple levels and thousands of nodes.

Während die Hierarchie 300 eine Kunden-Teile-Hierarchie darstellt, kann es verschiedene Formen einer Hierarchie geben.While hierarchy 300 represents a customer-parts hierarchy, there can be various forms of a hierarchy.

In einem nicht einschränkenden Beispiel ist die Hierarchie eine geografische Hierarchie, wobei die verschiedenen Ebenen der Hierarchie verschiedene geografische Regionen darstellen. Beispielsweise kann die unterste Ebene die wichtigsten Regionen eines Landes darstellen; die mittlere Ebene kann verschiedene Länder repräsentieren; und die oberste Ebene kann die Welt insgesamt darstellen. In einer Lieferkettenhierarchie sollte beispielsweise die Summe des prognostizierten Bedarfs aus jeder Region (des Landes A) an den Knoten A1, A2 und A3 dem prognostizierten Bedarf (für das Land A) am Knoten A entsprechen. Ebenso sollte die Summe des prognostizierten Bedarfs aus jeder Region (des Landes B) an den Knoten B1 und B2 dem prognostizierten Bedarf (für das Land B) am Knoten B entsprechen. Schließlich sollte die Summe der prognostizierten Nachfrage aus Land A an Knoten A und Land B an Knoten B der weltweiten prognostizierten Nachfrage auf Ebene 0 302 (Daten) entsprechen.In one non-limiting example, the hierarchy is a geographic hierarchy, with different levels of the hierarchy representing different geographic regions. For example, the lowest level can represent the major regions of a country; the middle level can represent different countries; and the top level can represent the world at large. For example, in a supply chain hierarchy, the sum of the forecast demand from each region (of country A) at nodes A1, A2, and A3 should equal the forecast demand (for country A) at node A. Likewise, the sum of the forecast demand from each region (of country B) at nodes B1 and B2 should equal the forecast demand (for country B) at node B. Finally, the sum of the forecast demand from country A at node A and country B at node B should equal the world forecast demand at level 0 302 (data).

In einem nicht einschränkenden Beispiel ist die Hierarchie eine Produkthierarchie, wobei die verschiedenen Ebenen der Hierarchie verschiedene Typen (z. B. Größe, Marke, Modell) eines Produkts darstellen. Die Summe der Nachfrage nach verschiedenen Typen/Größen des Produkts sollte der gesamten Produktnachfrage entsprechen.In one non-limiting example, the hierarchy is a product hierarchy, with the different levels of the hierarchy representing different types (e.g., size, brand, model) of a product. The sum of demand for different types/sizes of product should equal total product demand.

In einem nicht einschränkenden Beispiel ist die Hierarchie eine ereigniszeitbasierte Hierarchie, bei der die verschiedenen Ebenen der Hierarchie verschiedene Zeiträume der Nachfrage darstellen. Die Summe der wöchentlichen Nachfrage (Ebene 2 306) sollte der monatlichen/quartalsweisen Nachfrage (Ebene 1 304) entsprechen, die wiederum der jährlichen Nachfrage (Ebene 0 302) entsprechen sollte.As a non-limiting example, the hierarchy is an event-time based hierarchy, where the different levels of the hierarchy represent different time periods of demand. The sum of the weekly demand (level 2 306) should equal the monthly/quarterly demand (level 1 304), which in turn should equal the annual demand (level 0 302).

4 zeigt eine Hierarchievorhersage 400 gemäß einer Ausführungsform. 4 4 shows a hierarchy prediction 400 according to an embodiment.

Es wird eine ideale Vorhersage 402 gezeigt, bei der die Knoten die folgenden Vorhersagewerte haben: A1 = 20, A2 = 30 und A3 =50; B1 = 80 und B2 = 70; A = 100; B = 150; und Daten = 250. Zu bemerken ist in 402: A1 + A2 + A3 = A; B1 + B2 = B; und A + B = Daten. Das heißt, die Summe aller Vorhersagen für eine Gruppe von Zweigen auf einer Ebene entspricht der Vorhersage für den darüber liegenden Knoten; und die Summe aller Vorhersagen auf einer Ebene entspricht der Vorhersage für die darüber liegende Ebene.An ideal prediction 402 is shown where the nodes have the following prediction values: A1=20, A2=30, and A3=50; B1 = 80 and B2 = 70; A = 100; B = 150; and data = 250. Note at 402: A1 + A2 + A3 = A; B1 + B2 = B; and A + B = data. That is, the sum of all predictions for a set of branches at one level equals the prediction for the one above it near knot; and the sum of all predictions at one level equals the prediction for the level above.

In der Realität addieren sich die Vorhersagen auf den verschiedenen Ebenen jedoch nicht immer, da die Vorhersagen auf den verschiedenen Ebenen unabhängig voneinander erstellt werden. Die reale Vorhersage 404 veranschaulicht dieses Phänomen. Zum Beispiel ist die Summe der Vorhersagen für die Knoten A1, A2 und A3: A1 + A2 + A3 = 100, während die Vorhersage für den Knoten A tatsächlich 110 beträgt. Es besteht eine Diskrepanz von +10, d.h. A - (A1 + A2 + A3) = 10. In ähnlicher Weise ist die Summe der Vorhersagen für die Knoten B1 und B2: B1 + B2 = 150, während die Vorhersage für den Knoten B tatsächlich 170 beträgt. Es besteht eine Diskrepanz von +20, d. h. B - (B1 + B2) = 20. Außerdem beträgt die Summe der Vorhersagen für die Knoten A und B: A + B = 280, während die Vorhersagen für Daten 230 beträgt. Es ergibt sich eine Diskrepanz von -50, d. h. Daten - (A + B) = -50.However, in reality, the predictions at the different levels do not always add up because the predictions at the different levels are made independently. Real prediction 404 illustrates this phenomenon. For example, the sum of the predictions for nodes A1, A2, and A3 is: A1 + A2 + A3 = 100, while the prediction for node A is actually 110. There is a discrepancy of +10, i.e. A - (A1 + A2 + A3) = 10. Similarly, the sum of the predictions for nodes B1 and B2 is: B1 + B2 = 150, while the prediction for node B is actually is 170. There is a discrepancy of +20, i. H. B - (B1 + B2) = 20. Also, the sum of the predictions for nodes A and B is: A + B = 280, while the predictions for data is 230. There is a discrepancy of -50, i. H. Data - (A + B) = -50.

Die Diskrepanz auf jeder Ebene wird als „Konsistenzfehler“ bezeichnet. Dieser unterscheidet sich vom Vorhersagefehler, der der Fehler ist, der mit jeder Vorhersage (d.h. an jedem Knoten) verbunden ist. Beispiel: A1 hat eine Vorhersage von 20. Diese Vorhersage für A1 ist in 4 zwar nicht dargestellt, aber mit einer Unsicherheit verbunden, z. B. A1 = 20 plus oder minus 2. Jeder Knoten hat seinen eigenen Vorhersagefehler, der von einem Algorithmus geliefert wird, der jede Vorhersage formuliert.The discrepancy at each level is called "consistency error". This differs from prediction error, which is the error associated with each prediction (ie, at each node). Example: A1 has a prediction of 20. This prediction for A1 is in 4 not shown, but associated with an uncertainty, e.g. B. A1 = 20 plus or minus 2. Each node has its own prediction error, supplied by an algorithm that formulates each prediction.

In den hier vorgestellten Systemen und Verfahren der hierarchischen Vorhersage werden die Vorhersagen auf jeder Ebene der Hierarchie so aufeinander abgestimmt, dass der Konsistenzfehler gleich Null ist. Eine optimale Vorhersage wird auf der untersten Ebene (d. h. der am stärksten zergliederten Ebene) ermittelt; diese optimalen Vorhersagen der untersten Ebene werden addiert, um die Vorhersagen der höheren Ebene zu berechnen, wobei ein Konsistenzfehler von Null zugrunde gelegt wird.In the hierarchical prediction systems and methods presented here, the predictions at each level of the hierarchy are matched to each other in such a way that the consistency error is equal to zero. An optimal prediction is found at the lowest level (i.e. the most dissected level); these optimal lowest-level predictions are added to calculate the higher-level predictions, assuming a zero consistency error.

Abgleich der Vorhersagenmatching the predictions

5 zeigt eine Hierarchievorhersage gemäß einer Ausführungsform. Die Beispielhierarchie 500 hat acht Knoten (z. B. A1, A2, A3, B1, B2, A, B, Daten), die von eins bis acht indiziert sind. Fünf Knoten (A1, A2, A3, B1, B2) befinden sich auf der untersten Ebene der Hierarchie; zwei Knoten (A, B) befinden sich auf der mittleren Ebene und ein Knoten (Daten) auf der höchsten Ebene der Hierarchie. In einigen Ausführungsformen, in denen die Hierarchie eine Lieferkette darstellt, kann die Hierarchie mehrere Ebenen und Tausende von Knoten haben. 5 12 shows a hierarchy prediction according to an embodiment. The example hierarchy 500 has eight nodes (e.g., A1, A2, A3, B1, B2, A, B, data) indexed from one to eight. Five nodes (A1, A2, A3, B1, B2) are at the bottom level of the hierarchy; two nodes (A,B) are at the middle level and one node (data) is at the top level of the hierarchy. In some embodiments where the hierarchy represents a supply chain, the hierarchy may have multiple levels and thousands of nodes.

Da der Konsistenzfehler Null ist, sind die abgestimmten Vorhersagen 502 jedes der acht Knoten die Summe der untergeordneten Vorhersageknoten, wobei die Knoten der untersten Ebene eine optimale Vorhersage 506 für die unterste Ebene haben. Die unterste Ebene ist auch als bottom level bezeichnet. Die Beziehung zwischen den abgestimmten Vorhersagen 502 und der optimalen unterste Ebene Vorhersage 506 ist durch Gleichung 508 gegeben, in der die Summationsmatrix 504 auf die optimale unterste Ebene Vorhersage 506 angewendet wird, um die abgestimmten Vorhersagen 502 zu erhalten. Die Summationsmatrix 504 ist für das in der Hierarchie 500 dargestellte Beispiel eine 8x5-Matrix, während die optimale unterste Ebene Vorhersage 506 ein 5x1-Vektor und die abgestimmten Vorhersagen 502 ein 8x1-Vektor sind. Dies bedeutet: y ˜ = S β

Figure DE112021000081T5_0001
Since the consistency error is zero, the matched predictions 502 of each of the eight nodes are the sum of the child predictor nodes, with the lowest level nodes having an optimal prediction 506 for the lowest level. The lowest level is also referred to as the bottom level. The relationship between the matched predictions 502 and the optimal bottom-level prediction 506 is given by equation 508 in which the summation matrix 504 is applied to the optimal bottom-level prediction 506 to obtain the matched predictions 502 . The summation matrix 504 is an 8x5 matrix for the example illustrated in the hierarchy 500, while the optimal bottom-level prediction 506 is a 5x1 vector and the matched predictions 502 are an 8x1 vector. This means: y ˜ = S β
Figure DE112021000081T5_0001

6 zeigt eine Tabelle mit Symbolen 600, die die verschiedenen Einheiten zusammenfasst, die zur Beschreibung der Vorhersageabstimmung in einigen Ausführungsformen verwendet werden. 6 FIG. 6 shows a table of symbols 600 that summarizes the various entities used to describe predictive matching in some embodiments.

Das Problem, die abgestimmten Vorhersagen zu finden, wird nun auf die Suche nach den optimalen Vorhersagen auf der untersten Ebene verlagert. In einigen Ausführungsformen können die Vorhersagen der untersten Ebene mit Hilfe einer Projektionsmatrix geschätzt werden, die die Vorhersagen aller Ebenen auf die unterste Ebene abbildet. Auf diese Weise werden alle Vorhersagen auf allen Ebenen verwendet, um die optimale Projektion auf die unterste Ebene zu finden: β = P y ^

Figure DE112021000081T5_0002
The problem of finding the matched predictions is now shifted to finding the optimal predictions at the lowest level. In some embodiments, the bottom-level predictions may be estimated using a projection matrix that maps all levels' predictions to the bottom-level. In this way, all predictions at all levels are used to find the optimal projection to the lowest level: β = P y ^
Figure DE112021000081T5_0002

In Gleichung (3) ist y ein Vektor, der die Basisvorhersagen darstellt (d. h. ein Vektor der Vorhersagen, die von der Vorhersage-Pipeline 108 von 1 an allen Knoten in der Hierarchie erzeugt wurden). Daher wird das Problem, die optimalen Vorhersagen für die unterste Ebene zu finden, nun dahingehend geändert, die optimale Projektion P zu finden, die die Basisvorhersagen optimal auf die unterste Ebene der Hierarchie abbildet. Sobald die optimale Projektion P gefunden ist, können die abgestimmten Vorhersagen anhand der folgenden Formel berechnet werden: y ˜ = S P y ^

Figure DE112021000081T5_0003
In Equation (3), y is a vector representing the baseline predictions (i.e., a vector of the predictions generated by the prediction pipeline 108 of 1 created at all nodes in the hierarchy). Therefore, the problem of finding the optimal predictions for the bottom level is now changed to finding the optimal projection P that optimally maps the baseline predictions to the bottom level of the hierarchy. Once the optimal projection P is found, the matched predictions can be calculated using the following formula: y ˜ = S P y ^
Figure DE112021000081T5_0003

Mit dieser Formel werden die Basisvorhersagen zunächst mit Hilfe der Projektion P auf die unterste Ebene abgebildet, und dann werden die Vorhersagen der untersten Ebene mit Hilfe der in 5 definierten Summationsoperation S auf alle Ebenen aggregiert. Die Aggregationsoperation garantiert eine 100%ige Konsistenz über die gesamte Hierarchie hinweg, da alle Vorhersagen der höheren Ebene auf der Basis der untersten Ebene berechnet werden.Using this formula, the baseline predictions are first mapped to the lowest level using the projection P, and then the lowest level predictions are mapped using the in 5 defined summation operation S aggregated to all levels. The aggregation operation guarantees 100% consistency across the entire hierarchy as all higher level predictions are calculated based on the lowest level.

7 veranschaulicht einen Vorhersageabstimmungsrahmen 700 gemäß einer Ausführungsform unter Bezugnahme auf die obigen Gleichungen (1) - (3). In 7 ist die Gleichung (3) 702 in zwei Schritte unterteilt: Projektion der untersten Ebene 704 und Aggregation auf alle Ebenen 706. 7 FIG. 7 illustrates a prediction matching framework 700 according to one embodiment with reference to equations (1)-(3) above. In 7 Equation (3) 702 is divided into two steps: projection of the lowest level 704 and aggregation to all levels 706.

In Gleichung (1) werden die abgestimmten Vorhersagen (d. h. der Vektor der abgestimmten Vorhersagen an allen Knoten) durch die Basisvorhersagen (d. h. den Vektor der Vorhersagen an allen Knoten) ersetzt und das System der linearen Gleichungen für den Vektor der optimalen Vorhersagen auf der untersten Ebene (β) unter Verwendung eines OLS (Ordinary Last Squares) -Algorithmus gelöst, was Folgendes ergibt: β = ( S T S ) 1 S T y ^

Figure DE112021000081T5_0004
In Equation (1), the matched predictions (ie the vector of matched predictions at all nodes) are replaced by the base predictions (ie the vector of predictions at all nodes) and the system of linear equations for the vector of optimal predictions at the lowest level (β) solved using an OLS (Ordinary Last Squares) algorithm, yielding: β = ( S T S ) 1 S T y ^
Figure DE112021000081T5_0004

In Gleichung (4) ist ST die Transponierte der Summationsmatrix S. Vergleicht man Gleichung (2) und (4), so ergibt sich die Projektionsmatrix P wie folgt: P = ( S T S ) 1 S T

Figure DE112021000081T5_0005
In equation (4), S T is the transpose of the summation matrix S. Comparing equations (2) and (4), the projection matrix P is obtained as follows: P = ( S T S ) 1 S T
Figure DE112021000081T5_0005

Die in P definierte Projektionsoperation ist eine lineare Transformation, was bedeutet, dass jede Vorhersage der untersten Ebene in β eine gewichtete lineare Kombination aller Vorhersagen ist. Nach der Berechnung der Projektionsmatrix P können alle Basisvorhersagen auf die unterste Ebene projiziert und wieder nach oben aggregiert werden. Dadurch kann der Algorithmus in Verbindung mit bestehenden Vorhersage-Pipelines verwendet werden.The projection operation defined in P is a linear transformation, which means that each bottom-level prediction in β is a weighted linear combination of all predictions. After computing the projection matrix P, all the baseline predictions can be projected to the lowest level and aggregated back up. This allows the algorithm to be used in conjunction with existing prediction pipelines.

8 zeigt die Auswertung einer Projektionsmatrix 800 gemäß einer Ausführungsform, wie sie durch Gleichung (4) und Gleichung (5) definiert ist. Die unterste Ebene Vorhersage β ist in Gl. (4) 802 dargestellt, wodurch die Projektionsmatrix P identifiziert wird. 8th FIG. 8 shows the evaluation of a projection matrix 800 according to an embodiment as defined by equation (4) and equation (5). The lowest level prediction β is in Eq. (4) 802, identifying the projection matrix P .

Verallgemeinerte VorhersageübereinstimmungGeneralized Prediction Agreement

Die OLS-Lösung (siehe Gleichung (5)) kann zu einer gewichteten Optimierung verallgemeinert werden, bei der ein Gewicht für jeden der Knoten des Baums während der Optimierung berücksichtigt werden kann. In dieser verallgemeinerten Form kann die Projektionsmatrix P mit Hilfe eines Verfahrens der verallgemeinerten kleinsten Quadrate (engl. Generalized Least Squares (GLS)) gefunden werden: P = ( S T W S ) 1 S T W

Figure DE112021000081T5_0006
The OLS solution (see Equation (5)) can be generalized to a weighted optimization, where a weight for each of the nodes of the tree can be considered during the optimization. In this generalized form, the projection matrix P can be found using a generalized least squares (GLS) method: P = ( S T W S ) 1 S T W
Figure DE112021000081T5_0006

Wenn W diagonal ist, wird die GLS als Weighted Least Squares (WLS) bezeichnet. Gl. (6) ist in 9 dargestellt, wo das Äquivalent von Gl. (6) 902 zusammen mit Beispielen für verschiedene Ausführungsformen der Gewichtungsmatrix W dargestellt ist. Man beachte, dass Gleichung (6) allgemein ist - die Gewichtungsmatrix W kann auf die Identitätsmatrix gesetzt werden, wenn kein bestimmtes Gewichtungsschema verwendet wird.When W is diagonal, the GLS is called Weighted Least Squares (WLS). Eq. (6) is in 9 shown where the equivalent of Eq. (6) 902 along with examples of different embodiments of the weight matrix W . Note that equation (6) is general - the weight matrix W can be set to the identity matrix if no particular weighting scheme is used.

Die Hierarchie wird einmal aufgebaut und durch die Summationsmatrix S definiert. In der Beispielhierarchie 300 ist die Gewichtungsmatrix W eine 8x8-Matrix. In einigen Ausführungsformen ist W eine Diagonalmatrix (d. h. alle nichtdiagonalen Elemente sind 0 und nur die Diagonalelemente - 8 Elemente, die 8 Knoten entsprechen - sind ungleich Null). Beispiele hierfür sind die Umkehrung der Fehlerquote der Basisvorhersagen, das Auftragsvolumen in jedem Knoten, die Gesamtkosten/der Wert der Aufträge in jedem Knoten usw. Die nichtdiagonalen Elemente gewichten die Beziehung zwischen den Knoten.The hierarchy is built once and defined by the summation matrix S. In the example hierarchy 300, the weight matrix W is an 8x8 matrix. In some embodiments, W is a diagonal matrix (i.e. all non-diagonal elements are 0 and only the diagonal elements - 8 elements corresponding to 8 nodes - are non-zero). Examples are the inverse error rate of the baseline predictions, the volume of orders in each node, the total cost/value of orders in each node, etc. The off-diagonal elements weight the relationship between the nodes.

In einigen Ausführungsformen wird die Umkehrung der Fehlerquote der Basisvorhersagen als diagonale Einträge der Gewichtungsmatrix W verwendet, In solchen Ausführungsformen ist die Projektion auf die unterste Ebene der Hierarchie ein Best Linear Unbiased Estimate (BLUE).In some embodiments, the inverse error rate of the baseline predictions is used as the diagonal entries of the weight matrix W. In such embodiments, the projection to the bottom of the hierarchy is a Best Linear Unbiased Estimate (BLUE).

Dieses Gewichtungsschema kann so erweitert werden, dass ein Kunde einen beliebigen geschäftsspezifischen Wichtigkeitswert oder eine Metrik verwenden kann, die er wünscht. In einigen Ausführungsformen kann einem Knoten eine Bedeutung zugewiesen werden, die auf dem Auftragsvolumen in diesem Knoten basiert. In einigen Ausführungsformen kann die Bedeutung eines Knotens auf der Grundlage der Gesamtkosten der Artikel in diesem Knoten zugewiesen werden. In einigen Ausführungsformen kann die Wichtigkeit verschiedenen Ebenen der Hierarchie zugeordnet werden. Wie man sieht, kann die Wichtigkeit auch jeder anderen Metrik zugewiesen werden.This weighting scheme can be extended to allow a customer to use any business-specific importance value or metric that they desire. In some embodiments, a node may be assigned an importance based on the volume of orders at that node. In some embodiments, the importance of a node may be assigned based on the total cost of the items in that node. In some embodiments, importance can be assigned to different levels of the hierarchy. As you can see, the importance can also be assigned to any other metric.

Diese Gewichte bestimmen die Wichtigkeit der einzelnen Elemente in der Optimierung bei der Suche nach der Projektion. Wenn beispielsweise ein erstes Produkt zehnmal so oft bestellt wird wie ein zweites Produkt, dann hat das erste Produkt einen größeren Einfluss auf die Vorhersageabstimmung. In einigen Ausführungsformen wird eine Kombination aus Fehlerquote und Volumen/Kosten verwendet, so dass ein umsatzstärkstes Produkt mit niedriger Fehlerquote den größten Einfluss auf den Abgleich hat.These weights determine the importance of each element in the optimization in finding the projection. For example, if a first product is ordered 10 times as often as a second product, then the first product has a greater impact on the prediction vote. In some embodiments, a combination of error rate and volume/cost is used such that a top-selling product with a low error rate has the greatest impact on the reconciliation.

10 zeigt ein Flussdiagramm 1000 gemäß einer Ausführungsform der hierarchischen Vorhersage. In Schritt 1004 empfängt das Vorverarbeitungsmodul 104 (von 1) Daten, die den Aufbau einer Hierarchie ermöglichen. Beispielsweise kann das Vorverarbeitungsmodul Datensätze oder Tabellendaten mit einer Reihe von Schlüsselspalten empfangen, die den Hierarchieebenen entsprechen. In Schritt 1006 baut das Vorverarbeitungsmodul 104 die Hierarchie und die Datenaggregation auf und erzeugt in Schritt 1008 eine Summationsmatrix S in Bezug auf die Hierarchie. In der in 10 gezeigten Ausführungsform wird in Schritt 1008 auch die Gewichtungsmatrix W erzeugt. In diesem Fall bezieht sich die Gewichtungsmatrix W auf die Metriken der einzelnen Knoten in der Hierarchie. Diese Informationen werden dann in die bestehende Vorhersage-Pipeline 108 (von 1) eingefügt, die in Schritt 1010 eine Vorhersage für alle Artikel und alle Ebenen (d. h. eine Basisvorhersage) erstellt. In Schritt 1012 empfängt das Vorhersageabstimmungsmodul 106 (von 1) die Basisvorhersagen und stimmt in Schritt 1014 die Vorhersage ab und optimiert sie, um in Schritt 1016 eine abgestimmte Vorhersage zu erstellen. 10 10 shows a flow diagram 1000 according to an embodiment of hierarchical prediction. In step 1004, the pre-processing module 104 receives (from 1 ) Data that enable the construction of a hierarchy. For example, the pre-processing engine can receive datasets or table data with a set of key columns corresponding to hierarchy levels. In step 1006, the pre-processing module 104 builds the hierarchy and the data aggregation and in step 1008 generates a summation matrix S with respect to the hierarchy. in the in 10 In the embodiment shown, in step 1008 the weight matrix W is also generated. In this case, the weight matrix W refers to the metrics of each node in the hierarchy. This information is then fed into the existing prediction pipeline 108 (from 1 ) which, in step 1010, creates a forecast for all items and all tiers (ie, a baseline forecast). In step 1012, the prediction matching module 106 receives (from 1 ) the baseline predictions and in step 1014 adjusts and optimizes the prediction to create an adjusted prediction in step 1016.

11 zeigt ein Flussdiagramm 1100 gemäß einer Ausführungsform der hierarchischen Vorhersage. In Schritt 1104 empfängt das Vorverarbeitungsmodul 104 (von 1) Daten, die den Aufbau einer Hierarchie ermöglichen. Beispielsweise kann das Vorverarbeitungsmodul Datensätze oder Tabellendaten mit einer Reihe von Schlüsselspalten empfangen, die den Hierarchieebenen entsprechen. In Schritt 1106 baut das Vorverarbeitungsmodul 104 die Hierarchie und die Datenaggregation auf und erzeugt in Schritt 1108 eine Summationsmatrix S in Bezug auf die Hierarchie. Diese Informationen werden dann in die bestehende Vorhersage-Pipeline 108 (von 1) eingefügt, die in Schritt 1110 eine Vorhersage für alle Artikel und alle Ebenen (d. h. eine Basisvorhersage) erstellt. In der in 12 gezeigten Ausführungsform wird in Schritt 1112 die Gewichtungsmatrix W erstellt. Hier steht W in Beziehung zu den Vorhersagefehlern an jedem Knoten, von denen jeder in Schritt 1110 erzeugt wird. In Schritt 1114 empfängt das Vorhersageabstimmungsmodul 106 (von 1) die Basisvorhersagen und gleicht in Schritt 1116 die Vorhersage ab und optimiert sie, um in Schritt 1118 eine abgestimmte Vorhersage zu erstellen. 11 11 shows a flow diagram 1100 according to an embodiment of hierarchical prediction. In step 1104, the pre-processing module 104 receives (from 1 ) Data that enable the construction of a hierarchy. For example, the pre-processing engine can receive datasets or table data with a set of key columns corresponding to hierarchy levels. In step 1106, the pre-processing module 104 builds the hierarchy and the data aggregation, and in step 1108 creates a summation matrix S with respect to the hierarchy. This information is then fed into the existing prediction pipeline 108 (from 1 ) which, in step 1110, creates a forecast for all items and all tiers (ie, a baseline forecast). in the in 12 In the embodiment shown, in step 1112 the weight matrix W is created. Here W is related to the prediction errors at each node, each of which is generated in step 1110. In step 1114, the prediction matching module 106 receives (from 1 ) the baseline predictions, and in step 1116 adjusts and optimizes the prediction to create an adjusted prediction in step 1118.

Beschränkte VorhersageabstimmungLimited prediction voting

Wie oben beschrieben, passt die GLS-Optimierung (Generalized Least Squares) die Vorhersagen so an, dass der Gesamtvorhersagefehler reduziert wird, und stellt sicher, dass sich die abgestimmten Vorhersagen korrekt addieren (d. h. der Konsistenzfehler ist Null). Dies führt jedoch dazu, dass einige der Vorhersagen einen negativen Wert haben. In verschiedenen Anwendungen gibt es jedoch bereichsspezifische Beschränkungen. Wenn zum Beispiel die Nachfrage nach Produkten prognostiziert wird, kann die abgestimmte vorhergesagte Nachfrage nicht negativ sein. Die Integration einer solchen Bedingung ist jedoch nicht trivial oder dem Optimierungsalgorithmus bekannt. Um dieses nicht triviale Problem zu lösen, werden während der Optimierung Nicht-Negativitätsbeschränkungen eingeführt. In diesem modifizierten Ansatz wird ein NNLS-Algorithmus (Non-Negative Least Squares) verwendet, um die abgestimmten Vorhersagen β auf unterster Ebene zu finden, wobei die Einschränkung gilt, dass sie nicht negativ sein dürfen: β = arg  min β S β y ^ 2   B e d i n g u n g   f u ¨ r   β > 0

Figure DE112021000081T5_0007
As described above, Generalized Least Squares (GLS) optimization adjusts the predictions to reduce the overall prediction error and ensures that the adjusted predictions add up correctly (i.e. the consistency error is zero). However, this causes some of the predictions to have a negative value. However, there are domain-specific limitations in various applications. For example, when forecasting demand for products, the matched forecast demand cannot be negative. However, the integration of such a condition is not trivial or known to the optimization algorithm. To solve this non-trivial problem, non-negativity constraints are introduced during optimization. In this modified approach, a Non-Negative Least Squares (NNLS) algorithm is used to find the bottom-level matched predictions β, with the constraint that they must not be negative: β = bad at least β S β y ^ 2 B e i.e i n G and n G f and ¨ right β > 0
Figure DE112021000081T5_0007

Diese Form der Optimierung unterscheidet sich von der Methode der gewichteten kleinsten Quadrate dadurch, dass es keine geschlossene Form der Lösung gibt. Die OLS und die WLS haben beide geschlossene Lösungen, die direkt durch Lösen der Gleichungen (5) bzw. (6) erhalten werden können. Die eingeschränkte Form der Optimierung erfordert jedoch eine iterative Optimierung und numerische Lösungsverfahren.This form of optimization differs from the weighted least squares method in that there is no closed form of the solution. The OLS and the WLS both have closed solutions that can be obtained directly by solving equations (5) and (6), respectively. However, the restricted form of optimization requires iterative optimization and numerical solution methods.

Die NNLS in Gleichung (7) kann mit einer Methode der aktiven Menge gelöst werden, bei der die Menge der aktiven Nebenbedingungen bei jeder Kandidatenlösung beibehalten wird. Eine Nebenbedingung wird als aktiv bezeichnet, wenn die Kandidatenlösung genau auf dem Rand liegt, was bedeutet, dass geringfügige Änderungen der Lösung diese Nebenbedingungen verletzen können. Die aktive Menge bestimmt, welche Nebenbedingungen das Endergebnis der Optimierung beeinflussen. Die durch die eingeschränkte Optimierung gefundene Lösung ist möglicherweise nicht die optimale Antwort im Sinne eines minimalen Gesamtfehlers, aber sie garantiert, dass die Lösung alle Einschränkungen erfüllt und daher im machbaren Bereich des Suchraums optimal ist.The NNLS in Equation (7) can be solved using an active set method that preserves the set of active constraints for each candidate solution. A constraint is said to be active if the candidate solution lies exactly on the boundary, which means that minor changes in the solution can violate these constraints. The active set determines which constraints affect the final result of the optimization. The solution found by the constrained optimization may not be the optimal answer in terms of minimum overall error, but it guarantees that the solution satisfies all constraints and is therefore optimal within the feasible range of the search space.

In einigen Ausführungsformen kann jede beliebige Form einer Ungleichheitsbedingung für jeden Knoten im Baum verwendet werden. Wenn beispielsweise eine vorhergesagte Größe zwischen einer Untergrenze und einer Obergrenze liegen muss, kann eine BVLS-Optimierung (Bounded-Variable Least Squares) verwendet werden: β = arg  min β S β y ^ 2   B e d i n g u n g   f u ¨ r   l > β > u

Figure DE112021000081T5_0008
In some embodiments, any form of inequality constraint can be used for each node in the tree. For example, if a predicted magnitude needs to be between a lower bound and an upper bound, a BVLS (bounded-variable least squares) optimization can be used: β = bad at least β S β y ^ 2 B e i.e i n G and n G f and ¨ right l > β > and
Figure DE112021000081T5_0008

In einigen Ausführungsformen kann jeder Knoten in der Hierarchie seine eigene untere und obere Schrankenbedingung haben. Die Methode der begrenzten variablen kleinsten Quadrate (Bounded-Variable Least Squares, BVLS) ist ebenfalls eine iterative Optimierung, die numerische Lösungsverfahren erfordert. Ähnlich wie NNLS verwendet auch BVLS eine Active-Set-Strategie, mit dem Unterschied, dass es zwei Sätze aktiver Beschränkungen unterhält: einen für aktive untere und einen für aktive obere Beschränkungen. Auf diese Weise ist bei jeder Iteration der Optimierung bekannt, welche Beschränkungen wahrscheinlich verletzt werden, so dass die Optimierung entsprechend gelenkt werden kann.In some embodiments, each node in the hierarchy may have its own lower and upper bound condition. The method Bounded-variable least squares (BVLS) is also an iterative optimization that requires numerical solution methods. Similar to NNLS, BVLS also uses an active set strategy, except that it maintains two sets of active constraints: one for active lower constraints and one for active upper constraints. In this way, with each iteration of the optimization, it is known which constraints are likely to be violated, so that the optimization can be directed accordingly.

Diese Art der beschränkten Optimierung mit willkürlichen Beschränkungen ist für viele Anwendungen in der Lieferkette nützlich. Wenn ein Untemehmen beispielsweise weiß, dass die tatsächliche Lieferung eines Produkts nicht höher sein kann als eine Zahl, die auf der Produktionskapazität oder den Fertigungsbeschränkungen basiert, kann diese Information in die Optimierung einbezogen werden, indem die Obergrenze für die vorhergesagten Werte festgelegt wird.This type of constrained optimization with arbitrary constraints is useful for many supply chain applications. For example, if a company knows that the actual shipment of a product cannot exceed a figure based on production capacity or manufacturing constraints, this information can be incorporated into the optimization by capping the predicted values.

In einigen Ausführungsformen kann die NNLS-Optimierung auch mit der BVLS gelöst werden, indem die untere Grenze auf Null und die obere Grenze auf unendlich gesetzt wird. Da die BVLS jedoch rechnerisch etwas langsamer ist als die NNLS, weil bei jeder Iteration zwei Sätze von Beschränkungen beibehalten und überprüft werden müssen, wird die Variante mit nichtnegativen Beschränkungen mit der NNLS-Optimierung gelöst. Die entwickelten Lösungen für hierarchische Vorhersagen bestimmen die richtige Optimierungstechnik auf der Grundlage der Benutzerkonfiguration, so dass der Benutzer keine Kenntnisse über den zugrundeliegenden Mechanismus und die Optimierung haben muss.In some embodiments, the NNLS optimization can also be solved with the BVLS by setting the lower bound to zero and the upper bound to infinity. However, since the BVLS is computationally slightly slower than the NNLS because two sets of constraints must be maintained and checked at each iteration, the variant with non-negative constraints is solved with the NNLS optimization. The developed hierarchical prediction solutions determine the right optimization technique based on the user configuration, so the user does not need to have any knowledge about the underlying mechanism and optimization.

Zusammenfassend lässt sich sagen, dass die hier vorgestellten Methoden und Systeme der hierarchischen Vorhersage den Konsistenzfehler vollständig beseitigen und gleichzeitig eine Verringerung des gesamten Vorhersagefehlers garantieren.In summary, the hierarchical prediction methods and systems presented here completely eliminate the consistency error while guaranteeing a reduction in the overall prediction error.

12 zeigt ein Flussdiagramm 1200 einer Vorhersageabstimmung gemäß einer Ausführungsform. Die Legende 1202 gibt einig der Symbole im Flussdiagramm an. 12 12 shows a flow diagram 1200 of prediction tuning according to one embodiment. Legend 1202 identifies some of the symbols in the flowchart.

In Schritt 1204 werden die Summationsmatrix S, die Gewichtungsmatrix W und die Basisvorhersage y^, in der Zeichnung teilweise als auch y mit Dach gekennzeichnet, eingegeben. Die Summationsmatrix S wird aus der Hierarchie gebildet. Die Gewichtungsmatrix W wird auf der Grundlage der Kundenpräferenz erstellt; sie kann vor der Vorhersagepipeline erstellt werden. Wenn W die Basisvorhersagefehler enthält, wird sie alternativ nach der Vorhersagepipeline konstruiert, da die Vorhersagepipeline die Basisvorhersagefehler erzeugt.In step 1204, the summation matrix S, the weight matrix W, and the baseline prediction y^, partially denoted as hatched y in the drawing, are input. The summation matrix S is formed from the hierarchy. The weight matrix W is created based on customer preference; it can be created before the prediction pipeline. Alternatively, if W contains the baseline prediction errors, it is constructed after the prediction pipeline since the prediction pipeline produces the baseline prediction errors.

Die Summationsmatrix S ist eine m × n-Matrix; die Gewichtungsmatrix W ist eine m × m-Matrix, und y hat ist ein m × 1-Vektor, wobei „m“ die Gesamtzahl der Knoten in der Hierarchie und „n“ die Gesamtzahl der Knoten in der untersten Ebene der Hierarchie bezeichnet.The summation matrix S is an m × n matrix; the weight matrix W is an m × m matrix and y hat is an m × 1 vector, where "m" denotes the total number of nodes in the hierarchy and "n" denotes the total number of nodes in the lowest level of the hierarchy.

In Schritt 1206 findet die Initialisierung der Iteration statt. Zu Beginn wird die Menge der passiven Nebenbedingungen Q, ein n x 1-Vektor, auf leer gesetzt; die Kandidatenlösung C wird auf Null gesetzt, ebenso wie die abgestimmten Vorhersagen β (die ein nx1-Vektor sind). Die Menge der aktiven Nebenbedingungen R, ein nx1-Vektor, wird für die ‚n‘ untersten Knoten in der Hierarchie definiert. Der Fehlervektor ‚e‘ ist ein nx1-Vektor. Die Komponenten bezeichnen den Projektionsfehler an jedem der untersten Knoten in der Hierarchie. Anfänglich ist e = STW y^.In step 1206 the initialization of the iteration takes place. Initially, the set of passive constraints Q, an nx 1 vector, is set to empty; the candidate solution C is set to zero, as are the matched predictions β (which are an nx1 vector). The set of active constraints R, an nx1 vector, is defined for the 'n' lowest nodes in the hierarchy. The error vector 'e' is an nx1 vector. The components denote the projection error at each of the lowest nodes in the hierarchy. Initially e = S T W y^.

Von Schritt 1208 bis Schritt 1214 wird der Satz aktiver und passiver Beschränkungen berechnet; bei Entscheidung 1216 wird ein Teil der Lösung auf Negativität geprüft. Wenn es keine Negativität gibt, dann werden ein neuer iterierter Fehlervektor e und ein abgestimmter Vorhersagevektor β in Schritt 1218 berechnet. In Schritt 1208 werden die duale Bedingung eines nicht-nullen Satzes aktiver Beschränkungen R und der maximale Fehler für mit R verbundene Knoten getestet. Wenn die Testbedingung in 1208 nicht erfüllt ist, endet der iterative Prozess mit der in Schritt 1228 berechneten abgestimmten Vorhersage. Wenn beide Bedingungen, wie in Schritt 1208 gezeigt, erfüllt sind, wird der Schritt 1210 bis zur Entscheidung 1216 wiederholt.From step 1208 to step 1214, the set of active and passive constraints is calculated; at decision 1216, a portion of the solution is tested for negativity. If there is no negativity, then a new iterated error vector e and a matched prediction vector β are calculated in step 1218. In step 1208, the dual condition of a non-zero set of active constraints R and the maximum error for nodes connected to R are tested. If the test condition is not met in 1208, the iterative process ends with the matched prediction calculated in step 1228. If both conditions are met as shown in step 1208, step 1210 is repeated through decision 1216.

Wenn bei der Entscheidung 1216 ein Teil der Kandidatenlösung CQ negativ ist, werden die Schritte 1220 und 1222 durchgeführt, um die Negativität zu beseitigen; die Menge der passiven Bedingungen Q und die Menge der aktiven Bedingungen R werden bei Schritt 1224 aktualisiert. Die Kandidatenlösung C wird berechnet, gefolgt von der Berechnung eines neuen iterierten Fehlervektors e und des abgestimmten Vorhersagevektors β in Schritt 1218. Wenn die Testbedingung in Schritt 1208 nicht erfüllt ist, endet der iterative Prozess mit der in Schritt 1228 berechneten abgestimmten Vorhersage. Wenn beide Bedingungen, die in Schritt 1208 angegeben sind, erfüllt sind, wird der Schritt 1210 bis zur Entscheidung 1216 wiederholt.If, at decision 1216, any portion of the candidate solution C Q is negative, steps 1220 and 1222 are performed to remove the negativity; the set of passive constraints Q and the set of active constraints R are updated at step 1224 . The candidate solution C is calculated, followed by the calculation of a new iterated error vector e and the matched prediction vector β in step 1218. If the test condition is not met in step 1208, the iterative process ends with the matched prediction calculated in step 1228. If both of the conditions specified in step 1208 are met, step 1210 is repeated through decision 1216.

Das iterative Verfahren wird so lange wiederholt, bis die in Schritt 1208 festgelegte Bedingung nicht mehr erfüllt ist; die abgestimmte Vorhersage wird dann in Schritt 1228 berechnet und liefert die Ausgabe in Schritt 1230.The iterative process is repeated until the condition set in step 1208 is no longer met; the matched prediction is then calculated in step 1228 and provides the output in step 1230.

13 zeigt einen Vergleich 1300 gemäß einer Ausführungsform, bei dem die abgestimmten Vorhersagefehler gegen die Basisvorhersagefehler für verschiedene Teile/SKUs aufgetragen werden. Diese Darstellung und die Vorhersagen basieren auf realen Kundendaten, die 80 verschiedene Teile und mehr als 800 Teile-Kunden umfassen. Jeder Kreis in der Grafik entspricht einem Knoten in der mittleren Ebene der Hierarchie (d. h. einem Teil). Die Größe jedes Kreises steht im Verhältnis zum Auftragsvolumen des entsprechenden Knotens. 13 1300 shows a comparison 1300 plotting the matched prediction errors versus the baseline prediction errors for different parts/SKUs, according to one embodiment. This representation and predictions are based on real customer data covering 80 different parts and more than 800 parts customers. Each circle in the graphic corresponds to a node in the middle level of the hierarchy (ie a part). The size of each circle is related to the order volume of the corresponding node.

Die Linie 1302 mit einer Steigung von 1 zeigt an, wo sich der abgestimmte Vorhersagefehler gegenüber dem Basisvorhersagefehler verbessert hat. Die hierarchische Vorhersageabstimmung hat die Vorhersagegenauigkeit für die Kreise unterhalb der Linie 1302 verbessert (d. h. den Fehler verringert) und die Genauigkeit für die Kreise oberhalb der Linie 1302 verringert (d. h. den Fehler erhöht). Aus dem in 13 gezeigten Diagramm geht hervor, dass der hierarchische Abgleich die Mehrzahl der Vorhersagen in der Hierarchie verbessert hat, da die meisten Kreise unterhalb der Linie 1302 liegen. Dies spiegelt sich in Punkt 1304 wider, der zeigt, dass der Gesamtvorhersagefehler von 0,3333739 auf 0,308036 reduziert wurde, was einer Verbesserung von 7,6 % entspricht. Der Vorhersagefehler wird mit Hilfe des gewichteten mittleren absoluten Fehlers in Prozent (WMAPE) berechnet.Line 1302 with a slope of 1 indicates where the matched prediction error has improved over the baseline prediction error. Hierarchical prediction tuning has improved the prediction accuracy for the circles below line 1302 (ie, reduced error) and decreased the accuracy for circles above line 1302 (ie, increased error). from the in 13 The graph shown above shows that hierarchical matching has improved the majority of predictions in the hierarchy, as most of the circles are below line 1302. This is reflected in point 1304, which shows that the overall prediction error has been reduced from 0.3333739 to 0.308036, a 7.6% improvement. The prediction error is calculated using the weighted mean absolute percentage error (WMAPE).

14 zeigt zwei Diagramme 1400 des Bedarfs im Vergleich zum Datum gemäß einer Ausführungsform. 14 14 shows two graphs 1400 of demand versus date according to one embodiment.

In Diagramm 1402 ist die historische Nachfrage 1406 von Juli 2017 bis Juli 2018 dargestellt. Ein Pipeline-Vorhersageprogramm (z. B. die Vorhersage-Pipeline 108 in 1) wird verwendet, um eine Basisvorhersage 1408 für die Nachfrage ab Juli 2018 zu erstellen. Eine abgestimmte Vorhersage 1410 wird ab Juli 2018 angezeigt.Chart 1402 shows historical demand 1406 from July 2017 to July 2018. A pipeline prediction program (e.g. prediction pipeline 108 in 1 ) is used to create a baseline forecast 1408 for demand from July 2018 onwards. A matched prediction 1410 is shown as of July 2018.

Im Diagramm 1404 wird die tatsächliche Nachfrage 1412 ab Juli 2018 im Verhältnis zur abgestimmten Vorhersage 1410 und der Basisvorhersage 1408 dargestellt. Wie aus 1204 ersichtlich, ist die abgestimmte Vorhersage 1410 eine deutliche Verbesserung der vorhergesagten Nachfrage (ab Juli 2018) gegenüber der Basisvorhersage 1408 der Nachfrage.Chart 1404 plots actual demand 1412 as of July 2018 versus matched forecast 1410 and baseline forecast 1408 . As can be seen 1204 , the matched forecast 1410 is a significant improvement in forecast demand (as of July 2018) over the baseline forecast 1408 of demand.

Obwohl die oben beschriebenen Algorithmen, einschließlich derer, die sich auf die vorstehenden Flussdiagramme beziehen, separat beschrieben wurden, können zwei oder mehr der hierin offengelegten Algorithmen in jeder beliebigen Kombination kombiniert werden. Alle hier beschriebenen Methoden, Module, Algorithmen, Implementierungen oder Prozeduren können maschinenlesbare Befehle zur Ausführung durch (a) einen Prozessor, (b) einen Computer, (c) einen Rechner oder (d) einen Computer enthalten: (a) einem Prozessor, (b) einem Controller und/oder (c) einem anderen geeigneten Verarbeitungsgerät. Jeder hier offengelegte Algorithmus, jede Software oder jedes hier offengelegte Verfahren kann in einer Software verkörpert sein, die auf einem nicht-transitorischen, greifbaren Medium gespeichert ist, wie z. B. einem Flash-Speicher, einer CD-ROM, einer Diskette, einer Festplatte, einer Digital Versatile Disk (DVD) oder anderen Speichervorrichtungen, aber Personen, die über gewöhnliche Fachkenntnisse verfügen, werden leicht erkennen, dass der gesamte Algorithmus und/oder Teile davon alternativ von einer anderen Vorrichtung als einem Controller ausgeführt und/oder in Firmware oder dedizierter Hardware in bekannter Weise verkörpert werden könnten (z. B, er kann von einer anwendungsspezifischen integrierten Schaltung (ASIC), einem programmierbaren Logikbaustein (PLD), einem feldprogrammierbaren Logikbaustein (FPLD), diskreter Logik usw. ausgeführt werden). Obwohl spezifische Algorithmen unter Bezugnahme auf die hier dargestellten Flussdiagramme beschrieben werden, werden Personen, die sich mit der Materie auskennen, leicht erkennen, dass viele andere Methoden zur Implementierung der beispielhaften maschinenlesbaren Anweisungen alternativ 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, eliminiert oder kombiniert werden.Although the algorithms described above, including those relating to the flowcharts above, have been described separately, two or more of the algorithms disclosed herein may be combined in any combination. Any method, module, algorithm, implementation, or procedure described herein may include machine-readable instructions for execution by (a) a processor, (b) a computer, (c) a calculator, or (d) a computer: (a) a processor, ( b) a controller and/or (c) another suitable processing device. Any algorithm, software, or method disclosed herein may be embodied in software stored on a non-transitory tangible medium, such as a computer. a flash memory, CD-ROM, floppy disk, hard disk, Digital Versatile Disk (DVD) or other storage device, but persons of ordinary skill in the art will readily recognize that the entire algorithm and/or parts alternatively, it could be implemented on a device other than a controller and/or embodied in firmware or dedicated hardware in a known manner (e.g., it may be an application specific integrated circuit (ASIC), a programmable logic device (PLD), a field programmable logic device (FPLD), discrete logic, etc.). Although specific algorithms are described with reference to the flowcharts presented herein, those skilled in the art will readily appreciate that many other methods of implementing the example machine-readable instructions may alternatively be used. For example, the order of execution of the blocks may be changed and/or some of the blocks described may be changed, eliminated, or combined.

Es sollte beachtet werden, dass die hier dargestellten und diskutierten Algorithmen verschiedene Module haben, die bestimmte Funktionen ausführen und miteinander interagieren. Es sollte verstanden werden, dass diese Module lediglich zum Zweck der Beschreibung nach ihrer Funktion unterteilt sind und Computerhardware und/oder ausführbaren Softwarecode darstellen, der auf einem computerlesbaren Medium zur Ausführung auf geeigneter Computerhardware gespeichert ist. Die verschiedenen Funktionen der unterschiedlichen Module und Einheiten können als Hardware und/oder Software, die auf einem nicht-transitorischen computerlesbaren Medium gespeichert sind, wie oben als Module in beliebiger Weise kombiniert oder getrennt werden und können separat oder in Kombination verwendet werden.It should be noted that the algorithms presented and discussed here have different modules that perform specific functions and interact with each other. It should be understood that these modules are divided by function for purposes of description only and represent computer hardware and/or executable software code stored on a computer readable medium for execution on suitable computer hardware. The various functions of the different modules and units can be combined or separated as modules in any way as hardware and/or software stored on a non-transitory computer readable medium as above and can be used separately or in combination.

Besondere Ausführungsformen des Gegenstands sind beschrieben worden. Andere Ausführungsformen fallen in den Anwendungsbereich der folgenden Ansprüche. Beispielsweise können die in den Ansprüchen genannten Vorgänge in einer anderen Reihenfolge ausgeführt werden und dennoch die gewünschten Ergebnisse erzielen. Die in den beigefügten Abbildungen dargestellten Prozesse müssen nicht unbedingt in der dargestellten Reihenfolge ablaufen, um die erwünschten Ergebnisse zu erzielen. Bei bestimmten Implementierungen können Multitasking und parallele Verarbeitung von Vorteil sein.Particular embodiments of the article have been described. Other embodiments are within the scope of the following claims. For example, the operations recited in the claims can be performed in a different order and still achieve the desired results. The processes shown in the attached figures do not necessarily have to be in the order shown run to achieve the desired results. In certain implementations, multitasking and parallel processing can be beneficial.

Claims (20)

Computerimplementiertes Verfahren zur Vorhersageabstimmung in einer Hierarchie, wobei das Verfahren die folgenden Schritte umfasst: Empfangen, durch ein Vorverarbeitungsmodul, von Daten, die sich auf die Hierarchie beziehen; Erzeugen, durch das Vorverarbeitungsmodul, der Hierarchie auf der Grundlage der Daten und einer Summationsmatrix, die sich auf eine Struktur der Hierarchie bezieht; Empfangen, durch ein Vorhersageabstimmungsmodul, einer Basisvorhersage der Hierarchie, der Summationsmatrix und einer Gewichtungsmatrix, wobei die Gewichtungsmatrix ein Gewichtungsschema für jeden Knoten der Hierarchie widerspiegelt, wobei die Gewichtungsmatrix entweder durch das Vorverarbeitungsmodul oder das Vorhersageabstimmungsmodul erzeugt wird; Erzeugen, durch das Vorhersageabstimmungsmodul, einer abgestimmten Vorhersage auf der Grundlage einer Optimierungstechnik der kleinsten Quadrate zum Projizieren der Basisvorhersage auf eine unterste Ebene der Hierarchie, abhängig von einer Bedingung für jeden Knoten der untersten Ebene der Hierarchie.A computer-implemented method for prediction matching in a hierarchy, the method comprising the steps of: receiving, by a pre-processing module, data related to the hierarchy; generating, by the pre-processing module, the hierarchy based on the data and a summation matrix relating to a structure of the hierarchy; receiving, by a prediction matching module, a baseline prediction of the hierarchy, the summation matrix and a weight matrix, the weight matrix reflecting a weighting scheme for each node of the hierarchy, the weight matrix being generated by either the pre-processing module or the prediction matching module; generating, by the prediction matching module, a matched prediction based on a least squares optimization technique for projecting the baseline prediction to a bottom level of the hierarchy dependent on a condition for each node of the bottom level of the hierarchy. Computerimplementiertes Verfahren nach Anspruch 1, wobei die abgestimmte Vorhersage auf einem nicht-negativen Verfahren zur Optimierung der kleinsten Quadrate basiert.Computer-implemented method claim 1 , where the matched prediction is based on a non-negative least squares optimization technique. Computerimplementiertes Verfahren nach Anspruch 1, wobei die abgestimmte Vorhersage auf einer iterativen Optimierung basiert, bei der jeder Knoten der Vorhersage der untersten Ebene innerhalb eines entsprechenden Bereichs begrenzt wird.Computer-implemented method claim 1 , where the matched prediction is based on an iterative optimization where each node of the lowest level prediction is constrained within a corresponding range. Computerimplementiertes Verfahren nach Anspruch 1, wobei jeder Eintrag der Gewichtungsmatrix mit einer oder mehreren Metriken der Hierarchie in Beziehung steht.Computer-implemented method claim 1 , where each entry of the weight matrix is related to one or more metrics of the hierarchy. Computerimplementiertes Verfahren nach Anspruch 4, wobei die Gewichtungsmatrix diagonal ist.Computer-implemented method claim 4 , where the weight matrix is diagonal. Computerimplementiertes Verfahren nach Anspruch 1, wobei jeder Eintrag der Gewichtungsmatrix mit einem Vorhersagefehler jedes Knotens der Hierarchie in Beziehung steht.Computer-implemented method claim 1 , where each entry of the weight matrix is related to a prediction error of each node of the hierarchy. Computerimplementiertes Verfahren nach Anspruch 1, wobei das Vorverarbeitungsmodul mindestens einen der folgenden Schritte durchführt: i) Entfernen eines oder mehrerer Knoten der Hierarchie, die einen Nullwert oder einen Wert kleiner als einen Schwellenwert haben; ii) Auffüllen eines oder mehrerer fehlender Datensätze der Hierarchie auf der Grundlage von Geschwisterinformationen; und iii) Extrahieren von rollierenden Merkmalen auf allen Ebenen der Hierarchie.Computer-implemented method claim 1 wherein the pre-processing module performs at least one of the following steps: i) removing one or more nodes of the hierarchy that have a null value or a value less than a threshold value; ii) filling in one or more missing records of the hierarchy based on sibling information; and iii) extracting rolling features at all levels of the hierarchy. Eine Rechenvorrichtung, wobei die Rechenvorrichtung umfasst: einen Prozessor; und einen Speicher, der Anweisungen speichert, die, wenn sie vom Prozessor ausgeführt werden, die Vorrichtung für die folgenden Schritte konfigurieren Empfangen, durch ein Vorverarbeitungsmodul, von Daten, die sich auf die Hierarchie beziehen; Erzeugen, durch das Vorverarbeitungsmodul, der Hierarchie auf der Grundlage der Daten und einer Summationsmatrix, die sich auf eine Struktur der Hierarchie bezieht; Empfangen, durch ein Vorhersageabstimmungsmodul, einer Basisvorhersage der Hierarchie, der Summationsmatrix und einer Gewichtungsmatrix, wobei die Gewichtungsmatrix ein Gewichtungsschema für jeden Knoten der Hierarchie widerspiegelt, wobei die Gewichtungsmatrix entweder durch das Vorverarbeitungsmodul oder das Vorhersageabstimmungsmodul erzeugt wird; Erzeugen, durch das Vorhersageabstimmungsmodul, einer abgestimmten Vorhersage auf der Grundlage einer Optimierungstechnik der kleinsten Quadrate zum Projizieren der Basisvorhersage auf eine unterste Ebene der Hierarchie, abhängig von einer Bedingung für jeden Knoten der untersten Ebene der Hierarchie.A computing device, the computing device comprising: a processor; and a memory storing instructions which, when executed by the processor, configure the device for the following steps receiving, by a pre-processing module, data related to the hierarchy; generating, by the pre-processing module, the hierarchy based on the data and a summation matrix relating to a structure of the hierarchy; receiving, by a prediction matching module, a baseline prediction of the hierarchy, the summation matrix and a weight matrix, the weight matrix reflecting a weighting scheme for each node of the hierarchy, the weight matrix being generated by either the pre-processing module or the prediction matching module; generating, by the prediction matching module, a matched prediction based on a least squares optimization technique for projecting the baseline prediction to a bottom level of the hierarchy dependent on a condition for each node of the bottom level of the hierarchy. Rechenvorrichtung nach Anspruch 8, wobei die abgestimmte Vorhersage auf einem nichtnegativen Verfahren zur Optimierung der kleinsten Quadrate basiert.computing device claim 8 , where the matched prediction is based on a nonnegative least squares optimization technique. Rechenvorrichtung nach Anspruch 8, wobei die abgestimmte Vorhersage auf einer iterativen Optimierung basiert, bei der jeder Knoten der Vorhersage der untersten Ebene innerhalb eines entsprechenden Bereichs begrenzt ist.computing device claim 8 , where the matched prediction is based on an iterative optimization where each node of the lowest level prediction is bounded within a corresponding region. Berechnungsvorrichtung nach Anspruch 8, wobei jeder Eintrag der Gewichtungsmatrix mit einer oder mehreren Metriken der Hierarchie in Beziehung steht.calculation device claim 8 , where each entry of the weight matrix is related to one or more metrics of the hierarchy. Berechnungsvorrichtung nach Anspruch 11, wobei die Gewichtungsmatrix diagonal ist.calculation device claim 11 , where the weight matrix is diagonal. Rechenvorrichtung nach Anspruch 8, wobei jeder Eintrag der Gewichtungsmatrix mit einem Vorhersagefehler jedes Knotens der Hierarchie in Beziehung steht.computing device claim 8 , where each entry of the weight matrix is related to a prediction error of each node of the hierarchy. Rechenvorrichtung nach Anspruch 8, wobei das Vorverarbeitungsmodul mindestens einen der folgenden Schritte durchführt: i) Entfernen eines oder mehrerer Knoten der Hierarchie, die einen Nullwert oder einen Wert kleiner als einen Schwellenwert haben; ii) Auffüllen eines oder mehrerer fehlender Datensätze der Hierarchie auf der Grundlage von Geschwisterinformationen; und iii) Extrahieren von rollierenden Merkmalen auf allen Ebenen der Hierarchie.computing device claim 8 wherein the pre-processing module performs at least one of the following steps: i) removing one or more nodes of the hierarchy that have a null value or a value less than a threshold value; ii) filling in one or more missing records of the hierarchy based on sibling information; and iii) extracting rolling features at all levels of the hierarchy. Ein nicht-transitorisches computerlesbares Speichermedium, wobei das computerlesbare Speichermedium Anweisungen enthält, die, wenn sie von einem Computer ausgeführt werden, den Computer veranlassen,: Empfangen, durch ein Vorverarbeitungsmodul, von Daten, die sich auf die Hierarchie beziehen; Erzeugen, durch das Vorverarbeitungsmodul, der Hierarchie auf der Grundlage der Daten und einer Summationsmatrix, die sich auf eine Struktur der Hierarchie bezieht; Empfangen, durch ein Vorhersageabstimmungsmodul, einer Basisvorhersage der Hierarchie, der Summationsmatrix und einer Gewichtungsmatrix, wobei die Gewichtungsmatrix ein Gewichtungsschema für jeden Knoten der Hierarchie widerspiegelt, wobei die Gewichtungsmatrix entweder durch das Vorverarbeitungsmodul oder das Vorhersageabstimmungsmodul erzeugt wird; Erzeugen, durch das Vorhersageabstimmungsmodul, einer abgestimmten Vorhersage auf der Grundlage einer Optimierungstechnik der kleinsten Quadrate zum Projizieren der Basisvorhersage auf eine unterste Ebene der Hierarchie, abhängig von einer Bedingung für jeden Knoten der untersten Ebene der Hierarchie.A non-transitory computer-readable storage medium, the computer-readable storage medium containing instructions that, when executed by a computer, cause the computer to: receiving, by a pre-processing module, data related to the hierarchy; generating, by the pre-processing module, the hierarchy based on the data and a summation matrix relating to a structure of the hierarchy; receiving, by a prediction matching module, a baseline prediction of the hierarchy, the summation matrix and a weight matrix, the weight matrix reflecting a weighting scheme for each node of the hierarchy, the weight matrix being generated by either the pre-processing module or the prediction matching module; generating, by the prediction matching module, a matched prediction based on a least squares optimization technique for projecting the baseline prediction to a bottom level of the hierarchy dependent on a condition for each node of the bottom level of the hierarchy. Computerlesbares Speichermedium nach Anspruch 15, wobei die abgestimmte Vorhersage auf einem nicht-negativen Optimierungsverfahren der kleinsten Quadrate basiert.computer-readable storage medium claim 15 , where the matched prediction is based on a non-negative least squares optimization method. Computerlesbares Speichermedium nach Anspruch 15, wobei die abgestimmte Vorhersage auf einer iterativen Optimierung basiert, bei der jeder Knoten der Vorhersage der untersten Ebene innerhalb eines entsprechenden Bereichs begrenzt wird.computer-readable storage medium claim 15 , where the matched prediction is based on an iterative optimization where each node of the lowest level prediction is constrained within a corresponding range. Computerlesbares Speichermedium nach Anspruch 15, wobei jeder Eintrag der Gewichtungsmatrix auf eine oder mehrere Metriken der Hierarchie bezogen ist.computer-readable storage medium claim 15 , where each entry of the weighting matrix is related to one or more metrics of the hierarchy. Computerlesbares Speichermedium nach Anspruch 18, wobei die Gewichtungsmatrix diagonal ist.computer-readable storage medium Claim 18 , where the weight matrix is diagonal. Computerlesbares Speichermedium nach Anspruch 15, wobei jeder Eintrag der Gewichtungsmatrix mit einem Vorhersagefehler jedes Knotens der Hierarchie in Beziehung steht.computer-readable storage medium claim 15 , where each entry of the weight matrix is related to a prediction error of each node of the hierarchy.
DE112021000081.0T 2021-07-27 2021-07-27 Systems, methods and devices for hierarchical predictions Withdrawn DE112021000081T5 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CA2021/051049 WO2023004488A1 (en) 2021-07-27 2021-07-27 Systems, methods and apparatus for hierarchical forecasting

Publications (1)

Publication Number Publication Date
DE112021000081T5 true DE112021000081T5 (en) 2023-03-23

Family

ID=85025225

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112021000081.0T Withdrawn DE112021000081T5 (en) 2021-07-27 2021-07-27 Systems, methods and devices for hierarchical predictions

Country Status (4)

Country Link
CA (1) CA3148578A1 (en)
DE (1) DE112021000081T5 (en)
GB (1) GB2616253A (en)
WO (1) WO2023004488A1 (en)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8068731B2 (en) * 2009-04-07 2011-11-29 Chunghwa Telecom Co., Ltd. Dynamic bandwidth allocation method of Ethernet passive optical network
US8352215B2 (en) * 2009-10-23 2013-01-08 Sas Institute Inc. Computer-implemented distributed iteratively reweighted least squares system and method
US20120197900A1 (en) * 2010-12-13 2012-08-02 Unisys Corporation Systems and methods for search time tree indexes
US9147218B2 (en) * 2013-03-06 2015-09-29 Sas Institute Inc. Devices for forecasting ratios in hierarchies
US10453026B2 (en) * 2015-03-06 2019-10-22 Walmart Apollo, Llc System and method for forecasting high-sellers using multivariate bayesian time series
US10997532B2 (en) * 2017-02-03 2021-05-04 The Dun And Bradstreet Corporation System and method for assessing and optimizing master data maturity
CN109034905A (en) * 2018-08-03 2018-12-18 四川长虹电器股份有限公司 The method for promoting sales volume prediction result robustness

Also Published As

Publication number Publication date
CA3148578A1 (en) 2023-01-27
WO2023004488A1 (en) 2023-02-02
GB2616253A (en) 2023-09-06

Similar Documents

Publication Publication Date Title
DE112019004260T5 (en) ANALYSIS AND CORRECTION OF THE SUPPLY CHAIN DESIGN THROUGH MACHINE LEARNING
Smeekes et al. Macroeconomic forecasting using penalized regression methods
DE202017007517U1 (en) Aggregate characteristics for machine learning
DE102018129424A1 (en) SYSTEM AND METHOD FOR LEARNING THE STRUCTURE OF DEEP NEURONAL NETWORKS
DE112019004261T5 (en) Analysis and correction of the supply chain design through machine learning
DE112018006047T5 (en) DEFENSE OF FUNCTIONAL FUNCTIONS IN QUANTUM APPROXIMATION OPTIMIZATION
DE112016001796T5 (en) FINE-BITE IMAGE CLASSIFICATION BY EXPLORING LABELS FROM A BIPARTITE GRAPH
DE112011101559T5 (en) Dynamic adaptive detection of processes and their compliance
DE10035043A1 (en) Building multi-dimensional indexing structure for use with linear optimising requests involves forming two convex envelopes of input data sets, some representing envelope apex points
WO2004017258A2 (en) Method, data processing device and computer program product for processing data
DE102020126569A1 (en) SYSTEMS AND PROCEDURES FOR DYNAMIC DEMAND ACQUISITION
DE102020126568A1 (en) SYSTEMS AND PROCEDURES FOR FEATURE ENGINEERING
DE112013003205T5 (en) Method and apparatus for processing database data in a distributed database system
DE112013005993T5 (en) Method, apparatus and computer readable medium for optimal determination of data subsets
DE112019003910T5 (en) INFORMATION PROCESSING METHOD, INFORMATION PROCESSING DEVICE AND INFORMATION PROCESSING PROGRAM
DE112021001986T5 (en) Method and system for processing data records
DE10239292A1 (en) Conflict detection and resolution in connection with a data assignment
DE112020002344T5 (en) FEATURE ENGINEERING FOR THE OPTIMIZATION OF NEURAL NETWORKS
DE10394036T5 (en) System and method for performing a risk analysis
DE102020101275A1 (en) Computing device for training an artificial neural network model, method for training the artificial neural network model, and storage system for storing the same
DE202016009077U1 (en) Segmentation and stratification of composite portfolios of investment securities
DE112021000645T5 (en) Method and system for optimizing a discrete constraint target
DE112021004958T5 (en) SCALABLE MODELING ON LARGE COLLECTIONS OF TIME SERIES
AT412678B (en) METHOD FOR COMPUTER-ASSISTED PREPARATION OF PROGNOSES FOR OPERATIONAL SYSTEMS AND SYSTEM FOR CREATING PROGNOSES FOR OPERATIONAL SYSTEMS
DE112018007909T5 (en) PROCEDURES AND SYSTEM OF STRATEGIC OPERATIONAL OR ORGANIZATIONAL MANAGEMENT

Legal Events

Date Code Title Description
R081 Change of applicant/patentee

Owner name: KINAXIS INC., OTTAWA, CA

Free format text: FORMER OWNER: KINAXIS INC., OTTAWA, ONTARIO, CA

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee