Mein Name ist Ono und ich bin leitender Tester in der JMP Japan-Abteilung des SAS Institute Japan.
Vielleicht irre ich mich und liege falsch, aber im Folgenden möchte ich zum Ausdruck bringen, was ich persönlich zum jetzigen Zeitpunkt denke.
■ Insbesondere was die erste Frage betrifft, denke ich, dass da etwas Seltsames vor sich geht, da die Ergebnisse jedes Mal anders ausfallen. (Übrigens werden im „logistischen Diagramm“ mit nur einer kontinuierlichen erklärenden Variable Zufallszahlen verwendet, um die Y-Koordinate zu bestimmen. Allerdings wird zumindest in JMP15 und höher ein fester Zufallsstartwert verwendet, sodass das Erscheinungsbild des Diagramms bei jeder Ausführung nicht unterschiedlich sein sollte. Außerdem werden für andere numerische Ergebnisse der logistischen Regression keine Zufallszahlen verwendet, und aus mathematischen Gründen sollten zumindest die Maximum-Likelihood-Punktschätzungen in jeder Statistiksoftware mit denselben Daten und Einstellungen gleich sein, außer in den beiden unten beschriebenen Situationen.) Wenn die folgende Antwort irrelevant ist, könnten Sie mir bitte mitteilen, welche numerischen Ergebnisse im Bericht jedes Mal unterschiedlich sind? Könnten Sie bitte außerdem bestätigen, ob die numerischen Ergebnisse jedes Mal anders sind, wenn Sie die Analyse mit dem Skript erneut ausführen?
■ Generell sollten Sie beim Anpassen eines Modells in JMP auf die folgenden Punkte achten:
Punkt 1 : Wenn Ihre Frage lautet, ob sich die Ergebnisse von JMP von denen anderer Statistiksoftware unterscheiden, beachten Sie bitte, dass JMP eine Methode namens Effektcodierung verwendet.
Punkt 2 : Bitte beachten Sie, dass sich (ein Teil) der JMP-Ergebnisse je nach der für die Spalte festgelegten „Skala“ ändert.
Punkt 3 : Bitte beachten Sie, dass sich (ein Teil) der JMP-Ergebnisse je nach der „Reihenfolge, in der die Werte angezeigt werden“ ändern können.
Punkt 4 : Durch die Verwendung von Skripten können Sie dieselbe Analyse erneut ausführen, ohne die Maus zu verwenden.
<Details>
Die logistische Regression für binäre, ordinale oder nominale Antworten hat nur eine globale Lösung, außer in zwei Fällen:
(1) Wenn zwischen erklärenden Variablen lineare Unabhängigkeit besteht
Dies ist beispielsweise der Fall, wenn zwischen den drei Variablen X1, X2 und X3 eine Beziehung besteht, etwa X1 + X2 = X3, oder wenn die Stichprobengröße kleiner ist als die Anzahl der erklärenden Variablen. In diesem Fall sind die Parameterschätzungen nicht eindeutig bestimmt.
(2) Wenn eine Trennung vorliegt
In diesem Fall betragen die Parameterschätzungen +∞ oder -∞. Das heißt, es gibt keine Parameterschätzungen.
Umgekehrt bietet die logistische Regressionsanalyse für binäre, ordinale oder nominale Antwortvariablen in anderen als diesen beiden Situationen eine eindeutige Lösung. Wenn die Daten- und Modelleinstellungen identisch sind, sollten und werden daher in anderen als den beiden oben genannten Situationen, selbst wenn unterschiedliche Statistiksoftware verwendet wird (*1), zumindest die Punktschätzungen (durch Maximum-Likelihood-Schätzung ermittelte Punktschätzungen) innerhalb des numerischen Fehlerbereichs identisch sein. Außerdem verwendet zumindest die logistische Regressionsanalyse von JMP keine Zufallszahlen im Optimierungsprozess (*2). Auch in dieser Hinsicht sollten die Ergebnisse also genau gleich sein (*3), wenn die Daten und Einstellungen gleich sind und es sich um dieselbe Version von JMP handelt.
(*1) Einige Routinen, die in anderer Software „logistische“ Analysen durchführen, verwenden jedoch standardmäßig eine bestrafte Wahrscheinlichkeit mit der L1-Norm oder L2-Norm anstelle einer regulären logistischen Regressionsanalyse. Außerdem können, wie weiter unten unter (b) erläutert, die Parameterschätzungen je nach Kodierung der kategorialen erklärenden Variablen unterschiedlich ausfallen. Darüber hinaus gibt es drei Arten von Tests zur Maximum-Likelihood-Schätzung: den Wald-Test, den Likelihood-Quotienten-Test und den Score-Test. Die Test- und Konfidenzintervalle variieren je nach verwendetem Test.
(*2) In einem „logistischen Diagramm“, das gezeichnet wird, wenn nur eine kontinuierliche erklärende Variable vorhanden ist, werden jedoch Zufallszahlen verwendet, um die Y-Koordinate zu bestimmen. Allerdings wird zumindest in JMP Version 15 und höher ein fester Zufallsstartwert verwendet, sodass die Ergebnisse von Lauf zu Lauf nicht variieren sollten. Die Hilfe zur aktuellen Version (18.2) kann unter der folgenden URL eingesehen werden.
(*3) Je nach der für die Verarbeitung der Daten benötigten Zeit kann der Standardtest für die Effekte jedoch der Likelihood-Ratio-Test oder der Wald-Test sein. Weitere Details zur aktuellen Version (18.2) finden Sie unter der folgenden URL:
Allerdings gibt es drei Punkte (Fallstricke), auf die Sie achten sollten (a) bis (c).
(a) In JMP ändern sich die Ergebnisse von Diagrammen und statistischen Analysen je nach der in der Datentabelle festgelegten Skala (kontinuierlich, ordinal oder nominal), auch wenn die numerischen Werte der Daten gleich sind.
(b) Die Kodierung der erklärenden Variablen (vor allem die Nominalskalenkodierung) erfolgt in JMP nach einer in der Fertigungs- und Industriestatistik üblichen Methode. Diese Kodierung wird „Effektkodierung“ genannt und würde beispielsweise bei Nominalskalen für männlich und weiblich wie folgt kodiert:
Männlich 1
Männlich 1
Weiblich -1
Weiblich -1
Weiblich -1
oder,
Männlich -1
Männlich -1
Frau 1
Frau 1
Frau 1
Im Falle einer dreiwertigen Nominalskala würde dies beispielsweise wie folgt kodiert:
Ehime 1 0
Ehime 1 0
Kagawa 0 1
Tokushima -1 -1
Tokushima -1 -1
Tokushima -1 -1
(Wenn diese Art der Effektkodierung für nominale Skalenvariablen verwendet wird, stellen die Parameterschätzungen Abweichungen von der „Zwischeneinstellung“ dar. In der Fertigungs- und Industriestatistik sind viele nominale Skalenvariablen ursprünglich kontinuierlich, und Abweichungen von den Einstellungen im aktuellen Prozess stellen oft ein Problem dar, sodass diese Art der Kodierung wahrscheinlich häufig verwendet wird.)
Für die ordinalen erklärenden Variablen wird eine andere Kodierung verwendet.
(c) Beim Sortieren der Daten wird die letzte Ebene zu „-1“ (bei nominaler Skalenkodierung). Mithilfe der Spalteneigenschaft „Reihenfolge der Werteanzeige“ können Sie auch ändern, welche Ebene zuletzt kommt. (Im obigen Beispiel ist Tokushima die letzte angezeigte Kategorie.)
Der Unterschied zwischen (b) und (c) führt zu unterschiedlichen Parameterschätzungen. Allerdings ändert sich auch bei unterschiedlichen Einstellungen in (b) und (c) die Anpassung der gesamten Daten („Vollständiger Modelltest“, „Anpassungsdetails“ und „Keine Anpassung (LOF)“) nicht.
In JMP können analytische Prozesse in einem sogenannten „Skript“ oder „JMP Scripting Language (JSL)“ gespeichert werden. Sie können das Skript über das rote Dreieckmenü oben im Bericht speichern. Klicken Sie in JMP Version 18 auf das rote Dreieck im Bericht > Skript speichern und wählen Sie In Datentabelle, um in einer Datentabelle zu speichern. Dadurch wird das Skript in der oberen linken Ecke der Datentabelle gespeichert. Mit dieser Funktion können Sie Ihre Analyse neu erstellen, ohne mit der Maus klicken zu müssen.
(Insbesondere wurde mit JMP18 eine neue Funktion namens „Workflow Builder“ hinzugefügt, mit der eine größere Bandbreite an Mausoperationen aufgezeichnet werden kann.)
■2
Somers' D ist auch in Fällen negativ, in denen ein sogenannter „negativer Korrelationskoeffizient“ vorliegt (genauso wie die Korrelationskoeffizienten von Pearson und Kendall negativ sind). Beispielsweise sind in den folgenden Daten Somers' D und Kendalls τb negativ.
dt1 = New Table("Test1",
New Column("X", Ordinal, Values([1,1,1,2,2,2,3,3,3])),
New Column("Y", Ordinal, Values([1,2,3,1,2,3,1,2,3])),
New Column("度数", Values([9,8,7, 6,5,2, 4,3,1]))
);
dt1 << Contingency(
Y( :Y ),X( :X ), Freq( :度数 ),
Measures of Association( 1 )
);
Um dieses Skript auszuführen, wählen Sie zuerst Datei > Neu > JSL-Skript aus dem JMP-Pulldown-Menü (JMP 18 für Windows). Kopieren Sie dann das obige Skript und fügen Sie es in das angezeigte Skriptfenster ein. Wählen Sie nach dem Kopieren und Einfügen im Dropdown-Menü „Bearbeiten > Skript ausführen“ aus.
Dies hängt auch mit (c) in ■1 oben zusammen, aber die Ergebnisse ändern sich je nach der Reihenfolge, in der die Daten sortiert werden. Im Standardzustand, in dem nichts unternommen wird, werden „kleinste“ und „größte“ durch die Reihenfolge definiert, in der die Daten sortiert werden (A, B, C bei alphabetischer Sortierung, 1, 2, 3 bei numerischer Sortierung).
Diese Reihenfolge kann in den Spalteneigenschaften „Reihenfolge der Werteanzeige“ geändert werden. (In älteren Versionen wurde diese Wertereihenfolge als andere Option bezeichnet.)
(1) Klicken Sie in der Datentabelle mit der rechten Maustaste auf die Spaltenüberschrift und wählen Sie Spalteninformationen.
(2) Klicken Sie auf das Kombinationsfeld „Spalteneigenschaften“ und wählen Sie „Wertanzeigereihenfolge“ aus.
(3) Wenn die Werte nicht vom kleinsten zum größten sortiert sind, wählen Sie einen Wert aus und ändern Sie anschließend mit den Auf- und Ab-Pfeilen (↑ bzw. ↓) die Reihenfolge.
(4) Nachdem Sie die Anzeigereihenfolge geändert haben, klicken Sie auf die Schaltfläche „OK“ in der oberen rechten Ecke des Bildschirms, um das Spalteninformationsfenster zu schließen.
Beispielsweise sind die folgenden Datenwerte genau dieselben wie die oben, aber da die Reihenfolge der Werte unterschiedlich ist (für die X-Variable ist „3“ als der kleinste und „1“ als der größte definiert), sind Somers‘ D und Kendalls τb im Gegensatz zu den obigen Ergebnissen positiv. (Das folgende Skript wurde mit dem aktuellen JMP 18 erstellt. In älteren Versionen funktioniert es möglicherweise nicht wie erwartet.)
dt2 = New Table( "Test2",
New Column( "X", "Ordinal",
Set Property( "Value Order", {Custom Order( {3, 2, 1} )} ),
Values( [1, 1, 1, 2, 2, 2, 3, 3, 3] )
),
New Column( "Y","Ordinal",
Set Property( "Value Order", {Custom Order( {1, 2, 3} )} ),
Set Values( [1, 2, 3, 1, 2, 3, 1, 2, 3] )
),
New Column( "度数",
Set Values( [9, 8, 7, 6, 5, 2, 4, 3, 1] )
)
);
dt2 << Contingency(
Y( :Y ),X( :X ), Freq( :度数 ),
Measures of Association( 1 )
);
Somers' D kann negativ sein (sein Minimalwert ist -1).
Um zu überprüfen, ob Ihre Analyse falsch ist, sehen Sie sich außerdem die Kontingenztabelle im Bericht an und stellen Sie sicher, dass die Werte vom kleinsten zum größten sortiert sind. Wenn die Werte nicht wie erwartet angeordnet sind, müssen Sie die Anzeigereihenfolge in den Datentabellenspalteneigenschaften „Wertanzeigereihenfolge“ ändern.