Brauche Hilfe: Kategoriale Werte gruppieren, optimale Anzahl von Kategorien und Ausnahmen findenLeute,
Ich habe ein Problem und hoffe, dass mir jemand hilft, eine Lösung zu finden oder mich zumindest in die richtige Richtung lenkt.
Nehmen wir also an, wir haben N Werkzeuge. Sie haben mehrere Attribute, sagen wir 10. Dabei kann es sich um die genaue Modellnummer, Farbe, Schnickschnack, Modifikationen usw. handeln.
Sie haben auch Hunderte von Parametern. Einige sind möglicherweise für alle Tools gleich, andere hängen möglicherweise von einer Kombination von Attributen oder einem einzelnen Attribut ab.
Und ich muss all diese vielen Hunderte von Parametern verwalten. Diese Parameter können sich ändern und von dem abweichen, was sie sein sollten, und ich kenne jeden Parameter zu jedem Zeitpunkt.
Der Ansatz ist nun folgender: Teilen Sie alle Tools in wenige große Gruppen auf, nennen wir sie Kategorien, die durch Kombinationen von Attributen definiert werden. Nehmen wir an, alle Werkzeuge von Modell A und der blauen Farbe gehören zu einer Kategorie, die rote Farbe von Modell A ist die zweite Kategorie und Modell B ist die dritte Kategorie, unabhängig von der Farbe.
Nun werden nicht alle Parameter innerhalb einer Kategorie gleich sein. Einige spezifische Parameter können zwischen der roten, grünen Glocke des Modells A und der roten, gelben Glocke des Modells A unterschiedlich sein. Also finden wir die häufigste Kombination und nennen sie „Standard“ für diese Kategorie. Alle Unterschiede müssen wir erklären und mit einem Kommentar versehen, der erklärt, warum der Parameter unterschiedlich ist.
Letztendlich werden wir zwei unbekannte Zahlen haben: die Anzahl der Kategorien, in die wir es aufteilen müssen, und die Anzahl der Ausnahmekommentare, die wir für Parameter ausfüllen müssen, die nicht mit denen von „Standard“ übereinstimmen.
Wenn wir eine Kategorie festlegen, wird es einfach sein, eine Kategorie beizubehalten, aber wir werden zu viele Ausnahmen von der „Standardeinstellung“ haben, als dass wir sie verwalten könnten. Wenn wir für fast jede Kombination von Attributen eine Kategorie erstellen, müssen wir nicht zu viele Ausnahmen von „Standard“ verwalten, aber wir werden Probleme haben, so viele Kategorien zu verwalten.
Das Problem besteht darin, anhand des Datensatzes die optimale Anzahl von Kategorien zu finden, wobei sowohl eine angemessene Anzahl von Kategorien als auch eine angemessene Anzahl von Ausnahmen vorhanden sind.
Irgendwelche Ideen, wie man dieses Problem lösen kann?
Danke,
M.
Betreff: Brauche Hilfe: Kategoriale Werte gruppieren, optimale Anzahl von Kategorien und Ausnahmen findenAlle,
Danke für den Kommentar.
Hier ist der Weg, den ich gewählt habe, um dieses Problem anzugehen.
Meine ursprüngliche Tabelle bestand aus meinen Werkzeugen als Spalten und meine Zeilen waren Werte für verschiedene Parameter. Außerdem eine Spalte für den Parameternamen.
Als erstes habe ich alle Werkzeugspalten gestapelt. Am Ende hatte ich drei Spalten: Tool, Parameter-Tag, Parameterwert. Es werden überhaupt keine Attribute erwähnt – keine Modelle, nichts...!
Der Parameterwert ist ein Zeichennominalwert, da viele Werte im HEX-Format vorliegen.
Dann habe ich die Plattform „Hierarchical Clustering“ gestartet und die folgenden Optionen ausgewählt (die von der Standardeinstellung abweichenden Optionen sind aufgeführt): „Daten sind gestapelt“ (weil ich sie nur gestapelt habe!), Es sind nur noch wenige weitere Rollen verfügbar. Umgewandelte Parameterwerte in Y, Parameter-Tag in Attribut-ID, Werkzeug in Objekt-ID.
Habe einen schönen Clusterbaum bekommen.
Unten war das Entfernungsdiagramm.
Die ersten Splits waren für den Großteil der Parameter verantwortlich. Und basierend auf der Werkzeugverteilung (denken Sie daran, dass wir in dieser Analyse nicht wissen, welches Modell, welche Farbe und welche Extras jedes Werkzeug hat) zwischen den Clustern waren sie für Folgendes verantwortlich:
1. Teil: Werkzeugmodelle
2. Split: Werkzeug-Untermodell auf einem der Modelle
3. Split: Hauptsubsystemversion
und so weiter.
Das Diagramm unten – das Distanzdiagramm – gibt meines Wissens im Grunde die durchschnittliche Entfernung aller Clustermitglieder vom Clusterdurchschnitt an. Bei Nominalwerten wird dies durch Bestellung festgelegt. In gewissem Sinne kann dies als Schätzung von Ausreißern dienen. Es ist ziemlich gesättigt, nachdem sich der Durst geteilt hat. Das heißt, wenn wir mit 2 oder 3 Clustern arbeiten würden, müssten wir viele Ausnahmen erklären. Mit 4 Clustern ist es in diesem Datensatz deutlich weniger. Wir haben 5 Cluster ausgewählt.
Man kann eine Tabelle mit Cluster-Mittelwerten speichern (was im Grunde der häufigste Wert für kategoriale Werte sein sollte), und ich glaube, wenn ich eine solche Tabelle für jede Anzahl von Clustern speichere und diese Tabellen mit der Haupttabelle verbinde (oder virtuell verbinde – (nicke an gzmorgan) kann ich erkennen, ob ein bestimmter Wert vom POR-/Standard-/Golden-Wert abweicht, und daher eine genaue Anzahl von Ausnahmen für jede Anzahl von Clustern berechnen.
Dann müssen Sie nur noch entscheiden, wie viele Cluster (Kategorien) Sie verwalten möchten und wie viele Dispositionen Sie für diese Ausnahmen vornehmen möchten.
Danke,
M.
Betreff: Brauche Hilfe: Kategoriale Werte gruppieren, optimale Anzahl von Kategorien und Ausnahmen findenTal,
Ja, Sie haben Recht, irgendwann habe ich mit der Clusteranalyse aufgehört. Das einzige Detail ist, dass ich viele Parameter als HEX-Werte habe. Wenn ich viele Skripte vermeiden möchte, die versuchen, sie zu analysieren, komme ich nur noch auf hierarchisches Clustering zurück, das mit Nominalwerten umgehen kann. Das Gute daran ist, dass ich nicht auf Hauptkomponenten zurückgreifen muss.
Ich werde mehr in einem separaten Kommentar beschreiben.Betreff: Brauche Hilfe: Kategoriale Werte gruppieren, optimale Anzahl von Kategorien und Ausnahmen findenVielen Dank für die Antwort, sie hat mir etwas zum Nachdenken gegeben. Das Wichtigste, was ich erwähnen möchte, ist, dass ich nur an Übereinstimmung/Nichtübereinstimmung interessiert bin, unabhängig vom Abstand zwischen den Werten. Wie ich bereits erwähnt habe, besteht das übergeordnete Problem darin, Hunderte von Werkzeugkonstanten/-parametern zu verwalten. In diesem Sinne muss ich wissen, ob es sich um POR oder Nicht-POR handelt, oder mit anderen Worten, ob eine Nichtübereinstimmung mit der Goldenen Parameterliste besteht. Das Problem besteht im Wesentlichen darin, eine optimale Anzahl goldener Parameterlisten zu finden. Eine andere Sache ist, dass viele Parameter im HEX-Format vorliegen. Ohne integrierte Funktionen, die dabei helfen würden, sie einfach in Dezimalzahlen zu analysieren, würde dies ein Zeichenwert bleiben, was bedeutet, dass ich nur eine kategoriale Analyse durchführen kann. Einerseits vereinfacht das die Sache, da der Abstand zwischen Parametern meines Wissens nach der Reihenfolge der Werte berechnet wird. Andererseits schränkt dies die Art der Analyse ein, die ich durchführen kann.
Mehr dazu unten in einem separaten Kommentar. Ich werde eine Methodik beschreiben, zumindest wie ich sie verstehe, und später vielleicht die endgültige Lösung.
Danke noch einmal!Betreff: Brauche Hilfe: Kategoriale Werte gruppieren, optimale Anzahl von Kategorien und Ausnahmen findenFür mich klingt das nach einem Clustering-Problem.Sie sind unsicher über die Anzahl der Cluster und deren Zusammensetzung und möchten Abweichungen innerhalb des Clusters identifizieren.Angesichts der Anzahl Ihrer Variablen müssen Sie möglicherweise die Dimensionalität vor dem Clustering reduzieren, z. B. durch die Verwendung von Hauptkomponenten.Ich würde sagen, dass meine eigenen Clustering-Bemühungen alles andere als zufriedenstellend waren – die Cluster stimmen selten mit identifizierbaren Gruppen überein (normalerweise habe ich dies zum Beispiel mit einzelnen Verbrauchern oder Studienbewerbern gemacht).Für mich hört es sich so an, als ob Sie die Cluster im Voraus definieren möchten, beispielsweise um „ähnliche“ Tools zusammenzustellen.Das Problem besteht darin, dass das, was Sie für „ähnlich“ halten, von dem abweichen kann, was die Daten für „ähnlich“ halten.Wenn Sie glauben, eine Vorstellung von den Gruppen zu haben, könnte ein Ansatz darin bestehen, dieses Ex-ante-Clustering mit dem zu vergleichen, was ein Clustering-Algorithmus erzeugt – und dann die Unterschiede zwischen den beiden zu untersuchen.
Betreff: Brauche Hilfe: Kategoriale Werte gruppieren, optimale Anzahl von Kategorien und Ausnahmen findenmiguello,
Dies erinnert an eine Profilanalyse oder K Nearest Neighbor. Erstellen Sie eine Tabelle, in der jede Zeile eine Entität ist und es außer der Entitätsspalte eine Spalte für jedes Attribut gibt. Ich schlage vor, dass es einen Code für das Attribut gibt, etwa 1=rot und 2=grün usw., dann wird die Spalte für Glocke Ihrem hypothetischen Beispiel zufolge diese Werte haben.Ich schlage vor, dass Sie Beschriftungen für die Werte angeben.
Anschließend können Sie eine oder mehrere Metriken und Gewichtungen definieren.Beispielsweise kann es sehr wichtig sein, dass bestimmte Spezifikationen übereinstimmen: Gruppe A muss ein Sprühgerät mit hoher Kapazität sein (> einige Kubikeinheiten), Gruppe C muss eine niedrige Kapazität haben (< einige Kubikeinheiten) und Gruppe B muss eine andere sein. Um die Gruppen zu verfeinern oder zu unterdefinieren, können Sie Folgendes verwenden:
- Analyse latenter Klassen – Beachten Sie, dass die Kategorien nicht codiert werden müssen, die Codierung jedoch andere Analysen vereinfachen kann.
- eine Mehrfachkorrespondenzanalyse, die wahrscheinliche Attributpaarungen aufzeigen würde
- k Methoden für den nächsten Nachbarn finden Sie unter Skriptfunktionen für den Index: KDE (statistisch) und KDTable (Matrix).
Allerdings werden Gruppen im Laufe der Zeit oft durch ihre Ergebnisse definiert. Da die Zwischenwahlen in den USA kurz bevorstehen, verwende ich sie als Beispiel. Vorhersagen werden oft über Klassen getroffen. Diese Klassen werden nach Alter, Geschlecht, Bildung, Stadt vs. Land, Bundesland, Religion, Kirchenbesuch, Anzahl der Abstimmungen in einer Zwischenwahl definiert/verfeinert, mit anderen Worten, einer Mischung aus sozialer und räumlicher Demografie, aber auch Verhalten (# Mal). abgestimmt, Kirchenbesuch).
Was die Nichtübereinstimmung der Entitäten betrifft, ist hier etwas besondere Vorsicht geboten. Nehmen wir an, dass die Einheiten der Gruppe A in ihrer Konfiguration eng übereinstimmen, mit der Ausnahme, dass ältere Einheiten nicht über drei In-situ-Sensoren verfügen und die neueren Einheiten über die Leistungsanzeige der Sensoren verfügen. Die Nichtübereinstimmung muss anhand der verfügbaren Daten berechnet werden. Wenn wir das Szenario fortsetzen, nehmen wir an, dass es 100 Metriken für alle Tools der Gruppe A gibt, aber die neueren haben die 3 zusätzlichen, also 103. Viele JMP-Plattformen gehen problemlos mit fehlenden Werten um, aber wie Sie damit umgehen, hängt davon ab, welche Analyse/Kriterien Sie möglicherweise verwenden, um eine Nichtübereinstimmung zu identifizieren.
Mir gefällt der virtuelle JMP-Beitritt.Wenn ich diese Analyse durchführen würde, könnte ich meine Tabelle mit Enity-Attributen erstellen, um die Kategorien zu definieren, und sie dann virtuell mit der Tabelle mit anderen Variablen verknüpfen. Dies macht es auch einfacher, wenn die anderen Variablen pro Lauf mehrere Werte (Zeilen) haben.
Das sind nur Krümel. Viel Erfolg bei dieser interessanten Aufgabe.