DE112019006218T5 - Prozesssteuerungsinstrument zur Verarbeitung großer und umfangreicher Daten - Google Patents

Prozesssteuerungsinstrument zur Verarbeitung großer und umfangreicher Daten Download PDF

Info

Publication number
DE112019006218T5
DE112019006218T5 DE112019006218.2T DE112019006218T DE112019006218T5 DE 112019006218 T5 DE112019006218 T5 DE 112019006218T5 DE 112019006218 T DE112019006218 T DE 112019006218T DE 112019006218 T5 DE112019006218 T5 DE 112019006218T5
Authority
DE
Germany
Prior art keywords
data
variables
subset
input data
values
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
DE112019006218.2T
Other languages
English (en)
Inventor
Thomas Hill
David Katz
Piotr SMOLINSKI
Siva RAMALINGAM
Steven Hillion
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 DE112019006218T5 publication Critical patent/DE112019006218T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0218Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults
    • G05B23/0224Process history based detection method, e.g. whereby history implies the availability of large amounts of data
    • G05B23/024Quantitative history assessment, e.g. mathematical relationships between available data; Functions therefor; Principal component analysis [PCA]; Partial least square [PLS]; Statistical classifiers, e.g. Bayesian networks, linear regression or correlation analysis; Neural networks
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B17/00Systems involving the use of models or simulators of said systems
    • G05B17/02Systems involving the use of models or simulators of said systems electric
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0259Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the response to fault detection
    • G05B23/0267Fault communication, e.g. human machine interface [HMI]
    • G05B23/0272Presentation of monitored results, e.g. selection of status reports to be displayed; Filtering information to the user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2272Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2465Query processing support for facilitating data mining operations in structured databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2477Temporal data queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • G06F16/287Visualization; Browsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/15Correlation function computation including computation of convolution operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Automation & Control Theory (AREA)
  • Mathematical Analysis (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computational Linguistics (AREA)
  • Fuzzy Systems (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Human Computer Interaction (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Algebra (AREA)
  • General Factory Administration (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Ein Prozesssteuerungsinstrument zur Verarbeitung umfangreicher Daten aus automatisierten Fertigungsvorgängen. Das Werkzeug umfasst einen Merkmalswähler, einen Analyseserver und eine Visualisierungs-Engine. Der Merkmalswähler empfängt Prozesseingangsdaten von wenigstens einer Fertigungsprozessanwendung, wobei die Prozesseingangsdaten eine Vielzahl von Beobachtungen und zugehörigen Variablen umfassen, konvertiert die empfangenen Prozesseingangsdaten in ein Stapelformat mit einer Zeile für jede Variable in jeder Beobachtung, konvertiert identifizierte kategorische Variablen in numerische Variablen und identifizierte Zeitreihendaten in feste Anzahlen von Intervallen, berechnet Statistiken, die die Stärken von Zusammenhängen zwischen Prädiktorwerten und einer Ergebnisvariablen messen, ordnet, filtert und schwenkt die Prädiktorwerte. Der Analyseserver führt wenigstens eine Operation durch, um Interaktionen zwischen Vorhersagewerten in den gefilterten Vorhersagewerten zu identifizieren, beispielsweise mithilfe von Maximum-Likelihood-Berechnungen oder vordefinierten Suchen. Die Visualisierungs-Engine zeigt die Interaktionen zur Verwendung bei der Verwaltung der Fertigungsvorgänge an.

Description

  • QUERVERWEIS AUF VERWANDTE ANMELDUNG
  • Diese Anmeldung beansprucht die Priorität der am 14. Dezember 2018 eingereichten Provisional-US-Patentanmeldung Nr. 62/780,095 mit dem Titel „System and Method for Selecting Important Parameters and Measurements in Wide Datasets“ (System und Verfahren zur Auswahl wichtiger Parameter und Messungen in umfangreichen Datensätzen), deren gesamter Inhalt hiermit durch Bezugnahme für alle Zwecke vollständig hierin aufgenommen wird.
  • TECHNISCHES FELD DER OFFENBARUNG
  • Die vorliegende Offenbarung betrifft im Allgemeinen Prozesssteuerungsinstrumente für Fertigungsvorgänge und insbesondere ein Prozesssteuerungsinstrument zum Auffinden wichtiger Parameter in großen und breiten Datenstrukturen, die durch komplexe Fertigungsvorgänge erzeugt werden.
  • HINTERGRUND
  • Es gibt viele spezifische Anwendungsfälle, beste Analysepraktiken, Verfahren und Systeme, um Big-Data-Anforderungen zu erfüllen. Verfügbare Systeme und Software-Tools charakterisieren Big-Data jedoch dadurch, dass sie eine große Anzahl von logischen Zeilen oder Fällen (Analyseeinheiten) mit relativ wenigen logischen Spalten oder Variablen aufweisen. Als konkretes Beispiel können typische Kundentransaktionsdatenbanken Millionen oder Hunderte von Millionen von Kunden und Transaktionen (die „Zeilen“ und Analyseeinheiten) enthalten, wobei jede logische Zeile nur relativ wenige (beispielsweise einige Hunderte oder Tausende) Merkmale oder „Variablen“ enthält, wie beispielsweise die Daten der letzten Transaktionen, die gekauften Produkte, die Höhe des ausgegebenen Geldes, demografische Informationen und andere Eigenschaften, die bestimmte Kunden beschreiben, und so weiter. Für solche Daten sind bestehende Verfahren zur analytischen Modellierung, zum Clustering oder zur prädiktiven Modellierung gut definiert und ausgereift, und diese Verfahren verlagern die Analysen im Allgemeinen auf einen Cluster von Rechenknoten, wo die Berechnungen über die Zeilen (Kunden) parallelisiert werden können, um die Leistungsanforderungen für die jeweiligen Anwendungen zu erfüllen.
  • 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 Figuren verwiesen, in denen sich entsprechende Ziffern in den verschiedenen Figuren auf entsprechende Teile beziehen und in denen:
    • 1 ist eine Darstellung eines Prozesssteuerungssystems zur Verwaltung umfangreicher und großer Daten, die aus automatisierten Fertigungsvorgängen erzeugt werden, gemäß bestimmten Ausführungsbeispielen;
    • 2A und 2B sind Illustrationen von Flussdiagrammen für Algorithmen zur Merkmalsauswahl, -analyse und -visualisierung eines Prozesssteuerungsinstruments des Prozesssystems, gemäß bestimmten Ausführungsbeispielen;
    • 3 ist eine Illustration der Transformation von großen und umfangreichen Datenstrukturen gemäß bestimmten Ausführungsbeispielen; und
    • 4 ist ein Blockdiagramm, in dem eine Rechenmaschine und Systemanwendungen gemäß bestimmten Ausführungsbeispielen dargestellt sind.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Während die Herstellung und Verwendung verschiedener Ausführungsformen der vorliegenden Offenbarung im Folgenden 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 verkörpert werden können. Die hier besprochenen spezifischen Ausführungsformen dienen lediglich der Veranschaulichung und schränken den Umfang der vorliegenden Offenbarung nicht ein. Im Interesse der Klarheit werden in der vorliegenden Offenbarung möglicherweise nicht alle Merkmale einer tatsächlichen Implementierung beschrieben. 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 Einschränkungen, die von einer Implementierung zur anderen variieren werden. Darüber hinaus wird man verstehen, dass ein solcher Entwicklungsaufwand komplex und zeitaufwendig sein kann, aber für Fachleute, die die Vorteile dieser Offenbarung aufweisen, ein Routineunternehmen sein wird.
  • Datenstrukturen werden durch die Anzahl der Spalten und Zeilen charakterisiert, und häufig enthalten sie extrem viele Spalten und relativ wenige Zeilen, obwohl oft auch Millionen von Zeilen vorhanden sind. Solche Big-and-Wide-Datenstrukturen treten in der Tat mit zunehmender Häufigkeit in verschiedenen Bereichen auf, insbesondere aber in der Halbleiterfertigung, wo Werkzeuge und Prozesse extrem gut instrumentiert sind. Es ist nicht ungewöhnlich, dass mehrere Millionen von Parametern nach Charge, Wafer und Die ausgerichtet werden können, die den Fertigungsprozess über alle Bearbeitungsschritte hinweg detailliert beschreiben. Im Allgemeinen kann es in der automatisierten Fertigung Tausende von Sensoren und (beispielsweise elektrische) Testdatenparameter geben, die nach Anlage, Maschine oder Werkzeug und Sensor indiziert sind. Darüber hinaus können Sensoren zeitlich-räumliche Abbildungen von Prozessbedingungen während eines Laufs aufzeichnen; wenn solche Messungen in den Variablen (Spalten) für jeden Sensor kodiert werden, erhöht sich die Dimensionalität oder Breite der Daten weiter. Diese Arten von Aufzeichnungen erzeugen eine große Anzahl von Zeitreihen für jede logische Zeile (beispielsweise Charge/Wafer), wodurch sich die Dimensionalität oder Breite der Daten mit Wellenformen weiter erhöht. Die Zeitreihendaten können zu einer festen Anzahl von verstrichenen Zeitintervallen über alle Zeilen hinweg aggregiert werden, und die aggregierten Messungen können als Prädiktorvariablen zu nachfolgenden Analysen hinzugefügt werden. Dieser Datenaufbereitungsschritt, der für Hunderte von Zeitreihen durchgeführt wird, kann eine erhebliche Anzahl von Prädiktorvariablen hinzufügen, was die Dimensionalität oder Breite der Daten weiter erhöht.
  • Zusätzlich zu dem Problem der großen Anzahl von Variablen beinhalten Daten, die Halbleiterfertigungsprozesse beschreiben, oft diskrete Messungen mit vielen eindeutigen Bezeichnungen. Zum Beispiel werden viele Wafer durch eine große Anzahl von Bearbeitungsschritten mit spezifischen Werkzeugen bewegt. Wenn eine große Anzahl eindeutiger Werkzeuge (mit eindeutigen Werkzeugbeschriftungen) jede einzelne Charge bearbeitet, zeichnen die resultierenden Daten die jeweilige spezifische diskrete Beschriftung auf, die bei jedem der vielen Bearbeitungsschritte angebracht wird. Da bei jedem Bearbeitungsschritt Hunderte von Werkzeugen (Etiketten) verwendet werden, muss das Problem der hohen Kardinalität in diesen diskreten Variablen angegangen werden. Das Problem der hohen Kardinalität der Daten ist mit dem Problem der umfangreichen Daten verwandt, da diskrete Daten oft in mehrere Indikatorspalten umkodiert werden (beispielsweise über die Kodierung von One-Hot- oder Dummy-Variablen), wodurch die typischerweise bereits große Anzahl von Variablen in den Daten weiter erhöht wird.
  • Eine Anforderung für viele Anwendungen ist die Durchführung nützlicher Ursachenanalysen, prädiktiver Modellierung, Risikomodellierung, Fehleridentifizierung und - klassifizierung sowie Ertragsprognosen usw., wobei die Analysen auf große und umfangreiche Daten angewendet werden müssen, die durch möglicherweise Millionen von Variablen gekennzeichnet sind. Der Begriff Modellierung bezieht sich in diesem Zusammenhang auf analytische Ziele und Verfahren wie: (1) überwachtes Lernen zum Zweck der Erstellung von Vorhersagemodellen für einige wichtige Ergebnisse (beispielsweise für Zuverlässigkeitsanalysen, Ertragsvorhersagen oder Ursachenanalysen): (2) unüberwachtes Lernen zum Zwecke der Identifizierung von Strukturen in den Zeilen und/oder Spalten der Big Data (beispielsweise Clustering von Zeilen, Clustering von Variablen, Clustering von Zuständen, wie sie durch aufeinanderfolgende Abschnitte von Zeitreihendaten definiert sind); und/oder (3) Erkennung von Anomalien (beispielsweise die Erkennung von ungewöhnlichen Mustern in einigen, den meisten oder allen gemessenen Variablen, in Bezug auf „normale“ Muster, die durch die Mehrheit der Daten definiert sind).
  • Diese Analysen erfordern typischerweise die Entwicklung von Modellierungspipelines, also von sequentiellen Verarbeitungsschritten, die in einer Pipeline solcher Verarbeitungsschritte angeordnet sind, um das jeweilige analytische Problem vorzubereiten, zu analysieren und zu berichten. Ein spezifisches Problem dabei ist, dass es viel schwieriger ist, Modellierungspipelines für solche Daten mit Millionen von Spalten zu parallelisieren. Es ist unpraktisch oder unmöglich, die Daten von einem Speicherort vor Ort zu einer entfernten Analyse-Rechenumgebung zu verschieben oder den gesamten Datensatz für die Berechnungen in den Speicher einzupassen. Derzeit gibt es keine allgemein akzeptierten oder sofort einsetzbaren Verfahren oder Systeme, die die analytischen Herausforderungen im Zusammenhang mit umfangreichen Daten zufriedenstellend und effizient lösen können. Darüber hinaus fehlt es allen bestehenden Lösungen, die für Big Data entwickelt wurden, einfach an den Fähigkeiten, die Modellierung und Analyse durchzuführen, die in Echtzeit oder nahezu in Echtzeit erforderlich sind, um operative Probleme in komplexen Fertigungsszenarien effektiv zu lösen, in denen die zeitverzögerte Erkennung von Anomalien im Fertigungsprozess zu Produkt- und Zeitverlusten und damit zu Geldverlusten führen kann.
  • Das hier vorgestellte System adressiert die oben genannten Probleme und umfasst zwei Komponenten, die in einer verteilten Verarbeitungsumgebung arbeiten, um Analysen effizient nacheinander und/oder asynchron durchzuführen, sowie eine dritte Visualisierungskomponente, um Echtzeit- oder echtzeitnahen Zugriff auf die Daten zu ermöglichen. In einer Ausführungsform arbeitet die erste der beiden Komponenten nahe an den Prozessdaten und nachdem die Prozessdaten auf eine kleinere Größe reduziert wurden, können die Daten in die zweite Komponente verschoben werden, wo die Daten in einer effizienteren In-Memory-Umgebung verarbeitet werden können. Das heißt, in dieser Ausführungsform führt die erste Komponente die anfängliche Merkmalsauswahl der Prädiktoren in der Nähe der Daten durch; die zweite Komponente nimmt die Teilmenge der ausgewählten Prädiktoren und führt eine zusätzliche Verarbeitung (d. h. eine intensivere Verarbeitung) unter Verwendung effizienter In-Memory- (oder In-Single-Dedicated-Computation-Environment-) Berechnungen durch.
  • Die erste Komponente ist ein paralleles Datenverarbeitungssystem mit mehreren Knoten, wie beispielsweise Apache Hadoop® oder Apache Spark™, in dem die anfängliche Datenvorbereitung, die Auswahl von Merkmalen, das Feature-Engineering und andere Datenaggregations-, Skalierungs- und andere Operationen durchgeführt werden, um die großen und umfangreichen Daten in eine gestapelte Struktur zu verwandeln, die effizienter verarbeitet und gefiltert werden kann. Es sollte jedoch klar sein, dass das Stapeln der Daten ein optionaler Schritt ist, der nur bei Bedarf durchgeführt wird. Das Ergebnis kann für die weitere Verarbeitung in einen umfangreichen Datensatz geschwenkt („pivoted“) werden. Diese Komponente kann von Technologien profitieren, die für eine parallelisierte und optimierte datenbankinterne (d. h. clusterinterne) Datenverarbeitung zur Verfügung stehen, beispielsweise durch TIBCO Spotfire® Data Science. Auf diese Schritte folgt dann die endgültige Modellerstellung und weitere Modellverfeinerung auf einem dedizierten Analyseserver, auf dem solche Berechnungen schnell In-Memory und mit Daten durchgeführt werden können, die nun nicht mehr Big Data sind. Der Rechenaufwand für parallelisierte datenbankinterne Berechnungen für solche nun nicht mehr Big Data würde solche Berechnungen ineffizient machen, während die Sequenzierung der datenbankinternen Big-Data-Operationen, gefolgt von On-Server-Berechnungen, effiziente kontinuierliche Berechnungen auf beiden Systemen für kontinuierliche Operationen ermöglicht. So können beispielsweise bei der Unterstützung der Ursachenanalyse bei Halbleiterherstellern die Anwendungen kontinuierlich die Datenvorbereitung und die Auswahl/Extraktion von Merkmalen anhand von (oft Petabytes großen) Daten auf ihren Big-Data-Plattformen durchführen, während die endgültigen Berechnungen der Ergebnisse an den dedizierten Berechnungsserver und die Visualisierungsplattform für den endgültigen Verbrauch der Ergebnisse übergeben werden. Die dritte Komponente ist eine visuelle Explorationsplattform, wie beispielsweise TIBCO Spotfire®, die es den Anwendern ermöglicht, die Endergebnisse interaktiv zu erforschen und so die Informationen von Interesse zu extrahieren, die auf den Analysen der umfangreichen Datenstrukturen mit möglicherweise Millionen von Eingabevariablen basieren. Somit ist das vorgeschlagene System effizient bei der Zuweisung spezifischer Rechenlasten, wo sie am besten ausgeführt werden können.
  • Das System beschreibt umfassend ein effizientes und effektives Computersystem zur Verwaltung umfangreicher Daten, die auch groß sind. Große und umfangreiche Daten erfordern, dass einige oder die meisten Berechnungen nahe an den Daten (d. h. datenbankintern) und mit minimaler Bewegung der Daten durchgeführt werden. Die Standardverfahren und -algorithmen, die alle Berechnungen ausschließlich datenbankintern durchführen, sind nicht praktikabel, da sie in der Regel für eine große Anzahl von Zeilen und nicht von Spalten optimiert sind. Daher kombiniert das System bestimmte Analyseschritte, die in der Datenbank durchgeführt werden, und verwendet parallelisierte Berechnungen, um eine Teilmenge von Variablen auszuwählen, die für die spezifischen Analysen und analytischen Ziele und Anwendungsfälle wie zuvor beschrieben wichtig sind. Die ausgewählte Teilmenge von Variablen kann dann auf den dedizierten Analyseservern sehr schnell verarbeitet werden.
  • Das hier vorgestellte System beschreibt spezifische Analyseansätze, Arbeitsabläufe und Rechnerarchitekturen, die sich mit Problemen von großen und umfangreichen Daten sowie mit den einzigartigen Problemen befassen, die mit der Analyse von sehr hochdimensionalen Daten oder Daten mit diskreten Variablen von sehr hoher Kardinalität (beispielsweise mit Tausenden von unterschiedlichen Kategorien) verbunden sind, um die Anforderungen für die Prozessüberwachung und die Erkennung von Anomalien, die prädiktive Analyse und Fehlerklassifizierung sowie die (automatisierte) Ursachenanalyse zu erfüllen. Das System wurde entwickelt, um spezifische Probleme bei automatisierten Fertigungsanwendungen, einschließlich der Halbleiterfertigung, zu lösen, und ermöglicht eine agile und hochgradig interaktive und visuelle Analyseumgebung. Der allgemeine Ansatz weist auch eine Anwendbarkeit in vielen anderen Domänen auf, in denen ähnliche Big-and-Wide-Daten- und Analyseprobleme auftreten.
  • In 1 ist ein Prozesssteuerungssystem zur Verwaltung umfangreicher und großer Daten dargestellt, die von automatisierten Fertigungsvorgängen gemäß bestimmten Ausführungsbeispielen generiert werden, allgemein als 10 bezeichnet. Das System 10 umfasst ein Prozesssteuerungsinstrument 20 zur Verarbeitung von Daten, die von automatisierten Fertigungsvorgängen 40 aus wenigstens einer komplexen Fertigungsanwendung 42A-42N, wie beispielsweise Halbleiterfertigungsanwendungen, empfangen werden. Das Prozesssteuerungsinstrument 20 umfasst ein mehrstufiges Datenverarbeitungs-, Transformations- und Analysesystem, um Visualisierungen in Echtzeit oder nahezu in Echtzeit zu erstellen, die erhebliche Vorteile für diejenigen aufweisen können, die die Produktionserträge aus diesen komplexen Fertigungsvorgängen verwalten. Das Prozesssteuerungsinstrument 20 umfasst einen Computercluster (Mehrknoten-In-Datenbank-System) 22, einen Analyseserver 24 und einen Visualisierungsserver 26 zur Durchführung von Aufgaben wie Datenaufbereitung, Merkmalsauswahl, Mehrknoten-In-Datenbank-Berechnungen, Modellerstellung, rekursive Anwendung der Merkmalsauswahl und Parameter-Ranking, um aus sehr großen Sätzen von Prozessdaten wichtige Prozessindikatoren für die Visualisierung zu erzeugen. In einer Ausführungsform kann der Analyseserver 24 ein Analyseserver sein, der speziell für die Durchführung der hier definierten Funktionen vorgesehen ist.
  • In den 2A und 2B sind Flussdiagramme eines Merkmalsauswahlalgorithmus, einer Analyse und eines Visualisierungsalgorithmus des Prozesssteuerungsinstruments 20 gemäß bestimmten Ausführungsbeispielen dargestellt, die allgemein als 60 bezeichnet werden. Der Merkmalsauswahlalgorithmus kann eine Reihe von Algorithmen verwenden, die speziell für die datenbankinterne parallelisierte Ausführung auf die Daten optimiert sind. Beispiele für solche Algorithmen umfassen den Spark-Chi-Quadrat-Selektor-Algorithmus, den Boosted-Trees-Algorithmus, den Bagged-Trees-Algorithmus (Random Forests) und Variable-für-Variable-Breakpoint-(segmentierte) Regressionsalgorithmen. Bei diesen Berechnungen können spezifische analytische Algorithmen angewendet werden, um die numerische Stabilität der erforderlichen Berechnungen zu gewährleisten, beispielsweise durch die Verwendung von Zentrierkonstanten bei der Berechnung von Mittelwerten, Standardabweichungen und höheren Momenten. Der Analyse- und Visualisierungsalgorithmus umfasst eine weitere Merkmalsauswahl und Modellbildung, die über wenigstens einen dedizierten Analyseserver ausgeführt wird, eine rekursive Anwendung der Pipeline für die Merkmalsauswahl und das Parameter-Ranking sowie die Visualisierung der Ergebnisse.
  • 2A beschreibt den Merkmalsauswahlalgorithmus und beginnt mit den Blöcken 62 und 64, in denen empfangene Prozessdaten (siehe 3 für Prozessüberwachungen und Messdaten 90) für In-Database-Berechnungen über den Multiknoten-Multimode-Computercluster 22 vorbereitet werden. In diesem Schritt kann auf umfangreiche und große Daten, die beispielsweise in Hadoop® gespeichert sind, zur weiteren Verarbeitung zugegriffen werden. Für eine effiziente, parallelisierte In-Datenbank-Verarbeitung können die Prozessdaten logisch angeordnet werden. Die Daten können gestapelt werden, siehe 3, so dass jede logische Zeile der Daten einen Datenpunkt (Messung) über eine Mess-ID (Prozessbeobachtungs-ID), Zeilen-ID und tatsächliche Messung (Prozessbeobachtung) beschreibt (indiziert). Die Transformation ermöglicht eine effiziente Parallelisierung von Merkmalsauswahlverfahren in einem Multimode-Computercluster 22, d. h. einem Rechencluster 22 zur Durchführung von datenbankinternen Berechnungen. Die Daten werden jedoch nur bei Bedarf gestapelt.
  • Der Datenzugriff und die korrekte Strukturierung der Daten ist wichtig, um die erforderliche Leistung bei der Verarbeitung extrem umfangreicher Datensätze oder umfangreicher und großer Datensätze zu erreichen. Beispielsweise ist die Organisation der Daten nach logischen Zeilen in einem umfangreichen, nicht gestapelten Datenformat, bei dem jede Zeile eine Analyseeinheit darstellt, beispielsweise einen Wafer, und bei dem die Spalten Merkmale oder Variablen darstellen, beispielsweise Messungen auf den Wafern, Sensorspuren, die mit der Herstellung der Wafer verbunden sind, nicht effizient. Dies kann ein ernsthaftes und kostspieliges Problem für komplexe Fertigungsvorgänge sein, bei denen der fehlende Zugriff auf Echtzeit- oder echtzeitnahe Prozessdaten den Betrieb ernsthaft beeinträchtigen kann.
  • In den Blöcken 66, 68, 70 und 72 können kategorische (diskrete, codierte) Prozesseingangsvariablen automatisch identifiziert und mit dem Impact-Coding-Verfahren codiert werden. Im Wesentlichen werden die diskreten Variablen in kontinuierliche Prädiktorvariablen umgewandelt. Kontinuierliche Prädiktorvariablen werden standardmäßig nicht transformiert, aber Benutzer können neue Prädiktorvariablen ableiten, indem sie eine oder mehrere numerische Transformationen anwenden, wie beispielsweise Quadratwurzel-Transformationen, Log-Transformationen, usw. Diskrete Prädiktorvariablen können in kontinuierliche Prädiktorvariablen umgewandelt werden, indem das Verfahren der Auswirkungscodierung verwendet wird, das in „Modellierungstrick: Auswirkungscodierung von kategorialen Variablen mit vielen Ebenen“ beschrieben wird. Win-Vector Blog, 23. Juli 2012 von N. Zumel. Was in Zumel jedoch nicht gelehrt wurde, war die in dieser Offenbarung beschriebene Implementierung, wobei die Daten für jede diskrete Prädiktorvariable zufällig in zwei Stichproben aufgeteilt werden. Durchschnittswerte (für kontinuierliche Ergebnisse) oder durchschnittliche Häufigkeiten (für kategoriale Ergebnisse) werden dann für jede Kategorie in der diskreten Prädiktorvariable berechnet, und zwar für jede Stichprobe separat. Die diskreten Codes in jeder der beiden Stichproben werden dann durch die aus den Daten der anderen Stichprobe berechneten Mittelwerte ersetzt, wodurch alle Zeilen für die diskreten Prädiktorvariablen in kontinuierliche Werte umcodiert werden. Dadurch können alle diskreten Variablen in den nachfolgenden Schritten als kontinuierliche Prädiktorvariablen behandelt werden. Darüber hinaus wandelt das Impact-Codierungstechnik-Verfahren solche Eingangsvariablen mithilfe von Kreuzvalidierungstechniken in einspaltig gerankte Daten um.
  • Darüber hinaus können Zeitreihendaten identifiziert und in eine feste Anzahl von Intervallen umgewandelt werden, indem gängige Aggregationsfunktionen verwendet werden. Zum Beispiel kann ein SAX-ähnliches Kodierungsverfahren verwendet werden, um Aggregatwerte für eine feste Anzahl von Zeitintervallen zu erstellen, d. h. die gleiche Anzahl von Intervallen für jede Serie. SAX-ähnliche Kodierung für Zeitreihendaten (Wellenformen): Das Verfahren der Symbolic-Aggregate-approXimation oder SAX-Codierung hat sich in zahlreichen Anwendungen als effektive Technik für den Vergleich von Zeitreihenmustern (Wellenformen) auf der Skala erwiesen. Siehe beispielsweise J. Lin, E. Keogh, L. Wei, und S. Lonardi. „Experiencing SAX: A Novel Symbolic Representation of Time Series". Data Mining and Knowldege Discovery, Vol. 15, 2, S. 107-144, 2007. Dies gilt selbst dann, wenn verschiedene Zeitreihen Muster mit leichten Zeitverschiebungen enthalten (die identische Muster repräsentieren, die zu leicht unterschiedlichen Zeitpunkten auftreten), was die Anwendung rechenaufwändiger Verfahren zum Abgleich von Zeitreihen, wie beispielsweise Dynamic Time Warping (DTW)-Algorithmen, unnötig macht. DTW kann auch auf die SAXkodierten, auf Zeitintervallen basierenden Werte angewendet werden, um einen besseren Abgleich zwischen den Serien zu erreichen. Kurz gesagt kann die SAX-Kodierung die aufeinanderfolgenden Überwachungen in einer Zeitreihe konvertieren, indem (a) die Werte zu einer bestimmten festen Anzahl von Zeitintervallen aggregiert werden und (b) die Zeitreihenwerte in den Zeitintervallen typischerweise in Buchstaben oder Ganzzahlen oder in andere aggregierte Werte wie beispielsweise, aber nicht beschränkt auf Maximal- oder Minimalwerte in jedem Intervall aggregiert werden, um den jeweiligen Durchschnittswert als ein Vielfaches der Zeitreihen-Standardabweichungen über den Wertebereich der Zeitreihe zu bezeichnen. Darüber hinaus können andere gängige und neue Techniken zum Extrahieren von Zahlenvektoren aus Zeitreihen auf Zeitreihendaten angewendet werden, um Zeitreihendaten mit anderen diskreten oder kontinuierlichen Eingangsvariablen abzugleichen.
  • Das Ergebnis dieser Berechnungen ist eine Liste von Variablenrelevanz- (Prädiktor-) Werten für jede Variable in den umfangreichen Daten, d. h. eine Liste von ordinalen Rankings nach Variablen entsprechend der Wichtigkeit in Bezug auf das spezifische Analyseproblem (Clustering oder unbeaufsichtigtes Lernen; prädiktives oder überwachtes Lernen und Ursachenanalyse). Das heißt, das Ergebnis umfasst Statistiken, die die Stärke von Zusammenhängen oder Korrelationen zwischen Vorhersagewerten und einem Ergebnis messen.
  • Der Merkmalsauswahlalgorithmus von 2A umfasst verschiedene Verfahren zur Bestimmung der Variablenrelevanz, indem entweder einfache lineare R-Quadrat-Werte (Korrelationen) zwischen jeder Eingabe und der Ausgabe berechnet werden oder indem allgemeinere Statistiken der Assoziation (Beziehung) zwischen jeder Eingabe und der Ausgabe berechnet werden. Der erstere Ansatz ist schneller, erfasst aber möglicherweise keine stark nichtlinearen Zusammenhänge zwischen kontinuierlichen Variablen. Der zweite Ansatz basiert auf robusten (gegenüber Ausreißern) Chi-Quadrat-Statistiken, die für Zwei-Wege-Häufigkeitstabellen berechnet werden, die aus den sortierten Werten für jeden Prädiktor und den sortierten („binned“) oder diskreten Ausgabevariablen erstellt werden. Dieser Ansatz ist rechnerisch aufwändiger, aber oft nützlicher, um nicht-lineare und nicht-monotone Zusammenhänge zu erkennen.
  • Der Algorithmus kann eine Suche erster Ordnung durch Prädiktorvariablen durchführen; es wird nicht speziell nach Interaktionen zwischen Prädiktoren in ihrer Wirkung auf das Ergebnis gesucht. In der Praxis ist es oft der Fall, dass zusätzlich zu den Haupteffekten für die jeweiligen Prädiktoren auch Interaktionen existieren, und in diesem Fall kann eine nachfolgende Modellierung und Merkmalsauswahl, die explizit nach Interaktionen sucht, beispielsweise basierend auf dem Random-Forest-Algorithmus, diese identifizieren. Siehe E. Tuv, A. Borisov, G. Runger, und K. Torkkola, „Feature Selection with Ensembles, Artificial Variables, and Redundancy Elimination." Journal of Machine Learning Research, vol. 10, 2009, 1341-1366. Auch in vielen praktischen Anwendungen in der Halbleiterfertigung liefert die Identifizierung der spezifischen Gruppen von einzelnen Prädiktoren (beispielsweise bestimmte Sensoren), die als wichtig identifiziert werden, oft die meisten diagnostischen Informationen über die Grundursachen und/oder notwendige vorbeugende Wartungsschritte.
  • Darüber hinaus werden die Prädiktorvariablen auf Grundlage dieser Statistiken geordnet und auf eine Teilmenge der Prädiktorvariablen heruntergefiltert. Die Anzahl der Variablen, für die Daten extrahiert werden sollen, um die Teilmenge zu erstellen, kann vom Benutzer des Systems gesteuert oder automatisch bestimmt werden (für einen vollautomatischen Betrieb), basierend auf den im vorherigen Block berechneten Werten für die Gesamtbedeutung. Als Ergebnis der Analysen, die gegen die umfangreichen Daten unter Verwendung einer effizienten parallelen Rechenumgebung in der Nähe der Daten durchgeführt werden - beispielsweise Spark™ - wird eine Teilmenge „wichtiger“ Prädiktoren identifiziert, d. h. Prädiktoren, die in Bezug auf das interessierende Ergebnis diagnostisch sind. Zum Beispiel kann die Analyse aus Millionen von Prädiktoren und Sensorwellen-Daten jene spezifischen Prädiktoren und Sensorspuren identifizieren, die zwischen normalen und abnormalen Wafern oder spezifischen Fehlermodi unterscheiden. Sobald eine kleinere Teilmenge solcher wichtigen Variablen identifiziert wurde, können weitere Analysen und Modellierungen in einem speziellen Analyseserver durchgeführt werden. Darüber hinaus können diese Berechnungen asynchron zu den Berechnungen erfolgen, die in der parallelisierten datenbankinternen Rechenumgebung durchgeführt werden, so dass die datenbankinternen Berechnungen auf neu eintreffende Daten angewendet werden können, während die zweite speicherinterne Analysephase zur gleichen Zeit abläuft.
  • Der resultierende Datensatz von Variablen, d. h. die geordnete Liste, die die Teilmenge umfasst, wird geschwenkt („pivoted“), siehe 3, und an den Analysealgorithmus weitergegeben, 2B. Wenn Millionen von Prädiktoren auf diese Weise organisiert sind, ist es nicht möglich, eine effiziente Merkmalsauswahl, beispielsweise Korrelationsanalysen, zu parallelisieren. Stattdessen ermöglicht das Schwenken, Entstapeln, der Daten, so dass jede Zeile der Daten einen Wafer, einen Parameter, einen Zeitstempel (für Zeitreihen) und einen entsprechenden Messwert identifiziert, eine viel effizientere parallele Verarbeitung im Anschluss. Wenn jedoch die Teilmenge der Prädiktoren an den In-Memory Fast Analysis Server 24 übergeben wird, werden die Daten in das Zeilen- (Analyseeinheiten) und Spaltenformat (Parameter) entstapelt, was für viele Maschinenlernalgorithmen effizienter ist.
  • In 2B beginnt der Analyse- und Visualisierungsalgorithmus bei Block 74, wo die geschwenkte Teilmenge von Variablen empfangen und die Teilmenge zur weiteren Verarbeitung extrahiert wird. In Anbetracht der Daten für die ausgewählte Teilmenge von Daten führen der oder die dedizierten Analyseserver dann effizient im Speicher die endgültigen Berechnungen durch, um ein Vorhersagemodell, ein Clustermodell, eine Ursachenanalyse oder eine Anomalieerkennung zu erstellen. Diese Berechnungen können verschiedene iterative Algorithmen umfassen, die üblicherweise auf solche (nun nicht mehr großen) Daten angewendet werden, einschließlich, aber nicht beschränkt auf verschiedene Regressionsalgorithmen (beispielsweise logistische Regression), neuronale Netze, Deep-Learning-Netze oder rekursive Partitionierungsalgorithmen, einschließlich gradientenverstärkter Bäume und Treenets. Die Ergebnisse dieses Modells, einschließlich aller Vorhersagewahrscheinlichkeiten, Werte oder vorhergesagten Klassifizierungen oder Clustering-Zuordnungen oder Abstände, werden dann an die Visualisierungs-Engine zur Anzeige und Erkundung durch den Benutzer weitergeleitet.
  • In Block 76 werden Variablen und Zeilen in den Daten identifiziert, die ressourcenintensive Berechnungen erfordern. In Block 78 werden Operationen mit den identifizierten Variablen und Zeilen durchgeführt. Wenn zusätzlich die kodierten Werte, die mit mehreren Zeitintervallen verbunden sind, die zu einem bestimmten Sensor gehören, wiederholt und häufig als wichtig identifiziert werden, beispielsweise unter Verwendung einer einfachen regelbasierten Logik, die auf die Liste der wichtigen Vorhersagewerte angewendet wird, die in den vorherigen Schritten identifiziert wurden, dann kann der In-Memory-AnalyseServer-Algorithmus die ursprünglichen Rohdaten abfragen, die mit dem jeweiligen Sensor verbunden sind, und sie zur interaktiven Visualisierung nach unten senden. Auf diese Weise können aussagekräftige Wellenform-Klassifikationsanalysen mit reaktionsschnellen, interaktiven Drill-Down-Funktionen auch für sehr große Datensätze implementiert werden. Es werden Maximum-Likelihood-Schätzungsberechnungen, beispielsweise für die logistische Regression, durchgeführt und/oder explizit, d. h. algorithmisch, nach Interaktionen zwischen den wichtigen Variablen gesucht. Die Operationen werden in wenigstens einem der Verfahren „In-Memory“, „In-Virtual-Memory“ und „Multithreading“ durchgeführt. Die Operationen werden nicht parallelisiert und sind völlig unabhängige Berechnungen. Optional kann der Analysealgorithmus mehrfach (rekursiv) angewendet werden, bis eine geeignete und wünschenswerte Teilmenge wichtiger Prädiktoren oder Parameter identifiziert ist. In Block 80 werden Visualisierungen der Ergebnisse erzeugt.
  • Die Visualisierung der Ergebnisse umfasst Verfahren zur Darstellung von vorhergesagten Klassifizierungen, Vorhersagewahrscheinlichkeiten, Clusterergebnissen oder verwandten Statistiken, die die Qualität, Zuverlässigkeit und Reproduzierbarkeit der jeweiligen Analyseergebnisse widerspiegeln. Beispielsweise kann ein Pareto-ähnliches Diagramm verwendet werden, um die relative Wichtigkeit der für das endgültige Modell ausgewählten Variablen anzuzeigen, zusammen mit Konfidenzintervallen für alle Parameterschätzungen, vorhergesagten Werte, Clusterwerte usw. Darüber hinaus können Box-and-Whiskers-Diagramme interaktiv dargestellt werden, indem Sie auf eine der Boxen im Pareto-ähnlichen Diagramm klicken, um die spezifische Natur der Zusammenhänge zwischen Variablen und/oder Clustern usw. zu untersuchen, je nach den spezifischen Analysezielen der jeweiligen Analyse. Eine weitere Möglichkeit der Ergebnisvisualisierung ist die Darstellung als Variablennetzwerke, wobei Variablen, die nicht als wichtig identifiziert wurden, aber signifikant mit den ausgewählten wichtigen Prädiktoren korreliert (oder auch nur verwandt) sind, als Knoten in einem Netzwerkgraphen dargestellt werden, der über Kanten mit den wichtigen Variablen verbunden ist. Dieser Graph offenbart daher die Struktur und Clusterung in Prädiktorvariablen, die in den Analysen als wichtig identifiziert wurden, selbst wenn diese Variablen aus der endgültigen Liste der wichtigen Variablen ausgeschlossen wurden, weil sie redundant waren.
  • Die Geschwindigkeitsverbesserungen auf Hadoop®-Clustern und Spark™-Rechenumgebungen in Produktionsgröße zeigen, dass die hier beschriebene Systemarchitektur und die Algorithmen effiziente Analysen sehr umfangreicher logischer Datensätze mit Millionen von Prädiktorvariablen ermöglichen und innerhalb von Minuten Ergebnisse liefern, während herkömmliche Ansätze und Analysewerkzeuge entweder völlig versagten oder Stunden, wenn nicht Tage benötigten, bevor nützliche Erkenntnisse abgeleitet werden konnten.
  • In 4 sind eine Computermaschine 100 und ein Systemanwendungsmodul 200 gemäß Ausführungsbeispielen dargestellt. Die Computermaschine 100 kann jedem der verschiedenen hier vorgestellten Computer, mobilen Vorrichtungen, Laptops, Server, eingebetteten Systeme oder Computersysteme entsprechen. Das Modul 200 kann ein oder mehrere Hardware- oder Softwareelemente umfassen, beispielsweise andere Betriebssystemanwendungen und Benutzer- und Kernel-Space-Anwendungen, die dazu bestimmt sind, 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 und eine Netzwerkschnittstelle 160 zur Kommunikation mit einem Netzwerk 170, beispielsweise einem Loopback, einem lokalen Netzwerk, einem umfangreichen Netzwerk, Mobilfunk/GPS, Bluetooth, WIFI und WIMAX zum Empfang von Fertigungsprozesseingaben, und eine Prozesssteuerung 180 zur Verarbeitung von Fertigungsprozesseingaben.
  • Die Computermaschine 100 kann als herkömmliches Computersystem, als eingebettete Steuerung, als Laptop, als Server, als mobiles Gerät, als Smartphone, als tragbarer Computer, als kundenspezifische Maschine, als beliebige andere Hardwareplattform oder als beliebige Kombination oder Vielzahl davon implementiert werden. Die Computermaschine 100 kann ein verteiltes System sein, das so konfiguriert ist, dass es mit mehreren Computermaschinen funktioniert, die über ein Datennetzwerk 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 Universalprozessor, ein Prozessorkern, ein Multiprozessor, ein rekonfigurierbarer Prozessor, ein Mikrocontroller, ein digitaler Signalprozessor („DSP“), ein anwendungsspezifischer integrierter Schaltkreis („ASIC“), eine Steuerung, eine Zustandsmaschine, 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 softwarebasierte 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“), programmierbaren Festwertspeicher („PROM“), löschbaren programmierbaren Festwertspeicher („EPROM“), Flash-Speicher oder jede andere Vorrichtung umfassen, die in der Lage ist, Programmanweisungen oder Daten mit oder ohne angelegte Energie 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. Es können auch andere RAM-Typen zur Implementierung des Systemspeichers 130 verwendet werden. Der Systemspeicher 130 kann mit einem einzelnen Speichermodul oder mehreren Speichermodulen implementiert 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 vom Anwendungsbereich der vorliegenden Technologie abzuweichen. Es sollte auch gewürdigt werden, dass der Systemspeicher 130 eine nichtflüchtige Speichervorrichtung, wie die Speichermedien 140, umfassen oder in Verbindung damit arbeiten kann.
  • Die Speichermedien 140 können eine Festplatte, eine Diskette, einen Compact-Disc-Festwertspeicher („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 Halbleiter-Speichervorrichtung, eine physikalisch basierte Speichervorrichtung, eine andere Datenspeichervorrichtung oder eine Kombination oder Vielzahl davon umfassen. Die Speichermedien 140 können ein oder mehrere Betriebssysteme, Anwendungsprogramme und Programmmodule, Daten oder andere Informationen speichern. Die Speichermedien 140 können Teil der Computermaschine sein oder mit dieser verbunden sein. 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 und andere OS-Anwendungsmodule können 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 und andere Betriebssystem-Anwendungsmodule können einen oder mehrere Algorithmen oder Sequenzen von Anweisungen umfassen, die als Software oder Firmware in Verbindung mit dem Systemspeicher 130, den Speichermedien 140 oder beidem 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 und anderen OS-Anwendungsmodulen verbunden sind, können ein Computersoftwareprodukt umfassen. Es sollte gewürdigt werden, dass ein Computersoftwareprodukt, das das Anwendungsmodul 200 und andere OS-Anwendungsmodule umfasst, auch mit einem oder mehreren Prozessen oder Verfahren zur Übermittlung des Anwendungsmoduls 200 und anderer OS-Anwendungsmodule an die Computermaschine über ein Netzwerk, ein beliebiges signaltragendes Medium oder eine andere Kommunikations- oder Übermittlungstechnologie verbunden sein kann. Das Anwendungsmodul 200 und andere OS-Anwendungsmodule können auch Hardware-Schaltkreise oder Informationen zur Konfiguration von Hardware-Schaltkreisen umfassen, wie beispielsweise Mikrocode oder Konfigurationsinformationen für ein FPGA oder ein anderes PLD. In einer beispielhaften Ausführungsform können das Anwendungsmodul 200 und andere Betriebssystem-Anwendungsmodule Algorithmen umfassen, die in der Lage sind, die in den hier vorgestellten Flussdiagrammen und Computersystemen beschriebenen Funktionsabläufe durchzuführen.
  • Die Eingabe-/Ausgabeschnittstelle 150 kann so konfiguriert werden, dass sie mit einem oder mehreren externen Vorrichtungen gekoppelt werden kann, um Daten von dem einen oder den mehreren externen Vorrichtungen zu empfangen und um 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 Daten, Adressen und Steuersignale zwischen den Peripheriegeräten, der Computermaschine oder dem Prozessor 110 übertragen werden. 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 (PCle), 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 Eingabegeräten koppeln, einschließlich Mäusen, Touchscreens, Scannern, elektronischen Digitalisierern, Sensoren, Empfängern, Touchpads, Trackballs, Kameras, Mikrofonen, Tastaturen, beliebigen anderen Zeigegeräten oder beliebigen Kombinationen davon. Die E/A-Schnittstelle 120 kann die Computermaschine mit verschiedenen Ausgabegeräten koppeln, beispielsweise mit Videobildschirmen, Lautsprechern, Druckern, Projektoren, taktilen Rückmeldegeräten, Automatisierungssteuerungen, Roboterkomponenten, Aktoren, Motoren, Lüftern, Magneten, Ventilen, Pumpen, Transmittern, Signalgebern, Leuchten usw.
  • Die Computermaschine 100 kann in einer vernetzten Umgebung betrieben werden, wobei logische Verbindungen über die NIC 160 zu einem oder mehreren anderen Systemen oder Computermaschinen über ein Netzwerk verwendet 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 Netzwerk kann paketvermittelt oder leitungsvermittelt sein, eine beliebige Topologie aufweisen und ein beliebiges Kommunikationsprotokoll verwenden. Die Kommunikationsverbindungen innerhalb des Netzwerks können verschiedene digitale oder analoge Kommunikationsmedien beinhalten, wie beispielsweise Glasfaserkabel, Freiraumoptik, Wellenleiter, elektrische Leiter, drahtlose Verbindungen, Antennen, Hochfrequenzkommunikation und so weiter.
  • Der Prozessor 110 kann über den Systembus 120 mit den anderen Elementen der Computermaschine oder den verschiedenen hierin beschriebenen Peripheriegeräten verbunden werden. Es sollte gewürdigt werden, dass der Systembus 120 innerhalb des Prozessors 110, außerhalb des Prozessors 110 oder beides sein kann. Gemäß einigen Ausführungsformen kann jeder der Prozessoren 110, die anderen Elemente der Computermaschine oder die verschiedenen hierin besprochenen Peripheriegeräte in eine einzelne Vorrichtung, wie beispielsweise ein System auf Chip („SOC“), System auf Gehäuse („SOP“) oder ASIC-Vorrichtung, integriert werden.
  • 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 Arten der Implementierung von Ausführungsformen in der Computerprogrammierung geben könnte, und die Ausführungsformen sollten nicht als auf einen Satz von Computerprogrammanweisungen beschränkt verstanden werden, sofern nicht für eine beispielhafte Ausführungsform etwas anderes offenbart wird. 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 für ein angemessenes Verständnis der Herstellung und Verwendung von Ausführungsformen nicht als notwendig erachtet. 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 darauf, dass eine Handlung von einem Computer ausgeführt wird, nicht so verstanden werden, dass sie von einem einzigen Computer ausgeführt wird, da mehr als ein Computer die Handlung ausführen kann.
  • Die hier beschriebenen Beispielausführungen 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 sein. Computerlesbare Medien können beispielsweise eine Diskette, RAM, ROM, Festplatte, Wechselmedien, Flash-Speicher, Memory-Stick, optische Medien, magnetooptische Medien, CD-ROM usw. umfassen. Digitale Schaltungen können integrierte Schaltungen, Gate-Arrays, Bausteinlogik, feldprogrammierbare Gate-Arrays (FPGA) usw. umfassen.
  • Die Beispielsysteme, -verfahren und -handlungen, die in den zuvor vorgestellten Ausführungsformen beschrieben sind, sind illustrativ, 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 ausgeführt werden, ohne vom Umfang und Geist der verschiedenen Ausführungsformen abzuweichen. Dementsprechend sind solche alternativen Ausführungsformen in der vorliegenden Beschreibung umfasst.
  • Wie hierin verwendet, sollen die Singularformen „ein“, „eine“ und „die“ auch die Pluralformen umfassen, sofern aus dem Kontext nicht eindeutig etwas anderes hervorgeht. Es versteht sich des Weiteren, dass die Begriffe „umfasst“ und/oder „aufweisen“, wenn sie in dieser Spezifikation verwendet werden, das Vorhandensein von angegebenen Merkmalen, ganzen Zahlen, Schritten, Operationen, Elementen und/oder Komponenten spezifizieren, aber das Vorhandensein oder Hinzufügen von einem oder mehreren anderen Merkmalen, ganzen Zahlen, Schritten, Operationen, Elementen, Komponenten und/oder Gruppen davon nicht ausschließen. Wie hierin verwendet, umfasst der Begriff „und/oder“ jede und alle Kombinationen von einem oder mehreren der zugehörigen aufgeführten Elemente. Wie hierin verwendet, sollten Ausdrücke wie „zwischen X und Y“ und „zwischen etwa X und Y“ so interpretiert werden, dass sie X und Y umfassen. Wie hierin verwendet, bedeuten Ausdrücke wie „von etwa X bis Y“ „von etwa X bis etwa Y“.
  • Wie hierin verwendet, kann „Hardware“ 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, Speichergeräte, (wobei ein Prozessor einen oder mehrere Mikrocomputer oder andere geeignete Datenverarbeitungseinheiten, Speichergeräte, Anzeigen, Dateneingabegeräte wie eine Tastatur oder eine Maus, Peripheriegeräte wie Drucker und Lautsprecher, zugehörige Treiber, Steuerkarten, Stromquellen, Netzwerkgeräte, Dockingstation-Vorrichtungen oder andere geeignete Vorrichtungen umfasst, die unter der Steuerung 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, kann der Begriff „Kopplung“ und seine verwandten Begriffe, wie „Paare“ und „gekoppelt“, eine physikalische Verbindung (wie einen Kupferleiter), eine virtuelle Verbindung (wie durch zufällig zugewiesene Speicherplätze einer Datenspeichereinrichtung), eine logische Verbindung (wie durch logische Gatter einer Halbleitereinrichtung), 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 Sender-/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 zur elektronischen 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. Beispielsweise würde ein Nachrichtensystem, das eine Nachricht erzeugt, die ein Absenderadressfeld, ein Empfängeradressfeld und ein Nachrichtenfeld enthält, 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, beziehen kann, das Absenderadressfeld zusammensetzen kann, Empfängeradressfeld und Nachrichtenfeld in ein geeignetes elektronisches Nachrichtenformat zusammenstellen (wie eine elektronische Postnachricht, eine TCP/IP-Nachricht oder ein anderes geeignetes Nachrichtenformat, das ein Absenderadressfeld, ein Empfängeradressfeld und ein Nachrichtenfeld aufweist) und die elektronische Nachricht unter Verwendung elektronischer Nachrichtensysteme und -vorrichtungen des Prozessors über ein Kommunikationsmedium, wie beispielsweise ein Netzwerk, übertragen kann. Eine Person mit gewöhnlichen Fachkenntnissen wäre in der Lage, die spezifische Kodierung für eine spezifische Anwendung auf Grundlage der vorangehenden Offenbarung bereitzustellen, die dazu bestimmt ist, beispielhafte Ausführungsformen der vorliegenden Offenbarung darzulegen, und nicht dazu, eine Anleitung für jemanden bereitzustellen, der weniger als gewöhnliche Fachkenntnisse hat, wie beispielsweise jemand, der mit der Programmierung oder 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 zugehörigen Funktionen in einer beispielhaften Reihenfolge der Operationen dargelegt werden können, wobei die Reihenfolge in geeigneter Weise umgestellt werden kann und nicht als einschränkend zu verstehen ist, es sei denn, sie wird ausdrücklich als einschränkend bezeichnet.
  • Die oben dargestellten Ausführungsformen wurden zum Zweck der Veranschaulichung dargestellt und sollen es dem Fachmann ermöglichen, die Offenbarung in die Praxis umzusetzen, 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 den Umfang und den Geist der Offenbarung zu verletzen. Der Umfang 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:
    • Klausel 1, ein Prozesssteuerungsinstrument zur Verarbeitung umfangreicher Daten aus automatisierten Fertigungsvorgängen: ein Merkmalswähler, der konfiguriert ist zum:
      • Empfangen von Prozesseingangsdaten von wenigstens einer Fertigungsprozessanwendung, wobei die Prozesseingangsdaten eine Vielzahl von Überwachungen und zugehörigen Variablen umfassen; Konvertieren identifizierter kategorischer Variablen in numerische Variablen und identifizierter Zeitreihendaten in feste Anzahlen von Intervallen; und Berechnen von Statistiken, die die Stärke von Zusammenhängen zwischen Prädiktorvariablen und einer Ergebnisvariablen messen; einen Analyseserver, der so konfiguriert ist, dass er: wenigstens eine Operation durchführt, um Interaktionen zwischen Vorhersagewerten zu identifizieren; eine Visualisierungs-Engine, die so konfiguriert ist, dass sie die Interaktionen zur Verwendung bei der Verwaltung der Fertigungsvorgänge anzeigt.
    • Klausel 2, Prozesssteuerungsinstrument von Klausel 1, wobei der Merkmalswähler des Weiteren so konfiguriert ist, dass er die empfangenen Prozesseingangsdaten in ein Stapelformat umwandelt, das für jede Variable in jeder Überwachung eine Zeile aufweist;
    • Klausel 3, Prozesssteuerungsinstrument von Klausel 1, wobei die identifizierten kategorischen Variablen unter Verwendung einer Impact-Codierungstechnik in numerische Variablen umgewandelt werden;
    • Klausel 4, Prozesssteuerungsinstrument von Klausel 2, wobei der Merkmalswählerdes Weiteren konfiguriert ist, um: die Vorhersagewerte auf Grundlage der berechneten Statistiken zu ordnen; die Vorhersagewerte auf Grundlage eines Schwellenwerts zu einer Untermenge von Vorhersagewerten zu filtern; und die Untermenge in ein umfangreiches Format zu schwenken („pivot“);
    • Klausel 5, Prozesssteuerungsinstrument von Klausel 4, wobei der Analyseserver so konfiguriert ist, dass er: die geschwenkte Teilmenge von Vorhersagewerten empfängt; und wenigstens eine von Maximum-Likelihood-Berechnungen und vordefinierten Suchen durchführt, um Interaktionen zwischen den Vorhersagewerten in der Teilmenge zu identifizieren;
    • Klausel 6, Prozesssteuerungsinstrument von Klausel 1, wobei der Analyseserver des Weiteren so konfiguriert ist, dass er mit wenigstens einem von In-Memory-, In-Virtual-Memory- und Multithreading-Berechnungen arbeitet;
    • Klausel 7, Prozesssteuerungsinstrument von Klausel 1, wobei der Merkmalswähler und der Analyseserver gleichzeitig und asynchron arbeiten;
    • Klausel 8, Prozesssteuerungsinstrument von Klausel 1, wobei der Analyseserver ein dedizierter Analyseserver ist;
    • Klausel 9, Prozesssteuerungsinstrument von Klausel 1, wobei die Prozesseingangsdaten dadurch gekennzeichnet sind, dass sie einen umfangreichen Datensatz oder einen umfangreichen und großen Datensatz aufweisen;
    • Klausel 10, Verfahren zum Verarbeiten breiter Daten von automatisierten Fertigungsvorgängen, wobei das Verfahren umfasst: Empfangen von Prozesseingangsdaten von wenigstens einer Fertigungsprozessanwendung, wobei die Prozesseingangsdaten eine Vielzahl von Beobachtungen und zugehörigen Variablen umfassen; Umwandeln identifizierter kategorischer Variablen in numerische Variablen und identifizierter Zeitreihendaten in feste Anzahlen von Intervallen; und Berechnen von Statistiken, die die Stärken von Zusammenhängen zwischen Prädiktorwerten und einer Ergebnisvariablen messen; Durchführen wenigstens einer Operation, um Interaktionen zwischen Prädiktorwerten zu identifizieren; und Anzeigen der Interaktionen zur Verwendung beim Verwalten der Fertigungsvorgänge;
    • Klausel 11, Verfahren von Klausel 10, das des Weiteren Konvertieren der empfangenen Prozesseingangsdaten in ein Stapelformat umfasst, das eine Zeile für jede Variable in jeder Überwachung aufweist;
    • Klausel 12, Verfahren von Klausel 10, das des Weiteren das Umwandeln der identifizierten kategorischen Variablen in numerische Variablen unter Verwendung einer Impact-Codierungstechnik umfasst;
    • Klausel 13, Verfahren von Klausel 11, das des Weiteren Folgendes umfasst: Ordnen der Vorhersagewerte auf Grundlage der berechneten Statistiken; Filtern der Vorhersagewerte zu einer Teilmenge von Vorhersagewerten auf Grundlage eines Schwellenwerts; und Schwenken der Teilmenge in ein umfangreiches Format;
    • Klausel 14, Verfahren von Klausel 13, das des Weiteren Folgendes umfasst: Empfangen der geschwenkten Teilmenge von Vorhersagewerten; und Durchführen von wenigstens einer von Maximum-Likelihood-Berechnungen und vordefinierten Suchen, um Interaktionen zwischen den Vorhersagewerten in der Teilmenge zu identifizieren;
    • Klausel 15, ein nicht-transitorisches computerlesbares Speichermedium, das einen Satz von Computeranweisungen umfasst, die von einem Prozessor zur Verarbeitung umfangreicher Daten aus automatisierten Fertigungsvorgängen ausgeführt werden können, wobei die Computeranweisungen so konfiguriert sind, dass sie: Prozesseingangsdaten von wenigstens einer Fertigungsprozessanwendung zu empfangen, wobei die Prozesseingangsdaten eine Vielzahl von Überwachungen und zugehörigen Variablen umfassen; identifizierte kategorische Variablen in numerische Variablen und identifizierte Zeitreihendaten in feste Anzahlen von Intervallen umzuwandeln; und Statistiken zu berechnen, die die Stärken von Zusammenhängen zwischen Prädiktorwerten und einer Ergebnisvariablen messen; wenigstens eine Operation durchzuführen, um Zusammenhänge zwischen Prädiktorwerten zu identifizieren; die Zusammenhänge zur Verwendung bei der Verwaltung der Fertigungsvorgänge anzuzeigen;
    • Klausel 16, nicht-transitorisches, computerlesbares Speichermedium von Klausel 15, das des Weiteren Computeranweisungen umfasst, die so konfiguriert sind, dass sie die empfangenen Prozesseingangsdaten in ein Stapelformat umwandeln, das eine Zeile für jede Variable in jeder Überwachung aufweist;
    • Klausel 17, nicht-transitorisches computerlesbares Speichermedium von Klausel 15, das des Weiteren Computerbefehle umfasst, die so konfiguriert sind, dass sie eine Impact-Codierungstechnik verwenden, um die identifizierten kategorischen Variablen in numerische Variablen umzuwandeln;
    • Klausel 18, nicht-transitorisches computerlesbares Speichermedium von Klausel 16, das des Weiteren Computerbefehle umfasst, die konfiguriert sind zum: Ordnen der Vorhersagewerte auf Grundlage der berechneten Statistiken; Filtern der Vorhersagewerte auf Grundlage eines Schwellenwerts zu einer Teilmenge von Vorhersagewerten; Schwenken der Teilmenge in ein umfangreiches Format; und Durchführen von wenigstens einer Maximum-Likelihood-Berechnungen und/oder vordefinierten Suchen, um Interaktionen zwischen den Vorhersagewerten in der Teilmenge zu identifizieren;
    • Klausel 19, nicht-transitorisches, computerlesbares Speichermedium von Klausel 15 , das des Weiteren Computerbefehle umfasst, die konfiguriert sind, wobei der Analyseserver des Weiteren so konfiguriert ist, dass er wenigstens eine Operation durchführt, um Interaktionen zwischen Vorhersagewerten und der wenigstens einen Ergebnisvariablen in wenigstens einem von In-Memory-, In-Virtual-Memory- und Multithreading-Berechnungen zu identifizieren.
    • Klausel 20, nicht-transitorisches computerlesbares Speichermedium von Klausel 15, wobei eine Untermenge der Befehle gleichzeitig mit und asynchron zu einer anderen Untermenge der Befehle arbeitet.
  • Die vorangehende Beschreibung von Ausführungsformen der Offenbarung wurde zum Zweck der Veranschaulichung und Beschreibung dargestellt. Es ist nicht beabsichtigt, erschöpfend zu sein oder die Offenbarung auf die genaue Form zu beschränken, die offenbart wurde, und Modifikationen und Variationen sind im Lichte der obigen Lehren möglich oder können aus der Praxis der Offenbarung erworben werden. Die Ausführungsformen wurden ausgewählt und beschrieben, um die Prinzipien der Offenbarung und ihre praktische Anwendung zu erläutern, damit der Fachmann die Offenbarung in verschiedenen Ausführungsformen und mit verschiedenen Modifikationen nutzen kann, die für die jeweils in Betracht gezogene Verwendung geeignet sind. Andere Substitutionen, Modifikationen, Änderungen und Auslassungen können in der Konstruktion, den Betriebsbedingungen und der Anordnung der Ausführungsformen vorgenommen werden, ohne vom Umfang der vorliegenden Offenbarung abzuweichen. Derartige Modifikationen und Kombinationen der dargestellten Ausführungsformen sowie andere Ausführungsformen werden für Fachleute bei der Lektüre der Beschreibung offensichtlich sein. Es ist daher beabsichtigt, dass die beigefügten Ansprüche alle derartigen Modifikationen oder Ausführungsformen umfassen.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 62/780095 [0001]
  • Zitierte Nicht-Patentliteratur
    • J. Lin, E. Keogh, L. Wei, und S. Lonardi. „Experiencing SAX: A Novel Symbolic Representation of Time Series“. Data Mining and Knowldege Discovery, Vol. 15, 2, S. 107-144, 2007 [0019]
    • E. Tuv, A. Borisov, G. Runger, und K. Torkkola, „Feature Selection with Ensembles, Artificial Variables, and Redundancy Elimination.“ Journal of Machine Learning Research, vol. 10, 2009, 1341-1366 [0022]

Claims (20)

  1. Prozesssteuerungsinstrument zur Verarbeitung umfangreicher Daten aus automatisierten Fertigungsvorgängen, wobei das Prozesssteuerungsinstrument umfasst: einen Merkmalswähler, der konfiguriert ist zum: Empfangen von Prozesseingangsdaten von wenigstens einer Fertigungsprozessanwendung, wobei die Prozesseingangsdaten eine Vielzahl von Überwachungen und zugehörigen Variablen umfassen; Konvertieren identifizierter kategorischer Variablen in numerische Variablen und identifizierter Zeitreihendaten in feste Anzahlen von Intervallen; und Berechnen von Statistiken, die die Stärke der Zusammenhänge zwischen Prädiktorwerten und einer Ergebnisvariablen messen; einen Analyseserver, der konfiguriert ist zum: Durchführen wenigstens einer Operation, um Interaktionen zwischen Vorhersagewerten zu identifizieren; eine Visualisierungs-Engine, die so konfiguriert ist, dass sie die Interaktionen zur Verwendung bei der Verwaltung der Fertigungsvorgänge anzeigt.
  2. Prozesssteuerungsinstrument nach Anspruch 1, wobei der Merkmalswähler des Weiteren so konfiguriert ist, dass er die empfangenen Prozesseingangsdaten in ein Stapelformat konvertiert, das für jede Variable in jeder Überwachung eine Zeile aufweist.
  3. Prozesssteuerungsinstrument nach Anspruch 1, wobei die identifizierten kategorialen Variablen unter Verwendung einer Impact-Codierungstechnik in numerische Variablen konvertiert werden.
  4. Prozesssteuerungsinstrument nach Anspruch 2, wobei der Merkmalswähler des Weiteren konfiguriert ist zum: Ordnen der Vorhersagewerte auf Grundlage der berechneten Statistiken; Filtern der Vorhersagewerte auf eine Teilmenge von Vorhersagewerten basierend auf einem Schwellenwert; und Schwenken („pivot“) der Teilmenge in ein umfangreiches Format, wobei jede Variable mit ihrer eigenen Spalte in einem Tabellendatensatz ausgedrückt wird.
  5. Prozesssteuerungsinstrument nach Anspruch 4, wobei der Analyseserver konfiguriert ist zum: Empfangen der geschwenkten Teilmenge von Vorhersagewerten; und Durchführen von wenigstens einer statistischen und Modellierungsoperationen und/oder vordefinierten Suche durchzuführen, um Interaktionen zwischen den Vorhersagewerten in der Teilmenge zu identifizieren; wobei die Statistik- und Modellierungsoperationen wenigstens einen von Regressionsalgorithmen, neuronalen Netzen, Deep-Learning-Netzen und rekursiven Partitionierungsalgorithmen umfassen.
  6. Prozesssteuerungsinstrument nach Anspruch 1, wobei der Analyseserver des Weiteren so konfiguriert ist, dass er mit wenigstens einer der Optionen In-Memory, In-Virtual-Memory und Multithread-Berechnungen arbeitet.
  7. Prozesssteuerungsinstrument nach Anspruch 1, wobei der Merkmalswähler und der Analyseserver gleichzeitig und asynchron arbeiten.
  8. Prozesssteuerungsinstrument nach Anspruch 1, wobei der Analyseserver ein dedizierter Analyseserver ist.
  9. Prozesssteuerungsinstrument nach Anspruch 1, wobei die Prozesseingangsdaten dadurch gekennzeichnet sind, dass sie einen umfangreichen Datensatz oder einen umfangreichen und großen Datensatz aufweisen.
  10. Verfahren zur Verarbeitung umfangreicher Daten aus automatisierten Fertigungsvorgängen, wobei das Verfahren umfasst: Empfangen von Prozesseingangsdaten von wenigstens einer Fertigungsprozessanwendung, wobei die Prozesseingangsdaten eine Vielzahl von Überwachungen und zugehörigen Variablen umfassen; Konvertieren identifizierter kategorischer Variablen in numerische Variablen und identifizierter Zeitreihendaten in feste Zahlen von Intervallen; und Berechnen von Statistiken, die die Stärken von Zusammenhängen zwischen Prädiktorwerten und einer Ergebnisvariablen messen; Durchführen wenigstens einer Operation, um Interaktionen zwischen Vorhersagewerten zu identifizieren; und Anzeigen der Interaktionen zur Verwendung bei der Verwaltung der Fertigungsvorgänge.
  11. Verfahren nach Anspruch 10, das des Weiteren das Konvertieren der empfangenen Prozesseingangsdaten in ein Stapelformat umfasst, das für jede Variable in jeder Überwachung eine Zeile aufweist.
  12. Verfahren nach Anspruch 10, das des Weiteren das Konvertieren der identifizierten kategorialen Variablen in numerische Variablen unter Verwendung einer Impact-Codierungstechnik umfasst.
  13. Verfahren nach Anspruch 11, des Weiteren umfassend: Ordnen der Vorhersagewerte auf Grundlage der berechneten Statistik; Filtern der Vorhersagewerte zu einer Teilmenge von Vorhersagewerten basierend auf einem Schwellenwert; und Schwenken der Teilmenge in ein umfangreiches Format.
  14. Verfahren nach Anspruch 13, des Weiteren umfassend: Empfangen der geschwenkten Teilmenge von Vorhersagewerten; und Durchführen von wenigstens einer von Maximum-Likelihood-Berechnungen und vordefinierten Suchen, um Interaktionen zwischen den Vorhersagewerten in der Teilmenge zu identifizieren.
  15. Nicht-transitorisches computerlesbares Speichermedium, das einen Satz von Computeranweisungen umfasst, die von einem Prozessor zur Verarbeitung umfangreicher Daten aus automatisierten Fertigungsvorgängen ausgeführt werden können, wobei die Computeranweisungen konfiguriert sind zum: Empfangen von Prozesseingangsdaten von wenigstens einer Fertigungsprozessanwendung, wobei die Prozesseingangsdaten eine Vielzahl von Überwachungen und zugehörigen Variablen umfassen; Konvertieren von identifizierten kategorischen Variablen in numerische Variablen und von identifizierten Zeitreihendaten in feste Anzahlen von Intervallen; und Berechnen von Statistiken, die die Stärken von Zusammenhängen zwischen Prädiktorwerten und einer Ergebnisvariablen messen; Durchführen von wenigstens einer Operation, um Interaktionen zwischen Vorhersagewerten zu identifizieren; Anzeigen der Interaktionen zur Verwendung bei der Verwaltung der Fertigungsvorgänge.
  16. Nicht-transitorisches computerlesbares Speichermedium nach Anspruch 15, des Weiteren umfassend Computerbefehle, die so konfiguriert sind, dass sie die empfangenen Prozesseingangsdaten in ein Stapelformat konvertieren, das für jede Variable in jeder Überwachung eine Zeile aufweist.
  17. Nicht-transitorisches computerlesbares Speichermedium nach Anspruch 15, das des Weiteren Computerbefehle umfasst, die so konfiguriert sind, dass sie eine Impact-Codierungstechnik verwenden, um die identifizierten kategorischen Variablen in numerische Variablen zu konvertieren.
  18. Nicht-transitorisches computerlesbares Speichermedium nach Anspruch 16, das des Weiteren Computerbefehle umfasst, die konfiguriert sind zum: Ordnen der Vorhersagewerte basierend auf den berechneten Statistiken; Filtern der Vorhersagewerte auf eine Teilmenge von Vorhersagewerten basierend auf einem Schwellenwert; Schwenken der Teilmenge in ein umfangreiches Format; und Durchführen von wenigstens einer Maximum-Likelihood-Berechnungen und/oder vordefinierten Suchen, um Interaktionen zwischen den Vorhersagewerten in der Teilmenge zu identifizieren.
  19. Nicht-transitorisches computerlesbares Speichermedium nach Anspruch 15, das des Weiteren Computerbefehle umfasst, wobei der Analyseserver des Weiteren so konfiguriert ist, dass er wenigstens eine Operation zur Identifizierung von Interaktionen zwischen Prädiktorwerten und der wenigstens einen Ergebnisvariablen in wenigstens einer der folgenden Optionen durchführt: In-Memory-, In-Virtual-Memory- und Multithreading-Berechnungen.
  20. Nicht-transitorisches computerlesbares Speichermedium nach Anspruch 15, wobei eine Teilmenge der Befehle gleichzeitig mit und asynchron zu einer anderen Teilmenge der Befehle arbeitet.
DE112019006218.2T 2018-12-14 2019-12-13 Prozesssteuerungsinstrument zur Verarbeitung großer und umfangreicher Daten Pending DE112019006218T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862780095P 2018-12-14 2018-12-14
US62/780,095 2018-12-14
PCT/US2019/066386 WO2020124041A1 (en) 2018-12-14 2019-12-13 Process control tool for processing big and wide data

Publications (1)

Publication Number Publication Date
DE112019006218T5 true DE112019006218T5 (de) 2021-09-02

Family

ID=71070913

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112019006218.2T Pending DE112019006218T5 (de) 2018-12-14 2019-12-13 Prozesssteuerungsinstrument zur Verarbeitung großer und umfangreicher Daten

Country Status (6)

Country Link
US (1) US11727021B2 (de)
KR (1) KR20210103506A (de)
CN (1) CN113518983A (de)
DE (1) DE112019006218T5 (de)
GB (1) GB2594855A (de)
WO (1) WO2020124041A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111914003B (zh) * 2020-08-14 2021-09-07 东方财富信息股份有限公司 一种基于云平台的大数据分析系统
US20220182442A1 (en) * 2020-12-03 2022-06-09 Boe Technology Group Co., Ltd. Computer-implemented method for defect analysis, computer-implemented method of evaluating likelihood of defect occurrence, apparatus for defect analysis, computer-program product, and intelligent defect analysis system

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6601005B1 (en) * 1996-11-07 2003-07-29 Rosemount Inc. Process device diagnostics using process variable sensor signal
US8538934B2 (en) * 2011-10-28 2013-09-17 Microsoft Corporation Contextual gravitation of datasets and data services
CN108717387B (zh) * 2012-11-09 2021-09-07 相干逻辑公司 对于多处理器系统的实时分析和控制
US10496927B2 (en) * 2014-05-23 2019-12-03 DataRobot, Inc. Systems for time-series predictive data analytics, and related methods and apparatus
US10366346B2 (en) * 2014-05-23 2019-07-30 DataRobot, Inc. Systems and techniques for determining the predictive value of a feature
US9886486B2 (en) * 2014-09-24 2018-02-06 Oracle International Corporation Enriching events with dynamically typed big data for event processing
US10459932B2 (en) * 2014-12-18 2019-10-29 Business Objects Software Ltd Visualizing large data volumes utilizing initial sampling and multi-stage calculations
US10839024B2 (en) * 2016-06-20 2020-11-17 Tibco Software Inc. Detecting important variables and their interactions in big data
WO2016189747A1 (ja) * 2015-05-28 2016-12-01 三菱電機株式会社 分析装置及び分析方法及び分析プログラム
US10649874B2 (en) * 2015-12-30 2020-05-12 Teradata Us, Inc. Long-duration time series operational analytics
US10430743B2 (en) * 2016-02-24 2019-10-01 Bank Of America Corporation Computerized system for simulating the likelihood of technology change incidents
JP6896759B2 (ja) * 2016-03-23 2021-06-30 フォグホーン システムズ, インコーポレイテッドFoghorn Systems, Inc. リアルタイムデータフロープログラミングにおけるパターン駆動型反応の合成
US10252145B2 (en) * 2016-05-02 2019-04-09 Bao Tran Smart device
US10732620B2 (en) * 2016-08-01 2020-08-04 General Electric Company System and method for inspecting machinery
US20180293462A1 (en) * 2017-03-31 2018-10-11 H2O.Ai Inc. Embedded predictive machine learning models
US11621969B2 (en) * 2017-04-26 2023-04-04 Elasticsearch B.V. Clustering and outlier detection in anomaly and causation detection for computing environments
US11157782B2 (en) * 2017-11-16 2021-10-26 International Business Machines Corporation Anomaly detection in multidimensional time series data

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
E. Tuv, A. Borisov, G. Runger, und K. Torkkola, „Feature Selection with Ensembles, Artificial Variables, and Redundancy Elimination." Journal of Machine Learning Research, vol. 10, 2009, 1341-1366
J. Lin, E. Keogh, L. Wei, und S. Lonardi. „Experiencing SAX: A Novel Symbolic Representation of Time Series". Data Mining and Knowldege Discovery, Vol. 15, 2, S. 107-144, 2007

Also Published As

Publication number Publication date
KR20210103506A (ko) 2021-08-23
GB2594855A (en) 2021-11-10
WO2020124041A1 (en) 2020-06-18
US11727021B2 (en) 2023-08-15
CN113518983A (zh) 2021-10-19
US20200192895A1 (en) 2020-06-18
GB202110045D0 (en) 2021-08-25

Similar Documents

Publication Publication Date Title
Bernard et al. Visual‐interactive preprocessing of multivariate time series data
Campos et al. A big data analytical architecture for the Asset Management
CN112655004B (zh) 用于异常检测和/或预测性维护的计算机实现的方法
Pouchard Revisiting the data lifecycle with big data curation
US10776710B2 (en) Multimodal data fusion by hierarchical multi-view dictionary learning
JP6404889B2 (ja) マルチセンサビジュアルアナリティクスのためのプロセッサ実装方法、マルチセンサデータを要約するシステム、及びマルチセンサビジュアルアナリティクスのための方法を実行するためのコンピュータプログラムを具現化した非一時的なコンピュータ可読媒体
DE202014011247U1 (de) Systeme zur Datengewinnung und -modellierung
DE112020003365T5 (de) Überwachte kreuzmodale wiedergewinnung für zeitreihen und text unter verwendung von multimodalen triplettverlusten
TWI777035B (zh) 螺絲鎖附異常警報方法、裝置、電腦裝置及存儲介質
DE112020003826T5 (de) Ensemble gruppierter zweistufiger aufmerksamkeitsbasierter rekurenter neuronaler Netze zur multivariaten Zeitreihenvorhersage
DE112020003538T5 (de) Kreuzmodale wiedergewinnung mit wortüberlappungsbasiertem clustern
DE112020002684T5 (de) Ein Mehrfachverfahrenssystem für optimale Vorhersagemodellauswahl
US20210364999A1 (en) System and method for analyzing cause of product defect, computer readable medium
DE102019007354A1 (de) Narrationssystem für interaktive dashboards
DE102021207269A1 (de) Verfahren und system zum erlernen von perturbationsmengen beim maschinenlernen
DE112019006218T5 (de) Prozesssteuerungsinstrument zur Verarbeitung großer und umfangreicher Daten
DE112021002883T5 (de) Automatisierte rückmeldung und kontinuierliches lernen zur abfrageoptimierung
DE102021127244A1 (de) Künstliche Intelligenz Optimierungsplattform
Ahsaan et al. Big data analytics: challenges and technologies
DE112021001422T5 (de) Algorithmische Lernmaschine zur dynamischen Erzeugung von Vorhersageanalysen aus Streaming-Daten mit hohem Volumen und hoher Geschwindigkeit
CN116235158A (zh) 实施自动化特征工程的系统和方法
US20230222140A1 (en) Systems and methods for automatically deriving data transformation criteria
EP3745321A1 (de) Arbeitsbereichempfehlungssystem mit garantierter probabilistischer abdeckung
Dang et al. VixLSTM: Visual explainable LSTM for multivariate time series
US20230022253A1 (en) Fast and accurate prediction methods and systems based on analytical models

Legal Events

Date Code Title Description
R081 Change of applicant/patentee

Owner name: CLOUD SOFTWARE GROUP, INC., PALO ALTO, US

Free format text: FORMER OWNER: TIBCO SOFTWARE INC., PALO ALTO, CA, US

R082 Change of representative

Representative=s name: MUELLER-BORE & PARTNER PATENTANWAELTE PARTG MB, DE