-
Technisches
Gebiet
-
Die
vorliegende Erfindung bezieht sich im Allgemeinen auf die Datenmodellierung,
insbesondere darauf, ob eine Variable numerisch oder nicht-numerisch
ist.
-
Hintergrund
der Technik
-
Die
Datenanalyse ist zu einem wichtigen Werkzeug bei der Lösung von
komplexen und realen Problemen geworden, die auf den Computer transponiert
werden können.
Zum Beispiel stellt eine Webseite wie www.msnbc.com an jedem beliebigen
Tag oder Monat viele Beiträge
bereit. Die Betreiber einer solchen Webseite könnten wissen wollen, ob es
irgendwelche Gemeinsamkeiten bezüglich
der Betrachter einer bestimmten Zusammenstellung von Programmen
gibt. Das heißt,
wenn ein hypothetischer Anwender einen bestimmten Beitrag liest,
kann dann mit einer beliebigen Wahrscheinlichkeit gesagt werden,
dass der Anwender möglicherweise
auch einen bestimmten anderen Beitrag lesen wird. Der Antwort dieser
Art von Fragestellung nachzugehen, erlaubt den Betreibern der Webseite,
ihre Seite beispielsweise besser zu organisieren, was wiederum eine
wachsende Leserschaft nach sich zieht.
-
Für Probleme
wie diese wenden Datenanalysten häufig erweiterte Statistik-Tools
und -Modelle zur Analyse der Daten an. Datenanalyse ist – im weitesten
Sinn definiert – der
Prozess, mit dem aus den Daten Wissen, Modelle, Entscheidungsstrategien
und/oder Einblick gewonnen werden. Spezifische Beispiele für die Datenanalyse
umfassen Mustererkennung, Datenmodellierung und Datamining. Andere
spezifische Anwendungen umfassen: Vorhersagen, welche Produkte eine
Person auf der Basis der sich bereits in ihrem Warenkorb befindlichen
Produkte kaufen will; Vorhersagen, auf welche Anzeigen eine Person
klicken wird auf der Basis anderer Anzeigen, die sie bereits angeklickt
hat, welche Webseiten sie bereits gelesen hat, und/oder auf Basis
ihrer demografischen Merkmale, Vorhersagen, welche TV-Sendungen
eine Person ansehen will auf der Basis anderer TV-Sendungen, die sie
bereits angesehen hat, und/oder auf Basis ihrer demografischen Merkmale.
In der detaillierten Beschreibung der Erfindung werden noch weitere
spezifische Anwendungen aufgelistet.
-
Im
Allgemeinen umfasst die Datenanalyse drei Hauptabschnitte: einen
Abschnitt der Problemformulierung, einen Abschnitt zur Modellanpassung/Modellauswahl
und einen Abschnitt für
das Verständnis/die
Visualisierung des Modells. Gewöhnlich
wird jede dieser Phasen so lange wiederholt, bis die gewünschten
Erkenntnisse, Modelle, Muster oder Einsichten erreicht werden. Die
erreichten Modelle oder Muster werden dann oft für die Vorhersage anderer Daten
verwendet.
-
Während es
zahlreiche automatisierte oder computerisierte Verfahren für die Modellanpassung/Modellauswahl
und einige wenige Nutzen bringende automatisierte Verfahren zur
Erklärung
der statistischen Modelle vorliegen, werden jedoch die Verfahren
zur Problemformulierung im Allgemeinen durch einen Menschen, den
Datenanalysten durchgeführt.
In dieser Phase verschafft sich der Datenanalyst einen groben Überblick über die
Daten und benützt
seinen gesunden Menschenverstand zur Bildung eines statistischen
Modells oder eines ganzen Satzes an Modellen, der dann zur Behandlung
der Daten verwendet wird.
-
Ein
Datenanalyst kann zum Beispiel eine Gruppe von Web-Transaktionsprotokollen
von einer Nachrichtenseite bekommen und aufgefordert werden, „diese
Daten zu verwenden, um vorherzusagen, welche Anzeigen ein Anwender
höchstwahrscheinlich
anklicken wird".
Die Phase der Problemformulierung kann wie folgt aussehen. Zuerst
schaut der Analyst die Protokolle durch und kann vielleicht erkennen,
dass die Nachrichtenartikel, die ein Anwender liest (eine Information,
die in den Protokollen vorliegt), für die Vorhersage, welche Anzeigen
ein Anwender anklicken wird, anwendbar sind. Der Analyst entscheidet
dann, ob die Nachrichtenartikel selbst gute Einflusswerte darstellen,
oder ob es besser ist, die Kategorien der Nachrichtenartikel für eine Vorhersage
des Anklickens von Anzeigen zu verwenden. Er entscheidet dann, welche
Gruppe der Nachrichtenartikel oder der Kategorien der Nachrichtenartikel
es wert sind, in das Modell aufgenommen zu werden, da der Einschluss
aller Artikel nicht praktikabel wäre.
-
Das
Ergebnis dieser Entscheidungen ist eine Liste von Variablen, die
in das Modell aufgenommen werden. Als Nächstes entscheidet der Analyst,
wie jede Variable modelliert werden soll. Obwohl die Anzahl, wie oft
ein Artikel gelesen wird, in den Web-Transaktionsprotokollen verfügbar ist,
kann der Datenanalyst entscheiden, nur zu modellieren, ob der Anwender
einen Artikel liest oder nicht. Eine andere Alternative kann sein,
die stärker
detaillierten Informationen zu speichern, wobei der Datenanalyst
in diesem Fall entscheiden muss, ob er die Anzahl zum Beispiel durch
eine Gauß-Verteilung
oder durch irgendeine komplexere Verteilung darstellen soll. Zuletzt
kann der Analyst entscheiden, die Beziehungen zwischen den gelesenen
Artikeln und den angeklickten Anzeigen über ein Bayes'sches Netz zu modellieren.
-
Es
liegen Nachteile vor, wenn man zur Durchführung der Phase der Problemformulierung
einen Datenanalysten einsetzen muss. Die Datenmenge, die für eine Analyse
verfügbar
ist, wächst
mit einer exponentiellen Rate an, aber es gibt nur eine begrenzte
Anzahl an Statistikern/Datenanalysten, die diese Daten analysieren
können,
wodurch eingeschränkt
wird, wie oft statistische Modelle bei der Datenanalyse zum Einsatz kommen
können.
Der Prozess der Problemformulierung selbst ist schwierig zu automatisieren,
da typischerweise sehr viel Wissen über Menschen auf dieses besondere
Problem angewandt wird. In dem oben erläuterten Beispiel würde ein
Computer zum Beispiel im Allgemeinen nicht erkennen, dass die gelesenen
Artikel prognostisch für
das Anklicken von Anzeigen sein können, da beide einen Bezug
zum zugrunde liegenden „persönlichen
Typ" des Anwenders
besitzen. Ein Computer würde
typischerweise auch nicht wissen, dass die Modellierung einer Artikelvariablen
eher in binärer
Form als in numerischer Form geeignet ist.
-
Aus
diesen und anderen Gründen
gibt es einen Bedarf für
die vorliegende Erfindung.
-
Chen
et al., Computer Software and Applications Conference, 1994, Compsac
94 Proceedings, Eighteens Annual International Taipai, Taiwan, 9.–11. November
1994, Los Alamitos, Seiten 432–437,
beschreiben ein automatisiertes Verfahren zur Klassifizierung von
Variablen für
COBOL-Programme.
-
Fayyad
U., Proceedings of the Ninth International Conference on Scientific
and Statistical Database Management, Olympia, USA, Seiten 2–11 beschreibt
ein Verfahren für
das Datamining und die Aufdeckung von Erkenntnissen in Datenbanken
und den logischen Schlussfolgerungen für wissenschaftliche Datenbanken.
-
Fayyad
U. et al., Communications of the Association for Computing Machinery,
New York, Vol. 39, Nr. 11, 1. November 1996, Seiten 27–34 beschreiben
den KDD-Prozess zur Extrahierung nützlicher Informationen aus
großen
Mengen von Daten.
-
Übersicht über die Erfindung
-
Es
ist das Ziel der vorliegenden Entwicklung, das technische Problem
zu lösen,
ein System für
die automatisierte Datenanalyse und insbesondere zur automatisierten
Entscheidung, ob Daten unter Verwendung einer (log-)Gauß-Verteilung
oder einer Multinomialverteilung modelliert werden sollen, zu erstellen.
-
Das
Ziel wird durch die Erfindung, wie sie in den Hauptansprüchen definiert
ist, erreicht.
-
Die
Ausführungsformen
sind in den Unteransprüchen
angegeben.
-
Die
Erfindung bezieht sich auf die automatisierte Datenanalyse. In einer
Ausführungsform,
die auf einer Architektur für
die automatisierte Datenanalyse beruht, umfasst ein computerisiertes
System eine automatisierte Schicht für die Problemformulierung,
eine erste Lernmaschine und eine zweite Lernmaschine. Die automatisierte
Schicht für
die Problemformulierung empfängt
einen Datensatz. Dieser Datensatz hat eine Vielzahl von Einträgen, wobei
jeder Eintrag einen Wert für
jede Variable aus einer Vielzahl von rohen Transaktionsvariablen
enthält
(wie später
in der Anwendung definiert wird). Die Schicht fasst die rohen Transaktionsvariablen
in aufbereiteten Transaktionsvariablen zusammen. Die erste Lernmaschine
erzeugt ein Modell für
die aufbereiteten Transaktionsvariablen, während die zweite Lernmaschine
ein Modell für
die rohen Transaktionsvariablen erzeugt.
-
In
einer Ausführungsform,
die sich auf die Zusammenstellung von Merkmalen bezieht, wird ein
Datensatz eingegeben, der eine Vielzahl von Einträgen umfasst,
wobei jeder Eintrag einen Wert für
jede Variable aus einer Vielzahl von rohen Transaktionsvariablen
enthält.
Diese Variablen sind in einer Knotenhierarchie organisiert. Die
rohen Transaktionsvariablen werden zu einer geringeren Anzahl von
aufbereiteten Transaktionsvariablen zusammengefasst und es werden
die aufbereiteten Transaktionsvariablen ausgegeben.
-
In
einer Ausführungsform,
die sich auf die Erzeugung eines Modells für Roh-Variable aus einem Modell für aufbereitete
Variable und Rohdaten bezieht, wird ein erstes Modell für eine Vielzahl
von aufbereiteten Transaktionsvariablen eingegeben. Die aufbereiteten
Transaktionsvariablen sind aus rohen Transaktionsvariablen zusammengestellt
worden, wobei die letzteren auf einem Datensatz basieren, der eine
Vielzahl von Einträgen
umfasst, wobei jeder Eintrag einen Wert für jede rohe Transaktionsvariable
enthält.
Es wird ein Typ des ersten Modells bestimmt, und es wird ein zweites
Datenmodell für
die Vielzahl von rohen Transaktionsvariablen auf der Basis des ersten
Datenmodells und des Typs des ersten Datenmodells erzeugt. Das zweite
Datenmodell wird dann ausgegeben.
-
In
einer Ausführungsform,
die sich auf die Bestimmung, ob eine Variable numerisch oder nicht-numerisch
ist, bezieht, wird eine Variable eingegeben, die eine Vielzahl von
Werten besitzt, in der jeder Wert einen Zähler umfasst. Für die Variable
wird durch Bewerten der Dichte von Zählwerten für benachbarte Werte der Variablen
bestimmt, ob sie numerisch oder nicht-numerisch sein soll. Es wird
dann ausgegeben, ob die Variable numerisch oder nicht-numerisch ist.
-
Zuletzt
wird in einer Ausführungsform,
die sich auf die Bestimmung bezieht, ob eine numerische Variable
einer Gauß-Verteilung
oder einer log-Gauß-Verteilung
unterliegt, ein Datensatz eingegeben. Der Datensatz umfasst eine
Vielzahl von Einträgen.
Jeder Eintrag besitzt einen Wert für jede Variable aus einer Vielzahl von
rohen Nicht-Transaktionsvariablen. Die Vielzahl von rohen Nicht-Transaktionsvariablen
umfasst eine numerische Variable. Es wird bestimmt, ob eine Gauß- oder
eine log-Gauß-Verteilung
die numerische Variable auf der Basis der Vielzahl von Einträgen besser
voraussagt. Das Bestimmungsergebnis wird dann ausgegeben.
-
Die
Ausführungsformen
der Erfindung sorgen für
eins automatisierte Datenanalyse und besitzen daher Vorteile gegenüber der
herkömmlichen
Technik. Die automatisierte Datenanalyse ist nutzbringend, da keine
Datenanalysten für
die Durchführung
der Datenanalyse benötigt
werden – besonders
in der Phase der Problemformulierung innerhalb des Analyseprozesses.
Dies macht die Datenanalyse noch nutzbringender, da es die Möglichkeiten
eröffnet,
die Datenanalyse in mehr Situationen einzusetzen – zum Beispiel
in Fällen,
in denen ein Datenanalyst zu teuer ist oder gar nicht zur Verfügung steht.
-
Die
Erfindung umfasst computerimplementierte Verfahren, maschinenlesbare
Medien, computerisierte Systeme und Computer unterschiedlicher Wirkungsbreiten.
Anders Aspekte, Ausführungsformen
und Vorteile der Erfindung, die über
die hier beschriebenen hinausgehen, werden ersichtlich, indem die
detaillierte Beschreibung mit Bezug auf die Zeichnungen gelesen
wird.
-
Kurze Beschreibung
der Zeichnungen
-
1 ist
ein Schaubild einer Betriebssystemumgebung, in denen die Ausführungsformen
der Erfindung betrieben werden können.
-
2(a) und 2(b) sind
Schaubilder von Histogrammen jeweils einer numerischen Variablen
und einer nicht-numerischen Variablen.
-
2(c) ist ein Flussdiagramm eines Verfahrens zur
Bestimmung nach einer Ausführungsform
der Erfindung, ob eine Variable numerisch oder nicht-numerisch ist.
-
2(d) ist ein Schaubild eines Systems zur Bestimmung
nach einer Ausführungsform
der Erfindung, ob eine Variable numerisch oder nicht-numerisch ist.
-
3(a) ist ein Flussdiagramm eines Verfahrens zur
Bestimmung nach einer Ausführungsform
der Erfindung, ob eine numerische Variable eine Gauß- oder
eine log-Gauß-Verteilung
haben sollte.
-
3(b) ist ein Schaubild eines Systems zur Bestimmung
nach einer Ausführungsform
der Erfindung, ob eine numerische Variable eine Gauß- oder
eine log-Gauß-Verteilung
haben sollte.
-
4(a) ist ein Flussdiagramm eines Verfahrens zur
Erzeugung eines Modells für
Roh-Variable aus einem
Modell für
aufbereitete Variable nach einer Ausführungsform der Erfindung.
-
4(b) ist ein Schaubild eines Systems zur Erzeugung
eines Modells für
Roh-Variable aus einem Modell für
aufbereitete Variable nach einer Ausführungsform der Erfindung.
-
5(a) ist ein Schaubild eines Systems zur automatisierten
Datenanalyse nach einer Ausführungsform
der Erfindung.
-
5(b) ist ein Flussdiagramm eines Verfahrens zur
automatisierten Datenanalyse nach einer Ausführungsform der Erfindung.
-
6(a) ist ein Schaubild, das eine für rohe Transaktionsdatensätze typische
fallende Potenzfunktion nach Zipfs Gesetz darstellt, die den Ausführungsformen
der Erfindung unterlegt werden kann.
-
6(b) und 6(c) sind
Flussdiagramme, die Verfahren zur Zusammenstellung von aufbereiteten Transaktionsvariablen
aus rohen Transaktionsvariablen nach verschiedenen Ausführungsformen
der Erfindung zeigen.
-
6(d) bis 6(i) sind
Schaubilder, die ein Beispiel der Anwendung der Verfahren aus 6(b) und 6(c) nach
einer Ausführungsform
der Erfindung veranschaulichen, um zum besseren Verständnis der Verfahren
beizutragen.
-
6(j) ist ein Schaubild eines Systems zur Zusammenstellung
von aufbereiteten Transaktionsvariablen aus rohen Transaktionsvariablen
nach einer Ausführungsform
der Erfindung.
-
Weg(e) zur Ausführung der
Erfindung
-
In
der folgenden detaillierten Beschreibung von beispielhaften Ausführungsformen
wird Bezug auf die begleitenden Zeichnungen genommen, die ein Teil
hiervon sind und in denen in der Art der Darstellung spezielle beispielhafte
Ausführungsformen
gezeigt werden, in denen die Erfindung betrieben werden kann. Die
folgende detaillierte Beschreibung sollte nicht in einem einschränkenden
Sinn verstanden werden, der Umfang der vorliegenden Erfindung wird
allein durch die beigefügten
Ansprüche
definiert.
-
Einige
Abschnitte der detaillierten Beschreibungen, die nun folgen, sind
in Form von Algorithmen und symbolischen Darstellungen von Vorgängen dargestellt,
die sich auf Datenbits innerhalb eines Computerspeichers beziehen.
Diese algorithmischen Beschreibungen und Darstellungen sind die
Arbeitsmittel, die von den Kennern der Datenverarbeitungstechnik
angewendet werden, um in höchst
effektiver Weise den Gehalt ihrer Arbeit anderen Kennern der Technik
mitzuteilen. Ein Algorithmus wird hier und im Allgemeinen als eine
in sich widerspruchsfreie Folge von Schritten verstanden, die zu
einem angestrebten Ergebnis führt.
Die Schritte sind dergestalt, dass sie physikalische Manipulationen
von physikalischen Größen erfordern.
Normalerweise, aber nicht notwendigerweise, nehmen diese Größen die
Form von elektrischen oder magnetischen Signalen an, die gespeichert, übertragen,
kombiniert, verglichen und in anderer Weise behandelt werden können.
-
Es
hat sich hin und wieder, vor allem aus Gründen der gemeinsamen Verwendung,
als praktisch erwiesen, diese Signale als Bits, Werte, Elemente,
Symbole, Zeichen, Ausdrücke,
Zahlen, oder Ähnliches
zu bezeichnen. Es sollte gedanklich jedoch berücksichtigt werden, dass alle
diese oder ähnliche
Ausdrücke
mit den entsprechenden physikalischen Größen in Verbindung gebracht
werden und lediglich als zweckmäßige Namen
dienen, die diesen Größen zugewiesen
werden. Sofern nicht anders als aus den folgenden Erläuterungen deutlich
besonders angegeben wird, ist es über die vorliegende Erfindung
hinweg so zu verstehen, dass Diskussionspunkte, die Ausdrücke wie
etwa Verarbeiten oder Berechnen oder Ausrechnen oder Bestimmen oder Anzeigen
oder Ähnliches
verwenden, sich auf den Betrieb und die Prozesse eines Computersystems
oder eines ähnlichen
elektronischen Rechnersystems beziehen, das Daten, die als physikalische
(elektronische) Größen innerhalb
der Register und der Speicher des Computersystems dargestellt sind,
bearbeitet und in andere Daten, die ähnlich als physikalische Größen innerhalb
der Register und der Speicher des Computersystems oder anderer derartiger
Datenspeicher-, Übertragungs-
oder Anzeigeeinrichtungen dargestellt sind, umformt.
-
Betriebssystemumgebung
-
In 1 ist
ein Schaubild der Hardware und Betriebssystemumgebung dargestellt,
in deren Verbindung die Ausführungsformen
der Erfindung betrieben werden können.
Die Beschreibung von 1 soll eine kurze allgemeine
Beschreibung geeigneter Hardware und geeigneter Betriebsumgebung,
darstellen, in deren Verbindung die Erfindung realisiert werden
kann. Obwohl nicht erforderlich wird die Erfindung im allgemeinen Rahmen
mit den auf dem Computer ausführbaren
Anweisungen, wie etwa Programmmodule, die auf einem Computer, wie
etwa einem Personalcomputer ausgeführt werden, beschrieben. Im
Allgemeinen umfassen die Programmmodule, Routinen, Programme, Objekte,
Komponenten, Datenstrukturen usw., die spezielle Aufgaben erfüllen oder
besondere Datentypen aufbauen.
-
Darüber hinaus
werden die Kenner der Technik erkennen, dass die Erfindung auch
mit anderen Computersystemkonfigurationen, wie Handheld-Geräten, Multiprozessorsystemen,
mikroprozessorbasierter oder programmierbarer Gebrauchselektronik,
Netzwerk-PC's, Minicomputern,
Großrechnern
und Ähnlichen
betrieben werden kann. Die Erfindung kann auch in Umgebungen mit
verteilter Datenverarbeitung eingesetzt werden, in denen Aufgaben
durch entfernte Verarbeitungseinrichtungen ausgeführt werden,
die über
ein Kommunikationsnetzwerk verbunden sind. In einer Umgebung mit
verteilter Datenverarbeitung können
Programmmodule sowohl in lokalen als auch entfernten Speichereinrichtungen
vorliegen.
-
Die
beispielhafte Hardware und Betriebssystemumgebung aus 1 für den Aufbau
der Erfindung umfasst eine Mehrzweck-Recheneinrichtung in Form eines
Computers 20, der eine Prozessoreinheit 21, einen Systemspeicher 22 und
einen Systembus 23, der verschiedene Systemkomponenten
einschließlich
des Systemspeichers mit der Prozessoreinheit 21 verbindet,
umfasst. Es kann lediglich eine oder auch mehr als eine Prozessoreinheit 21 geben,
in der Weise, dass der Prozessor des Computers 20 eine
einzelne Zentralprozessoreinheit (CPU) oder eine Vielzahl von Prozessoreinheiten,
gewöhnlich
als Parallelprozessumgebung bezeichnet, umfassen kann. Der Computer 20 kann
ein herkömmlicher
Computer, ein verteilter Computer oder jeder andere Typ von Computer
sein; die Erfindung ist nicht darauf beschränkt.
-
Der
Systembus 23 kann aus einer von verschiedenen Busstrukturen
bestehen, die einen Speicherbus oder einen Speicher-Controller,
einen Peripheriebus und einen Local-Bus, der eine aus der Vielzahl
der Busarchitekturen verwendet, umfasst. Der Systemspeicher kann
einfach als der Speicher bezeichnet werden, der den Nur-Lesen-Speicher
(ROM) 24 und den Speicher mit Direktzugriff (RAM) 25 umfasst.
Ein Basis-Ein- und Ausgabesystem (BIOS) 26, das Basisroutinen
enthält,
die die Übertragung
von Daten zwischen den Elementen im Computer 20, wie etwa
beim Systemstart unterstützen,
ist im ROM 24 gespeichert. Der Computer 20 umfasst
weiterhin ein Festplattenlaufwerk 27 zum Lesen von einer
Festplatte und zum darauf Schreiben, was nicht dargestellt ist,
ein Magnetplattenlaufwerk 28 zum Lesen von einer auswechselbaren
Magnetplatte 29 und zum darauf Schreiben, ein optisches
Plattenlaufwerk 30 zum Lesen von einer auswechselbaren
optischen Platte 31 wie etwa einer CD-ROM oder anderer optischer Medien und
zum darauf Schreiben.
-
Das
Festplattenlaufwerk 27, das Magnetplattenlaufwerk 28 und
das optische Plattenlaufwerk 30 sind an den Systembus 23 jeweils über ein
Interface für
Festplattenlaufwerke 32, ein Interface für Magnetplattenlaufwerke 33 und
ein Interface für
optische Plattenlaufwerke 34 angeschlossen. Die Laufwerke
und die ihnen zugeordneten computerlesbaren Medien bieten nicht-flüchtigen
Speicher für
computerlesbare Anweisungen, Datenstrukturen, Programmmodulen und
andere Daten für
den Computer 20. Es sollte von den Kennern der Technik
erkannt werden, dass jede Art von computerlesbaren Medien, die Daten
speichern können,
auf die von Computern zugegriffen werden kann, wie etwa Magnetkassetten,
Flashspeicherkarten, digitale Videodisks, Bernoulli-Kassetten, Speicher
mit Direktzugriff (RAMs), Nur-Lesen-Speicher
(ROMs) und Ähnliche
in der beispielhaften Betriebssystemumgebung verwendet werden kann.
-
Eine
Anzahl von Programmen kann auf der Festplatte, der Magnetplatte 29,
der optischen Platte 31, dem ROM 24 oder dem RAM 25 gespeichert
sein, die ein Betriebssystem 35, ein oder mehrere Programme 36,
andere Programmmodule 37 und Programmdaten 38 umfassen.
Ein Anwender kann Anweisungen und Daten in den Computer 20 über Eingabegeräte wie eine
Tastatur 40 und ein Zeigegerät 42 eingeben. Andere Eingabegeräte (nicht
dargestellt) können
Mikrofon, Joystick, Gamepad, Satellitenempfänger, Scanner oder Ähnliches
sein. Diese und andere Eingabegeräte sind mit der Prozessoreinheit 21 oft über eine
serielle Schnittstelle 46 angeschlossen, die mit dem Systembus
verbunden ist, sie können
jedoch auch über
andere Schnittstellen, wie etwa die parallele Schnittstelle, den
Game-Port oder die universelle serielle Schnittstelle (USB) angeschlossen
werden. Ein Monitor 47 oder ein anderer Typ von Anzeigegerät ist ebenfalls über eine
Schnittstelle, wie etwa einen Videoadapter 48, an den Systembus 23 angeschlossen.
Zusätzlich
zum Monitor umfassen Computer typi scherweise weitere periphere Ausgabegeräte (nicht
dargestellt) wie etwa Lautsprecher und Drucker.
-
Der
Computer 20 kann in einer Netzwerkumgebung unter Einsatz
von logischen Verbindungen zu einem oder mehreren entfernten Computern
wie dem entfernten Computer 49 betrieben werden. Die logischen Verbindungen
erhält
man durch eine Kommunikationseinrichtung, die mit dem Computer 20 oder
einem Teil von ihm verbunden sind; die Erfindung ist nicht auf einen
besonderen Typ der Kommunikationseinrichtung beschränkt. Der
entfernte Computer 49 kann ein weiterer Computer, ein Server,
ein Router, ein Netzwerk-PC, ein Client, eine Teilnehmereinrichtung
oder andere allgemeine Netzwerkknoten sein und umfasst typischerweise viele
oder alle Elemente, die oben in Bezug auf den Computer 20 beschrieben
wurden, obwohl lediglich eine Speichereinrichtung 50 in 1 dargestellt
worden ist. Die logischen Verbindungen, die in 1 dargestellt sind,
umfassen ein lokales Netzwerk (LAN) 51 und ein Weitverbundnetz
(WAN) 52. Solche Netzwerkumgebungen sind alltäglich in
Büronetzwerken,
unternehmensweiten Computernetzwerken, Intranets und dem Internet, die
alle Typen von Netzwerken darstellen.
-
Wird
der Computer 20 in einer LAN-Netzwerkumgebung verwendet,
ist er an das lokale Netzwerk 51 über eine Netzwerkschnittstelle
oder einen Adapter 53 angeschlossen, was eine Art von Kommunikationsgerät ist. Wird
der Computer 20 in einer WAN-Netzwerkumgebung verwendet, umfasst
er typischerweise ein Modem 54, was eine Art von Kommunikationsgerät ist, oder
jeden anderen Typ eines Kommunikationsgeräts, das Kommunikationsverbindungen über das
Weitverbundnetz 52 wie dem Internet aufbaut. Das Modem 54,
das intern oder extern sein kann, ist über die serielle Schnittstelle 46 an
den Systembus 23 angeschlossen. In einer Netzwerkumgebung
können
die Programmmodule, die in Verbindung mit dem Computer 20 oder
Teilen davon dargestellt sind, auf der entfernten Speichereinrichtung
gespeichert sein. Es ist ersichtlich, dass die gezeigten Netzwerkverbindungen
Beispiele darstellen und andere Mittel und Kommunikationseinrichtungen
zum Aufbau von Kommunikationsverbindungen zwischen den Computern
verwendet werden können.
-
Architektur
für die
automatisierte Datenanalyse
-
In
diesem Abschnitt wird eine Beschreibung einer Architektur für die automatisierte
Datenanalyse gegeben. Genauer ausgedrückt sorgt die Architektur für die Modellanpassung
und Modellauswahl und Erläuterung
und Visualisierung, um automatisierte Datenanalysen zu erzeugen.
In einer Ausführungsform
ist die Analyse, für
die die Architektur einsetzbar ist, wie folgt eingeschränkt. Zuerst
einmal ist die Analyse beschränkt
auf Vorhersagen, was ein Computernutzer tun wird (d.h. welche Anzeigen
er im Web anklicken wird, welche Artikel er im Web lesen wird, welche
Produkte er im Web kaufen wird), wobei dies auf der Kenntnis anderer
Informationen über
den Anwender basiert. Wenn die vorhergesagten Aktionen Vorlieben
des Nutzers darstellen, so wird diese Aufgabe gelegentlich als kooperatives
Filtern bezeichnet. Zum zweiten ist die Analyse beschränkt auf
die Unterteilung der Benutzer in eine Reihe von Gruppen in der Weise,
dass Benutzer der gleichen Gruppe im Groben das gleiche Verhalten
an den Tag legen und Benutzer in verschiedenen Gruppen unterschiedliches Verhalten
aufweisen. Zum dritten ist die Analyse beschränkt auf Daten, die sowohl Transaktionsdaten
als auch Nicht-Transaktionsdaten umfassen (wie unten beschrieben),
was als Unternehmensbereichsdatengruppen bezeichnet wird.
-
Zuerst
wird mit Bezug auf 5(a) ein System für die automatisierte
Datenanalyse nach einer Ausführungsform
dargestellt. Ein Satz roher Daten 500 wird in eine Schicht
zur automatisierten Problemformulierung 502 eingegeben,
um einen Satz aufbereiteter Daten 510 zu erzeugen. Der
Satz aufbereiteter Daten wird zusammen mit weiteren Vertriebsinformationen,
bezogen auf den Satz roher Daten, in eine erste Lernmaschine 504 eingegeben,
um ein Modell für
aufbereitete Daten 514 zu erzeugen. Das Modell für aufbereitete
Daten 514 wird zusammen mit dem Satz roher Daten 500 und
den weiteren Vertriebsinformationen, bezogen auf den Satz roher
Daten, in eine zweite Lernmaschine 506 eingegeben, um ein
Modell für
rohe Daten 512 zu erzeugen. Sowohl das Modell für aufbereitete
Daten 514 als auch das Modell für rohe Daten 512 werden
in ein Visualisierungs-/Erklärungsprogamm 508 eingegeben,
das von einem Benutzer (d.h. einem Datenanalysten) angewendet werden
kann, um die Modelle zu untersuchen und zu visualisieren.
-
In
einer Ausführungsform
wird das System auf einem Computer so implementiert, wie es in den
vorangegangenen Abschnitten der detaillierten Beschreibung beschrieben
ist. In derartigen und anderen Ausführungsformen kann der Satz
roher Daten 500, der Satz aufbereiteter Daten 510,
das Modell für
rohe Daten 512 und das Modell für aufbereitete Daten 514 als
Daten auf einem computerlesbaren Medium wie etwa in einem Speicher
oder auf einem Festplattenlaufwerk gespeichert sein. Darüber hinaus
kann in derartigen und anderen Ausführungsformen die Schicht 502,
die erste Lernmaschine 504, die zweite Lernmaschine 506 und
das Visualisierungs-/Erklärungsprogamm 508 jeweils
ein Computerprogramm sein, das durch einen Prozessor von einem computerlesbaren
Medium wie einem Speicher ausgeführt
wird. Darüber
hinaus kann jedes von diesen als Softwareobjekt oder -Komponente
implementiert sein, wie etwa einem Component Object Model (COM)-Objekt,
das in dieser Technik verbreitet ist.
-
Der
Satz roher Daten 500 stellt vorzugsweise ein reales Ereignis
oder Ereignisse dar – zum
Beispiel die Artikel, die von Nutzern einer Webseite gelesen werden,
die Fernsehsendungen, die von Zuschauern gesehen werden etc. Der
Datensatz umfasst eine Vielzahl von Einträgen. Jeder Eintrag besitzt
mindestens ein Attribut. Der Satz aller Attribute wird als der Attributsatz
für den
Problembereich bezeichnet. Jedes Attribut besitzt einen Standardwert.
Der Standardwert für
jede Transaktionsvariable ist Null. Im Allgemeinen sieht der Datensatz
vorzugsweise so aus, dass die meisten Attributwerte für einen
gegebenen Eintrag gleich dem Standardwert sind, obwohl die Erfindung
keiner solchen Einschränkung
unterliegt. Jedes Attribut wird auch als Rohvariable bezeichnet.
Die Daten und die Variablen sind roh im Unterschied zu den aufbereiteten
Variablen und Daten, die von den rohen Daten und den Variablen abgeleitet
werden, wie noch beschrieben wird. Der Satz roher Daten kann als
Tabelle entworfen werden, in der jeder Reihe einem bestimmten Eintrag
(oder Muster) zugeordnet wird und in der jede Spalte einer bestimmten
Rohvariablen zugeordnet wird.
-
Es
wird angemerkt, dass jede Variable entweder eine Transaktionsvariable
oder eine Nicht-Transaktionsvariable
sein kann. Eine Transaktionsvariable ist eine Variable, die sich
auf eine bestimmte Transaktion bezieht – zum Beispiel ob ein Nutzer
ein bestimmtes Buch gekauft hat, ob ein Nutzer einen bestimmten
Artikel gelesen hat, ob ein Nutzer eine bestimmte Anzeige angeklickt
hat etc. (obwohl auch Kenner der Technik auf einfachem Level erkennen
werden, dass Transaktionsvariable nicht unbedingt binär sein müssen). Eine Nicht-Transaktionsvariable
ist daher jede andere Art von Variable – zum Beispiel demografische
Daten, die einen Nutzer betreffen.
-
Die
Schicht 502 empfängt
den Satz roher Daten 500 als Eingabe und führt drei
Funktionen durch. Zuerst leitet die Schicht 502 die rohen
Transaktionsvariablen in eine Vielzahl von aufbereiteten Transaktionsvariablen über, wie
es durch den Satz aufbereiteter Daten 510 dargestellt wird.
Aufbereitete Daten sind Daten, die aus den Rohdaten abgeleitet sind – zum Beispiel
durch Organisieren, Gruppieren etc. der Rohdaten in Kategorien.
Die Ableitung einer rohen Transaktionsvariablen in eine aufbereitete
Transaktionsvariable wird auch als Transformation der Rohvariablen
bezeichnet. Die Schicht 502 definiert und fixiert auf diese
Weise eine Transformation aus dem Satz roher Daten 500 in
einen Satz aufbereiteter Daten 510, was auch als Transformationsmodell
bezeichnet werden kann. Die Schicht 502 verwendet diese
Transformation, um rohe Muster im Satz roher Daten 500 in
aufbereitete Muster im Satz aufbereiteter Daten 510 zu überführen. In
einer Ausführungsform
wird die Ableitung von Rohvariablen in aufbereitete Variable so
ausgeführt,
wie es in einem nachfolgenden Abschnitt beschrieben wird, obwohl
die Erfindung einer solchen Einschränkung nicht unbedingt unterliegt.
-
Als
Zweites bestimmt die Schicht 502 die Verteilung für jede Rohvariable,
obwohl in einer anderen Ausführungsform
diese Information selbst im Satz roher Daten 500 vorliegt.
Die Bestimmung der Werte jeder aufbereiteten Variablen wird so ausgeführt, wie
es in einem nachfolgenden Abschnitt beschrieben wird. Die Erfindung
unterliegt jedoch nicht unbedingt einer solchen Einschränkung.
-
Zum
Dritten bestimmt die Schicht 502 die Werte jeder aufbereiteten
Variablen und die Verteilung für jede
aufbereitete Variable. In einer Ausführungsform wird die Bestimmung
der Werte jeder aufbereiteten Variablen und der Verteilung für jede aufbereitete
Variable so ausgeführt,
wie es in einem nachfolgenden Abschnitt beschrieben wird, obwohl
die Erfindung einer solchen Einschränkung nicht unbedingt unterliegt.
In einer Ausführungsform
ist der Satz der Werte einer aufbereiteten Variablen gleich dem
Satz der Werte der entsprechenden Rohvariablen oder den entsprechenden
Variablen, obwohl die Erfindung einer solchen Einschränkung nicht
unterliegt. In einer anderen Ausführungsform kann ein Datenanalyst
oder ein anderer Anwender die Entscheidungen, die von der Schicht 502 getroffen
wurden, untersuchen und sie ändern.
-
Die
erste Lernmaschine 504 empfängt den Satz aufbereiteter
Daten 510 als Eingabe, ebenso von der Schicht 502 die
Variablenverteilungen für
die aufbereiteten Variablen. Die Maschine 504 erzeugt das
Modell für
die aufbereiteten Transaktionsvariablen 514, das in einer
Ausführungsform
auf den aufbereiteten Transaktionsvariablen und ihren Verteilungen
basiert. Das bedeutet, dass die Maschine 504 die Verteilungsfamilien und
die Werte für
die aufbereiteten Variablen von der Schicht 502 und den
Satz aufbereiteter Daten 510 empfängt und daraus ein Modell für aufbereitete
Daten erzeugt. In einer Ausführungsform
besitzt das erzeugte Modell einen bestimmten Typ, wie etwa das Bayes'sches Netz oder das
Cluster-Modell nach
Bayes. Das erstere ist für
die Aufgabe des Vorhersagens besser anwendbar, während das letztere für die Aufgabe
des Gruppierens besser geeignet ist. In einer Ausführungsform
wird die Erzeugung des Modells für
aufbereitete Variable 514 nach einem nachfolgenden Abschnitt
der detaillierten Beschreibung ausgeführt, obwohl die Erfindung einer
solchen Einschränkung
nicht unterliegt.
-
Die
zweite Lernmaschine 506 empfängt als Eingabe den Satz roher
Daten 500 (einschließlich
der Werte der Rohvariablen), die Verteilungen für die Rohvariablen (entweder
aus der Schicht 502 oder aus dem Satz roher Daten 500)
und das Modell für
aufbereitete Variable 514 und erzeugt auf dieser Basis
das Modell für
rohe Variable 512. In einer Ausführungsform erzeugt die zweite
Lernmaschine 506 ein Modell für rohe Transaktionsvariable
auf der Basis des Modells für
aufbereitete Transaktionsvariable und der Art des Modells für aufbereitete
Transaktionsvariable. In einer Ausführungsform erzeugt die zweite
Lernmaschine 506 das Modell für aufbereitete Variable 514 nach
einem nachfolgenden Abschnitt der detaillierten Beschreibung, obwohl
die Erfindung einer solchen Einschränkung nicht unterliegt.
-
Sobald
die Modelle für
rohe Daten 512 und für
aufbereitete Daten 514 erzeugt worden sind, können sie
unter Verwendung des Tools 508 analysiert werden. Das Tool 508 kann
ein Visualisierungstool, ein Erklärungstool oder beides sein.
In einer Ausführungsform
ist das Tool wie beschrieben im mit beauftragten und ebenfalls schwebenden
Patentantrag mit dem Titel „Method
and System for Visualization of Clusters and Classifications", Anmeldenummer 09/104751,
eingereicht am 25. Juni 1998, ausgeführt; die Erfindung unterliegt
jedoch keiner solchen Einschränkung.
Auf diese Weise kann das Tool 508 neben anderen Anwendungen
für Vorhersagen
und Gruppierungen der Daten verwendet werden. Die Erfindung ist
jedoch nicht auf irgendein bestimmtes Tool beschränkt, auch
nicht für
die Nutzung in irgendwelchen bestimmten Anwendungen.
-
Spezifische
Beispiele für
Anwendungen, in denen das Tool 508 eingesetzt werden kann,
umfassen Mustererkennungen, Datenmodellierung und Datamining. Andere
spezifische Anwendungen umfassen: Die Vorhersage, welche Produkte
eine Person noch kaufen will unter der Berücksichtigung dessen, was bereits
in ihrem Warenkorb liegt; welche Anzeigen eine Person noch anklicken
wird unter der Berücksichtigung
dessen, welche anderen Anzeigen sie bereits angeklickt hat, welche
Webseiten sie bereits gelesen hat und/oder unter Berücksichtigung
ihrer demografischen Daten; die Vorhersage, welche Fernsehsendungen
eine Person anschauen will unter der Berücksichtigung dessen, welche
anderen Fernsehsendungen sie bereits gesehen hat und/oder unter
Berücksichtigung
ihrer demografischen Daten. Weitere spezifische Anwendungen umfassen: Die
Vorhersage eines gewünschten
Songs eines Benutzers unter der Berücksichtigung dessen, welche
anderen Songs der Benutzer bereits angehört hat; die Vorhersage eines
gewünschten
Musikvideos eines Benutzers unter der Berücksichtigung dessen, welche
anderen Musikvideos der Benutzer bereits angesehen hat; die Vorhersage
eines Songs, den ein Benutzer zu kaufen wünscht unter der Berücksichtigung
dessen, welche anderen Songs der Benutzer bereits gekauft hat; die
individuelle Anpassung einer elektronischen Zeitung unter der Berücksichtigung
dessen, welche Arten von Nachrichten der Benutzer bereits gelesen
hat; die Vorhersage, welche Internetseite ein Benutzer als Favorit
haben will; die Vorhersage eines favorisierten ENCARTA-Artikels eines
Benutzers; die Vorhersage eines gewünschten Layouts eines Benutzers
für ein
Grafik-Präsentationsprogramm,
die Vorhersage des gewünschten
Email-Aliasnamens für
den Benutzer; die Vorhersage des gewünschten Films für den Benutzer;
die Vorhersage des gewünschten
Weins für
den Benutzer; die Vorhersage des gewünschten Restaurants für den Benutzer;
die Vorhersage der gewünschten
Immobilie für
den Benutzer; die Vorhersage des gewünschten Ratschlags für den Benutzer;
die Vorhersage der gewünschten
Benutzer schnittstelle für
den Benutzer und die Vorhersage von ungeeignetem Material, das als
unpassend für
das Betrachten durch Kinder erachtet wird.
-
Mit
Bezug auf die nächste 5(b) wird ein Flussdiagramm eines computerimplementierten
Verfahrens für
die automatisierte Datenanalyse nach einer Ausführungsform der Erfindung dargestellt.
Das computerimplementierte Verfahren ist bevorzugt zumindest teilweise
in einem oder mehreren Programmen, die auf einem Computer laufen,
realisiert – das
heißt,
als Programm, das von einem computerlesbaren Medium wie etwa einem
Speicher durch einen Prozessor eines Computers ausgeführt wird.
Die Programme sind zum Vertrieb und zur Installation und Ausführung auf
einem anderen Computer bevorzugt auf einem maschinenlesbaren Medium
wie einer Floppy-Disk oder einer CD-ROM gespeichert.
-
In
Schritt 520 wird ein Satz roher Daten eingegeben. Der Datensatz
kann eingegeben werden, indem er von einer Kommunikationseinrichtung,
von einer Speichereinrichtung etc. empfangen wird; die Erfindung unterliegt
jedoch keiner solchen Einschränkung.
Der Datensatz enthält
eine Vielzahl von Einträgen,
wobei jeder Eintrag einen Wert für
jede Variable aus einer Vielzahl von rohen Variablen einschließlich der
rohen Transaktionsvariablen und der rohen Nicht-Transaktionsvariablen
enthält.
In Schritt 522 werden die rohen Transaktionsvariablen in
eine Vielzahl von aufbereiteten Transaktionsvariablen zusammengefasst.
In einer Ausführungsform
wird dies wie in einem nachfolgenden Abschnitt der detaillierten
Beschreibung beschrieben ausgeführt.
Die Zusammenfassung von rohen zu aufbereiteten Variablen wird auch
als Transformation von rohen zu aufbereiteten Variablen bezeichnet,
derart dass in Schritt 522 die Transformation von rohen
zu aufbereiteten Variablen beständig
wird.
-
In
Schritt 524 wird ein Modell für die aufbereiteten Variablen
auf Basis von zumindest den aufbereiteten Transaktionsvariablen
erzeugt. In einer Ausführungsform
wird dies wie in einem nachfolgenden Abschnitt der detaillierten
Beschreibung beschrieben ausgeführt.
Das Modell ist von einem bestimmten Typ, etwa dem Bayes'schen Netz, dem natürlichen
Cluster-Modell nach
Bayes etc. In Schritt 526 wird ein Modell für die rohen Variablen
erzeugt, wobei in einer Ausführungsform
zumindest das Modell für
die aufbereiteten Variablen und der Typ des Modells für die aufbereiteten
Variablen als Basis dienen. In einer Ausführungsform wird dies wie in
einem nachfolgenden Abschnitt der detaillierten Beschreibung beschrieben
ausgeführt.
-
Zuletzt
wird in Schritt 528 mindestens eines der in den Schritten 524 und 526 erzeugten
Modelle ausgegeben. Die Erfindung ist nicht in der Weise, wie die
Ausgabe durchgeführt
wird, beschränkt.
In einer Ausführungsform
kann zum Beispiel die Ausgabe an ein weiteres Analyseprogramm oder
Softwarekomponente erfolgen, die weitere Analysen und Schlussfolgerun gen
erlaubt. Als weiteres Beispiel kann die Ausgabe auf einem Anzeigegerät angezeigt
werden oder auf einem Drucker ausgedruckt werden etc. In einer besonderen Ausführungsform
umfasst die Ausgabe von einem oder mehreren Modellen darüber hinaus
die Ausstattung mit einem Tool wie etwa einem Visualisierungsprogamm
oder einem Erklärungsprogamm,
mit dem das Modell oder die Modelle analysiert werden. Zum Beispiel
kann die Ausgabe sein, die erzeugten Modelle für Anwendungen zu nutzen, wie
es in Verbindung mit 5(a) spezifiziert
wurde.
-
Zusammenfassen
von rohen Variablen zu aufbereiteten Variablen
-
In
diesem Abschnitt wird die Beschreibung vorgestellt, wie rohe (Transaktions-)Variable
in aufbereitete (Transaktions-)Variable zusammengefasst werden.
In einer Ausführungsform
wird diese Zusammenfassung von der Schicht 502 aus 5(a) durchgeführt.
Es ist jedoch anzumerken, dass die Erfindung keiner solchen Einschränkung unterliegt,
was auch mit einer üblichen
Kenntnis der Technik erkannt werden kann.
-
Als
Grundlage wird zuerst ein allgemeines Beispiel beschrieben. Ein
Datensatz kann in Teilen eine Sammlung roher Variabler enthalten,
in der jede Variable abbildet, ob ein Anwender ein bestimmtes Science-Fiction-Buch
gekauft hat. Deshalb kann eine Variable definiert werden, die aussagt,
ob ein Anwender irgendein Science-Fiction-Buch gekauft hat. Dieser
Ansatz basiert auf der Annahme, dass eine Hierarchie der Variablen
als Teil des Satzes roher Daten verfügbar ist. Ist zum Beispiel
ein Datensatz über
Buchkäufe
vorgegeben, wird angenommen, dass eine Hierarchie der Bücher vorliegt – die höchste Ebene
kann z.B. Belletristik im Vergleich zu Sachliteratur sein, die Ebene
unter Belletristik kann Drama im Vergleich zu Komödie im Vergleich
zu Science fiction etc. sein.
-
Bevor
eine Beschreibung eines computerimplementierten Verfahrens und eines
computerisierten Systems zur Zusammenfassung von rohen Variablen
in aufbereitete Variable gegeben wird, werden zuerst zusätzliche
Hintergrundinformationen geboten. Es ist anzumerken, dass Unternehmensdomänen zwei
Komponenten besitzen, eine Transaktionskomponente und eine Nicht-Transaktionskomponente,
wie es beschrieben wurde. Jede beliebige Rohvariable, die Daten
in der Transaktionskomponente entspricht, wird als rohe Transaktionsvariable
bezeichnet, während
hingegen jede beliebige Rohvariable, die Daten in der Nicht-Transaktionskomponente
entspricht, als rohe Nicht-Transaktionsvariable bezeichnet wird.
Aufbereitete Transaktions- und Nicht-Transaktionsvariable sind jeweils
definiert als Zusammenfassungen (das heißt ODER-Verknüpfungen) von
rohen Transaktionsvariablen und rohen Nicht-Transaktionsvariablen.
-
Darüber hinaus
wird angemerkt, dass es im Allgemeinen innerhalb von Unternehmensdomänen viele (> ~100) Transaktionsvariable
und wenige (< ~100)
Nicht-Transaktionsvariable gibt. So wird in einer Ausführungsform
der Erfindung angenommen, dass jede Nicht-Transaktionsvariable im
Allgemeinen eine aufbereitete Variable ist, und es werden Zusammenfassungen
von Variablen nur für
rohe Transaktionsvariable vorgenommen.
-
In
einer Ausführungsform
der Erfindung wird genauer genommen unterstellt, dass jede rohe
Transaktionsvariable Werte 0, 1, 2, ..., k besitzt, wobei k eine
feste Konstante oder unendlich sein kann. Zum Beispiel kann eine
rohe Transaktionsvariable die Anzahl eines bestimmten Produkts sein,
das der Anwender gekauft hat, oder wie oft ein Anwender eine Anzeige
angeklickt hat, oder wie oft ein Anwender einen Artikel in einem Online-Nachrichtendienst
gelesen hat. Alternativ kann eine Transaktionsvariable auf eine
binäre
Variable mit den Werten 0 und 1 beschränkt sein – z.B., ob ein bestimmtes Produkt
von einem Anwender gekauft wurde oder nicht, ob eine bestimmte Anzeige
von einem Anwender angeklickt wurde oder nicht, ob ein bestimmter Artikel
von einem Anwender gelesen wurde oder nicht etc.
-
In
einer Ausführungsform,
der der hier verwendete Ansatz für
die Zusammenstellung aufbereiteter Variablen aus rohen Variablen
zugrunde liegt, gibt es die Beobachtung bei Transaktionsdaten, die
in der Technik als Zipfs Gesetz bekannt ist. Wenn rohe Transaktionsvariable
nach der Anzahl der Anwender, für
die der Wert größer als
0 ist, absteigend (d.h. nach ihrem Zuspruch) sortiert werden, wird
herausgefunden, dass diese Anzahl eine fallende Potenzfunktion des
Zuspruchs darstellt. Die Kurve 600 in 6(a) ist zum Beispiel ein Graph der Anzahl von
Personen, die einen bestimmten Artikel in einem Online-Nachrichtendienst
gelesen haben, als Funktion des Zuspruchs des Artikels. Die Kurve 600 ist
eine fallende Potenzfunktion, sie unterliegt daher Zipfs Gesetz.
-
Es
werden nun verschiedene Konzepte eingeführt, bevor ein computerimplementiertes
Verfahren nach einer Ausführungsform
der Erfindung beschrieben wird. Bei einer vorgegebenen Hierarchie
ist der Konzepthorizont eine Gruppe von Konzepten derart, dass jedes
Konzept entweder der Wurzelknoten, ein beliebiger Knoten in der
Hierarchie oder eine Gruppe von Knoten in der Hierarchie darstellt,
die alle denselben Vorgängerknoten
besitzen. Eine Rohvariable wird als im Konzept befindlich bezeichnet,
wenn diese Rohvariable (in der Hierarchie) unterhalb des Knotens
oder der Knoten, die dem Konzept entsprechen, angesiedelt ist. Jedes
Konzept in einem Konzepthorizont definiert eine aufbereitete Variable
und entspricht dieser daher. Insbesondere stellt die durch ein Konzept definierte
aufbereitete Variable die ODER-Verknüpfung der Rohvariablen des
Konzepts dar. Der Zuspruch eines Konzepts ist die Anzahl der Benutzer
in dem Datensatz (das heißt,
die Anzahl der Einträge)
im Rohdatensatz, der Werte für
jede Rohvariable im Konzept enthält,
die größer als
Null sind. Eine Redefinition des Konzepts stellt einen Satz von
zwei Konzepten in der Weise dar, dass eines der Konzepte ein Knoten
in der Hierarchie (als X bezeichnet) ist, kein anderer Knoten im
ursprünglichen
Konzept mehr Zuspruch erhält
als X, und die zwei neuen Konzepte die gleichen Rohvariablen wie
das ursprüngliche Konzept
enthalten. Eine Redefinition eines Konzepthorizonts ist ein Konzepthorizont,
der sich vom ursprünglichen
Horizont durch eine einzige Konzeptredefinition unterscheidet.
-
Nun
wird ein computerimplementiertes Verfahren zur Zusammenfassung von
rohen Variablen in aufbereitete Variable beschrieben. Das Verfahren
wird beschrieben in Verbindung mit 6(b) und 6(c), die Flussdiagramme des Verfahrens nach abweichenden
Ausführungsformen
darstellen. Das computerimplementierte Verfahren wird bevorzugt
zumindest teilweise in einem oder mehreren Programmen, die auf einem
Computer laufen, realisiert – das
heißt,
als Programm, das von einem computerlesbaren Medium wie etwa einem Speicher
durch einen Prozessor eines Computers ausgeführt wird. Die Programme liegen
zum Vertrieb und zur Installation und Ausführung auf einem anderen Computer
bevorzugt auf einem maschinenlesbaren Medium wie einer Floppy-Disk
oder einer CD-ROM gespeichert vor. Nachdem die Beschreibung des
Verfahrens abgeschlossen ist, wird ein anschauliches Beispiel für das tiefere
Verständnis
des Verfahrens beschrieben.
-
Mit
Bezug zuerst auf 6(b) wird in Schritt 602 ein
Datensatz eingegeben. Der Datensatz stellt vorzugsweise ein reales
Ereignis oder Ereignisse dar – zum
Beispiel die Artikel, die von Nutzern einer Webseite gelesen werden,
die Fernsehsendungen, die von Zuschauern gesehen werden etc. Der
Datensatz umfasst eine Vielzahl von Einträgen. Jeder Eintrag besitzt
mindestens ein Attribut. Der Satz aller Attribute wird als der Attributsatz
für den
Problembereich bezeichnet. Jedes Attribut besitzt einen Standardwert.
Der Standardwert für
jede Transaktionsvariable ist Null. Im Allgemeinen sieht der Datensatz
vorzugsweise so aus, dass die meisten Attributwerte für einen
gegebenen Eintrag gleich dem Standardwert sind, obwohl die Erfindung
keiner solchen Einschränkung
unterliegt. Jedes Attribut wird auch als Rohvariable bezeichnet
und kann eine Transaktions- oder eine Nicht-Transaktionsvariable
sein, wie bereits beschrieben wurde. So besitzt jeder Eintrag einen Wert
für jede
rohe Transaktionsvariable. Die rohen Transaktionsvariablen sind
vorzugsweise in einer Knotenhierarchie organisiert.
-
In
Schritt 604 werden die rohen Transaktionsvariablen in einer
kleineren Anzahl von aufbreiteten Transaktionsvariablen zusammengefasst.
Im Allgemeinen wird dies erreicht, indem iterativ nachfolgende am besten
angesprochene Konzepte, die mehr als einen Knoten enthalten, in
zwei neue Konzepte unterteilt redefiniert werden, wobei in einem
Wurzelknoten der Hierarchie als einem Startkonzept begonnen wird,
bis eine Anzahl von weiteren nicht redefinierten Konzepten erreicht
wird, die gleich einer angestrebten Anzahl von aufbereiteten Transaktionsvariablen
ist. So entspricht jedes nicht redefinierte Konzept einer aufbereiteten
Transaktionsvariablen. Eine detailliertere Beschreibung des Schritts 604 wird
in Verbindung mit 6(c) und dem anschaulichen Beispiel,
das auf die Beschreibung von 6(c) folgt,
gegeben.
-
Weiterhin
mit Bezug auf 6(b) werden jedoch in Schritt 606 die
aufbereiteten Transaktionsvariablen ausgegeben. Die Erfindung ist
nicht in der Weise, wie die Ausgabe erfolgt, beschränkt. In
einer Ausführungsform
kann die Ausgabe zum Beispiel an ein weiteres Analyseprogramm oder
eine weitere Softwarekomponente erfolgen, die weitere Analysen und
Schlussfolgerungen erlauben. Als weiteres Beispiel kann die Ausgabe auf
einem Anzeigegerät
angezeigt werden oder auf einem Drucker ausgedruckt werden etc.
-
Mit
Bezug auf 6(c) wird als Nächstes ein
Flussdiagramm eines Verfahrens, das die Zusammenfassung von rohen
zu aufbereiteten Variablen nach einer Ausführungsform in höherer Detaillierung
darstellt, vorgelegt. In einer Ausführungsform kann zum Beispiel
das Verfahren aus 6(c) durchgeführt werden,
um die rohen zu den aufbereiteten Variablen in Schritt 604 aus 6(b) zusammenzufassen. In Schritt 608 wird mit
dem Wurzelknoten der Hierarchie der rohen Transaktionsvariablen
als erstem Konzept begonnen. In Schritt 610 wird dieses
erste Konzept in ein zweites Konzept einschließlich eines Knotens mit dem
höchsten Zuspruch
und in ein drittes Konzept so redefiniert, dass das zweite und das
dritte Konzept alle Knoten, die im ersten Konzept enthalten sind,
ebenfalls umfassen.
-
In
Schritt 612 wird das Konzept mit dem höheren Zuspruch aus dem zweiten
und dritten Konzept, das mehr als einen Knoten umfasst, in ein viertes
Konzept, das den Knoten mit dem höchsten Zuspruch in diesem Konzept
mit dem höheren
Zuspruch besitzt, und in ein fünftes
Konzept derart redefiniert, dass das vierte und das fünfte Konzept
alle Knoten, die im Konzept mit dem höheren Zuspruch aus dem zweiten
und dritten Konzept enthalten sind, ebenfalls umfassen. Danach werden
in Schritt 614 nachfolgende Konzepte mit dem höchsten Zuspruch,
die mehr als einen Knoten umfassen, iterativ in zwei neue Konzepte
redefiniert, bis eine erwünschte
Anzahl von weiteren nicht redefinierten Konzepten, die den aufbereiteten
Transaktionsvariablen entsprechen, erreicht wird.
-
Zum
besseren Verständnis
der Funktionsweise der Verfahren in 6(b) und 6(c) wird ein Beispiel dargestellt. Das Beispiel
wird in Verbindung mit 6(d) bis 6(i) beschrieben. Das Beispiel unterstellt eine
hypothetische Datengruppe über
Buchkäufe.
Die Nummern in 6(d) bis 6(i) sind
Konzepte mit Zuspruch. Ein Einzelknotenkonzept im Konzepthorizont
in jeder dieser Abbildungen ist in fetter Schrift benannt und ist
außerdem
eingekreist. Ein Mehrknotenkonzept im Konzepthorizont wird mit einer
Linie, die mehrere Namen in fetter Schrift umschließt, gekennzeichnet.
-
Der
anfängliche
Konzepthorizont wird durch den Wurzelknoten der Hierarchie books.com
gebildet, wie es in 6(d) dargestellt
ist. Deshalb wird dieses Konzept in die Konzepte „entertainment" und {„sci-fi", „home"} redefiniert, wie
es in 6(e) dargestellt ist. Von diesen
beiden besitzt das Konzept „entertainment" den höheren Zuspruch,
daher wird es als nächstes
in {„Titanic" und Entertainment
ohne „Titanic"} redefiniert, wie es
in 6(f) dargestellt ist. Auf diese
Weise haben wir nun die Konzepte „Titanic", Entertainment ohne „Titanic" und {„sci-fi", „home"}. Von diesen besitzt
{„sci-fi", „home"} den höchsten Zuspruch,
daher wird es als nächstes
in „sci-fi" und „home" redefiniert, wie
es in 6(g) dargestellt ist. Auf diese
Weise haben wir nun die Konzepte „Titanic", Entertainment ohne „Titanic", „sci-fi" und „home". Von diesen kann „Titanic" nicht mehr redefiniert
werden, da es nur einen einzigen Knoten enthält (d.h. es besitzt keine Knoten
darunter). Daher ist das Konzept „sci-fi" jenes mit dem höchsten Zuspruch, das mehr als
einen Knoten umfasst, womit es als nächstes redefiniert wird, wie
es in 6(h) dargestellt ist. Zuletzt
wird das Konzept Entertainment ohne „Titanic" redefiniert, wie es in 6(i) dargestellt ist.
-
Somit
liegen am Ende des Redefinitionsprozesses im Beispiel von 6(d) bis 6(i) unter
der Annahme, dass sechs aufbereitete Variable angestrebt wurden,
die aufbereiteten Variablen „Titanic", „Flubber", Entertainment ohne
Titanic und ohne Flubber, „Plan
9", sci-fi ohne
Plan 9 und „Home" vor.
-
In
einer Ausführungsform
besitzt der spezifische Algorithmus zur Zusammenfassung in aufbereitete Variable
aus rohen Variablen folgende Form:
-
Algorithmus
AbstractRawVariables
-
Es
wird angemerkt, dass einige Datensätze Gruppen von Variablen enthalten
können,
die nicht zusammengeführt
werden können,
wie zum Beispiel, wenn eine Gruppe von Variablen der Zahl der Produkte,
die eine Person gekauft hat, und eine andere Gruppe der Zahl der
Artikel, die ein Benutzer gelesen hat, entspricht. In Fällen wie
diesen wird unterstellt, dass es eine endliche Anzahl von Typen
zur Zusammenfassung, die durch die Gruppe definiert werden, gibt,
und dass jeder Rohvariablen ein solcher Typ zugewiesen wird. Enthält eine Datengruppe
mehr als einen Abstraktionstyp, dann wird der Algorithmus wie oben
für jeden
Abstraktionstyp getrennt ausgeführt.
-
Mit
Bezug auf 6(j) wird nun ein System zur
Zusammenfassung der aufbereiteten Variablen aus rohen Variablen
nach einer Ausführungsform
der Erfindung dargestellt. Das System aus 6(j) umfasst
einen Datensatz 650, einen Abstraktor 652 und
die aufbereiteten Variablen 654. Sowohl der Datensatz 650 als auch
die aufbereiteten Variablen 654 können in einer Ausführungsform
als Daten auf einem computerlesbaren Medium wie etwa in einem Speicher
oder auf einer Festplatte gespeichert sein. Der Abstraktor 652 kann
in einer Ausführungsform
ein Computerprogramm sein, das durch einen Prozessor von einem computerlesbaren Medium
ausgeführt
werden kann. Die Erfindung unterliegt jedoch keiner solchen Einschränkung.
-
Der
Datensatz 650 stellt vorzugsweise ein reales Ereignis oder
Ereignisse dar – zum
Beispiel die Artikel, die von Nutzern einer Webseite gelesen werden,
die Fernsehsendungen, die von Zuschauern gesehen werden etc. Der
Datensatz umfasst eine Vielzahl von Einträgen. Jeder Eintrag besitzt
mindestens ein Attribut. Der Satz aller Attribute wird als der Attributsatz
für den
Problembereich bezeichnet. Jedes Attribut besitzt einen Standardwert.
Im Allgemeinen sieht der Datensatz vorzugsweise so aus, dass die
meisten Attributwerte für
einen gegebenen Eintrag gleich dem Standardwert sind, obwohl die
Erfindung keiner solchen Einschränkung
unterliegt. Jedes Attribut wird auch als Rohvariable bezeichnet
und kann eine Transaktions- oder eine Nicht-Transaktionsvariable
sein, wie bereits beschrieben wurde. So besitzt jeder Eintrag einen
Wert für
jede rohe Transaktionsvariable. Die rohen Transaktionsvariablen
sind vorzugsweise in einer Knotenhierarchie organisiert.
-
Darüber hinaus
fasst der Abstraktor 652 die aufbereiteten Transaktionsvariablen 654 aus
den rohen Transaktionsvariablen im Datensatz 650 zusammen.
In einer Ausführungsform
erfolgt dies nach den Verfahren in 6(b) und 6(c), wie bereits beschrieben wurde. Somit sind
die aufbereiteten Transaktionsvariablen 654 das Ergebnis,
was auch schon in Verbindung mit 6(b) und 6(c) beschrieben wurde.
-
Sobald
die aufbereiteten Variablen zum Beispiel durch die Schicht 502 aus 5(a) zusammengefasst sind, muss die Familie der
Verteilungen für
jede aufbereitete Variable ermittelt werden – zum Beispiel ebenfalls durch
die Schicht 502 aus 5(a).
Bei den Nicht-Transaktionsvariablen wird so vorgegangen, wie es
in den nachfolgenden Abschnitten der detaillierten Beschreibung
ausgeführt
ist. Bei den Transaktionsvariablen wird wie nachfolgend beschrieben
vorgegangen.
-
Wenn
eine rohe oder aufbereitete Variable eine Anzahl von Werten j oder
weniger aufweist, wobei j ein vorgegebener Wert ist, dann wird diese
mit einer multinomialen Verteilung modelliert, wie es in der Technik weithin
bekannt ist. Wenn sie mehr als j Werte besitzt, dann wird diese
mit einer binomialen log-Gauß-Verteilung
modelliert, wie es in der Technik ebenfalls weithin bekannt ist.
Die binomiale Verteilung wird zur Modellierung, ob der Wert der
Variablen Null ist oder nicht, angewandt und die log-Gauß-Verteilung
wird insbesondere zur Modellierung des Logarithmus des Wertes der
Variablen für
die Fälle
verwendet, in denen der Wert größer als
Null ist. In einer Ausführungsform
ist j mit 7 vorbelegt.
-
Wie
bereits in diesem Abschnitt der detaillierten Beschreibung beschrieben
wurde, wird angenommen, dass ein Anwender Vorhersagen für alle rohen
Variablen wünscht.
Wie für
die durchschnittlichen Kenner der Technik ersichtlich ist, können in
einigen Situationen jedoch die Anwender nur für eine Teilmenge aller rohen Variablen
Vorhersagen wünschen.
Zum Beispiel können
in einer Anwendung über
Buchkäufe
die Anwender Vorhersagen nur für
Bücher
mit Bezug zur Belletristik, nur für Bücher mit Bezug zur Sci-Fi oder
nur für
Bücher mit
Bezug zur Wohnung wünschen.
In solchen Situationen können
die oben beschriebenen Verfahren und Algorithmen so modifiziert
werden, dass eine bestimmte Anzahl von Konzepten, die jeder Kategorie,
die der Anwender auswählt,
zugrunde liegen, erzwungen wird, unter der Annahme, dass die Hierarchie
der Kategorien, die für
den Anwender verfügbar
sind, kompatibel ist zu der Hierarchie, die für die Zusammenfassung der Variablen
angewendet wird.
-
Erzeugen eines
Modells für
rohe Variable aus einem Modell für
aufbereitete Variable
-
In
diesem Abschnitt wird eine Beschreibung vorgestellt, wie ein Modell
für rohe
(Transaktions-)Variable aus einem vorher erzeugten Modell für aufbereitete
(erzeugte) Variable erzeugt wird, in der Weise, wie die Fachausdrücke vorher
definiert wurden. Die Erzeugung wird in einer Ausführungsform
durch die zweite Lernmaschine 512 aus 5(a) ausgeführt.
So erhält
die zweite Lernmaschine die rohen Daten, die Verteilungsfamilien
und die Werte für
die rohen Variablen und das Modell für aufbereitete Daten und erzeugt
dann ein Modell für
die rohen Variablen. Es wird jedoch angemerkt, dass die Erzeugung
eines Modells für
die rohen Variablen nach diesem Abschnitt nicht auf die Implementierung
durch eine Lernmaschine wie die zweite Lernmaschine 512 aus 5(a) begrenzt ist, wie für die durchschnittlichen Kenner
der Technik ersichtlich werden kann.
-
Es
wird nun ein computerimplementiertes Verfahren in Verbindung mit
und mit Bezug auf 4(a) beschrieben. Das computerimplementierte
Verfahren ist bevorzugt zumindest teilweise in einem oder mehreren Programmen,
die auf einem Computer laufen, realisiert – das heißt, als Programm, das von einem
computerlesbaren Medium wie etwa einem Speicher durch einen Prozessor
eines Computers ausgeführt
wird. Die Programme sind zum Vertrieb und zur Installation und Ausführung auf
einem anderen Computer bevorzugt auf einem maschinenlesbaren Medium
wie einer Floppy-Disk oder einer CD-ROM gespeichert.
-
Im
Schritt 400 wird ein erstes Datenmodell eingegeben. Das
erste Datenmodell ist für
eine Vielzahl von aufbereiteten Transaktionsvariablen, die aus einer
Vielzahl von rohen Transaktionsvariablen für einen Datensatz zusammengefasst
wurden und die bereits erzeugt worden sein können. Der Datensatz selbst
stellt vorzugsweise ein reales Ereignis oder Ereignisse dar – zum Beispiel
die Artikel, die von Nutzern einer Webseite gelesen werden, die
Fernseh sendungen, die von Zuschauern gesehen werden etc. Der Datensatz
umfasst eine Vielzahl von Einträgen.
Jeder Eintrag besitzt mindestens ein Attribut. Der Satz aller Attribute
wird als der Attributsatz für
den Problembereich bezeichnet. Jedes Attribut besitzt einen Standardwert.
Im Allgemeinen sieht der Datensatz vorzugsweise so aus, dass die
meisten Attributwerte für
einen gegebenen Eintrag gleich dem Standardwert sind, obwohl die
Erfindung keiner solchen Einschränkung
unterliegt. Jedes Attribut wird auch als Rohvariable bezeichnet
und kann eine Transaktions- oder eine Nicht-Transaktionsvariable
sein, wie bereits beschrieben wurde. So besitzt jeder Eintrag einen
Wert für
jede rohe Transaktionsvariable.
-
In
Schritt 402 wird der Typ des ersten Datenmodells für die aufbereiteten
Transaktionsvariablen ermittelt. In der Ausführungsform aus 4(a) kann der Typ einer von zwei unterschiedlichen
sein: das Bayes'sche Netz
und das natürliche
Cluster-Modell nach Bayes. Genauer gesagt gibt es im ersten Fall
ein Bayes'sches Netz
in der lokalen Verteilung für
jede Variable, das aus einem Entscheidungsgraphen besteht, wie es
an sich bekannt ist. Das Netz kann zyklisch oder azyklisch sein,
wie für
die durchschnittlichen Kenner der Technik ersichtlich werden kann.
-
Als
Nächstes
wird ein zweites Datenmodell, diesmal für die rohen Transaktionsvariablen
erzeugt, das auf dem ersten Datenmodell und dessen Typ basiert.
Die Schritte 404, 406, 408, 410, 412, 414, 416, 418, 420 und 422 des
Verfahrens in 4(a) werden ausgeführt, um
das zweite Datenmodell in einer Ausführungsform zu erzeugen. Die
Erfindung selbst ist jedoch nicht notwendigerweise darauf beschränkt.
-
Wenn
in Schritt 404 zuerst festgestellt wird, dass das erste
Datenmodell vom Typ Bayes'sches
Netz ist, dann geht das Verfahren mit den Schritten 406 oder 410,
entsprechend den unterschiedlichen Ausführungsformen der Erfindung,
weiter. Wenn die Ausführungsform,
die mit Schritt 406 beginnt, gewünscht wird, dann wird in den
Schritten 406 und 408 ein zweites Datenmodell
in der Weise erzeugt, dass auch das zweite Datenmodell vom Typ Bayessches
Netz ist, so dass es ein Bayes'sches
Netz in der lokalen Verteilung für
jede rohe Variable gibt, die aus einem Entscheidungsgraph besteht,
wie für
die durchschnittlichen Kenner der Technik ersichtlich werden kann.
-
Der
Aufbau des Entscheidungsgraphen für die lokale Verteilung jeder
rohen Transaktionsvariablen wird insbesondere in den Schritten 406 und 408 durchgeführt. In
Schritt 406 wird die Struktur des Entscheidungsgraphen
für die
lokale Verteilung der rohen Transaktionsvariablen erzeugt, indem
die Struktur des Entscheidungsgraphen für die lokale Verteilung der
aufbereiteten Transaktionsvariablen, die die rohe Transaktionsvari able
einschließt
(das heißt,
die aufbereitete Transaktionsvariable, die von der rohen Transaktionsvariablen
abgeleitet ist, enthält
diese rohe Transaktionsvariable), kopiert wird. Als Nächstes werden
in Schritt 408 die Wahrscheinlichkeiten für jeden
aus der Vielzahl von Blättern
des Entscheidungsgraphen für
den rohen Transaktionsgraphen neu gelernt unter Nutzung (d.h. auf
Basis) der Vielzahl von rohen Transaktionsvariablen, wie es von
durchschnittlichen Kennern der Technik verstanden wird. In einer
Ausführungsform
können
die Wahrscheinlichkeiten wie allgemein bekannt geglättet werden.
So besitzt der resultierende Graph für jede rohe Transaktionsvariable
eine Struktur, die von einer aufbereiteten Transaktionsvariablen,
die die rohe Transaktionsvariable einschließt, kopiert wird, die jedoch
verschiedene (neu gelernte) Wahrscheinlichkeiten enthält, die auf
den rohen Transaktionsvariablen selbst basieren. Auf diese Weise
wird ein zweites Datenmodell für
die rohen Transaktionsvariablen erzeugt.
-
In
einer anderen Ausführungsform
der Erfindung wird – beginnend
mit Schritt 410 – ein
zweites Datenmodell für
die rohen Transaktionsvariablen auf eine unterschiedliche Weise
erzeugt. In Schritt 410 wird auch ein Entscheidungsgraph
für jede
rohe Transaktionsvariable erzeugt, jedoch nicht durch das Kopieren
der Struktur der aufbereiteten Transaktionsvariablen, die die rohe
Transaktionsvariable einschließt.
Vielmehr wird jeder Entscheidungsgraph von neuem erzeugt, indem
nur jene rohen Variablen verwendet werden, die in dem Entscheidungsgraphen
für die
aufbereitete Variable erscheinen, die die rohe Variable einschließt, für die der Entscheidungsgraph
erzeugt werden soll, wie es von durchschnittlichen Kennern der Technik
verstanden wird. Das bedeutet, dass ein Entscheidungsgraph für die lokale
Verteilung jeder rohen Transaktionsvariablen aufgebaut wird, der
nur auf jenen rohen Transaktionsvariablen basiert, die in dem Entscheidungsgraphen
für die
lokale Verteilung der aufbereiteten Transaktionsvariablen, die die
rohe Transaktionsvariable einschließt, erscheinen.
-
Wenn
das erste Datenmodell nicht vom Typ des Bayes'schen Netzes ist, springt der Prozess
nach dem Schritt 404 zum Schritt 412. In Schritt 412 wird
bestimmt, ob das erste Datenmodell vom Typ des natürlichen Cluster-Modells
nach Bayes ist. Wenn ja, geht das Verfahren in 4(a) weiter zu Schritt 414. In den Schritten 414, 416, 418 und 420 wird
ein zweites Datenmodell für
die rohen Transaktionsvariablen erzeugt, das ebenfalls vom Typ des
natürlichen
Cluster-Modells nach Bayes ist. Die Schritte 414, 416 und 418 werden
je Datensatz ausgeführt,
und danach erfolgt der Schritt 420.
-
In
Schritt 414 wird jedes rohe Muster (das heißt, ein
Eintrag des Datensatzes) in ein entsprechendes aufbereitetes Muster
(das heißt,
einen entsprechenden aufbereiteten Eintrag) auf der Basis einer
vorbestimmten Umformung einer Vielzahl von rohen Transaktionsvariablen
in eine Vielzahl von aufbereiteten Transaktionsvariablen überführt, wie
es von durchschnittlichen Kennern der Technik verstanden wird. In
einer Ausführungsform
wird diese vorbestimmte Umformung durch die Schicht 502 aus 5(a) ausgeführt,
obwohl die Erfindung keiner solchen Einschränkung unterliegt.
-
In
Schritt 416 wird das aufbereitete Muster in das erste Datenmodell
für aufbereitete
Transaktionsvariable eingegeben, um die Wahrscheinlichkeitsverteilung
der Gruppenzugehörigkeit
des Musters zu bestimmen, wie es von durchschnittlichen Kennern
der Technik verstanden wird. Das bedeutet, dass die Wahrscheinlichkeitsverteilung
des entsprechenden aufbereiteten Eintrags auf der Basis des ersten
Datenmodells bestimmt wird.
-
In
Schritt 418 wird die hinreichende statistische Messzahl
für das
entwickelte zweite Modell für
die rohen Daten entsprechend der Verteilung der Gruppenzugehörigkeit
erhöht,
wie es von durchschnittlichen Kennern der Technik verstanden wird.
Das bedeutet, dass die hinreichenden statistischen Messzahlen für das entwickelte
zweite Modell entsprechend der Verteilung der Gruppenzugehörigkeit,
die in Schritt 416 bestimmt wird, erhöht werden. Wenn zum Beispiel
p(Gruppe j | aufbereitetes Muster) 0,7 ist und die diskrete rohe
Variable i den Wert k im entsprechenden aufbereiteten Muster annimmt,
wird der Zähler
für die
rohe Variable i in der Gruppe j um 0,7 erhöht.
-
Sobald
alle rohen Einträge
den Prozess in den Schritten 414, 416 und 418 durchlaufen
haben, werden in Schritt 420 die Verteilungen des natürlichen
Modells nach Bayes für
die rohen Variablen (das heißt,
das zweite Modell) aus den hinreichenden statistischen Messzahlen,
die in den Iterationen in Schritt 418 angewachsen sind,
bestimmt. Das heißt,
die Verteilungen des zweiten Datenmodells werden aus den hinreichenden
statistischen Messzahlen für
das zweite Datenmodell bestimmt, wie es von durchschnittlichen Kennern
der Technik verstanden wird. In einer besonderen Ausführungsform
basiert die Bestimmung der Verteilungen des zweiten Modells ebenfalls
auf einer früheren
Verteilung, indem sie statistische Standardverfahren, wie sie üblich sind, zusätzlich zu
den hinreichenden statistischen Messzahlen anwendet, obwohl die
Erfindung keiner solchen Einschränkung
unterliegt.
-
In
einer weiteren Ausführungsform
der Erfindung wird ein zweites Datenmodell wie folgt erzeugt (anstelle
der Durchführung
der Schritte 406 und 408, der Durchführung des
Schritts 410 beziehungsweise der Schritte 414, 416, 418 und 420,
was in 4(a) nicht gesondert dargestellt
ist). In dieser Ausführungsform
wird ein erstes Modell für
die aufbereiteten Variablen zu Beginn nicht erzeugt; stattdessen
wird das zweite Modell direkt aus den Eingaben der rohen und aufbereiteten
Daten aufgebaut. Zuerst wird ein Bayes'sches Netz aufgebaut, in dem jede lokale
Verteilung einen Entscheidungsgraphen enthält, wie es bereits beschrieben
worden ist. Für
jede rohe Variable wird der Entscheidungsgraph unter Verwendung
der aufbereiteten Variablen als Eingangsvariable (als Gegenstück zu den
rohen Variablen) erzeugt. Wenn jedoch die rohe Variable, für die der Entscheidungsgraph
erzeugt wird, in einer der aufbereiteten Eingangsvariablen enthalten
ist, wird in einer Ausführungsform
diese rohe Variable aus der aufbereiteten Variablen für diesen
Entscheidungsgraphen entfernt. Wenn zum Beispiel ein Entscheidungsgraph
für die
rohe Variable, die dem Buch „Armageddon" zugeordnet ist, erzeugt
worden ist und eine der aufbereiteten Variablen „Sci Fi Books" einschließlich dieses
Buchs darstellt, wird für
den Zweck, einen Entscheidungsgraphen für „Armageddon" zu erzeugen, die
aufbereitete Variable in „Sci
Fi Books außer
Armageddon" geändert.
-
Sobald
ein zweites Datenmodell entweder durch die Ausführung der Schritte 406 und 408,
durch die Ausführung
des Schritts 410, durch die Ausführung der Schritte 414, 416, 418 und 420 oder
durch das eben beschrieben Verfahren erzeugt wurde, setzt das Verfahren
mit dem Schritt 422 fort. In Schritt 422 wird
das zweite Datenmodell ausgegeben. Die Erfindung ist nicht in der
Weise, wie die Ausgabe durchgeführt
wird, beschränkt.
In einer Ausführungsform
kann zum Beispiel die Ausgabe an ein weiteres Analyseprogramm oder
an eine Softwarekomponente erfolgen, die weitere Analysen und Schlussfolgerungen
erlaubt. Als weiteres Beispiel kann die Ausgabe auf einem Anzeigegerät angezeigt
werden oder auf einem Drucker ausgedruckt werden etc. Es wird jedoch
angemerkt, dass das Verfahren ohne die Erzeugung eines zweiten Datenmodells
mit dem Schritt 422 fortsetzt, wenn das erste Datenmodell
nicht vom Typ eines Bayes'schen
Netzes oder eines natürlichen
Cluster-Modells nach Bayes ist. In diesem Fall kann in einer Ausführungsform
in Schritt 422 eine Fehlernachricht erzeugt werden.
-
Es
wird ferner angemerkt, dass ein Modell für rohe Variable vom Typ des
Bayes'schen Netzes
(Entscheidungsgraph) leicht für
die Vorhersagezwecke herangezogen werden kann, ein Modell für rohe Variable vom
Typ des natürlichen
Cluster-Modells nach Bayes, wie es entsprechend den Schritten 414, 416, 418 und 420 in 4(a) aufgebaut wurde, hingegen nicht herangezogen
werden kann, wie den durchschnittlichen Kennern der Technik bewusst
ist. Um Vorhersagen machen zu können,
müssen
stattdessen die natürlichen
Cluster-Modelle nach Bayes sowohl für die rohen als auch für die aufbereiteten
Variablen (das heißt,
sowohl die ersten als auch die zweiten Datenmodelle) zusammen wie
folgt angewendet werden. Zuerst wird das rohe Muster in ein aufbereitetes
Muster nach einer vorbestimmten Umformung umgeformt und dem Modell
für aufbereitete
Variable (dem ersten Modell) übergeben.
Dieses Modell wiederum wird zur Bestimmung der Verteilung der Gruppenzugehörigkeit
des Musters verwendet. Zuletzt wird die Vorhersage für eine bestimmte
Variable gemacht, indem die Vorhersagen für Supercluster (das heißt, die
bedingten Verteilungen) im natürlichen Modell
nach Bayes für
die rohen Variablen unter Verwendung der Verteilung der Gruppenzugehörigkeit
zur Durchschnittsbildung gemittelt werden.
-
Nun
wird ein System zur Erzeugung eines Modells für rohe Variable aus einem Modell
für aufbereitete Variable
in Verbindung mit 4(b) beschrieben. Das System
in 4(b) umfasst ein erstes Datenmodell
für aufbereitete
Variable 430, einen Generator 432 und ein zweites
Datenmodell für
rohe Variable 434. Beide Datenmodelle 430 und 434 können in
einer Ausführungsform
als Daten auf einem computerlesbaren Medium wie etwa in einem Speicher
oder auf einem Festplattenlaufwerk gespeichert sein. Der Generator 432 kann
in einer Ausführungsform
ein Computerprogramm sein, das durch einen Prozessor von einem computerlesbaren
Medium wie einem Speicher ausgeführt
wird. Die Erfindung unterliegt jedoch keiner solchen Einschränkung.
-
Das
erste Datenmodell für
aufbereitete Variable 430 ist so gestaltet, dass die aufbereiteten
Variablen vorher aus rohen Transaktionsvariablen zusammengestellt
worden sind, wobei den rohen Transaktionsvariablen ein Datensatz
mit einer Vielzahl von Einträgen
(jeder Eintrag besitzt einen Wert für jede rohe Variable) zugrunde
liegt. Der Generator 432 erzeugt basierend auf dem ersten
Datenmodell 430 und einem Typ des ersten Datenmodells (d.h.,
Bayes'sches Netz,
natürliches
Cluster-Modell nach Bayes, etc.) das zweite Datenmodell für rohe Variable 434.
In einer Ausführungsform
wird dies nach dem Verfahren in 4(a) durchgeführt, das bereits
beschrieben wurde. So erhält
man als Ergebnis ein zweites Datenmodell für rohe Variable 434,
das ebenfalls bereits in Verbindung mit 4(a) beschrieben
wurde.
-
Bestimmung, ob eine Variable
numerisch oder nicht-numerisch ist
-
In
diesem Abschnitt wird eine Beschreibung ausgeführt, wie bestimmt werden kann,
ob eine Variable numerisch oder nicht-numerisch ist. Die Bestimmung
wird in einer Ausführungsform
durch die Schicht 502 in 5(a) vorgenommen,
um zu bestimmen, welche Verteilungsfamilie für Nicht-Transaktionsvariable
verwendet werden soll. Wenn die Variable numerisch ist, kommt gemäß dem nächsten Abschnitt
der detaillierten Beschreibung zum Bei spiel eine Gauß- oder
eine log-Gauß-Verteilung
für diese
Variable zum Einsatz. In einem weiteren Beispiel wird eine Multinomialverteilung
angewendet, wenn die Variable nicht-numerisch zu sein hat. Es wird jedoch
angemerkt, dass die Erfindung auf diese Anwendung für die in
diesem Abschnitt beschriebene Bestimmung, ob eine Variable numerisch
oder nicht-numerisch ist, nicht beschränkt ist.
-
Allgemein
wird angemerkt, dass eine grundlegende Unterscheidung bei einer
Variablen darüber
gemacht werden kann, ob sie numerisch ist oder nicht. Ein Beispiel
für eine
numerische Variable ist das Alter, während ein Beispiel für eine nicht-numerische
Variable die Berufstätigkeit
ist. Im Allgemeinen ist die Unterscheidung numerisch/nicht-numerisch
nicht unbedingt darauf bezogen, ob die Werte der Variablen Zahlen
sind oder nicht. Die Werte einer Variablen können numerisch kodiert sein.
Somit hat die Unterscheidung numerisch/nicht-numerisch damit zu
tun, ob benachbarte Werte einige Ähnlichkeiten aufweisen oder
nicht. Ein passendes Beispiel bietet zum Beispiel die Ortskennzahl.
Obwohl die Werte dieser Variablen Zahlen sind, ist die Variable
nicht-numerisch, da benachbarte Werte keinen Bezug zueinander haben
(zum Beispiel steht 212 für New
York, 213 für
Los Angeles). Im Gegensatz dazu ist die Postleitzahl eine numerische
Variable, da im Fall zweier nahe beieinander liegender Postleitzahlen
die Regionen in den Vereinigten Staaten, die durch diese Postleitzahlen
repräsentiert
werden, ebenfalls physisch nahe beieinander liegen.
-
Ein
Beispiel von numerischen verglichen mit nicht-numerischen Variablen
ist in 2(a) und 2(b) dargestellt.
Im Histogramm 200 von 2(a) liegen
die Zähler
für benachbarte
Werte nahe beieinander, womit sie folglich eine numerische Variable
darstellen. Im Gegensatz dazu liegen die Zähler für benachbarte Werte im Histogramm 202 von 2(b) weit auseinander, womit sie folglich eine
nicht-numerische Variable darstellen.
-
Nun
wird ein computerimplementiertes Verfahren zur Bestimmung, ob eine
Variable numerisch oder nicht-numerisch ist, in Verbindung mit und
mit Bezug auf 2(c) beschrieben. Das computerimplementierte Verfahren
ist bevorzugt zumindest teilweise in einem oder mehreren Programmen,
die auf einem Computer laufen, realisiert – das heißt, als Programm, das von einem
computerlesbaren Medium wie etwa einem Speicher durch einen Prozessor
eines Computers ausgeführt
wird. Die Programme sind zum Vertrieb und zur Installation und Ausführung auf
einem anderen Computer bevorzugt auf einem maschinenlesbaren Medium
wie einer Floppy-Disk oder einer CD-ROM gespeichert.
-
In
Schritt 204 wird eine Variable mit einer Vielzahl von Werten
eingegeben, wobei jeder Wert einen Zähler aufweist. In einer Ausführungsform
ist die Variable eine nicht-numerische
Variable. Der Zähler
für jede Variable
ist in einer Ausführungsform
die Anzahl der Einträge
innerhalb eines Datensatzes, die diesen Wert für die Variable haben. Als Beispiel
soll eine Variable die Werte 1, 2, 3 mit den entsprechenden Zählern 10,
15, 5 haben. Dies bedeutet, dass in einer Ausführungsform 10 Einträge den Wert
1 für die
Variable, 15 Einträge
den Wert 2 für
die Variable und 5 Einträge
den Wert 3 für
die Variable aufweisen.
-
Als
Nächstes
wird bestimmt, ob die Variable numerisch oder nicht-numerisch ist,
indem die Dichte der Zähler
von benachbarten Werten der Variablen beurteilt wird, wie bereits
in Verbindung mit 2(a) und 2(b) beschrieben
wurde. Die Schritte 206, 208, 210, 212, 214, 216, 218 und 220 aus 2(c) im Verfahren von 2(c) werden
ausgeführt,
um in einer Ausführungsform
diese Bestimmung durchzuführen.
Die Erfindung selbst ist jedoch nicht darauf beschränkt.
-
Zuerst
wird in Schritt 206 bestimmt, ob irgendein Wert der Variablen
eine nicht-numerischen
Benennung aufweist. Zum Beispiel kann eine Variable die Werte 2,
4, 8, 10 besitzen, die alle numerischen Werte darstellen. Im Gegensatz
hierzu kann eine Variable in einem ihrer Werte „rot" oder „blau" aufweisen, was einen nicht-numerischen
Wert darstellt. Wenn für
irgendeinen Wert der Variablen eine nicht-numerische Benennung bestimmt
wird, dann setzt das Verfahren mit Schritt 208 fort, in
dem befunden wird, dass die Variable selbst als nicht-numerisch
gilt. (Wenn es jedoch mehr als eine vorbestimmte Anzahl von Werten
für die
Variable gibt, wie etwa über
100 Werte, und irgendwelche dieser Werte einen nicht-numerische
Benennung ausweisen, wird diese Variable in einer Ausführungsform
als abzulehnen erachtet und wird deshalb nicht verwendet. Ferner,
wenn es nur einen Wert für
die Variable gibt, wird die Variable ungeachtet dessen, ob er einen
numerische oder eine nicht-numerische Benennung ausweist, in einer
Ausführungsform
als abzulehnen erachtet und wird deshalb nicht verwendet.)
-
Andernfalls
wird in Schritt 210 bestimmt, ob die Gesamtzahl der Werte
für die
Variable größer ist
als ein erster vorgegebener Schwellenwert. In einer Ausführungsform
liegt dieser Schwellenwert bei 100. Wenn die Anzahl unterschiedlicher
Werte für
die Variable größer ist
als 100, setzt das Verfahren mit Schritt 212 fort, in dem
die Variable als numerisch festgelegt wird.
-
Andernfalls
wird in Schritt 214 bestimmt, ob die Gesamtzahl der Werte
für die
Variable kleiner ist als ein zweiter vorgegebener Schwellenwert.
In einer Ausführungsform
liegt dieser Schwellenwert bei 8. Wenn die Anzahl unterschiedlicher
Werte für
die Variable kleiner ist als 8, dann setzt das Verfahren daher mit
Schritt 216 fort, in dem die Variable als nicht-numerisch
festgelegt wird.
-
Somit
bestimmen die Prüfungen
in den Schritten 206, 210 und 214 zuerst,
ob alle Werte der Variablen eine numerische Benennung aufweisen;
wenn einige keine numerische Benennung aufweisen, ist die Variable nicht-numerisch.
Wenn es mehr als 100 Werte (in einer Ausführungsform) gibt, wird angenommen,
dass die Variable numerisch ist, wenn es jedoch weniger als 8 Werte
(in einer Ausführungsform)
sind, wird angenommen, dass die Variable nicht-numerisch ist. Liegen
zwischen 9 und 99 Werte (in einer Ausführungsform) vor, wird eine
statistische Analyse durchgeführt,
mit der bestimmt wird, ob die Variable numerisch oder nicht-numerisch
ist.
-
In
einer Ausführungsform
wird die statistische Analyse wie folgt in Schritt 218 durchgeführt, obwohl
die Erfindung nicht derart beschränkt ist. Die statistische Analyse
wird an einem Histogramm der Werte der Variablen, wie etwa den Histogrammen
von 2(a) und 2(b),
die beschrieben wurden, vorgenommen. Zuerst wird eine Summe der
Zähler
der Werte der Variablen berechnet. Die Zähler werden dann zufällig vertauscht,
und eine zweite Summe der Zähler
der Werte wird neu berechnet. Es werden der Mittelwert und die Standardabweichung
der zweiten Summe bestimmt, und auf dieser Grundlage wird bestimmt,
ob die Variable numerisch oder nicht-numerisch ist. In einer Ausführungsform
erfolgt die Bestimmung, indem ermittelt wird, ob der Mittelwert
minus der ersten Summe größer als
das Zweifache der Standardabweichung ist; wenn ja, wird die Variable
als numerisch bestimmt, andernfalls wird die Variable als nicht-numerisch
bestimmt.
-
Weiterhin
mit Bezug auf 2(c) setzt das Verfahren, sobald
in den Schritten 208, 212, 216 oder 218 die
Bestimmung der Variablen als numerisch oder nicht-numerisch erfolgt
ist, mit dem Schritt 220 fort, in dem ausgegeben wird,
ob die Variable numerisch oder nicht-numerisch ist. Die Erfindung ist nicht
in der Weise, wie die Ausgabe durchgeführt wird, beschränkt. In
einer Ausführungsform
kann zum Beispiel die Ausgabe an ein weiteres Analyseprogramm oder
an eine Softwarekomponente erfolgen, was weitere Analysen und Schlussfolgerungen
erlaubt. Als weiteres Beispiel kann die Ausgabe auf einem Anzeigegerät angezeigt
werden oder auf einem Drucker ausgedruckt werden etc.
-
In
einer Ausführungsform
wird ein spezifischer Algorithmus zur Bestimmung, ob eine Variable
numerisch oder nicht-numerisch ist, wie folgt verwendet:
-
-
-
-
Es
wird nun ein System zur Bestimmung, ob eine Variable numerisch oder
nicht-numerisch
ist, in Verbindung mit 2(d) beschrieben.
Das System in 2(d) umfasst eine Variable 222,
einen Determinator 224 und einen Bitschalter 226.
Sowohl die Variable 222 als auch der Bitschalter 226 können in
einer Ausführungsform
als Daten auf einem computerlesbaren Medium wie etwa in einem Speicher
oder auf einem Festplattenlaufwerk gespeichert sein. Der Determinator 224 kann
in einer Ausführungsform
ein Computerprogramm sein, das durch einen Prozessor von einem computerlesbaren
Medium wie einem Speicher ausgeführt
wird. Die Erfindung selbst ist jedoch nicht darauf beschränkt.
-
Wie
in 2(d) dargestellt besitzt die
Variable 222 eine Vielzahl von Werten 1 ... n, wobei jeder
Wert einen entsprechenden Zähler
aufweist. Der Determinator 224 ermittelt, ob die Variable 222 numerisch
oder nicht-numerisch ist, indem er die Dichte der Zähler für benachbarte
Werte der Variablen beurteilt; in einer Ausführungsform wird dies nach dem
Verfahren aus 2(c), das beschrieben wurde,
durchgeführt.
Der Determinator 224 setzt dann den Bitschalter in Übereinstimmung
mit seiner Ermittlung. Der Bitschalter besitzt in einer Ausführungsform
einen Booleschen Wert wie etwa TRUE/WAHR, wenn die Variable numerisch
ist, und FALSE/FALSCH, wenn die Variable nicht-numerisch ist; die
Erfindung ist jedoch nicht darauf beschränkt.
-
Bestimmung, ob eine numerische
Variable einer Gauß-Verteilung
oder einer log-Gauß-Verteilung unterliegt
-
In
diesem Abschnitt wird eine Beschreibung ausgeführt, wie bestimmt werden kann,
ob einer numerischen (Nicht-Transaktions-)Variablen nach einer Ausführungsform
der Erfindung eine Gauß-Verteilung
oder eine log-Gauß-Verteilung
unterlegt werden sollte. Diese Bestimmung wird in einer Ausführungsform
durch die Schicht 502 in 5(a) vorgenommen.
Es wird jedoch angemerkt, dass die Erfindung nicht auf die Bestimmung
durch die Schicht beschränkt
ist. Ferner können
durchschnittliche Kenner der Technik verstehen, dass eine numerische
Variable auch anderen Verteilungen neben der Gauß-Verteilung oder log-Gauß-Verteilung unterliegen
kann.
-
Die
vorliegende Beschreibung basiert auf der Erkenntnis, dass die Verteilung,
die gewählt
werden sollte, diejenige mit der besten Vorhersage neuer Daten ist.
Um das zu erreichen, wird eine Bestimmung mit zwei Zufallsstichproben
der Variablen aus dem Datensatz gemacht – zum Beispiel solche, bei
denen jede Zufallsstichprobe 1000 Fälle (Einträge) aus dem Datensatz umfasst,
die Werte für
die Variable aufweisen. Eine der Zufallsstichproben wird dazu verwendet,
die Parameter eines Modells lernend anzupassen (z.B., die Parameter
einer Gauß-
oder einer log-Gauß-Verteilung,
wie es durchschnittliche Kenner der Technik kennen und verstehen),
während
die andere Zufallsstichprobe dazu verwendet wird, zu bestimmen,
wie gut das trainierte Modell neue Daten vorhersagt (d.h., diese
zweite Zufallsstichprobe stellt die „neuen" Daten dar).
-
Nun
wird ein computerimplementiertes Verfahren in Verbindung mit und
in Bezug auf 3(a) beschrieben. Das computerimplementierte
Verfahren ist bevorzugt zumindest teilweise in einem oder mehreren Programmen,
die auf einem Computer laufen, realisiert – das heißt, als Programm, das von einem
computerlesbaren Medium wie etwa einem Speicher durch einen Prozessor
eines Computers ausgeführt
wird. Die Programme sind zum Vertrieb und zur Installation und Ausführung auf
einem anderen Computer bevorzugt auf einem maschinenlesbaren Medium
wie einer Floppy-Disk oder einer CD-ROM gespeichert.
-
In
Schritt 228 wird ein Datensatz eingegeben. Der Datensatz
stellt vorzugsweise ein reales Ereignis oder Ereignisse dar – zum Beispiel
die Artikel, die von Nutzern einer Webseite gelesen werden, die
Fernsehsendungen, die von Zuschauern angesehen werden etc. Jeder
Eintrag besitzt mindestens ein Attribut. Der Satz aller Attribute
wird als der Attributsatz für
den Problembereich bezeichnet. Jedes Attribut besitzt einen Standardwert.
Im Allgemeinen sieht der Datensatz vorzugsweise so aus, dass die
meisten Attributwerte für
einen gegebenen Eintrag gleich dem Standardwert sind, obwohl die
Erfindung keiner solchen Einschränkung
unterliegt. Jedes Attribut wird auch als Rohvariable bezeichnet
und kann eine Transaktionsvariable oder eine Nicht-Transaktionsvariable
sein, wie es beschrieben wurde. Mindestens eine Variable ist eine
numerische Variable.
-
Als
Nächstes
wird bestimmt, ob eine Gauß-
oder eine log-Gauß-Verteilung
die numerischen Variablen auf Basis der Vielzahl von Einträgen besser
vorhersagt. Die Schritte 230, 232, 234, 236 und 238 der
Methode in 3(a) werden ausgeführt, um
in einer Ausführungsform
diese Bestimmung durchzuführen.
Die Erfindung selbst ist jedoch nicht darauf beschränkt. Es
wird auch angemerkt, dass die Begriffe Gauß- und log-Gauß-Verteilung
Kurzbegriffe darstellen, für
die bereits die durchschnittlichen Kenner der Technik erkennen,
dass sie genauer als binomiale Gauß- und binomiale log-Gauß-Verte
lungen bezeichnet werden.
-
Zuerst
werden in Schritt 230 zwei Muster, ein Trainingsmuster
und ein Testmuster, ausgewählt.
Jedes Muster umfasst die Werte für
die numerische Variable aus einer vorbestimmten Anzahl von Einträgen des
Datensatzes. In einer Ausführungsform
liegt die vorbestimmte Anzahl bei 1000, obwohl die Erfindung selbst
nicht darauf beschränkt
ist.
-
Als
Nächstes
werden in Schritt 232 Modelle für das Trainingsmuster gewonnen,
indem die Parameter eines Modells lernend angepasst werden – ein Gauß-Modell
(d.h. Verteilung) und ein log-Gauß-Modell (d.h. Verteilung).
Auf diese Weise werden in Schritt 232 durch die lernende
Anpassung der Parameter für
die Modelle, wie allgemein üblich,
sowohl ein log-Gauß-Modell als auch ein
Gauß-Modell
für das
Trainingsmuster gewonnen. Danach wird in Schritt 234 bestimmt,
welches dieser Modelle die Werte für die numerische Variable im
Testmuster besser vorhersagt. Wenn es das Gauß-Modell ist, wird diese Verteilung
in Schritt 236 ausgewählt;
andernfalls wird, wenn es das log-Gauß-Modell ist, jene Verteilung
in Schritt 238 ausgewählt.
-
In
Schritt 240 wird die gewählte Verteilung ausgegeben.
Die Erfindung ist nicht in der Weise, wie die Ausgabe durchgeführt wird,
beschränkt.
In einer Ausführungsform
kann zum Beispiel die Ausgabe an ein weiteres Analyseprogramm oder
an eine Softwarekomponente erfolgen, was weitere Analysen und Schlussfolgerungen
erlaubt. Als weiteres Beispiel kann die Ausgabe auf einem Anzeigegerät angezeigt
werden oder auf einem Drucker ausgedruckt werden etc.
-
In
einer Ausführungsform
wird, um zu bestimmen, ob eine Gauß- oder log-Gauß-Verteilung
für eine numerische
Variable eines Datensatzes verwendet werden soll, ein spezifischer
Algorithmus wie folgt angewendet:
-
-
-
Nun
wird ein System zur Bestimmung, ob eine Gauß- oder eine log-Gauß-Verteilung
für eine
numerische Variable gewählt
werden soll, in Verbindung mit 3(b) beschrieben.
Das System in 3(b) umfasst einen Datensatz 300,
einen Determinator 302 und einen Bitschalter 304.
Sowohl der Datensatz 300 als auch der Bitschalter 304 können in
einer Ausführungsform
als Daten auf einem computerlesbaren Medium wie etwa in einem Speicher
oder auf einem Festplattenlaufwerk gespeichert sein. Der Determinator 302 kann
in einer Ausführungsform
ein Computerprogramm sein, das durch einen Prozessor von einem computerlesbaren
Medium wie einem Speicher ausgeführt
wird. Die Erfindung selbst ist jedoch nicht darauf beschränkt.
-
Der
Datensatz 300 besitzt eine Vielzahl von Einträgen. Jeder
Eintrag weist einen Wert für
jede Variable aus der Vielzahl der rohen Nicht-Transaktionsvariablen
auf, wobei die Variablen mindestens eine numerische Variable enthalten,
wie es bereits in Verbindung mit dem Schritt 228 in 3(a) beschrieben wurde. Der Determinator 302 bestimmt,
ob eine Gauß- oder eine log-Gauß-Verteilung
die numerische Variable des Datensatzes besser vorhersagt (im Fall,
dass es nur eine numerische Variable gibt). In einer Ausführungsform
wird dies nach dem Verfahren aus 3(a) ausgeführt, was
bereits beschrieben wurde. Der Determinator 302 setzt dann
den Bitschalter 304 in Übereinstimmung
mit seiner Ermittlung. Der Bitschalter besitzt in einer Ausführungsform
zum Beispiel einen Booleschen Wert wie etwa TRUE/WAHR, wenn die
Verteilung, die die numerische Variable besser vorhersagt, eine
Gauß-Verteilung
ist, und FALSE/FALSCH, wenn die Verteilung, die die numerische Variable
besser vorhersagt, eine Nicht-Gauß-Verteilung ist; die Erfindung
ist jedoch nicht darauf beschränkt.