-
HINTERGRUND
-
Eine Kohorte ist eine Gruppe von Individuen mit gemeinsamen Merkmalen. Die vorliegende Erfindung betrifft Kohorten und insbesondere das Erkennen von anomalem Verhalten von Mitgliedern von Kohorten und zugehörigen Akteuren sowie das Ziehen von Schlussfolgerungen in Bezug auf das anomale Verhalten auf der Grundlage von von dem Zentroiden des Kohortenkontexts divergierender Bewegung.
-
Das Ermitteln der Ursachen von Ereignissen ist eine schwierige Aufgabe, ist aber häufig der Schlüssel zu einem Verständnis davon, wie und warum Ereignisse stattfinden. Beim Betrachten einer sehr großen und unterschiedlichen Gruppe miteinander in Zusammenhang stehender Daten im Verlauf der Zeit ist es schwierig, zu unterscheiden, was zufällig und was kausal ist.
-
KURZDARSTELLUNG
-
Gemäß einer veranschaulichenden Ausführungsform der vorliegenden Erfindung ist ein Verfahren zum Ermitteln, ob eine Änderung eines Werts eines Datenelements, das mit einer innerhalb einer Kohorte verfolgten Entität in Zusammenhang steht, statistisch und kontextbezogen signifikant. Das Verfahren weist auf: einen Computer, der zu einem Zeitpunkt N + 1 eine Vielzahl von Datenelementen erfasst, die mit der verfolgten Entität in Zusammenhang stehen; das Vergleichen des Werts des Datenelements zum Zeitpunkt N + 1 mit einem Wert eines historischen Datenelements zum Zeitpunkt N mithilfe des Computers; wenn sich der Wert des Datenelements zum Zeitpunkt N + 1 von dem Wert des historischen Datenelements zum Zeitpunkt N unterscheidet, Feststellen mithilfe des Computers, dass eine Änderung eingetreten ist; wenn eine Änderung eines Datenelements eingetreten ist, Ermitteln mithilfe des Computers, ob die Änderung des Datenelements, das mit der verfolgten Entität in Zusammenhang steht, im n-Raum in mehreren Dimensionen statistisch und kontextbezogen signifikant ist.
-
Gemäß einer weiteren veranschaulichenden Ausführungsform der vorliegenden Erfindung ist ein Computerprogrammprodukt zum Ermitteln, ob eine Änderung eines Werts eines Datenelements, das mit einer innerhalb einer Kohorte verfolgten Entität in Zusammenhang steht, statistisch und kontextbezogen signifikant. Das Computerprogrammprodukt weist auf: eine oder mehrere durch Computer lesbare physische Speichereinheiten; Programmanweisungen, die auf mindestens einer der einen oder mehreren Speichereinheiten gespeichert sind, um zu einem Zeitpunkt N + 1 eine Vielzahl von Datenelementen zu erfassen, die mit der verfolgten Entität in Zusammenhang stehen; Programmanweisungen, die auf mindestens einer der einen oder mehreren Speichereinheiten gespeichert sind, um den Wert des Datenelements zum Zeitpunkt N + 1 mit einem Wert eines historischen Datenelements zum Zeitpunkt N zu vergleichen; wenn sich der Wert des Datenelements zum Zeitpunkt N + 1 von dem Wert des historischen Datenelements zum Zeitpunkt N unterscheidet, Programmanweisungen, die auf mindestens einer der einen oder mehreren Speichereinheiten gespeichert sind, um festzustellen, dass eine Änderung eingetreten ist; wenn eine Änderung eines Datenelements eingetreten ist, Programmanweisungen, die auf mindestens einer der einen oder mehreren Speichereinheiten gespeichert sind, um zu ermitteln, ob die Änderung des Datenelements, das mit der verfolgten Entität in Zusammenhang steht, im n-Raum in mehreren Dimensionen statistisch und kontextbezogen signifikant ist.
-
Gemäß einer weiteren veranschaulichenden Ausführungsform der vorliegenden Erfindung ist ein System zum Ermitteln, ob eine Änderung eines Werts eines Datenelements, das mit einer innerhalb einer Kohorte verfolgten Entität in Zusammenhang steht, statistisch und kontextbezogen signifikant. Das System weist auf: einen oder mehrere Prozessoren, einen oder mehrere durch Computer lesbare Speicher und eine oder mehrere durch Computer lesbare physische Speichereinheiten; Programmanweisungen, die auf mindestens einer der einen oder mehreren Speichereinheiten gespeichert sind, zum Ausführen durch den mindestens einen aus dem Prozessor oder den Prozessoren mithilfe von mindestens einem aus dem Speicher oder den Speichern, zum Erfassen einer Vielzahl von Datenelementen zu einem Zeitpunkt N + 1, die mit der verfolgten Entität in Zusammenhang stehen; Programmanweisungen, die auf mindestens einer der einen oder mehreren Speichereinheiten gespeichert sind, zum Ausführen durch den mindestens einen aus dem Prozessor oder den Prozessoren mithilfe des mindestens einen aus dem Speicher oder den Speichern, zum Vergleichen des Werts des Datenelements zum Zeitpunkt N + 1 mit einem Wert eines historischen Datenelements zum Zeitpunkt N; wenn sich der Wert des Datenelements zum Zeitpunkt N + 1 von dem Wert des historischen Datenelements zum Zeitpunkt N unterscheidet, Programmanweisungen, die auf mindestens einer der einen oder mehreren Speichereinheiten gespeichert sind, zum Ausführen durch den mindestens einen aus dem Prozessor oder den Prozessoren mithilfe des mindestens einen aus dem Speicher oder den Speichern, zum Ermitteln, dass eine Änderung eingetreten ist; wenn eine Änderung eines Datenelements eingetreten ist, Programmanweisungen, die auf mindestens einer der einen oder mehreren Speichereinheiten gespeichert sind, zum Ausführen durch den mindestens einen aus dem Prozessor oder den Prozessoren mithilfe des mindestens einen aus dem Speicher oder den Speichern, zum Ermitteln, ob die Änderung des Datenelements, das mit der verfolgten Entität in Zusammenhang steht, im n-Raum in mehreren Dimensionen statistisch und kontextbezogen signifikant ist.
-
KURZBESCHREIBUNG DER VERSCHIEDENEN ANSICHTEN DER ZEICHNUNGEN
-
1 zeigt ein beispielhaftes Schaubild einer möglichen Datenverarbeitungsumgebung, in der veranschaulichende Ausführungsformen realisiert werden können.
-
2 zeigt einen Ablaufplan eines Verfahrens zum Erkennen von anomalem Verhalten von Mitgliedern von Kohorten und zugehörigen Akteuren sowie das Ziehen von Schlussfolgerungen in Bezug auf das anomale Verhalten auf der Grundlage von von dem Zentroiden des Kohortenkontexts divergierender Bewegung.
-
3 zeigt einen Ablaufplan eines Verfahrens zum Ermitteln, ob eine Änderung zwischen einem historischen Wert von Daten zum Zeitpunkt N und einem Wert eines Datenelements zum Zeitpunkt N + 1 für die Entität, die mithilfe anomalen Verhaltens von Kohorten verfolgt wird, statistisch und kontextbezogen signifikant ist.
-
4 zeigt innere und äußere Komponenten eines Clientcomputers und eines Servercomputers, in denen veranschaulichende Ausführungsformen realisiert werden können.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Durch die veranschaulichenden Ausführungsformen werden ein durch Computer realisiertes Verfahren, eine solche Vorrichtung, und ein durch Computer verwendbarer Programmcode zum Erstellen von Kohorten zu einem bestimmten Zeitpunkt mithilfe des Erstellens von Clustern von Datenelementen von verfolgten Entitäten und auf der Grundlage von Parametern bereitgestellt. Ergebnisse eines Cluster-Prozesses werden verwendet, um Schlussfolgerungen anomalen Verhaltens der Datenelemente oder Mitglieder der Kohorte auf der Grundlage von von den Zentroiden divergierender Bewegung von Mitgliedern der Kohorten bereitzustellen, und um kausale Kontextfaktoren aus dieser Bewegung zu erlangen. Mit anderen Worten: Durch die Ergebnisse des Cluster-Prozesses können zu einem Zeitpunkt miteinander in Zusammenhang stehende Datenelemente ermittelt werden, die den n-Raum auf mehreren Ebenen übergreifend summiert werden können, um Datenelemente zu ermitteln, die durch Kontext auf Ursachen schließen lassen.
-
1 ist ein beispielhaftes Schaubild einer bereitgestellten möglichen Datenverarbeitungsumgebung, in der veranschaulichende Ausführungsformen realisiert werden können. Es sollte beachtet werden, dass 1 lediglich als Beispiel dient und hinsichtlich der Umgebungen, in denen verschiedene Ausführungsformen realisiert werden können, keinerlei Beschränkung behaupten oder andeuten soll. Es können zahlreiche Abänderungen an den gezeigten Ausführungsformen vorgenommen werden.
-
Mit Bezug auf 1: Das Netzwerk-Datenverarbeitungssystem 51 ist ein Netzwerk aus Computern, in dem veranschaulichende Ausführungsformen realisiert werden können. Das Netzwerk-Datenverarbeitungssystem 51 enthält das Netzwerk 50, welches das Medium ist, das dazu verwendet wird, Datenübertragungsverbindungen zwischen verschiedenen Einheiten und Computern bereitzustellen, die in dem Netzwerk-Datenverarbeitungssystem 51 miteinander verbunden sind. Das Netzwerk 50 kann Verbindungen wie beispielsweise Leitungen, kabellose Datenübertragungsverbindungen oder Lichtwellenleiterkabel enthalten.
-
Bei dem gezeigten Beispiel sind ein Clientcomputer 52, ein Servercomputer 54 und ein Repository 53 mit dem Netzwerk 50 verbunden. Bei anderen beispielhaften Ausführungsformen kann das Netzwerk-Datenverarbeitungssystem 51 weitere Clientcomputer, Speichereinheiten, Servercomputer sowie andere nicht gezeigte Einheiten enthalten. Zu dem Clientcomputer 52 zählen eine Gruppe innerer Komponenten 800a und eine Gruppe äußerer Komponenten 900a, die in 4 näher veranschaulicht werden. Bei dem Clientcomputer 52 kann es sich beispielsweise um eine mobile Einheit, ein Mobiltelefon, einen persönlichen digitalen Assistenten, ein Netbook, einen Laptop-Computer, einen Tablet-Computer, einen Desktop-Computer, eine Sequenzierungsmaschine oder eine beliebige andere Art von Recheneinheit handeln.
-
Der Clientcomputer 52 kann eine Schnittstelle 55 enthalten. Bei der Schnittstelle kann es sich beispielsweise um eine Befehlszeilenschnittstelle, eine grafische Benutzerschnittstelle (graphical user interface, GUI) oder eine Web-Benutzerschnittstelle (web user interface, WUI) handeln. Die Schnittstelle kann beispielsweise zum Anzeigen von Clustern, Zentroiden, statistischen Streuungsergebnissen, kausalen Kontextfaktoren und Datenelementen in einem Repository verwendet werden. Die Schnittstelle kann auch eine Eingabe in Bezug auf Parameter annehmen, die mit dem Bilden und Ermitteln von Clustern und dem Festlegen vorgegebener Streuungsmaße in Verbindung stehen.
-
Bei dem gezeigten Beispiel liefert der Servercomputer 54 dem Clientcomputer 52 Daten wie beispielsweise Boot-Dateien, Betriebssystemabbilder und Anwendungen. Der Servercomputer 54 kann die Daten lokal berechnen oder die Daten aus anderen Computern im Netzwerk 50 entnehmen. Zu dem Servercomputer 54 zählen eine Gruppe innerer Komponenten 800b und eine Gruppe äußerer Komponenten 900b, die in 4 veranschaulicht werden.
-
Programmcode und Programme wie beispielsweise ein Verfolgungsprogramm 67, ein Programm 66 zum Ermitteln der statistischen Signifikanz und ein Kausale-Kontextfaktoren-Programm 68 können auf mindestens einer von einer oder mehreren in 4 gezeigten durch Computer lesbaren physischen Speichereinheiten 830, auf mindestens einer von einer oder mehreren in 4 gezeigten tragbaren, durch Computer lesbaren physischen Speichereinheiten 936 oder in dem mit dem Netzwerk 50 verbundenen Repository 53 gespeichert oder zur Verwendung auf ein Datenverarbeitungssystem oder eine andere Einheit heruntergeladen werden. Beispielsweise können Programmcode, ein Verfolgungsprogramm 67, ein Kausale-Kontextfaktoren-Programm 68 und ein Programm 66 zum Ermitteln der statistischen Signifikanz auf mindestens einer von einer oder mehreren physischen Speichereinheiten 830 auf dem Servercomputer 54 gespeichert und zur Verwendung auf dem Clientcomputer 52 über das Netzwerk 50 auf den Clientcomputer 52 heruntergeladen werden. Alternativ kann der Servercomputer 54 ein Webserver sein, und der Programmcode, ein Verfolgungsprogramm 67, ein Kausale-Kontextfaktoren-Programm 68 und ein Programm 66 zum Ermitteln der statistischen Signifikanz können auf mindestens einer der einen oder mehreren physischen Speichereinheiten 830 auf dem Servercomputer 54 gespeichert werden, und der Zugriff auf sie kann von dem Clientcomputer 52 aus erfolgen. Auf das Verfolgungsprogramm 67, das Kausale-Kontextfaktoren-Programm 68 und das Programm 66 zum Ermitteln der statistischen Signifikanz kann auf dem Clientcomputer 52 mithilfe der Schnittstelle 55 zugegriffen werden. Bei anderen beispielhaften Ausführungsformen können der Programmcode und Programme wie beispielsweise ein Verfolgungsprogramm 67, ein Kausale-Kontextfaktoren-Programm 68 und ein Programm 66 zum Ermitteln der statistischen Signifikanz auf mindestens einer der einen oder mehreren durch Computer lesbaren physischen Speichereinheiten 830 auf dem Clientcomputer 52 gespeichert oder auf zwei oder mehr Server verteilt werden.
-
2 zeigt ein Verfahren zum Erkennen anomalen Verhaltens von Mitgliedern von Kohorten und zugehörigen Akteuren („Entitäten”) sowie das Ziehen von Schlussfolgerungen in Bezug auf das anomale Verhalten der Entitäten auf der Grundlage von von dem Zentroiden des Kohortenkontexts divergierender Bewegung.
-
Bei einem ersten Schritt werden Messwerte von Daten in Bezug auf Elemente erfasst, die geändert wurden („Datenelemente”). Die Datenelemente werden zu einem Zeitpunkt (d. h. N + 1) erfasst und in einem Repository gespeichert (Schritt 104), zum Beispiel in dem Repository 53. Das Erfassen aller Daten von allen aus der Vielzahl von Sensoren zu einem Zeitpunkt ermöglicht es, dass das Verfahren besser dazu fähig ist, Verhalten und Kontext für eine im Verlauf der Zeit verfolgte Entität zu vergleichen. Es sollte beachtet werden, dass jeder aus der Vielzahl von Sensoren unterschiedliche Empfindlichkeiten oder Gewichtungen für jedes der verfolgten Datenelemente aufweisen kann. Wenn also beispielsweise das Verfolgen von „wie viele Transaktionen beinhalteten den Kauf grüner Bohnen” wichtiger ist als das Verfolgen einer anderen Transaktion wie beispielsweise „Kauf von Windeln”, wäre die Empfindlichkeit oder Gewichtung, die mit einer den Kauf grüner Bohnen beinhaltenden Transaktion verbunden ist, höher als Empfindlichkeit oder Gewichtung, die mit einer den Kauf von Windeln beinhaltenden Transaktion verbunden ist.
-
Für jedes zum Zeitpunkt N + 1 gespeicherte Datenelement wird der Wert des Messwerts der Datenzeit zum Zeitpunkt N + 1 mit dem historischen Wert desselben Datenelements zum Zeitpunkt N verglichen (Schritt 106), beispielsweise mithilfe des Programms 66 zum Ermitteln der statistischen Signifikanz. Wenn der Wert derselbe ist (Schritt 108), werden die Datenelemente in einem Repository gespeichert, und das Verfahren kehrt zum Schritt 102 des Erkennens von Änderungen eines oder mehrerer Elemente zurück, die von einer Vielzahl von Sensoren verfolgt werden.
-
Wenn der Wert des Datenelements zum Zeitpunkt N + 1 nicht derselbe ist wie der historische Wert desselben Datenelements zum Zeitpunkt N, wird die Änderung zwischen dem historischen Wert des Datenelements zum Zeitpunkt N und dem Wert des Datenelements zum Zeitpunkt N + 1 analysiert, um zu ermitteln, ob die Änderung in Bezug auf das Element, das in n Dimensionen über mehrere Ebenen hinweg verfolgt wird, statistisch und kontextbezogen signifikant ist (Schritt 112).
-
Die Feststellung, ob die Änderung zwischen den Datenelementen zum Zeitpunkt N + 1 und N statistisch und kontextbezogen signifikant ist, wird mithilfe der in 3 gezeigten Schritte 130 bis 140 getroffen. Nach diesen Schritten kehrt das Verfahren zum Schritt 104 des Erfassens von Datenelementen zurück.
-
Mit Bezug auf 3: Die zum Zeitpunkt N + 1 erfassten Datenelemente werden auf der Grundlage vorgegebener Parameter zu Clustern gruppiert bzw. in Cluster übertragen (Schritt 130), beispielsweise mithilfe des Programms 66 zum Ermitteln der statistischen Signifikanz. Zu den Parametern können zum Beispiel demografische Parameter, phänotypische Parameter und geografische Parameter zählen. Die Cluster können darüber hinaus durch Faktoren wie beispielsweise Clustergröße, die Anzahl der Cluster oder die Dichte der Cluster eingeschränkt oder definiert werden.
-
Ein Zentroid ist das Zentrum einer Masse. Ein Zentroid jedes Clusters wird ermittelt (Schritt 132), beispielsweise mithilfe des Programms 66 zum Ermitteln der statistischen Signifikanz. Durch das Berechnen des Zentroiden nachdem alle Datenelemente zugewiesen wurden, wird der Zentroid üblicherweise verschoben, was die Zuweisung der Punkte zu dem Cluster ungenau macht. Also kann für jeden Cluster und für jedes Datenelement, das einem jeweiligen Zentroiden eines Clusters entspricht, ein euklidischer Abstand in mehreren Dimensionen berechnet werden. Die Datenelemente können dem neuen Zentroiden anhand des kürzesten euklidischen Abstands in mehreren Dimensionen zwischen den neuen Zentroiden der Cluster und den Datenelementen zugewiesen werden.
-
Nachdem bei Schritt 132 der Zentroid jedes Clusters ermittelt wurde, wird der Abstand zwischen dem Zentroiden und den Punkten des Clusters analysiert, um ein Streuungsmaß zu ermitteln, und das Streuungsmaß des Clusters wird in einem Repository gespeichert (Schritt 134), beispielsweise mithilfe des Programms 66 zum Ermitteln der statistischen Signifikanz. Das Streuungsmaß kann zum Beispiel Standardabweichung, Chi-Quadrat, Varianz oder Interquartilsabstand sein.
-
Beispielsweise wird möglicherweise ermittelt, dass normalerweise erwartet werden kann, dass Datenelemente innerhalb eines vorgegebenen Maßes – beispielsweise einer Standardabweichung – von einem Zentroiden auftreten, und dass derartige Datenelemente außer Acht gelassen werden können. Wenn daher der Abstand eines gegebenen Datenelements von dem Zentroiden eines Clusters, zu dem es gehört, innerhalb eines vorgegebenen Streuungsmaßes für den Cluster liegt (Schritt 136), kehrt das Verfahren zu Schritt 104 des Erfassens von Datenelementen zurück.
-
Wenn der Abstand eines gegebenen Datenelements von dem Zentroiden eines Clusters, zu dem es gehört, nicht innerhalb des vorgegebenen Streuungsmaßes für den Cluster liegt (Schritt 136), bedeutet dies, dass es sich bei dem Datenelement um einen „Ausreißer” handelt – das heißt, es liegt ausreichend außerhalb des Streuungsmaßes, um für eine weitere Analyse von Interesse zu sein. Kausale Kontextfaktoren werden gesucht und in einem Repository gespeichert (Schritt 138), beispielsweise mithilfe des Kausale-Kontextfaktoren-Programms 68. Bei den kausalen Kontextfaktoren kann es sich um beliebige Faktoren handeln, die bewirkt haben können, dass der Abstand eines Datenelements in dem Cluster in Bezug auf den Zentroiden des Clusters außerhalb des vorgegebenen Streuungsmaßes liegt, und die möglicherweise zum Schlussfolgern des anomalen Verhaltens des Datenelements oder Elements des Clusters auf der Grundlage von von dem Zentroiden divergierender Bewegung beitragen.
-
Die kausalen Kontextfaktoren können mithilfe einer Data-Mining-Funktion beschafft werden. Bei Data-Mining handelt es sich um den Prozess des Durchsuchens großer Datenmengen nach Mustern. Data-Mining kann außerdem als das nicht triviale Entnehmen impliziter, zuvor unbekannter und möglicherweise nützlicher Informationen aus Daten definiert werden. Beim Data-Mining können Rechentechniken aus der Statistik, der Informationstheorie, dem Maschinenlernen und der Mustererkennung zur Anwendung kommen. Insbesondere werden mithilfe von Data-Mining nützliche Informationen aus Datenbanken entnommen. Data-Mining ermöglicht es Benutzern, Daten auszuwählen, Daten zu analysieren, Muster aufzuzeigen, Daten zu sortieren, Beziehungen zu ermitteln und Statistiken zu erstellen. Zum Beispiel kann Data-Mining mithilfe eines Programms ausgeführt werden, beispielsweise mithilfe eines Kausale-Kontextfaktoren-Programms 68, bei dem es sich um das von International Business Machines Corporation hergestellte „DB2 Intelligent Miner” handeln kann.
-
Die kausalen Kontextfaktoren werden dann zur weiteren Analyse in Bezug auf die verfolgten Entitäten an einen Benutzer gesendet (Schritt 140), und kehren zu Schritt 104 des Erfassens von Datenelementen zurück.
-
Beispielsweise möchte ein Unternehmen möglicherweise verfolgen, warum die Anzahl der in seinen Geschäftsräumen verabreichten Grippeimpfungen abgenommen hat und/oder warum die Anzahl von Abbrüchen (angemeldet, aber die Impfung wird nie verabreicht) zugenommen hat. Bei diesem Unternehmen betrug der Prozentanteil von Abbrüchen historisch 25%, wobei den verbleibenden 75% eine Grippeimpfung verabreicht wurde. Jetzt ist die Anzahl von Abbrüchen auf 50% angestiegen.
-
Um zu ermitteln, warum die Abbruchrate gestiegen ist, werden zu dem Zeitpunkt, wenn ein Kunde die Geschäftsräume betritt, zahlreiche Datenelemente erfasst. Bei derartigen Datenelementen kann es sich zum Beispiel um die Anzahl von Personen handeln, die für eine Grippeimpfung angemeldet sind, und darum, wer sich ein Klemmbrett mit den auszufüllenden Papieren genommen hat; die gemeldete vorhergesagte durchschnittliche Wartezeit bis zum Empfang der Grippeimpfung; die gemeldete tatsächliche Wartezeit bis zum Empfang der Grippeimpfung, die Abbruchrate bei Kunden, die sich anmeldeten, aber nicht auf die Grippeimpfung warteten bzw. diese nicht erhielten, die durchschnittliche Zeit, die ein Kunde zum Ausfüllen der Papiere benötigte usw...
-
Wenn ein Kunde den Laden betritt, um eine Grippeimpfung zu erhalten, würden Daten hinsichtlich aller vorstehend aufgeführten Elemente gleichzeitig erfasst und in einem Repository gespeichert werden. Die Werte der Datenelemente würden mit denselben Datenelementen verglichen werden, die während der letzten Grippesaison zu diesem Zeitpunkt erfasst wurden. Wenn ein Wertunterschied vorliegt, würden die Daten zu Clustern gruppiert, und es würde ein Zentroid des Clusters ermittelt. Beispielsweise könnte diesmal die durchschnittliche vorhergesagte Wartezeit 6 Minuten anstatt von historisch 5 Minuten betragen, und alle historischen Wartezeiten liegen in einem Cluster, wobei ein Zentroid des Clusters 6,5 Minuten ist. Der Abstand zwischen dem Zentroiden und allen Punkten wird anschließend analysiert, um ein Streuungsmaß zu ermitteln, beispielsweise eine Standardabweichung.
-
Angenommen, in dem Wartezeit-Cluster befinden sich einige Punkte, die 22 Minuten oder 17 Minuten entsprechen. Die zwischen diesen Punkten und dem Zentroiden gemessenen Abstände liegen nicht innerhalb des bestimmten vorgegebenen Werts (eine Standardabweichung). Daher würde das System dann mithilfe von Data-Mining nach kausalen Kontextfaktoren suchen – vielleicht wurde ein neues Verfahren umgesetzt, durch das die Formalitäten zugenommen haben, die im Publikumsbereich zu erledigen sind, ehe man zu den Krankenpflegern vorgelassen wird, die die Grippeimpfung verabreichen, wodurch die Wartezeit bis zum Erhalten der Grippeimpfung verlängert wird.
-
4 veranschaulicht innere und äußere Komponenten des Clientcomputers 52 und des Servercomputers 54, in denen veranschaulichende Ausführungsformen realisiert werden können. In 4 enthalten der Clientcomputer 52 und der Servercomputer 54 jeweils Gruppen von inneren Komponenten 800a, 800b und äußeren Komponenten 900a, 900b. Jede der Gruppen von inneren Komponenten 800a, 800b enthält einen oder mehrere Prozessoren 820, einen oder mehrere durch Computer lesbare RAMs 822 (RAM = random access memory, Speicher mit wahlfreiem Zugriff) und einen oder mehrere durch Computer lesbare ROMs 824 (ROM = read-only memory, Nur-Lese-Speicher) an einem oder mehreren Bussen 826 sowie ein oder mehrere Betriebssysteme 828 und eine oder mehrere durch Computer lesbare physische Speichereinheiten 830. Das Betriebssystem bzw. die Betriebssysteme 828, ein Verfolgungsprogramm 67, ein Kausale-Kontextfaktoren-Programm 68 und ein Programm 66 zum Ermitteln der statistischen Signifikanz werden auf einer oder mehreren der durch Computer lesbaren physischen Speichereinheiten 830 gespeichert, zum Ausführen durch einen oder mehrere der Prozessoren 820 mithilfe eines oder mehrerer der RAMs 822 (die üblicherweise Cachespeicher enthalten). Bei der in 4 veranschaulichten Ausführungsform ist jede der durch Computer lesbaren physischen Speichereinheiten 830 eine Magnetplatten-Speichereinheit eines internen Festplattenlaufwerks. Alternativ ist jede der durch Computer lesbaren physischen Speichereinheiten 830 eine Halbleiterspeichereinheit wie beispielsweise ROM 824, EPROM (EPROM = erasable programmable read-only memory, löschbarer programmierbarer Nur-Lese-Speicher), Flash-Speicher oder eine beliebige andere durch Computer lesbare physische Speichereinheit, auf der ein Computerprogramm und digitale Informationen gespeichert werden können.
-
Jede Gruppe innerer Komponenten 800a, 800b enthält außerdem ein R/W-Laufwerk oder eine R/W-Schnittstelle 832 zum Lesen von einer oder mehreren und Schreiben auf eine oder mehrere tragbare, durch Computer lesbare physische Speichereinheiten 936 wie beispielsweise eine CD-ROM-, DVD-, Speicher-Stick-, Magnetband-, Magnetplatten-, Optische-Platte- oder Halbleiterspeichereinheit. Ein Verfolgungsprogramm 67, ein Kausale-Kontextfaktoren-Programm 68 und ein Programm 66 zum Ermitteln der statistischen Signifikanz können auf einer oder mehreren der tragbaren, durch Computer lesbaren physischen Speichereinheiten 936 gespeichert, mithilfe des R/W-Laufwerks oder der R/W-Schnittstelle 832 gelesen und auf das Festplattenlaufwerk 830 geladen werden.
-
Jede Gruppe innerer Komponenten 800a, 800b enthält auch einen Netzwerkadapter oder eine Netzwerkschnittstelle 836 wie beispielsweise eine TCP/IP-Adapterkarte. Das Verfolgungsprogramm 67, das Kausale-Kontextfaktoren-Programm 68 und das Programm 66 zum Ermitteln der statistischen Signifikanz können auf den Clientcomputer 52 und den Servercomputer 54 über ein Netzwerk (beispielsweise das Internet, ein lokales Netzwerk oder ein anderes Netzwerk, ein Weitverkehrsnetz) und den Netzwerkadapter bzw. die Netzwerkschnittstelle 836 von einem externen Computer heruntergeladen werden. Von dem Netzwerkadapter bzw. der Netzwerkschnittstelle 836 aus werden ein Verfolgungsprogramm 67, ein Kausale-Kontextfaktoren-Programm 68 und ein Programm 66 zum Ermitteln der statistischen Signifikanz auf das Festplattenlaufwerk 830 geladen. Das Netzwerk kann Kupferleitungen, Lichtwellenleiter, drahtlose Übertragung, Router, Firewalls, Schalter, Gateway-Computer und/oder Edge-Server aufweisen.
-
Jede der Gruppen externer Komponenten 900a, 900b enthält einen Computerbildschirm 920, eine Tastatur 930 und eine Computermaus 934. Jede der Gruppen interner Komponenten 800a, 800b enthält außerdem Einheitentreiber 840 zur Verbindung mit dem Computerbildschirm 920, der Tastatur 930 und der Computermaus 934. Die Einheitentreiber 840, das R/W-Laufwerk bzw. die R/W-Schnittstelle 832 und der Netzwerkadapter bzw. die Netzwerkschnittstelle 836 weisen Hardware und Software auf (gespeichert in der Speichereinheit 830 und/oder dem ROM 824).
-
Das Verfolgungsprogramm 67, das Kausale-Kontextfaktoren-Programm 68 und das Programm 66 zum Ermitteln der statistischen Signifikanz können in verschiedenen Programmiersprachen geschrieben sein, darunter maschinennahe, höhere, objektorientierte oder nicht objektorientierte Sprachen. Alternativ können die Funktionen eines Verfolgungsprogramms 67, eines Kausale-Kontextfaktoren-Programms 68 und eines Programms 66 zum Ermitteln der statistischen Signifikanz vollständig oder teilweise mithilfe von Computerschaltungen und anderer Hardware (nicht gezeigt) realisiert werden.
-
Auf der Grundlage des Vorangehenden werden ein Computersystem, -verfahren und -programmprodukt zum Ermitteln offenbart, ob eine Wertänderung statistisch und kontextbezogen in n Dimensionen für ein verfolgtes Element signifikant ist. Es können jedoch zahlreiche Abänderungen und Ersetzungen vorgenommen werden, ohne vom Schutzumfang der vorliegenden Erfindung abzuweichen. Daher wird die vorliegende Erfindung beispielhaft und nicht einschränkend offenbart.
-
Wie Fachleute verstehen werden, können Aspekte der vorliegenden Erfindung als ein System, Verfahren oder Computerprogrammprodukt verkörpert sein. Dementsprechend können Aspekte der vorliegenden Erfindung die Form einer reinen Hardware-Ausführungsform, einer reinen Software-Ausführungsform (eingeschlossen Firmware, speicherresidente Software, Mikrocode usw.) oder die einer Ausführungsform annehmen, bei der Software- und Hardwareaspekte kombiniert werden, die hier alle allgemein als „Schaltung”, „Modul” oder „System” bezeichnet sein können. Aspekte der vorliegenden Erfindung können außerdem in der Form eines Computerprogrammprodukts vorliegen, das in einem oder mehreren durch Computer lesbaren Medien mit in dem Medium enthaltenem durch Computer lesbarem Programmcode verkörpert ist.
-
Es kann eine beliebige Kombination von einem oder mehreren durch Computer lesbaren Medien verwendet werden. Das durch Computer lesbare Medium kann ein durch Computer lesbares Signalmedium oder ein durch Computer lesbares Speichermedium sein. Ein durch Computer lesbares Speichermedium kann beispielsweise, aber ohne darauf beschränkt zu sein, ein elektronisches, magnetisches, optisches, elektromagnetisches, Infrarot- oder Halbleitersystem, eine derartige Vorrichtung oder Einheit oder jede beliebige Kombination von diesen sein. Zu konkreteren Beispielen (unvollständige Liste) für das durch Computer lesbare Speichermedium würden die folgenden zählen: eine elektrische Verbindung mit einer oder mehreren Leitungen, eine tragbare Computerdiskette, eine Festplatte, ein Speicher mit wahlfreiem Zugriff (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM oder Flash-Speicher), ein Lichtwellenleiter, ein tragbarer Compact-Disc-Nur-Lese-Speicher (CD-ROM), eine optische Speichereinheit, eine magnetische Speichereinheit oder jede geeignete Kombination von diesen. Im Zusammenhang dieses Dokuments kann ein durch Computer lesbares Speichermedium ein beliebiges physisches Medium sein, das ein Programm für die Nutzung durch ein Anweisungen ausführendes System, eine solche Vorrichtung oder Einheit oder für die Nutzung in Verbindung mit einem Anweisungen ausführenden System, einer solchen Vorrichtung oder Einheit enthalten oder speichern kann.
-
Ein durch Computer lesbares Signalmedium kann unter anderem ein verbreitetes Datensignal mit darin enthaltenem durch Computer lesbarem Programmcode sein, zum Beispiel im Basisband oder als Teil einer Trägerwelle. Ein solches verbreitetes Signal kann verschiedene Formen annehmen, unter anderem, aber ohne darauf beschränkt zu sein, eine elektromagnetische oder optische Form oder eine beliebige geeignete Kombination aus diesen. Ein durch Computer lesbares Signalmedium kann jedes durch Computer lesbare Medium sein, das kein durch Computer lesbares Speichermedium ist und das ein Programm für die Nutzung durch ein Anweisungen ausführendes System, eine solche Vorrichtung oder Einheit oder für die Nutzung in Verbindung mit einem Anweisungen ausführenden System, einer solchen Vorrichtung oder Einheit übermitteln, verbreiten oder transportieren kann.
-
Auf einem durch Computer lesbaren Medium enthaltener Programmcode kann mithilfe jedes geeigneten Mediums übermittelt werden, einschließlich, aber ohne darauf beschränkt zu sein, ein drahtloses oder drahtgebundenes Medium, Lichtwellenleiterkabel, Hochfrequenz (HF) usw. oder jede geeignete Kombination von diesen.
-
Computerprogrammcode zum Ausführen der Operationen der Aspekte der vorliegenden Erfindung kann in einer beliebigen Kombination einer oder mehrerer Programmiersprachen geschrieben sein, darunter eine objektorientierte Programmiersprache wie Java, Smalltalk, C++ oder dergleichen sowie herkömmliche prozedurale Programmiersprachen wie beispielsweise die Programmiersprache „C” oder ähnliche Programmiersprachen. Der Programmcode kann vollständig oder teilweise auf dem Computer des Benutzers, als ein eigenständiges Softwarepaket, zum Teil auf dem Computer des Benutzers und zum Teil auf einem entfernt angeordneten Computer oder vollständig auf dem entfernt angeordneten Computer oder Server ausgeführt werden. Bei dem letzteren Szenario kann der entfernt angeordnete Computer mit dem Computer des Benutzers durch ein beliebiges Netzwerk, darunter ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetz (WAN) verbunden sein, oder es kann eine Verbindung mit einem externen Computer hergestellt werden (zum Beispiel mithilfe eines Internetdienstanbieters über das Internet).
-
Aspekte der vorliegenden Erfindung werden mit Bezug auf Ablaufpläne und/oder Blockschaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es versteht sich, dass jeder Block der Ablaufpläne und/oder Blockschaubilder sowie Kombinationen von Blöcken in den Ablaufplänen und/oder Blockschaubildern durch Computerprogrammanweisungen realisiert werden können. Diese Computerprogrammanweisungen können für einen Prozessor eines Universalcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung zur Herstellung einer Maschine bereitgestellt werden, sodass die Anweisungen, die durch den Prozessor des Computers oder der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführt werden, Mittel zum Realisieren der in dem Block oder den Blöcken des Ablaufplans und/oder Blockschaubilds angegebenen Funktionen/Handlungen erzeugen.
-
Diese Computerprogrammanweisungen können auch in einem durch Computer lesbaren Medium gespeichert sein, das einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Einheiten so steuern kann, dass sie auf eine bestimmte Weise funktionieren, sodass die in dem durch Computer lesbaren Medium gespeicherten Anweisungen ein Erzeugnis samt der Anweisungen herstellen, mithilfe derer die in dem Block oder den Blöcken des Ablaufplans und/oder Blockschaubilds angegebene Funktion/Handlung realisiert wird.
-
Die Computerprogrammanweisungen können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Einheiten geladen werden, um eine Reihe von auf dem Computer, der anderen programmierbaren Vorrichtung oder den anderen Einheiten auszuführenden Betriebsschritten zu bewirken, um einen durch Computer realisierten Prozess zu schaffen, sodass die Anweisungen, die auf dem Computer oder der anderen programmierbaren Vorrichtung ausgeführt werden, Prozesse zum Realisieren der in dem Block oder den Blöcken des Ablaufplans und/oder Blockschaubilds angegebenen Funktionen/Handlungen bereitstellen.
-
Der Ablaufplan und die Blockschaubilder in den Figuren veranschaulichen die Architektur, die Funktionalität und den Betrieb möglicher Realisierungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In dieser Beziehung kann jeder Block in dem Ablaufplan oder den Blockschaubildern ein Modul, Segment oder einen Codeabschnitt enthalten, das/der eine oder mehrere ausführbare Anweisungen zum Realisieren der angegebenen Logikfunktion(en) aufweist. Es sollte auch beachtet werden, dass bei einigen alternativen Realisierungen die in dem Block angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren angegeben auftreten können. Zum Beispiel können zwei aufeinanderfolgend dargestellte Blöcke tatsächlich im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können in Abhängigkeit von der betreffenden Funktionalität manchmal in der umgekehrten Reihenfolge ausgeführt werden. Es ist ebenfalls zu beachten, dass jeder Block der Blockschaubilder und/oder des Ablaufplans sowie Blockkombinationen in den Blockschaubildern und/oder dem Ablaufplan durch Spezialsysteme auf der Grundlage von Hardware, die die angegebenen Funktionen oder Handlungen ausführen, oder Kombinationen von Spezialhardware und Computeranweisungen realisiert werden können.