DE112021001422T5 - Algorithmische Lernmaschine zur dynamischen Erzeugung von Vorhersageanalysen aus Streaming-Daten mit hohem Volumen und hoher Geschwindigkeit - Google Patents

Algorithmische Lernmaschine zur dynamischen Erzeugung von Vorhersageanalysen aus Streaming-Daten mit hohem Volumen und hoher Geschwindigkeit Download PDF

Info

Publication number
DE112021001422T5
DE112021001422T5 DE112021001422.6T DE112021001422T DE112021001422T5 DE 112021001422 T5 DE112021001422 T5 DE 112021001422T5 DE 112021001422 T DE112021001422 T DE 112021001422T DE 112021001422 T5 DE112021001422 T5 DE 112021001422T5
Authority
DE
Germany
Prior art keywords
variables
model
data
patterns
algorithmic
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE112021001422.6T
Other languages
English (en)
Inventor
Lawrence DERANY
Eduardo GALVEZ
Thomas Hill
Sai Venu Gopal LOLLA
Mark Palmer
Maria PUHL
Daniel Scott
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.)
Cloud Software Group Inc
Original Assignee
Tibco Software 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 Tibco Software Inc filed Critical Tibco Software Inc
Publication of DE112021001422T5 publication Critical patent/DE112021001422T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Algebra (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computational Linguistics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Algorithmische Lernmaschine in Echtzeit, die einen algorithmischen Modellgenerator umfasst, der so konfiguriert ist, dass er einen Satz von Systemvariablen aus einer Big-Data-Quelle unter Verwendung wenigstens eines von einem Mustererkennungsalgorithmus und einem statistischen Testalgorithmus verarbeitet, um Muster, Zusammenhänge zwischen Variablen und wichtige Variablen zu identifizieren; und wenigstens eines von Folgendem erzeugt: ein Vorhersagemodell auf Grundlage der identifizierten Muster, Zusammenhänge zwischen Variablen und wichtigen Variablen; ein statistisches Testmodell über Korrelationen, Unterschiede zwischen Variablen oder zeitliche Muster über Variablen; und ein Wiederkehrende-Cluster-Modell ähnlicher Beobachtungen über Variablen. Ein Datenpräprozessor kann Systemvariablen von Interesse auswählen, die ausgewählten Systemvariablen auf Grundlage der Zeit ausrichten und die ausgerichteten Variablen in Zeilen anordnen. Die ausgewählten Systemvariablen können auch auf Grundlage eines vordefinierten Aggregats aggregiert werden. Ein Visualisierungsprozessor erzeugt Visualisierungen auf Grundlage des Satzes von Systemvariablen und des Vorhersagemodells, des statistischen Tests oder des wiederkehrenden Clusters.

Description

  • HINTERGRUND
  • Verfahren des maschinellen Lernens, der statistischen Analyse, der fortgeschrittenen Analytik und/oder der künstlichen Intelligenz (Kl), die hier als Verfahren des algorithmischen Lernens bezeichnet werden, werden routinemäßig auf verschiedene Datenquellen angewandt, um verwertbare Informationen zu extrahieren oder die automatische Entscheidungsfindung voranzutreiben, mit dem Ziel, bestimmte Geschäfts-, Produktions- oder andere Prozesse zu verbessern. In der gegenwärtigen Praxis algorithmischer Lernverfahren und insbesondere der Vorhersageanalyse wird der Analyseprozess als ein mehrstufiger Lebenszyklus betrachtet, bei dem die Modelle zunächst aus historischen Offline-Daten erstellt werden. Die Modelle werden dann in einem Prozess eingesetzt, der mehrere Test- und Validierungsschritte umfasst, um schließlich in einer Produktionsumgebung Informationen zu liefern oder Entscheidungen zu treffen. Die Leistung des Modells in dieser Umgebung wird dann im Hinblick auf verschiedene Qualitäts-, Zweckmäßigkeits- und Risikomerkmale (im Allgemeinen, wie es sich auf das Geschäft auswirkt) überwacht. Wenn sich ein Modell als nicht mehr effektiv oder unzureichend erweist, um die erforderliche Kapitalrendite („Return on Investment“, ROI) zu erzielen, wird der Lebenszyklus der Modellierung wiederholt, indem die Modelle neu aufgebaut (rekalibriert, neu basiert) werden.
  • Traditionell konzentrierten sich die Diskussionen über algorithmisches Lernen auf statische Big Data und insbesondere auf die Frage, wie man am besten aus sehr großen Sammlungen historischer Daten diagnostische Informationen extrahieren kann, die für die Vorhersage zukünftiger Ergebnisse nützlich sind, um Hypothesen mit statistischen Verfahren zu testen, die auf historische Daten angewendet werden, oder um wiederkehrende Muster und Cluster in den Daten zu erkennen. In vielen realen Anwendungen können die in historischen Daten enthaltenen Diagnoseinformationen in Bezug auf zukünftige Daten und Ereignisse einen nützlichen Wert für einen bestimmten Systemprozess darstellen. Es gibt jedoch auch viele reale Anwendungen, bei denen die in den historischen Daten enthaltenen Informationen nicht nützlich sind.
  • Beispielsweise wiederholen Betrüger, die beispielsweise Bankensysteme angreifen, fast nie dasselbe Verfahren. Wenn das Verfahren einmal bekannt ist, ändern die Täter es. Versicherungs- und Finanzdienstleistungsunternehmen beispielsweise werden die agilsten und reaktionsschnellsten Verfahren zur Erkennung ungewöhnlicher Aktivitäten, die auf Betrug hindeuten, einsetzen wollen, selbst wenn die spezifischen Muster noch nie aufgezeigt wurden; andernfalls werden die Bemühungen zur Betrugsbekämpfung den Betrügern immer einen Schritt voraus sein. Hersteller, deren Wettbewerbsfähigkeit von der erfolgreichen Steuerung hochsensibler und dynamisch instabiler Prozesse abhängt, wollen aufkommende Qualitätsprobleme erkennen, überprüfen und effektive Ursachenanalysen durchführen, bevor sie sich auf das Endergebnis auswirken. Praktisch alle Hersteller von Prozessen, von der Energieerzeugung über die chemische Produktion bis hin zur Herstellung von Lebensmitteln und Pharmazeutika, stehen vor dem Problem der Überwachung komplexer Prozesse, die hochgradig automatisiert, aber gut instrumentiert sind. Anstatt sich nur auf die visuelle Inspektion durch erfahrene Bediener oder Ingenieure oder auf die groben automatisierten Prozesskontrollsysteme und Alarme zu verlassen, die auf einfachen, auf harten technischen Regeln basierenden Abweichungen beruhen, wollen diese Anwender so schnell wie möglich alle neu auftretenden Muster und noch nie dagewesenen Probleme und deren Ursachen erkennen und sich dabei auf ständig aktualisierte Statistiken stützen, die den meisten Ingenieuren, beispielsweise Six Sigma-geschulten Ingenieuren, vertraut sind.
  • Vermarkter und Ersteller von Online-Inhalten müssen ihre Strategien ständig aktualisieren, um ihre Kunden zu binden und sie an ihre Websites und Dienstleistungen sowie an die über diese Websites angebotenen Waren zu binden. Dies ist angesichts des harten Wettbewerbs und der sich schnell ändernden Verbraucherpräferenzen besonders wichtig und im Zeitalter der sozialen Medien in Echtzeit, der allgegenwärtigen mobilen Nachrichtenübermittlung und Interaktionen besonders kritisch. Im Zusammenhang mit diesen neuen Technologien kann sich die Stimmung schnell ändern. Daher gewinnen datenwissenschaftliche Echtzeit-Modelle, die diese Veränderungen erkennen, antizipieren und/oder messen können, während sie stattfinden, sowie die Geschwindigkeit, mit der die Stimmung „abdriftet“, und die vorhergesagten Ergebnisse neu bewerten können, zunehmend an Bedeutung.
  • Der traditionelle Ansatz, d.h. der „Multi-Persona-Lebenszyklus“, zur Erstellung von Vorhersageanalysen ist zeitaufwändig und dauert manchmal Monate, beispielsweise zur Implementierung von Algorithmen zur Betrugserkennung in vielen Finanzdienstleistungs- oder Versicherungsunternehmen. Wenn sich die Beziehungen zwischen den Variablen in den Daten schnell ändern, spricht man von einer schnellen „Konzeptdrift“, einem Begriff, der in der Literatur zum maschinellen Lernen und zur Statistik verwendet wird, um den Zustand zu beschreiben, in dem sich die Beziehungen zwischen Variablen und/oder ihren multivariaten Mittelwerten, Verteilungen, ihrer Variabilität oder anderen statistischen Eigenschaften oder die Beziehungen zwischen Variablen, die als Inputs (auch „unabhängige Variablen“ genannt) und Outputs (auch „abhängige Variablen“ genannt) gelten, im Laufe der Zeit ändern, und zwar manchmal in einer Weise, die nie zuvor aufgezeichnet wurde. Wenn eine Konzeptdrift auftritt, kann der auf historischen Daten basierende Offline-Lernansatz unwirksam werden und beispielsweise zu verpassten Gelegenheiten und entstehenden Kosten führen.
  • Figurenliste
  • Für ein vollständigeres Verständnis der Merkmale und Vorteile der vorliegenden Offenbarung wird nun auf die detaillierte Beschreibung zusammen mit den begleitenden Abbildungen verwiesen, in denen sich entsprechende Ziffern in den verschiedenen Abbildungen auf entsprechende Teile beziehen und in denen gilt:
    • 1 ist eine Illustration einer Systemarchitektur und einer algorithmischen Lernmaschine gemäß bestimmten Ausführungsbeispielen;
    • 2 ist eine Darstellung eines Blockdiagramms für eine algorithmische Lernmaschine zum Auswählen von Variablen auf Grundlage von benutzerdefinierten und/oder domänenspezifischen Anforderungen, gemäß Ausführungsbeispielen;
    • 3 ist eine Darstellung eines Verfahrens zur Aggregation und zum Abgleich von Daten für kontinuierlich streamende Daten, um die Durchführung bestimmter statistischer und analytischer Berechnungen, wie in dieser Offenbarung beschrieben, zu ermöglichen; und
    • 4 ist eine Illustration einer Computermaschine und eines Systemanwendungsmoduls gemäß bestimmten Ausführungsbeispielen.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Während die Herstellung und Verwendung verschiedener Ausführungsformen der vorliegenden Offenbarung nachstehend im Detail erörtert werden, sollte man sich darüber im Klaren sein, dass die vorliegende Offenbarung viele anwendbare erfinderische Konzepte bereitstellt, die in einer umfangreichen Vielfalt spezifischer Kontexte verwirklicht werden können. Die hier erörterten spezifischen Ausführungsformen dienen lediglich der Veranschaulichung und schränken den Umfang der vorliegenden Offenbarung nicht ein. Im Interesse der Klarheit können in der vorliegenden Offenbarung nicht alle Merkmale einer tatsächlichen Umsetzung beschrieben werden. Es versteht sich von selbst, dass bei der Entwicklung einer solchen konkreten Ausführungsform zahlreiche implementierungsspezifische Entscheidungen getroffen werden müssen, um die spezifischen Ziele des Entwicklers zu erreichen, wie beispielsweise die Einhaltung systembezogener und geschäftsbezogener Beschränkungen, die von einer Implementierung zur anderen variieren werden. Darüber hinaus wird anerkannt, dass ein solcher Entwicklungsaufwand komplex und zeitaufwendig sein kann, aber für den Fachmann, der die Vorteile dieser Offenbarung aufweist, ein Routineunternehmen darstellt.
  • Der oben beschriebene Lebenszyklus für analytisches Lernen wird am häufigsten im Kontext der Vorhersagemodellierung angewandt, bei der Techniken wie maschinelles Lernen oder Deep Learning und Kl auf historische Daten angewendet werden. Dieser Prozesslebenszyklus und dieser Rahmen sind jedoch auch auf einfache Modellierungsaufgaben anwendbar, wie beispielsweise die Erstellung von Qualitätskontrolldiagrammen, bei denen das Modell ein einfacher Mittelwert und die erwartete Variabilität der Überwachungen um den Mittelwert herum sein könnte. Diese Schritte werden auch bei traditionellen statistischen Hypothesentests befolgt, beispielsweise um die Hypothese zu testen, dass die Verteilungen von Variablen in derselben Stichprobe oder in zwei oder mehr unabhängigen Stichproben unterschiedlich oder gleich sind, um zu prüfen, ob Zusammenhänge zwischen zwei oder mehr Variablen statistisch signifikant sind, oder um zu testen, ob es natürlich vorkommende Cluster ähnlicher Konfigurationen von Werten für eine einzelne oder über zwei oder mehr Variablen gibt. Diese Schritte werden auch häufig bei der Entwicklung von regelbasierten Mechanismen zur Entscheidungsfindung befolgt. In allen Fällen werden historische Daten als Grundlage für die Analysemodelle oder -regeln verwendet, die dann häufig mit Streaming-Daten verglichen werden, um Erkenntnisse zu gewinnen, Anomalien zu erkennen und in Echtzeit zu visualisieren.
  • Das Problem bei stationären Prozessen und Prozessdynamik im Vergleich zur Konzeptdrift, die bei sich dynamisch verändernden Prozessen üblich ist, ist der diagnostische Wert historischer Daten beim Aufbau von Vorhersagemodellen, die in der Lage sind, Muster zu erkennen, die für Informationsentscheidungen für bestimmte Systemprozesse nützlich sind. Algorithmisches Lernen aus historischen Daten wird häufig mit dem Ziel angewandt, Erkenntnisse zu gewinnen oder Vorhersagemodelle zu extrahieren, die zukünftige Überwachungen oder Ereignisse in Streaming-Daten vorwegnehmen. Bei diesem Ansatz wird davon ausgegangen, dass die Muster in den Daten im Laufe der Zeit stabil sind, so dass die aus historischen Daten gewonnenen Erkenntnisse auch für Daten relevant sind, die jetzt oder in Zukunft in Echtzeit erfasst werden. Mit Mustern im Zeitverlauf ist gemeint, dass sich nicht nur ihre Verteilungsmerkmale (Mittelwerte, Mediane, Standardabweichungen, Skewness, Kurtosis usw.) nicht ändern, sondern dass auch die Zusammenhänge zwischen den Variablen konstant bleiben. Bei der Vorhersagemodellierung auf Grundlage historischer Daten wird beispielsweise implizit davon ausgegangen, dass sich die Zusammenhänge zwischen den Inputs sowie zwischen den Inputs und den Outputs von Interesse, die durch das Vorhersagemodell beschrieben werden, in Zukunft nicht ändern werden.
  • In vielen Systemprozessanwendungen enthalten die historischen Daten möglicherweise keine Informationen (wiederholte Datenmuster), die im Hinblick auf zukünftige Daten oder Ereignisse von besonderem Interesse sind, weil die wiederholten Muster in den aktuell oder zuletzt erfassten Echtzeitdaten, d. h. die Konzeptdrift, noch nie zuvor beobachtet (und archiviert) wurden. Anders ausgedrückt: Wenn es keine historische Referenz gibt, gibt es keine bestimmbaren wiederholten Muster, die für Vorhersagen oder Erkenntnisse aus Echtzeitdaten relevant oder diagnostisch sind, die mit dem oben erwähnten „Multi-Persona-Lifecycle“-Verfahren oder traditionellen algorithmischen Lernverfahren auf Grundlage historischer Daten entdeckt werden können. Bei diesem traditionellen Ansatz wird die Konzeptdrift möglicherweise nicht erkannt oder verstanden, d. h. ein tatsächliches Muster oder informative Daten und damit jeglicher diagnostischer Wert gehen verloren. In der Praxis bedeutet dies, dass der traditionelle Ansatz des „Multi-Personen-Lebenszyklus“ und Analysen auf Grundlage historischer Daten nicht ausreichen, um das Auftreten neuer und unerwarteter, sich wiederholender Muster zu erkennen.
  • Dynamisch instabile Prozesse machen historische Daten weniger oder gar nicht aussagekräftig. Es gibt viele Systemprozesse, bei denen das zugehörige Unternehmen Prozesse verstehen, überwachen und steuern möchte, die als nicht stabil und nicht leicht zu steuern identifiziert wurden, indem es Einblicke in entstehende, neue oder sich dynamisch entwickelnde Daten nutzt. Cashflows, Umsätze und Umsatztrends, Kundenstimmungen und - präferenzen (beispielsweise in der Modebranche) ändern sich ständig. Das Verbraucherverhalten ändert sich ständig, da neue Moden, Trends, Ängste der Verbraucher und/oder andere Faktoren das Verbraucherverhalten stark beeinflussen können. Dadurch entstehen nichtstationäre und sich häufig ändernde Muster und Zusammenhänge zwischen Variablen in Datenströmen in Bezug auf alle Prozesse, die sich auf die Gesundheit und die Aussichten des Unternehmens auswirken. Am offensichtlichsten ist vielleicht, dass ein Prozess einfach neu ist und daher keine historischen Daten vorliegen. Schnell wechselnde Produktlinien oder Verbrauchsartikel usw. sind offensichtliche Beispiele für diese Situation.
  • Hier wird eine algorithmische Lernmaschine zur Verarbeitung von Streaming-Daten mit hohem Volumen und hoher Geschwindigkeit vorgestellt, die von einem Systemprozess empfangen werden. Die algorithmische Lernmaschine kann die Streaming-Daten in Echtzeit oder in Echtzeit relativ zu dem oben erwähnten traditionellen Ansatz verarbeiten. Durch die Verarbeitung der Daten beim Streaming, d. h. bevor sie in einer Big-Data-Sammlung gespeichert werden, und unter Verwendung der einzigartigen Verarbeitungsfunktionen der hier vorgestellten algorithmischen Lernmaschine wird die Zeit zum Erkennen, Analysieren und Umwandeln der nichtstationären und sich ständig entwickelnden Zusammenhänge, Trends und Muster, die in Streaming-Daten auftreten, die kontinuierlich über den betrachteten Prozess berichten, in verwertbare Informationen erheblich verkürzt.
  • In einer Ausführungsform umfasst die algorithmische Lernmaschine einen algorithmischen Modellgenerator, der so konfiguriert ist, dass er einen Satz von Systemvariablen aus den Streaming-Daten unter Verwendung von wenigstens einem von einem Mustererkennungsalgorithmus und einem statistischen Testalgorithmus verarbeitet, um Muster, Zusammenhänge zwischen Variablen und wichtigen Variablen zu identifizieren; und wenigstens eines von Folgendem erzeugt: ein Vorhersagemodell auf Grundlage der identifizierten Muster, Zusammenhänge zwischen Variablen und wichtigen Variablen; ein statistisches Testmodell über Korrelationen, Unterschiede zwischen Variablen oder unabhängigen Datengruppen oder zeitliche Muster über Variablen hinweg; und ein Wiederkehrende-Cluster-Modell ähnlicher Beobachtungen über Variablen hinweg.
  • In einer anderen Ausführungsform umfasst die algorithmische Lernmaschine einen Datenpräprozessor, der so konfiguriert ist, dass er den Satz von Systemvariablen erstellt, indem er den Wert ausgewählter Systemvariablen aggregiert und/oder ausgewählte Systemvariablen aneinander angleicht. Der Datenpräprozessor ist auch so konfiguriert, dass er: den Satz von Systemvariablen durch Ausrichten der ausgewählten Systemvariablen auf Grundlage der Zeit erstellt; und die ausgerichteten Variablen in Zeilen anordnet. Der Datenpräprozessor ist auch so konfiguriert, dass er Systemvariablen auf Grundlage von benutzerdefinierten und/oder domänenspezifischen, d. h. systemprozessspezifischen Anforderungen hinsichtlich der für ein bestimmtes analytisches Problem interessanten Variablen auswählt. Je nach Anwendung sind der Datenvorverarbeitungsprozessor und die darin enthaltenen Merkmale oder eine Teilmenge der Merkmale jedoch möglicherweise nicht erforderlich. Wenn beispielsweise die Streaming-Variablen bereits aggregiert und/oder abgeglichen sind, werden eine oder beide Funktionen der algorithmischen Lernmaschine möglicherweise nicht benötigt.
  • In einer weiteren Ausführungsform ist der Datenvorverarbeitungsprozessor des Weiteren so konfiguriert, dass er die logischen Zeilen mit Vorhersagen ergänzt, die aus historischen Informationen abgeleitet sind; und der algorithmische Lernalgorithmus ist des Weiteren so konfiguriert, dass er inkrementell wenigstens eines der folgenden Modelle erzeugt: das Vorhersagemodell auf Grundlage der identifizierten Muster, Beziehungen zwischen Variablen und wichtigen Variablen; das statistische Testmodell über Korrelationen, Unterschiede zwischen Variablen oder zeitliche Muster über Variablen hinweg; und das wiederkehrende Cluster-Modell ähnlicher Überwachungen über Variablen hinweg.
  • Zusammenfassend lässt sich sagen, dass das Hinzufügen von dynamischem, algorithmischem Lernen, wie beispielsweise statistische und maschinelle Vorhersageanalysen, zur Verarbeitung von Streaming-Daten und die statistischen/dynamischen Lernzusammenfassungen und -ergebnisse, die in Echtzeit für nachgelagerte Visualisierungen, Warnungen oder Automatisierungsschnittstellen aktualisiert werden, der auf Streaming-Datenquellen angewandten Analytik völlig neue Dimensionen der Agilität, Effizienz und Nützlichkeit verleihen. Diese Verfahren können auch die Agilität, Effizienz und Effektivität von Analyse- und Modellierungsprojekten und -aktivitäten, die auf historischen Daten basieren und auf Streaming-Daten als Vorhersagemodelle oder regelbasierte Systeme implementiert werden, erheblich verbessern. Wenn die Datenschemata (die Datenströme, ihre Datentypen) relativ stabil sind, aber die Muster und Zusammenhänge in diesen Datenströmen sich häufig und schnell ändern (Konzeptdrift, wie zuvor beschrieben), dann kann die Möglichkeit, Hypothesen über entstehende Datenmuster schnell zu testen und zu bewerten oder diese Muster direkt aus den Datenströmen zu lernen, einen erheblichen Wert darstellen. Darüber hinaus schafft die ausdrückliche Verbindung zwischen den in Echtzeit abgeleiteten datenwissenschaftlichen Modellen, den gefilterten und nach Prioritäten geordneten Warnmeldungen und den menschlichen Analysten, die Entscheidungen treffen, das Modellverhalten anpassen oder das Regelverhalten ändern können, eine Schnittstelle zwischen Datenwissenschaft und Mensch, die die menschliche Intelligenz in Echtzeit um diese dynamischen Lernmodelle erweitert.
  • In dieser Spezifikation bedeutet Modell eine algorithmische Gleichung, die verwendet wird, um statistische Informationen oder Vorhersagen zu erzeugen, die Muster in einem Satz von Systemvariablen, Zusammenhänge zwischen Variablen im Satz von Systemvariablen und wichtige Variablen im Satz von Systemvariablen beschreiben. Zusammenhänge zwischen Variablen bedeuten einige messbare Abhängigkeiten zwischen Variablen. Wichtige Variablen sind Variablen, die für die Vorhersage eines Ergebnisses von Bedeutung sind. Eine Beobachtung, eine Zeile und ein Fall sind eine transponierte Spalte von Messdaten, d. h. Variablen. Konzeptdrift bezieht sich auf statistische Eigenschaften und Zusammenhänge von Eingangsvariablen oder einer Zielvariablen, die ein Modell vorherzusagen versucht, die sich im Laufe der Zeit auf unvorhersehbare Weise verändern. Ein inkrementeller Lernalgorithmus ist ein Algorithmus, der Muster in einer Gruppe von Systemvariablen, Zusammenhänge zwischen Variablen in der Gruppe von Systemvariablen und wichtige Variablen in der Gruppe von Systemvariablen ohne die Hilfe historischer statistischer Informationen identifiziert. Ein nicht-inkrementeller Lernalgorithmus ist ein Algorithmus, der Muster in einer Menge von Systemvariablen, Zusammenhänge zwischen Variablen in der Menge von Systemvariablen und wichtige Variablen in der Menge von Systemvariablen mit Hilfe von historischen statistischen Informationen identifiziert. Filter bezeichnet einen algorithmischen Prozess, der so konfiguriert ist, dass er Variablen aus einer Streaming-Datenquelle auf Grundlage eines oder mehrerer vorgegebener Werte und eines oder mehrerer definierter Parameter auswählt. Filter kann auch ein algorithmischer oder benutzerinitiierter Prozess sein, der so konfiguriert ist, dass er Variablen aus einer Streaming-Datenquelle auf den Verbindungs-, Netzwerk-, Transport- und höheren Schichten des OSI-Modells (Open Standards Interconnect) auswählt. Die Formulierung „wenigstens eines von“ ist so zu verstehen, dass sie entweder konjunktiv oder nicht konjunktiv ist. Mit anderen Worten: Wenigstens eines von A und B sollte so interpretiert werden, dass es sowohl A als auch B oder nur A oder nur B umfasst.
  • Ein inkrementeller Lernalgorithmus kann einfache vorläufige Mittelwert-/Moment-Algorithmen zur Berechnung von Mittelwerten, Standardabweichungen und höheren Momenten und Verteilungsmerkmalen von Variablen, den Vergleich von Mittelwerten, Standardabweichungen usw. zwischen Variablen sowie Vorhersage- und Clustering-Modelle umfassen, die inkrementelle Algorithmen wie die inkrementelle Diskriminanzanalyse, die Berechnung von Korrelationsmatrizen, die Hauptkomponentenanalyse, Hoeffding-Bäume und erweiterte Hoeffding-Baum-Algorithmen mit und ohne Erkennung der Konzeptabweichung, inkrementelle Algorithmen für Clustering und andere verwenden. Nicht-inkrementelle Lernalgorithmen können nicht-parametrische Statistiken umfassen, die Verteilungen zwischen Variablen vergleichen, die Verteilungen zwischen identischen Variablen über mehrere Variablen hinweg vergleichen, Zeitreihenanalyseverfahren für einzelne oder mehrere Variablen oder alle bekannten Algorithmen für Clustering oder Vorhersagemodelle; diese Algorithmen werden auf gleitende oder fallende Fenster von Überwachungen angewandt und in benutzerdefinierten oder automatisch festgelegten Intervallen aktualisiert (beispielsweise jedes Mal, wenn eine neue logische Reihe von Überwachungen verfügbar wird.
  • In 1 ist eine Systemarchitektur 10 und eine algorithmische Lernmaschine 20 gemäß Ausführungsbeispielen dargestellt. Der Systemprozess 10 umfasst eine Vielzahl von Servern, Sensoren oder anderen Vorrichtungen, die kontinuierlich Daten sammeln. Der Systemprozess 10 kann Daten übermitteln, die von Sensoren an Vorrichtungen in verschiedenen Prozessen empfangen werden, wie beispielsweise an Vorrichtungen, die im Internet der Dinge (loT) und in Wafer-Fertigungsmaschinen verwendet werden, oder an jeden Systemprozess, der eine Quelle für hochvolumige, schnelle Streaming-Daten ist, bei denen die Identifizierung neuer und aufkommender Datenmuster für das Geschäft wichtig ist. Die algorithmische Lernmaschine 20 umfasst einen algorithmischen Modellgenerator 22, einen Datenpräprozessor mit einer Datenaggregationseinheit 24, einer Datenausrichtungseinheit 26 und einer optionalen oder aktivierbaren Hilfsausrichtungseinheit 28a,b sowie einen Visualisierungsprozessor 30. Es versteht sich, dass der Datenpräprozessor nur für den Fall benötigt wird, dass ausgewählte Variablen aus den Streaming-Daten nicht bereits aggregiert und/oder abgeglichen sind.
  • In der Praxis können die vom Systemprozess 10 empfangenen Streaming-Daten asynchrone oder anderweitig zufällig empfangene Prozessvariablen sein. Die Streaming-Daten werden im Datenpräprozessor gefiltert, bevor sie den algorithmischen Modellgenerator 22 erreichen, und zwar auf Grundlage interessanter variabler Parameter wie Temperatur, Druck, Benutzeraktivität usw. und, in einigen Ausführungsformen, variabler Werte. In der Aggregationseinheit 24, die in einigen Ausführungsformen optional sein kann, werden die variablen Werte für die interessierenden variablen Parameter zunächst unter Verwendung wenigstens eines vordefinierten Aggregats aggregiert, beispielsweise Messwerte pro Sekunde oder Messwerte pro Zyklus, beispielsweise für einen Fertigungsprozess. Andere Aggregationsverfahren können Durchschnittswerte, Mediane, Perzentilwerte, Standardabweichungen, Maxima und Minima, Modalwerte, Bereiche, Standardabweichungen, Perzentilbereiche und getrimmte Mittelwerte umfassen. Für eine einzelne Eingangsvariable kann mehr als ein Aggregationswert berechnet werden, wodurch mehrere nachgelagerte Aggregatwerte entstehen, die den nachfolgenden Verarbeitungsschritten vorgelegt werden. In der Datenausrichtungseinheit 28a werden die aggregierten Variablenwerte der Variablenparameter dann zeitlich ausgerichtet.
  • Ein Satz von Systemvariablen, d. h. die aggregierten, abgeglichenen Variablen, werden dann dem algorithmischen Modellgenerator 22 zur Verfügung gestellt. Der algorithmische Modellgenerator 22 identifiziert mit Hilfe eines Mustererkennungsalgorithmus oder eines statistischen Testalgorithmus Muster, Zusammenhänge zwischen Variablen und wichtige Variablen in der Menge der Systemvariablen. In einer Ausführungsform und als Reaktion auf diese Identifizierung erzeugt der algorithmische Modellgenerator 22 wenigstens eines der folgenden Modelle: ein Vorhersagemodell auf Grundlage der identifizierten Muster, Zusammenhänge zwischen Variablen und wichtigen Variablen; ein statistisches Testmodell über Korrelationen, Unterschiede zwischen Variablen oder zeitliche Muster über Variablen; und ein Wiederkehrende-Cluster-Modell ähnlicher Überwachungen über Variablen. Die identifizierten Muster, Zusammenhänge zwischen Variablen, wichtigen Variablen und der zugehörige Satz von Systemvariablen können zur späteren Verwendung durch den Datenpräprozessor gespeichert werden.
  • In einer anderen Ausführungsform ist der Datenvorprozessor des Weiteren so konfiguriert, dass er die aggregierten, abgeglichenen Variablen mit prädiktiven Informationen ergänzt (abstimmt), die aus gespeicherten historischen Informationen abgeleitet sind. Ein Satz von Systemvariablen, d.h. die aggregierten, abgeglichenen, ergänzten Variablen, werden dann dem algorithmischen Modellgenerator 22 zur Verfügung gestellt. Der algorithmische Modellgenerator 22 kann daraufhin inkrementell wenigstens eines der folgenden Modelle generieren: das Vorhersagemodell, das auf den identifizierten Mustern, Zusammenhängen zwischen Variablen und wichtigen Variablen basiert; das statistische Testmodell über Korrelationen, Unterschiede zwischen Variablen oder zeitliche Muster über Variablen; und das Wiederkehrende-Cluster-Modell ähnlicher Überwachungen über Variablen. In jeder Ausführungsform kann der Visualisierungsprozessor 30 auf Grundlage der Ergebnisse des Vorhersagemodells, des statistischen Testmodells und/oder der wiederkehrenden Cluster-Modelle Visualisierungen und/oder Warnmeldungen erzeugen.
  • In 2 ist ein Blockdiagramm eines Algorithmus für eine algorithmische Lernmaschine 20 zur Auswahl von Variablen auf Grundlage von benutzerdefinierten und/oder domänenspezifischen Anforderungen gemäß Ausführungsbeispielen dargestellt, das allgemein als 60 bezeichnet wird. Ein Satz von Systemvariablen wird aus einer Streaming-Datenquelle mit hohem Volumen und hoher Geschwindigkeit gefiltert, so dass Vorhersagemuster, die mit wichtigen Variablen verbunden sind, identifiziert werden können und auf kontinuierliche Weise in Echtzeit gehandelt werden kann, d. h. während die Muster entstehen und sich entwickeln. In einer Ausführungsform verwendet die algorithmische Lernmaschine 20 mehrere Schritte der Datenvorverarbeitung und Algorithmen des maschinellen Lernens, um sich abzeichnende Datenmuster innerhalb von Streaming-Daten mit hohem Volumen und hoher Geschwindigkeit zu erkennen.
  • In Block 62 wird ein Satz von Systemvariablen aus den Streaming-Daten ausgewählt, indem die Daten auf Grundlage einer Domäne, eines analytischen Problems und eines berechneten vordefinierten Aggregats oder von Aggregaten gefiltert werden. Beispielsweise können variable Parameter, Temperatur- und Druckmesswerte von Wafer-Fertigungsmaschinen und -anlagen, die von Interesse sind oder von einem Benutzer oder einem automatisierten Prozess als relevant für eine Art von Analyse angesehen werden, aus dem Datenstrom identifiziert werden. Der Filter kann berechnen, d. h. bestimmen, welche variablen Werte auf Grundlage eines oder mehrerer vordefinierter Aggregationsintervalle, beispielsweise Werte pro Sekunde pro Parameter, Minute usw., und/oder einer Anzahl von Werten pro Indexwert, d. h. Maximum, Minimum, Median, Standardabweichungsbereich usw., pro Parameter, wie Temperatur, Druck usw., gesammelt werden. Mit anderen Worten, die ausgewählten Systemvariablen können auf ausgewählten Variablenparametern, einer Anzahl von zugehörigen Parameterwerten und einem Prozesszyklus für einen bestimmten Systemprozess basieren. Der Filter kann dynamisch anpassen, wie die Variablen auf Grundlage von Benutzereingaben, A-priori-Informationen, vom Systemprozess 10 empfangenen Informationen oder zufällig aggregiert werden.
  • In Block 64 werden die aggregierten Variablen auf Grundlage der Zeit abgeglichen, beispielsweise identifizieren Ereignisdaten aus Header-Informationen von Streaming-Daten ein Aufzeichnungsdatum und eine Aufzeichnungszeit. Dies kann ein Anfangs- und Enddatum und -uhrzeit umfassen. Es versteht sich, dass die Ereignisdaten auch andere Informationen identifizieren können, wie beispielsweise eine bestimmte Maschine, d. h. einen Systemprozess, für den die Variablen entstanden sind. In Block 66 können die aggregierten Variablen, sobald sie abgeglichen sind, in logischen Reihen angeordnet werden, wobei jede logische Reihe durch ein bestimmtes absolutes oder verstrichenes Zeitintervall definiert ist (relativ zu einer Startzeit/einem Startdatum, als die jeweiligen Datenvariablen aufgezeichnet wurden usw.). Anders ausgedrückt: Sobald die Auswahlvariablen aggregiert und zeitlich ausgerichtet sind, werden die Auswahlvariablen in Reihen angeordnet, wobei jede Reihe eine Analyseeinheit darstellt. Die Analyseeinheit basiert auf einer Zeit oder einem Zeitintervall. Mit anderen Worten, eine Zeile identifiziert die Zeit oder das Zeitintervall und die über die Zeitintervalle berechneten Sensormesswerte oder Aggregate für Sensormesswerte, beispielsweise durchschnittliche Temperaturmessungen, aus einem Systemprozess 10. Jeder Eintrag in einer Zeile für eine Zeit oder ein Zeitintervall kann einen einzelnen Sensormesswert oder mehrere Sensormesswerte umfassen, und er kann mehrere für jeden Sensormesswert berechnete Aggregatstatistiken enthalten. 3 veranschaulicht beispielhaft den logischen Ablauf der Blöcke 62 und 64. Die in einem Zeitintervall T1 empfangenen Streaming-Daten werden auf Grundlage von Aggregaten gefiltert, beispielsweise dem Mittelwert der über das Zeitintervall T1 empfangenen Variablen. Die Tabelle in 3 veranschaulicht, wie die Zeit T1 und die Sensormesswerte (A_Wert, B_Wert und C_Wert) im ersten (oberen) Moment der Tabelle gespeichert oder eingegeben werden können und wie die Zeit T2 und die Sensormesswerte (A_Wert, B_Wert und C_Wert) für T2 unterhalb von T1 und den zugehörigen Sensormesswerten im zweiten (unteren) Moment der Tabelle gespeichert oder eingegeben werden können.
  • In Block 68, einem optionalen oder durchführbaren Prozess, können die Zeilen der aggregierten, abgeglichenen Variablen mit prädiktiven Informationen angereichert werden. Der Prozess von Block 68 kann von einem Benutzer aktiviert oder deaktiviert werden. Die Modelle und Statistiken werden für jeden Zyklus der Blöcke 62, 64 und 66 neu erstellt, d. h. auf Grundlage der zuletzt empfangenen Daten, und die Daten aus Block 68 werden an die logischen Zeilen aus Block 66 angeglichen. Unabhängig davon, ob der Prozess 68 aktiviert ist oder nicht, erzeugt der algorithmische Modellgenerator 22 Vorhersageinformationen in Bezug auf eine Reihe von Systemvariablen, die in Echtzeit aktualisiert werden, wenn neue Variablen aus dem Streaming-System-Prozess eintreffen. Wenn der Prozess aktiviert ist, kann der Algorithmus 60 beispielsweise die aktuellen Zeilen der aggregierten, abgeglichenen Variablen mit historischen Informationen vergleichen, die vom algorithmischen Modellgenerator 22 generiert wurden, wie beispielsweise einem Satz von Systemvariablen und einem Vorhersagemodell, einem statistischen Test und wiederkehrenden Clustern.
  • In Block 70 werden die logischen Zeilen mit wenigstens einem von einem Mustererkennungsalgorithmus und einem statistischen Testalgorithmus verarbeitet, um Muster, Zusammenhänge zwischen Variablen und wichtige Variablen zu erkennen. Im Wesentlichen kann der Lernalgorithmus Muster erkennen, beispielsweise normale und abnormale Muster, indem er nur die logischen Zeilen oder die logischen Zeilen mit den erweiterten Vorhersagen verwendet. In Block 72 wird wenigstens eines der folgenden Modelle generiert: ein Vorhersagemodell, das auf den identifizierten Mustern, Zusammenhängen zwischen Variablen und wichtigen Variablen basiert; ein statistisches Testmodell über Korrelationen, Unterschiede zwischen Variablen oder zeitliche Muster über Variablen hinweg; und ein Wiederkehrende-Cluster-Modell von ähnlichen Überwachungen über Variablen hinweg. In Block 74 können verschiedene Benutzeroberflächen generiert werden, wenn neue Informationen in Echtzeit verfügbar werden, um den aggregierten, abgeglichenen Satz von Systemvariablen (Zeilen) und Statistiken, Clustern, Vorhersagemodellen und Vorhersageresultaten, die aus den oben genannten Prozessen berechnet wurden, in Echtzeit zu visualisieren, wenn neue Daten verfügbar werden. In Block 74 können die in Block 72 erzeugten Mengen auch an andere Systeme weitergeleitet werden, die die Entscheidungsfindung unterstützen oder die Entscheidungsprozesse automatisieren.
  • In einer Ausführungsform können die wichtigsten Variablen, die ein bestimmtes Ergebnis von Interesse vorhersagen, beispielsweise die spezifischen Sensoren unter mehreren Sensoren, die kontinuierlich Daten sammeln, um signifikante Gemeinsamkeiten mit der Produktqualität aufzuzeigen, durch den Prozess von Block 74 angezeigt werden. In absteigender Reihenfolge der Wichtigkeit geordnet, ermöglicht die resultierende Anzeige eine Ursachenanalyse in Echtzeit, beispielsweise für Fertigungsanwendungen. In einem weiteren Ausführungsbeispiel wird durch den Prozess von Block 74 eine Entscheidungsbaumdarstellung der Streaming-Eingangsdaten angezeigt, um die aktuellste (auf den jüngsten Daten basierende) Aufteilung der Daten aus den Variablen im Satz der Systemvariablen darzustellen, die die größte Differenzierung der Werte oder der Zählungen diskreter Werte in der Ausgangsvariablen ergibt. In einer weiteren Ausführungsform kann der Prozess von Block 74 kontinuierlich spezifische statistische Größen mit Wahrscheinlichkeits- oder Konfidenzwerten aktualisieren, so dass Benutzer schnell feststellen können, ob mehrere Datenströme (Aggregate von Werten aus diesen Datenströmen) identischen Verteilungen folgen (äquivalent“ sind), oder ob eine oder mehrere Variablen, die von mehreren Maschinen stammen, äquivalent sind, und wenn nicht, welche spezifischen Variablen sich über welche Maschinen hinweg unterscheiden, oder ob die einfachen oder mehrfachen Korrelationen zwischen zwei oder mehreren Variablen über mehrere Maschinen hinweg dieselben sind. In jedem Fall können einfache Wahrscheinlichkeiten sowie verschiedene Versionen von Post-Hoc-Test-Wahrscheinlichkeiten, die für Mehrfachvergleiche angepasst werden oder Wahrscheinlichkeitsgrenzen für die berechneten statistischen Größen festlegen, kontinuierlich aktualisiert werden, was nicht nur sofortige Einblicke, sondern auch Informationen über die Gewissheit der Erkenntnisse liefert.
  • Das System bietet die Möglichkeit, benutzerdefinierte oder automatische Alarme an bestimmte statistische Größen zu knüpfen, beispielsweise an die Wahrscheinlichkeiten, mit denen Variablen oder Maschinen/Gruppen verglichen werden; die von der Prozesssteuerung 74 generierte Benutzerschnittstelle kann Optionen zur Definition dieser Alarme in Form von Wahrscheinlichkeitsaussagen oder in Verbindung mit der Sprache der Regelkarten, d. h. in Form von k-fachem Sigma (beispielsweise 3-Sigma-Grenzen), anbieten, um den Benutzern eine Rückmeldung über Fehlerraten zu geben. Alarme und Warnungen, die aus den Statistiken, der Modellierung oder anderen analytischen Berechnungen abgeleitet werden, die aus den oben beschriebenen Streaming-Daten abgeleitet werden, können als Datenströme behandelt werden, um beispielsweise die statistischen Analysen oder Visualisierungen auf Grundlage der Häufigkeiten oder durchschnittlichen Prioritäten/Wichtigkeit dieser Warnungen durchzuführen. Ein Aspekt des Prozesses von Block 74 besteht darin, dass er Funktionen zur Einbettung statistischer Verfahren in Echtzeit-Visualisierungstools, wie TIBCO® Spotfire Streaming oder andere UI/UX-Tools, für Streaming-Daten bereitstellt.
  • In 4 sind eine Computermaschine 100 und ein Systemanwendungsmodul 200 in Übereinstimmung mit Ausführungsbeispielen dargestellt. Die Computermaschine 100 kann einem der verschiedenen hier vorgestellten Computer, Mobilgeräte, Laptops, Server, eingebetteten Systeme oder Rechnersysteme entsprechen. Das Modul 200 kann ein oder mehrere Hardware- oder Software-Elemente umfassen, die dazu dienen, die Computermaschine 100 bei der Durchführung der verschiedenen hier vorgestellten Verfahren und Verarbeitungsfunktionen zu unterstützen. Die Computermaschine 100 kann verschiedene interne oder angeschlossene Komponenten umfassen, wie beispielsweise einen Prozessor 110, einen Systembus 120, einen Systemspeicher 130, Speichermedien 140, eine Eingabe-/Ausgabeschnittstelle 150, eine Netzwerkschnittstelle 160 zur Kommunikation mit einem Netzwerk 170, beispielsweise einem Loopback, einem lokalen Netzwerk, einem umfangreichen Netzwerk, Mobilfunk/GPS, Bluetooth, WIFI und WIMAX, sowie Server/Sensoren 180.
  • Die Computermaschine 100 kann als herkömmliches Computersystem, als eingebettete Steuerung, als Laptop, als Server, als Mobilgerät, als Smartphone, als tragbarer Computer, als kundenspezifische Maschine, als beliebige andere Hardwareplattform oder als eine beliebige Kombination oder Vielzahl davon ausgeführt werden. Die Computermaschine 100 und die zugehörige Logik und die Module können ein verteiltes System sein, das so konfiguriert ist, dass es mit mehreren Computermaschinen funktioniert, die über ein Datennetz und/oder ein Bussystem miteinander verbunden sind.
  • Der Prozessor 110 kann so ausgelegt sein, dass er Codebefehle ausführt, um die hierin beschriebenen Operationen und Funktionen durchzuführen, den Anforderungsfluss und die Adresszuordnungen zu verwalten und Berechnungen durchzuführen und Befehle zu erzeugen. Der Prozessor 110 kann so konfiguriert sein, dass er den Betrieb der Komponenten in den Computermaschinen überwacht und steuert. Der Prozessor 110 kann ein Allzweckprozessor, ein Prozessorkern, ein Multiprozessor, ein rekonfigurierbarer Prozessor, ein Mikrocontroller, ein digitaler Signalprozessor („DSP“), ein anwendungsspezifischer integrierter Schaltkreis („ASIC“), eine Steuerung, eine Zustandsmaschine, eine Gated Logic, diskrete Hardwarekomponenten, eine beliebige andere Verarbeitungseinheit oder eine Kombination oder Vielzahl davon sein. Der Prozessor 110 kann eine einzelne Verarbeitungseinheit, mehrere Verarbeitungseinheiten, ein einzelner Verarbeitungskern, mehrere Verarbeitungskerne, spezielle Verarbeitungskerne, Koprozessoren oder eine beliebige Kombination davon sein. Gemäß bestimmten Ausführungsformen kann der Prozessor 110 zusammen mit anderen Komponenten der Computermaschine 100 eine software- oder hardwarebasierte virtualisierte Computermaschine sein, die innerhalb einer oder mehrerer anderer Computermaschinen ausgeführt wird.
  • Der Systemspeicher 130 kann nichtflüchtige Speicher wie Festwertspeicher („ROM“), programmierbare Festwertspeicher („PROM“), löschbare programmierbare Festwertspeicher („EPROM“), Flash-Speicher oder jede andere Vorrichtung umfassen, das in der Lage ist, Programmanweisungen oder Daten mit oder ohne Stromzufuhr zu speichern. Der Systemspeicher 130 kann auch flüchtige Speicher wie Direktzugriffsspeicher („RAM“), statischen Direktzugriffsspeicher („SRAM“), dynamischen Direktzugriffsspeicher („DRAM“) und synchronen dynamischen Direktzugriffsspeicher („SDRAM“) umfassen. Auch andere RAM-Typen können zur Implementierung des Systemspeichers 130 verwendet werden. Der Systemspeicher 130 kann mit einem einzigen Speichermodul oder mit mehreren Speichermodulen realisiert werden. Obwohl der Systemspeicher 130 als Teil der Computermaschine dargestellt ist, wird ein Fachmann erkennen, dass der Systemspeicher 130 von der Computermaschine 100 getrennt sein kann, ohne dass dies vom Anwendungsbereich der Technologie abweicht. Es sollte auch gewürdigt werden, dass der Systemspeicher 130 eine nichtflüchtige Speichervorrichtung wie die Speichermedien 140 umfassen oder mit dieser zusammenarbeiten kann.
  • Die Speichermedien 140 können eine Festplatte, eine Diskette, eine Compact Disc Read-Only Memory („CD-ROM“), eine Digital Versatile Disc („DVD“), eine Blu-ray Disc, ein Magnetband, einen Flash-Speicher, eine andere nichtflüchtige Speichervorrichtung, ein Solid-State-Laufwerk („SSD“), eine beliebige magnetische Speichervorrichtung, eine optische Speichervorrichtung, eine elektrische Speichervorrichtung, eine Halbleiterspeichervorrichtung, eine physikalisch basierte Speichervorrichtung, eine andere Datenspeichervorrichtung oder eine Kombination oder Vielzahl davon umfassen. Auf den Speichermedien 140 können ein oder mehrere Betriebssysteme, Anwendungsprogramme und Programmmodule, Daten oder andere Informationen gespeichert werden. Die Speichermedien 140 können Teil der Computermaschine sein oder mit ihr verbunden werden. Die Speichermedien 140 können auch Teil einer oder mehrerer anderer Computermaschinen sein, die mit der Computermaschine in Verbindung stehen, wie beispielsweise Server, Datenbankserver, Cloud-Speicher, Netzwerkspeicher usw.
  • Das Anwendungsmodul 200 kann ein oder mehrere Hardware- oder Softwareelemente umfassen, die so konfiguriert sind, dass sie die Computermaschine bei der Durchführung der verschiedenen hier vorgestellten Verfahren und Verarbeitungsfunktionen unterstützen. Das Anwendungsmodul 200 kann einen oder mehrere Algorithmen oder Befehlsfolgen umfassen, die als Software oder Firmware in Verbindung mit dem Systemspeicher 130, den Speichermedien 140 oder beiden gespeichert sind. Die Speichermedien 140 können daher Beispiele für maschinen- oder computerlesbare Medien darstellen, auf denen Anweisungen oder Code zur Ausführung durch den Prozessor 110 gespeichert werden können. Maschinen- oder computerlesbare Medien können sich im Allgemeinen auf jedes Medium oder jeden Datenträger beziehen, das bzw. der verwendet wird, um Anweisungen für den Prozessor 110 bereitzustellen. Solche maschinen- oder computerlesbaren Medien, die mit dem Anwendungsmodul 200 verbunden sind, können ein Computersoftwareprodukt umfassen. Es sollte gewürdigt werden, dass ein Computersoftwareprodukt, das das Anwendungsmodul 200 umfasst, auch mit einem oder mehreren Prozessen oder Verfahren zur Bereitstellung des Anwendungsmoduls 200 an die Computermaschine über ein Netzwerk, ein beliebiges signaltragendes Medium oder eine andere Kommunikations- oder Bereitstellungstechnologie verbunden sein kann. Das Anwendungsmodul 200 kann auch Hardware-Schaltkreise oder Informationen zur Konfiguration von Hardware-Schaltkreisen wie Mikrocode oder Konfigurationsinformationen für ein FPGA oder ein anderes PLD enthalten. In einer beispielhaften Ausführungsform kann das Anwendungsmodul 200 Algorithmen umfassen, die in der Lage sind, die in den hier vorgestellten Flussdiagrammen und Computersystemen beschriebenen Funktionsabläufe durchzuführen.
  • Die Eingabe-/Ausgabe- (E/A-) Schnittstelle 150 kann so konfiguriert werden, dass sie mit einem oder mehreren externen Vorrichtungen verbunden werden kann, um Daten von dem einen oder den mehreren externen Vorrichtungen zu empfangen und Daten an das eine oder die mehreren externen Vorrichtungen zu senden. Solche externen Vorrichtungen können zusammen mit den verschiedenen internen Vorrichtungen auch als Peripheriegeräte bezeichnet werden. Die E/A-Schnittstelle 150 kann sowohl elektrische als auch physikalische Verbindungen zur Kopplung der verschiedenen Peripheriegeräte mit der Computermaschine oder dem Prozessor 110 umfassen. Die E/A-Schnittstelle 150 kann so konfiguriert sein, dass sie Daten, Adressen und Steuersignale zwischen den Peripheriegeräten, der Computermaschine oder dem Prozessor 110 überträgt. Die E/A-Schnittstelle 150 kann so konfiguriert werden, dass sie eine beliebige Standardschnittstelle implementiert, beispielsweise Small Computer System Interface („SCSI“), Serial-Attached SCSI („SAS“), Faserkanal, Peripheral Component Interconnect („PCI“), PCI Express (PCIe), serieller Bus, paralleler Bus, Advanced Technology Attached („ATA“), Serial ATA („SATA“), Universal Serial Bus („USB“), Thunderbolt, FireWire, verschiedene Videobusse und dergleichen. Die E/A-Schnittstelle 150 kann so konfiguriert werden, dass sie nur eine Schnittstelle oder Bustechnologie implementiert. Alternativ kann die E/A-Schnittstelle 150 so konfiguriert werden, dass sie mehrere Schnittstellen oder Bustechnologien implementiert. Die E/A-Schnittstelle 150 kann als Teil des Systembusses 120, als Ganzes oder in Verbindung mit diesem konfiguriert werden. Die E/A-Schnittstelle 150 kann einen oder mehrere Puffer zum Puffern von Übertragungen zwischen einem oder mehreren externen Vorrichtungen, internen Vorrichtungen, der Computermaschine oder dem Prozessor 120 umfassen.
  • Die E/A-Schnittstelle 120 kann die Computermaschine mit verschiedenen Eingabevorrichtungen koppeln, einschließlich Mäusen, Touchscreens, Scannern, elektronischen Digitalisierern, Sensoren, Empfängern, Touchpads, Trackballs, Kameras, Mikrofonen, Tastaturen, anderen Zeigevorrichtungen oder beliebigen Kombinationen davon. Die E/A-Schnittstelle 120 kann die Computermaschine mit verschiedenen Ausgabevorrichtungen koppeln, beispielsweise mit Videobildschirmen, Lautsprechern, Druckern, Projektoren, taktilen Rückkopplungsvorrichtungen, Automatisierungssteuerungen, Roboterkomponenten, Aktoren, Motoren, Lüftern, Magneten, Ventilen, Pumpen, Transmittern, Signalgebern, Leuchten usw.
  • Die Computermaschine 100 kann in einer vernetzten Umgebung unter Verwendung logischer Verbindungen über die Netzwerkschnittstelle 160 zu einem oder mehreren anderen Systemen oder Computermaschinen in einem Netzwerk betrieben werden. Das Netzwerk kann umfangreiche Netzwerke (WAN), lokale Netzwerke (LAN), Intranets, das Internet, drahtlose Zugangsnetzwerke, drahtgebundene Netzwerke, mobile Netzwerke, Telefonnetzwerke, optische Netzwerke oder Kombinationen davon umfassen. Das Netz kann paketvermittelt oder leitungsvermittelt sein, eine beliebige Topologie aufweisen und ein beliebiges Kommunikationsprotokoll verwenden. Die Kommunikationsverbindungen innerhalb des Netzes können verschiedene digitale oder analoge Kommunikationsmedien wie Glasfaserkabel, Freiraumoptik, Wellenleiter, elektrische Leiter, drahtlose Verbindungen, Antennen, Hochfrequenzkommunikation usw. umfassen.
  • Der Prozessor 110 kann über den Systembus 120 mit den anderen Elementen der Computermaschine oder den verschiedenen hierin beschriebenen Peripheriegeräten verbunden werden. Der Systembus 120 kann sich innerhalb des Prozessors 110, außerhalb des Prozessors 110 oder beides befinden. Gemäß einigen Ausführungsformen kann jeder der Prozessoren 110, die anderen Elemente der Computermaschine oder die verschiedenen hierin besprochenen Peripheriegeräte in eine einzige Vorrichtung integriert werden, wie beispielsweise ein System auf Chip („SOC“), System auf Gehäuse („SOP“) oder ASIC-Vorrichtung.
  • Ausführungsformen können ein Computerprogramm umfassen, das die hierin beschriebenen und dargestellten Funktionen verkörpert, wobei das Computerprogramm in einem Computersystem implementiert ist, das in einem maschinenlesbaren Medium gespeicherte Anweisungen und einen Prozessor umfasst, der die Anweisungen ausführt. Es sollte jedoch klar sein, dass es viele verschiedene Möglichkeiten gibt, Ausführungsformen in der Computerprogrammierung zu implementieren, und die Ausführungsformen sollten nicht als auf einen Satz von Computerprogrammanweisungen beschränkt verstanden werden, es sei denn, für eine beispielhafte Ausführungsform ist etwas anderes angegeben. Des Weiteren wäre ein erfahrener Programmierer in der Lage, ein solches Computerprogramm zu schreiben, um eine Ausführungsform der offenbarten Ausführungsformen auf Grundlage der beigefügten Flussdiagramme, Algorithmen und der zugehörigen Beschreibung im Anwendungstext zu implementieren. Daher wird die Offenbarung eines bestimmten Satzes von Programmcode-Anweisungen nicht als notwendig erachtet, um zu verstehen, wie die Ausführungsformen hergestellt und verwendet werden können. Des Weiteren wird der Fachmann erkennen, dass ein oder mehrere Aspekte der hier beschriebenen Ausführungsformen durch Hardware, Software oder eine Kombination davon ausgeführt werden können, wie sie in einem oder mehreren Computersystemen verkörpert sein können. Darüber hinaus sollte jede Bezugnahme auf eine Handlung, die von einem Computer ausgeführt wird, nicht so ausgelegt werden, dass sie von einem einzigen Computer ausgeführt wird, da mehr als ein Computer die Handlung ausführen kann.
  • Die hier beschriebenen Ausführungsbeispiele können mit Computerhardware und - software verwendet werden, die die zuvor beschriebenen Verfahren und Verarbeitungsfunktionen ausführen. Die hier beschriebenen Systeme, Verfahren und Prozeduren können in einem programmierbaren Computer, computerausführbarer Software oder digitalen Schaltkreisen verkörpert sein. Die Software kann auf computerlesbaren Medien gespeichert werden. Computerlesbare Medien können zum Beispiel Disketten, RAM, ROM, Festplatten, Wechselmedien, Flash-Speicher, Memory-Sticks, optische Medien, magnetooptische Medien, CD-ROM usw. umfassen. Digitale Schaltungen können integrierte Schaltungen, Gatter-Arrays, Bausteinlogik, feldprogrammierbare Gatter-Arrays (FPGA) usw. umfassen.
  • Die Beispielsysteme, -verfahren und -handlungen, die in den zuvor vorgestellten Ausführungsformen beschrieben sind, dienen der Veranschaulichung, und in alternativen Ausführungsformen können bestimmte Handlungen in einer anderen Reihenfolge, parallel zueinander, vollständig weggelassen und/oder zwischen verschiedenen Beispielausführungsformen kombiniert werden, und/oder bestimmte zusätzliche Handlungen können durchgeführt werden, ohne dass der Umfang und der Geist der verschiedenen Ausführungsformen verlassen wird. Dementsprechend sind solche alternativen Ausführungsformen in der vorliegenden Beschreibung umfasst.
  • Wie hierin verwendet, sollen die Singularformen „ein“, „eine“ und „der/die/das“ auch die Pluralformen umfassen, sofern der Kontext nicht eindeutig etwas anderes angibt. Es versteht sich des Weiteren, dass die Begriffe „umfasst“ und/oder „enthaltend“, wenn sie in dieser Beschreibung verwendet werden, das Vorhandensein bestimmter Merkmale, ganzer Zahlen, Schritte, Operationen, Elemente und/oder Komponenten spezifizieren, aber das Vorhandensein oder Hinzufügen eines oder mehrerer anderer Merkmale, ganzer Zahlen, Schritte, Operationen, Elemente, Komponenten und/oder Gruppen davon nicht ausschließen. Der hier verwendete Begriff „und/oder“ umfasst alle Kombinationen von einem oder mehreren der aufgeführten Elemente. Wie hierin verwendet, sind Ausdrücke wie „zwischen X und Y“ und „zwischen etwa X und Y“ so auszulegen, dass sie X und Y umfassen. Wie hierin verwendet, bedeuten Ausdrücke wie „zwischen etwa X und Y“ „zwischen etwa X und etwa Y“. Ausdrücke wie „von etwa X bis Y“ bedeuten „von etwa X bis etwa Y“.
  • Der hier verwendete Begriff „Hardware“ kann eine Kombination von diskreten Komponenten, eine integrierte Schaltung, eine anwendungsspezifische integrierte Schaltung, ein feldprogrammierbares Gate-Array oder andere geeignete Hardware umfassen. Wie hierin verwendet, kann „Software“ ein oder mehrere Objekte, Agenten, Threads, Codezeilen, Unterprogramme, separate Softwareanwendungen, zwei oder mehr Codezeilen oder andere geeignete Softwarestrukturen umfassen, die in zwei oder mehr Softwareanwendungen, auf einem oder mehreren Prozessoren (wobei ein Prozessor einen oder mehrere Mikrocomputer oder andere geeignete Datenverarbeitungseinheiten, Speichervorrichtungen, Eingabe-/Ausgabevorrichtungen, Bildschirme, Dateneingabevorrichtungen wie eine Tastatur oder eine Maus, Peripheriegeräte wie Drucker und Lautsprecher, zugehörige Treiber, Steuerkarten, Stromquellen, Netzwerkgeräte, Docking-Stationsgeräte oder andere geeignete Vorrichtungen, die unter der Kontrolle von Softwaresystemen in Verbindung mit dem Prozessor oder anderen Vorrichtungen arbeiten) oder andere geeignete Softwarestrukturen. In einer beispielhaften Ausführungsform kann die Software eine oder mehrere Codezeilen oder andere geeignete Softwarestrukturen umfassen, die in einer Allzweck-Softwareanwendung, wie beispielsweise einem Betriebssystem, arbeiten, und eine oder mehrere Codezeilen oder andere geeignete Softwarestrukturen, die in einer speziellen Softwareanwendung arbeiten. Wie hierin verwendet, können der Begriff „Kopplung“ und seine verwandten Begriffe wie „Paare“ und „gekoppelt“ eine physische Verbindung (beispielsweise einen Kupferleiter), eine virtuelle Verbindung (beispielsweise durch zufällig zugewiesene Speicherplätze eines Datenspeichers), eine logische Verbindung (beispielsweise durch logische Gatter eines Halbleiters), andere geeignete Verbindungen oder eine geeignete Kombination solcher Verbindungen umfassen. Der Begriff „Daten“ kann sich auf eine geeignete Struktur zur Verwendung, Übermittlung oder Speicherung von Daten beziehen, wie beispielsweise ein Datenfeld, einen Datenpuffer, eine Datennachricht, die den Datenwert und Absender/Empfänger-Adressdaten aufweist, eine Steuernachricht, die den Datenwert und einen oder mehrere Operatoren aufweist, die das empfangende System oder die empfangende Komponente veranlassen, eine Funktion unter Verwendung der Daten auszuführen, oder andere geeignete Hardware- oder Softwarekomponenten für die elektronische Verarbeitung von Daten.
  • Im Allgemeinen ist ein Softwaresystem ein System, das auf einem Prozessor arbeitet, um vorgegebene Funktionen in Reaktion auf vorgegebene Datenfelder auszuführen. Ein System kann beispielsweise durch die Funktion, die es ausführt, und die Datenfelder, auf denen es die Funktion ausführt, definiert werden. Wie hierin verwendet, bezieht sich ein NAME-System, wobei NAME typischerweise der Name der allgemeinen Funktion ist, die von dem System ausgeführt wird, auf ein Softwaresystem, das so konfiguriert ist, dass es auf einem Prozessor arbeitet und die offengelegte Funktion mit den offengelegten Datenfeldern ausführt. Sofern kein spezifischer Algorithmus offengelegt wird, fällt jeder geeignete Algorithmus, der einem Fachmann zur Ausführung der Funktion unter Verwendung der zugehörigen Datenfelder bekannt ist, in den Anwendungsbereich der Offenbarung. Ein Nachrichtensystem, das eine Nachricht erzeugt, die ein Absenderadressfeld, ein Empfängeradressfeld und ein Nachrichtenfeld enthält, würde beispielsweise eine Software umfassen, die auf einem Prozessor arbeitet, der das Absenderadressfeld, das Empfängeradressfeld und das Nachrichtenfeld von einem geeigneten System oder einer geeigneten Vorrichtung des Prozessors, wie beispielsweise einer Puffervorrichtung oder einem Puffersystem, abrufen kann und das Absenderadressfeld, Empfängeradressfeld und Nachrichtenfeld in ein geeignetes elektronisches Nachrichtenformat (beispielsweise eine elektronische Postnachricht, eine TCP/IP-Nachricht oder ein anderes geeignetes Nachrichtenformat, das ein Absenderadressfeld, ein Empfängeradressfeld und ein Nachrichtenfeld aufweist) zusammenstellen und die elektronische Nachricht unter Verwendung elektronischer Nachrichtensysteme und -vorrichtungen des Prozessors über ein Kommunikationsmedium, wie beispielsweise ein Netzwerk, übertragen kann. Eine Person, die über normale Fachkenntnisse verfügt, ist in der Lage, die spezifische Kodierung für eine spezifische Anwendung auf Grundlage der vorstehenden Offenbarung bereitzustellen, die dazu bestimmt ist, beispielhafte Ausführungsformen der vorliegenden Offenbarung darzulegen, und nicht dazu, eine Anleitung für jemanden bereitzustellen, der über weniger als normale Fachkenntnisse verfügt, wie beispielsweise jemand, der mit der Programmierung oder mit Prozessoren in einer geeigneten Programmiersprache nicht vertraut ist. Ein spezifischer Algorithmus zur Ausführung einer Funktion kann in Form eines Flussdiagramms oder in anderen geeigneten Formaten bereitgestellt werden, wobei die Datenfelder und die zugehörigen Funktionen in einer beispielhaften Reihenfolge der Operationen dargestellt werden können, wobei die Reihenfolge nach Belieben umgestellt werden kann und nicht als einschränkend zu verstehen ist, sofern sie nicht ausdrücklich als einschränkend bezeichnet wird.
  • Die oben dargestellten Ausführungsformen wurden zum Zweck der Veranschaulichung dargestellt und sollen es dem Fachmann ermöglichen, die Offenbarung zu praktizieren, aber die Offenbarung erhebt keinen Anspruch auf Vollständigkeit oder Beschränkung auf die dargestellten Formen. Viele unwesentliche Modifikationen und Variationen werden für den Fachmann offensichtlich sein, ohne dass der Umfang und der Geist der Offenbarung beeinträchtigt werden. Der Geltungsbereich der Ansprüche soll die offengelegten Ausführungsformen und alle derartigen Modifikationen weitestgehend abdecken. Des Weiteren stellen die folgenden Klauseln zusätzliche Ausführungsformen der Offenbarung dar und sollten innerhalb des Umfangs der Offenbarung betrachtet werden:
    • Satz 1, Algorithmische Lernmaschine zur Verarbeitung von Streaming-Daten mit hohem Volumen und hoher Geschwindigkeit, die von einem Systemprozess empfangen werden, wobei die algorithmische Lernmaschine umfasst: einen algorithmischen Modellgenerator, der konfiguriert zum: Verarbeiten eines Satzes von Systemvariablen aus den Streaming-Daten unter Verwendung eines Mustererkennungsalgorithmus und/oder eines statistischen Testalgorithmus, um Muster, Zusammenhänge zwischen Variablen und wichtige Variablen zu identifizieren; und Erzeugen wenigstens eines der folgenden Elemente: ein Vorhersagemodell auf Grundlage der ermittelten Muster, Zusammenhänge zwischen Variablen und wichtigen Variablen; ein statistisches Testmodell über Korrelationen, Unterschiede zwischen Variablen oder zeitliche Muster über Variablen hinweg; und ein Wiederkehrende-Cluster-Modell ähnlicher Überwachungen über Variablen hinweg.
    • Satz 2, Algorithmische Lernmaschine nach Satz 1, die des Weiteren einen Datenpräprozessor umfasst, der so konfiguriert ist, dass er Systemvariablen von Interesse auswählt und wenigstens eines der folgenden durchführt: Aggregieren der ausgewählten Systemvariablen; und Ausrichten der ausgewählten Systemvariablen.
    • Satz 3, Algorithmische Lernmaschine nach Satz 2, wobei der Datenpräprozessor des Weiteren konfiguriert ist zum: Ausrichten der ausgewählten Systemvariablen auf Grundlage der Zeit auszurichten; und in Reihe Anordnen der ausgerichteten Variablen.
    • Satz 4, Algorithmische Lernmaschine nach Satz 3, wobei der Datenpräprozessor des Weiteren so konfiguriert ist, dass er die ausgewählten Systemvariablen auf Grundlage wenigstens eines vordefinierten Aggregats aggregiert.
    • Satz 5, Algorithmische Lernmaschine nach Satz 4, wobei das vordefinierte Aggregat wenigstens eines der folgenden ist: ein Durchschnittswert, ein Maximalwert, ein Minimalwert, ein Maximalwert, Mediane, Standardabweichungen.
    • Satz 6, Algorithmische Lernmaschine nach Satz 3, wobei: der Datenvorprozessor des Weiteren so konfiguriert ist, dass er die logischen Zeilen mit Vorhersagen ergänzt, die aus historischen Informationen abgeleitet sind; und der algorithmische Lernalgorithmus des Weiteren konfiguriert ist zum: Inkrementelles Erzeugen wenigstens eines der folgenden Elemente: das Vorhersagemodell auf Grundlage der identifizierten Muster, Zusammenhänge zwischen Variablen und wichtigen Variablen; das statistische Testmodell über Korrelationen, Unterschiede zwischen Variablen oder zeitliche Muster über Variablen hinweg; und das Wiederkehrende-Cluster-Modell für ähnliche Überwachungen über Variablen hinweg.
    • Satz 7, Algorithmische Lernmaschine nach Satz 1, die des Weiteren einen Visualisierungsprozessor umfasst, der konfiguriert ist zum: Erzeugen eines Graphen, einer statistischen Information und/oder eines Alarms, basierend auf dem Satz von Systemvariablen und wenigstens einem der folgenden Elemente: dem Vorhersagemodell, dem statistischen Test und dem wiederkehrenden Cluster.
    • Satz 8, Verfahren zur Verarbeitung von Streaming-Daten mit hohem Volumen und hoher Geschwindigkeit, die von einem Systemprozess empfangen werden, wobei das Verfahren umfasst: Verarbeiten eines Satzes von Systemvariablen aus den Streaming-Daten unter Verwendung von wenigstens einem von einem Mustererkennungsalgorithmus und einem statistischen Testalgorithmus, um Muster, Zusammenhänge zwischen Variablen und wichtige Variablen zu identifizieren; und Erzeugen wenigstens eines von: einem Vorhersagemodell auf Grundlage der identifizierten Muster, Zusammenhänge zwischen Variablen und wichtigen Variablen; einem statistischen Testmodell über Korrelationen, Unterschiede zwischen Variablen oder zeitliche Muster über Variablen hinweg; und einem Wiederkehrende-Cluster-Modell von ähnlichen Überwachungen über Variablen hinweg.
    • Satz 9, Verfahren nach Satz 8, des Weiteren umfassend: Auswählen von Systemvariablen von Interesse und Durchführen von wenigstens einem von: Aggregieren der ausgewählten Systemvariablen; und Ausrichten der ausgewählten Systemvariablen.
    • Satz 10, Verfahren nach Satz 9, des Weiteren umfassend: Ausrichten der ausgewählten Systemvariablen auf Grundlage der Zeit; und Anordnen der ausgerichteten Variablen in Reihen.
    • Satz 11, Verfahren nach Satz 10, das des Weiteren Aggregieren der ausgewählten Systemvariablen auf Grundlage wenigstens eines vordefinierten Aggregats umfasst.
    • Satz 12, Verfahren nach Satz 11, wobei es sich bei dem vordefinierten Aggregat um wenigstens einen der folgenden Werte handelt: einen Durchschnittswert, einen Maximalwert, einen Minimalwert, einen Maximalwert, Mediane, Standardabweichungen.
    • Satz 13, Verfahren nach Satz 11, des Weiteren umfassend: Erweitern der logischen Zeilen mit Vorhersagen, die aus historischen Informationen abgeleitet sind; inkrementell Erzeugen wenigstens eines von: dem Vorhersagemodell auf Grundlage der identifizierten Muster, Zusammenhänge zwischen Variablen und wichtigen Variablen; dem statistischen Testmodell über Korrelationen, Unterschiede zwischen Variablen oder zeitliche Muster über Variablen; und dem Wiederkehrende-Cluster-Modell ähnlicher Überwachungen über Variablen.
    • Satz 14, Verfahren nach Satz 8, das des Weiteren Erzeugen wenigstens eines Diagramms, einer statistischen Information oder eines Alarms umfasst auf Grundlage des Satzes von Systemvariablen und wenigstens eines von: dem Vorhersagemodell, dem statistischen Test und wiederkehrendem Cluster.
    • Satz 15, System zur Verarbeitung von Streaming-Daten mit hohem Volumen und hoher Geschwindigkeit, die von einem Systemprozess empfangen werden, wobei das System Folgendes umfasst: eine Vielzahl von Systemprozessservern, die konfiguriert sind zum: Erzeugen der Streaming-Daten mit hohem Volumen und hoher Geschwindigkeit; einen Datenpräprozessor, der konfiguriert ist zum: Erstellen des Satzes von Systemvariablen durch Aggregieren ausgewählter Systemvariablen und/oder Ausrichten ausgewählter Systemvariablen; einen algorithmischen Modellgenerator, der konfiguriert ist zum: Verarbeiten eines Satzes von Systemvariablen aus den Streaming-Daten unter Verwendung wenigstens eines von einem Mustererkennungsalgorithmus und einem statistischen Testalgorithmus, um Muster, Zusammenhänge zwischen Variablen und wichtige Variablen zu identifizieren; und Erzeugen wenigstens eines von: einem Vorhersagemodell auf Grundlage der identifizierten Muster, Zusammenhänge zwischen Variablen und wichtigen Variablen; einem statistischen Testmodell über Korrelationen, Unterschiede zwischen Variablen oder zeitliche Muster über Variablen hinweg; und einem Wiederkehrende-Cluster-Modell von ähnlichen Überwachungen über Variablen hinweg.
    • Satz 16, System nach Satz 15, wobei der Datenpräprozessor des Weiteren konfiguriert ist zum: Ausrichten der ausgewählten Systemvariablen auf Grundlage der Zeit; und Anordnen der ausgerichteten Variablen in Zeilen.
    • Satz 17, System nach Satz 16, wobei der Datenpräprozessor des Weiteren so konfiguriert ist, dass er die ausgewählten Systemvariablen auf Grundlage wenigstens eines vordefinierten Aggregats aggregiert.
    • Satz 18, System nach Satz 17, wobei das vordefinierte Aggregat wenigstens eines ist von: einem Mittelwert, einem Maximalwert, einem Minimalwert, einem Maximalwert, Mediane, Standardabweichungen.
    • Satz 19, System nach Satz 16, wobei: der Datenvorprozessor des Weiteren so konfiguriert ist, dass er die logischen Zeilen mit Vorhersagen erweitert, die aus historischen Informationen abgeleitet sind; und der algorithmische Modellgenerator des Weiteren so konfiguriert ist, dass er inkrementell wenigstens eines erzeugt aus: dem Vorhersagemodell auf Grundlage der identifizierten Muster, Zusammenhänge zwischen Variablen und wichtigen Variablen; dem statistischen Testmodell über Korrelationen, Unterschiede zwischen Variablen oder zeitliche Muster über Variablen hinweg; und dem wiederkehrenden Cluster-Modell ähnlicher Überwachungen über Variablen hinweg.
    • Satz 20, System nach Satz 15, das des Weiteren einen Visualisierungsprozessor umfasst, der konfiguriert ist zum: Erzeugen eines Graphen, einer statistischen Information und/oder eines, basierend auf dem Satz von Systemvariablen und wenigstens einem von: dem Vorhersagemodell, dem statistischen Test und dem wiederkehrenden Cluster.

Claims (20)

  1. Algorithmische Lernmaschine zur Verarbeitung von Streaming-Daten mit hohem Volumen und hoher Geschwindigkeit, die von einem Systemprozess empfangen werden, wobei die algorithmische Lernmaschine umfasst: einen algorithmischen Modellgenerator, der konfiguriert zum: Verarbeiten eines Satzes von Systemvariablen aus den Streaming-Daten unter Verwendung eines Mustererkennungsalgorithmus und/oder eines statistischen Testalgorithmus, um Muster, Zusammenhänge zwischen Variablen und wichtige Variablen zu identifizieren; und Erzeugen wenigstens eines der folgenden Elemente: ein Vorhersagemodell auf Grundlage der ermittelten Muster, Zusammenhänge zwischen Variablen und wichtigen Variablen; ein statistisches Testmodell über Korrelationen, Unterschiede zwischen Variablen oder zeitliche Muster über Variablen hinweg; und ein Wiederkehrende-Cluster-Modell ähnlicher Überwachungen über Variablen hinweg.
  2. Algorithmische Lernmaschine nach Anspruch 1, die des Weiteren einen Datenpräprozessor umfasst, der so konfiguriert ist, dass er Systemvariablen von Interesse auswählt und wenigstens eines der folgenden durchführt: Aggregieren der ausgewählten Systemvariablen; und Ausrichten der ausgewählten Systemvariablen.
  3. Algorithmische Lernmaschine nach Anspruch 2, wobei der Datenpräprozessor des Weiteren konfiguriert ist zum: Ausrichten der ausgewählten Systemvariablen auf Grundlage der Zeit auszurichten; und In Reihe Anordnen der ausgerichteten Variablen.
  4. Algorithmische Lernmaschine nach Anspruch 3, wobei der Datenpräprozessor des Weiteren so konfiguriert ist, dass er die ausgewählten Systemvariablen auf Grundlage wenigstens eines vordefinierten Aggregats aggregiert.
  5. Algorithmische Lernmaschine nach Anspruch 4, wobei das vordefinierte Aggregat wenigstens eines der folgenden ist: ein Durchschnittswert, ein Maximalwert, ein Minimalwert, ein Maximalwert, Mediane, Standardabweichungen.
  6. Algorithmische Lernmaschine nach Anspruch 3, wobei: der Datenvorprozessor des Weiteren so konfiguriert ist, dass er die logischen Zeilen mit Vorhersagen ergänzt, die aus historischen Informationen abgeleitet sind; und der algorithmische Lernalgorithmus des Weiteren konfiguriert ist zum: Inkrementelles Erzeugen wenigstens eines der folgenden Elemente: das Vorhersagemodell auf Grundlage der identifizierten Muster, Zusammenhänge zwischen Variablen und wichtigen Variablen; das statistische Testmodell über Korrelationen, Unterschiede zwischen Variablen oder zeitliche Muster über Variablen hinweg; und das Wiederkehrende-Cluster-Modell für ähnliche Überwachungen über Variablen hinweg.
  7. Algorithmische Lernmaschine nach Anspruch 1, die des Weiteren einen Visualisierungsprozessor umfasst, der konfiguriert ist zum: Erzeugen eines Graphen, einer statistischen Information und/oder eines Alarms, basierend auf dem Satz von Systemvariablen und wenigstens einem der folgenden Elemente: dem Vorhersagemodell, dem statistischen Test und dem wiederkehrenden Cluster.
  8. Verfahren zur Verarbeitung von Streaming-Daten mit hohem Volumen und hoher Geschwindigkeit, die von einem Systemprozess empfangen werden, wobei das Verfahren umfasst: Verarbeiten eines Satzes von Systemvariablen aus den Streaming-Daten unter Verwendung von wenigstens einem von einem Mustererkennungsalgorithmus und einem statistischen Testalgorithmus, um Muster, Zusammenhänge zwischen Variablen und wichtige Variablen zu identifizieren; und Erzeugen wenigstens eines von: einem Vorhersagemodell auf Grundlage der identifizierten Muster, Zusammenhänge zwischen Variablen und wichtigen Variablen; einem statistischen Testmodell über Korrelationen, Unterschiede zwischen Variablen oder zeitliche Muster über Variablen hinweg; und einem Wiederkehrende-Cluster-Modell von ähnlichen Überwachungen über Variablen hinweg.
  9. Verfahren nach Anspruch 8, des Weiteren umfassend: Auswählen von Systemvariablen von Interesse und Durchführen von wenigstens einem von: Aggregieren der ausgewählten Systemvariablen; und Ausrichten der ausgewählten Systemvariablen.
  10. Verfahren nach Anspruch 9, des Weiteren umfassend: Ausrichten der ausgewählten Systemvariablen auf Grundlage der Zeit; und Anordnen der ausgerichteten Variablen in Reihen.
  11. Verfahren nach Anspruch 10, das des Weiteren Aggregieren der ausgewählten Systemvariablen auf Grundlage wenigstens eines vordefinierten Aggregats umfasst.
  12. Verfahren nach Anspruch 11, wobei es sich bei dem vordefinierten Aggregat um wenigstens einen der folgenden Werte handelt: einen Durchschnittswert, einen Maximalwert, einen Minimalwert, einen Maximalwert, Mediane, Standardabweichungen.
  13. Verfahren nach Anspruch 11, des Weiteren umfassend: Erweitern der logischen Zeilen mit Vorhersagen, die aus historischen Informationen abgeleitet sind; inkrementell Erzeugen wenigstens eines von: dem Vorhersagemodell auf Grundlage der identifizierten Muster, Zusammenhänge zwischen Variablen und wichtigen Variablen; dem statistischen Testmodell über Korrelationen, Unterschiede zwischen Variablen oder zeitliche Muster über Variablen; und dem Wiederkehrende-Cluster-Modell ähnlicher Überwachungen über Variablen.
  14. Verfahren nach Anspruch 8, das des Weiteren Erzeugen wenigstens eines Diagramms, einer statistischen Information oder eines Alarms umfasst auf Grundlage des Satzes von Systemvariablen und wenigstens eines von: dem Vorhersagemodell, dem statistischen Test und wiederkehrendem Cluster.
  15. System zur Verarbeitung von Streaming-Daten mit hohem Volumen und hoher Geschwindigkeit, die von einem Systemprozess empfangen werden, wobei das System Folgendes umfasst: eine Vielzahl von Systemprozessservern, die konfiguriert sind zum: Erzeugen der Streaming-Daten mit hohem Volumen und hoher Geschwindigkeit; einen Datenpräprozessor, der konfiguriert ist zum: Erstellen des Satzes von Systemvariablen durch Aggregieren ausgewählter Systemvariablen und/oder Ausrichten ausgewählter Systemvariablen; einen algorithmischen Modellgenerator, der konfiguriert ist zum: Verarbeiten eines Satzes von Systemvariablen aus den Streaming-Daten unter Verwendung wenigstens eines von einem Mustererkennungsalgorithmus und einem statistischen Testalgorithmus, um Muster, Zusammenhänge zwischen Variablen und wichtige Variablen zu identifizieren; und Erzeugen wenigstens eines von: einem Vorhersagemodell auf Grundlage der identifizierten Muster, Zusammenhänge zwischen Variablen und wichtigen Variablen; einem statistischen Testmodell über Korrelationen, Unterschiede zwischen Variablen oder zeitliche Muster über Variablen hinweg; und einem Wiederkehrende-Cluster-Modell von ähnlichen Überwachungen über Variablen hinweg.
  16. System nach Anspruch 15, wobei der Datenpräprozessor des Weiteren konfiguriert ist zum: Ausrichten der ausgewählten Systemvariablen auf Grundlage der Zeit; und Anordnen der ausgerichteten Variablen in Zeilen.
  17. System nach Anspruch 16, wobei der Datenpräprozessor des Weiteren so konfiguriert ist, dass er die ausgewählten Systemvariablen auf Grundlage wenigstens eines vordefinierten Aggregats aggregiert.
  18. System nach Anspruch 17, wobei das vordefinierte Aggregat wenigstens eines ist von: einem Mittelwert, einem Maximalwert, einem Minimalwert, einem Maximalwert, Mediane, Standardabweichungen.
  19. System nach Anspruch 16, wobei: der Datenvorprozessor des Weiteren so konfiguriert ist, dass er die logischen Zeilen mit Vorhersagen erweitert, die aus historischen Informationen abgeleitet sind; und der algorithmische Modellgenerator des Weiteren so konfiguriert ist, dass er inkrementell wenigstens eines erzeugt aus: dem Vorhersagemodell auf Grundlage der identifizierten Muster, Zusammenhänge zwischen Variablen und wichtigen Variablen; dem statistischen Testmodell über Korrelationen, Unterschiede zwischen Variablen oder zeitliche Muster über Variablen hinweg; und dem wiederkehrenden Cluster-Modell ähnlicher Überwachungen über Variablen hinweg.
  20. System nach Anspruch 15, das des Weiteren einen Visualisierungsprozessor umfasst, der konfiguriert ist zum: Erzeugen eines Graphen, einer statistischen Information und/oder eines, basierend auf dem Satz von Systemvariablen und wenigstens einem von: dem Vorhersagemodell, dem statistischen Test und dem wiederkehrenden Cluster.
DE112021001422.6T 2020-03-04 2021-03-04 Algorithmische Lernmaschine zur dynamischen Erzeugung von Vorhersageanalysen aus Streaming-Daten mit hohem Volumen und hoher Geschwindigkeit Pending DE112021001422T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/809,142 US20210279633A1 (en) 2020-03-04 2020-03-04 Algorithmic learning engine for dynamically generating predictive analytics from high volume, high velocity streaming data
US16/809,142 2020-03-04
PCT/US2021/020846 WO2021178649A1 (en) 2020-03-04 2021-03-04 An algorithmic learning engine for dynamically generating predictive analytics from high volume, high velocity streaming data

Publications (1)

Publication Number Publication Date
DE112021001422T5 true DE112021001422T5 (de) 2022-12-22

Family

ID=77555986

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112021001422.6T Pending DE112021001422T5 (de) 2020-03-04 2021-03-04 Algorithmische Lernmaschine zur dynamischen Erzeugung von Vorhersageanalysen aus Streaming-Daten mit hohem Volumen und hoher Geschwindigkeit

Country Status (5)

Country Link
US (1) US20210279633A1 (de)
KR (1) KR20220151650A (de)
CN (1) CN115427986A (de)
DE (1) DE112021001422T5 (de)
WO (1) WO2021178649A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11928124B2 (en) * 2021-08-03 2024-03-12 Accenture Global Solutions Limited Artificial intelligence (AI) based data processing
DE102022211634A1 (de) * 2022-11-04 2024-05-08 Forschungszentrum Jülich GmbH Orchestrator-basiertes Forschungs- und Entwicklungssystem und Verfahren zu dessen Betrieb

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9183351B2 (en) * 2000-05-30 2015-11-10 Vladimir Shusterman Mobile system with network-distributed data processing for biomedical applications
US7499897B2 (en) * 2004-04-16 2009-03-03 Fortelligent, Inc. Predictive model variable management
US10535422B2 (en) * 2018-04-22 2020-01-14 Sas Institute Inc. Optimal screening designs
JP2007243907A (ja) * 2006-02-10 2007-09-20 Sony Corp 記録装置、記録方法、記録方法のプログラム、記録方法のプログラムを記録した記録媒体、再生装置、再生方法、再生方法のプログラム及び再生方法のプログラムを記録した記録媒体
US7680624B2 (en) * 2007-04-16 2010-03-16 Sun Microsystems, Inc. Method and apparatus for performing a real-time root-cause analysis by analyzing degrading telemetry signals
US9002729B2 (en) * 2008-10-21 2015-04-07 Accenture Global Services Limited System and method for determining sets of online advertisement treatments using confidences
US20120137367A1 (en) * 2009-11-06 2012-05-31 Cataphora, Inc. Continuous anomaly detection based on behavior modeling and heterogeneous information analysis
US9824469B2 (en) * 2012-09-11 2017-11-21 International Business Machines Corporation Determining alternative visualizations for data based on an initial data visualization
US8977600B2 (en) * 2013-05-24 2015-03-10 Software AG USA Inc. System and method for continuous analytics run against a combination of static and real-time data
US9659039B2 (en) * 2013-09-20 2017-05-23 Oracle International Corporation Maintaining staleness information for aggregate data
US10169720B2 (en) * 2014-04-17 2019-01-01 Sas Institute Inc. Systems and methods for machine learning using classifying, clustering, and grouping time series data
EP3140782A4 (de) * 2014-05-09 2017-04-26 Given Imaging Ltd. System und verfahren zur sequenziellen bildanalyse eines in-vivo-bildstroms
SG10201406215YA (en) * 2014-09-30 2016-04-28 Mentorica Technology Pte Ltd Systems and methods for automated data analysis and customer relationship management
US10037187B2 (en) * 2014-11-03 2018-07-31 Google Llc Data flow windowing and triggering
US10409909B2 (en) * 2014-12-12 2019-09-10 Omni Ai, Inc. Lexical analyzer for a neuro-linguistic behavior recognition system
US10409910B2 (en) * 2014-12-12 2019-09-10 Omni Ai, Inc. Perceptual associative memory for a neuro-linguistic behavior recognition system
EP3278213A4 (de) * 2015-06-05 2019-01-30 C3 IoT, Inc. Systeme, verfahren und vorrichtungen für eine anwendungsentwicklungsplattform eines internets der dinge eines unternehmens
US20170061286A1 (en) * 2015-08-27 2017-03-02 Skytree, Inc. Supervised Learning Based Recommendation System
US11646808B2 (en) * 2016-05-09 2023-05-09 Strong Force Iot Portfolio 2016, Llc Methods and systems for adaption of data storage and communication in an internet of things downstream oil and gas environment
US11774944B2 (en) * 2016-05-09 2023-10-03 Strong Force Iot Portfolio 2016, Llc Methods and systems for the industrial internet of things
US20190339688A1 (en) * 2016-05-09 2019-11-07 Strong Force Iot Portfolio 2016, Llc Methods and systems for data collection, learning, and streaming of machine signals for analytics and maintenance using the industrial internet of things
US20200225655A1 (en) * 2016-05-09 2020-07-16 Strong Force Iot Portfolio 2016, Llc Methods, systems, kits and apparatuses for monitoring and managing industrial settings in an industrial internet of things data collection environment
US11327475B2 (en) * 2016-05-09 2022-05-10 Strong Force Iot Portfolio 2016, Llc Methods and systems for intelligent collection and analysis of vehicle data
US10931694B2 (en) * 2017-02-24 2021-02-23 LogRhythm Inc. Processing pipeline for monitoring information systems
WO2018164768A1 (en) * 2017-03-09 2018-09-13 Emmes Software Services, LLC Clinical trial data analyzer
CA3072045A1 (en) * 2017-08-02 2019-02-07 Strong Force Iot Portfolio 2016, Llc Methods and systems for detection in an industrial internet of things data collection environment with large data sets
US10908602B2 (en) * 2017-08-02 2021-02-02 Strong Force Iot Portfolio 2016, Llc Systems and methods for network-sensitive data collection
US10860618B2 (en) * 2017-09-25 2020-12-08 Splunk Inc. Low-latency streaming analytics
US20200150643A1 (en) * 2018-05-07 2020-05-14 Strong Force Iot Portfolio 2016, Llc Methods and systems for data collection, learning, and streaming of machine signals for analytics and maintenance using the industrial internet of things
JP7445928B2 (ja) * 2018-05-07 2024-03-08 ストロング フォース アイオーティ ポートフォリオ 2016,エルエルシー 産業用のモノのインターネットを利用した解析及びメンテナンスのための機械信号のデータ収集、学習、ストリーミングのための方法並びにシステム
WO2020033446A1 (en) * 2018-08-06 2020-02-13 Oracle International Corporation Techniques for maintaining statistics in a database system
US11107166B2 (en) * 2018-09-25 2021-08-31 Business Objects Software Ltd. Multi-step day sales outstanding forecasting

Also Published As

Publication number Publication date
US20210279633A1 (en) 2021-09-09
KR20220151650A (ko) 2022-11-15
CN115427986A (zh) 2022-12-02
WO2021178649A1 (en) 2021-09-10

Similar Documents

Publication Publication Date Title
US20190108471A1 (en) Operational process anomaly detection
Chien et al. A system for online detection and classification of wafer bin map defect patterns for manufacturing intelligence
DE69923435T2 (de) System und verfahren zur optimierung der leistungskontrolle von komplexen informationstechnologiesystemen
US20140297324A1 (en) Extracting clinical care pathways correlated with outcomes
US20200053108A1 (en) Utilizing machine intelligence to identify anomalies
DE112021001422T5 (de) Algorithmische Lernmaschine zur dynamischen Erzeugung von Vorhersageanalysen aus Streaming-Daten mit hohem Volumen und hoher Geschwindigkeit
CN113544707A (zh) 用于连续检测、诊断和优化的深度因果学习
DE112020002684T5 (de) Ein Mehrfachverfahrenssystem für optimale Vorhersagemodellauswahl
DE112021006232T5 (de) Proaktive anomalieerkennung
US11892819B2 (en) Control device, control system, control method, and computer-readable storage medium
EP4148523A1 (de) Intelligente anlagenanomalievorhersage über merkmalserzeugung
DE112019005467T5 (de) System und verfahren zum erkennen und vorhersagen von mustern eines anomalen sensorverhaltens einer maschine
Du et al. An integrated system for on-line intelligent monitoring and identifying process variability and its application
Wang et al. Contextual classification for smart machining based on unsupervised machine learning by Gaussian mixture model
Amiri et al. Monitoring two-stage processes with binomial data using generalized linear model-based control charts
DE112021003761T5 (de) Prädiktive modelle mit zerlegbaren hierarchischen ebenen, die konfiguriert werden, um interpretierbare resultate zu erzeugen
US20210142233A1 (en) Systems and methods for process mining using unsupervised learning
DE112020004688T5 (de) Debuggen und erstellen von profilen von maschinenlernmodelltraining
Uzoma et al. Application of Markov-switching regression model on Economic Variables
DE112020003537T5 (de) Unüberwachte konzeptfindung und kreuzmodale wiedergewinnung in zeitreihenund textkommentaren basierend auf kanonischer korrelationsanalyse
CN116635843A (zh) 分析工业工厂的日志文件的设备、计算平台和方法
Sirkis et al. Using statistical process control to understand variation in computer-assisted personal interviewing data
Schörgenhumer et al. A Framework for Preprocessing Multivariate, Topology-Aware Time Series and Event Data in a Multi-System Environment
EP3764295A1 (de) Identifizieren von ungenutzten servern
Parisot et al. Helping predictive analytics interpretation using regression trees and clustering perturbation