Wie führt JMP BoxCox-Transformationen durch?Ich habe kürzlich JMP-Formeln mithilfe der Python-Codeoption in Excel konvertiert. Es ist mir jedoch nicht gelungen, Formeln (MLR) mit einer BoxCox-Transformation zu übertragen. Die Berechnungen wurden manuell anhand der Formel durchgeführt, und es kamen Zahlen im Multimillionenbereich statt der vorgesehenen Hunderttausende heraus. Weiß jemand, ob die Formel bereits zurückkonvertiert wurde oder ob ich das tun muss und was ich tun muss, um die inverse BoxCox-Transformation anzuwenden und sie wieder in den Normalwert zu bringen? Ich weiß nicht, ob ich etwas übersehe oder ob im Python-Code der Option „Formel veröffentlichen“ etwas fehlt. Ich hatte gehofft, dass mir jemand erklären könnte, wie JMP die BoxCox-Transformation durchführt, damit ich sie besser verstehe und gegebenenfalls beheben kann. Ich habe versucht, den Code der Formel anzuhängen, konnte ihn aber nicht veröffentlichen. Für jede Hilfe bin ich dankbar.
Datenexploration und -visualisierungPrädiktive Modellierung und maschinelles LernenBetreff: Wie führt JMP BoxCox-Transformationen durch?Dokumentation und Formel zur Box-Cox-Transformation finden Sie hier: https://www.jmp.com/support/help/en/18.2/index.shtml#page/jmp/boxcox-y-transformation.shtml
Betreff: Wie führt JMP BoxCox-Transformationen durch?Hallo @DWS : Das könnte auch hilfreich sein.
https://community.jmp.com/t5/Discussions/How-to-understand-Lambda1-and-Lambda2-for-Box-Cox-transformation/mp/614578#M81444
Betreff: Wie führt JMP BoxCox-Transformationen durch?Vielen Dank, das hat mir geholfen, BoxCox-Transformationen im Allgemeinen besser zu verstehen, aber nicht, wie JMP sie unbedingt durchführt. Die folgende Frage würde mir vermutlich helfen, sie zu verstehen. Sind die Zahlen, die JMP im Abschnitt „Parameterschätzungen“ für eine BoxCox-Formel anzeigt, einfach nur BoxCox-transformiert oder wurden sie bereits in verständliche Einheiten zurücktransformiert?
Betreff: Wie führt JMP BoxCox-Transformationen durch?@DWS Wenn Sie im Menü „Faktorprofilierung“ lediglich „Box-Cox-Transformation“ auswählen, wird keine Transformation angewendet und die Parameterschätzungen basieren auf Y. Wenn Sie jedoch zusätzlich mit der Box-Cox-Transformation (rotes Dreieck in der Ausgabe „Box-Cox-Transformationen“) neu anpassen, basieren die Parameterschätzungen auf dem transformierten Y.
Betreff: Wie führt JMP BoxCox-Transformationen durch?Okay, nur um das klarzustellen: Die Formel, die angezeigt wird, nachdem ich in diesem neuen Menü auf „Mit Transformation neu anpassen“ geklickt habe, diese Formel und diese Parameterschätzungen werden nicht transformiert und anschließend invertiert zurück in reale Einheiten transformiert, sondern bleiben in den transformierten Einheiten. Wenn das der Fall ist, ist es dann möglich, die Formel zu kennen, die JMP zur Rücktransformation verwendet, da es invertierte normale Einheiten in der Vorhersageformel für die gespeicherte Spalte liefert? Oder sollte ich eine normale Rücktransformation anwenden? Wissen Sie das aus Erfahrung? Oder steht das irgendwo geschrieben, weil ich es nirgends finden konnte. Entschuldigen Sie die vielen Fragen.
Betreff: Wie führt JMP BoxCox-Transformationen durch?@DWS : Wie Sie sehen, wird die Vorhersageformel beim Anpassen und Speichern rücktransformiert, sodass die Vorhersagen im ursprünglichen Y-Bereich liegen. Die Formel in der neuen Spalte ist die gesuchte Rücktransformationsformel. Ich bin mir nicht sicher, ob dies in der JMP-Hilfe steht (aber ich sehe es in meiner eigenen Arbeit). Ich bin mir jedoch nicht sicher, was Sie bezüglich der Parameterschätzungen fragen; diese werden in keiner Weise transformiert; nur Y wird transformiert.
Betreff: Wie führt JMP BoxCox-Transformationen durch?Okay, hier ist ein Beispiel mit nur einer X-Variablen und dem Achsenabschnitt zwischen den beiden Formeln. Ohne BoxCox: Achsenabschnitt: 254.077 X1: -44.880. Dieselbe Formel und Variable nach BoxCox: Achsenabschnitt: 61.472.780 X1; -43.139. Sie sehen mein Problem. Diese Zahlen stammen aus der Parameterschätzung und wurden im Formeleditor überprüft. Alle X-Variablen sind gleich und liegen nicht weit von ihren nicht transformierten Gegenstücken entfernt, aber der Achsenabschnitt ist sehr unterschiedlich. Ich weiß nicht, warum das so ist, und ich kann mir nicht vorstellen, wie das überhaupt möglich sein könnte.
Betreff: Wie führt JMP BoxCox-Transformationen durch?@DWS Was ist Ihr Lambda in der BC-Transformation? Und wie viele X haben Sie? Können Sie ein Foto von beiden Parameterschätzungen machen?
Betreff: Wie führt JMP BoxCox-Transformationen durch?
Betreff: Wie führt JMP BoxCox-Transformationen durch?@DWS Oh je. Ich glaube, die Rücktransformation ist Ihre geringste Sorge. Bevor Sie über die Interpretation von Koeffizienten nachdenken (insbesondere über einen von über 50), sollten Sie sicherstellen, dass die Terme in Ihrem Modell mit den vorhandenen Daten geschätzt werden können. Manche Schätzungen sind verzerrt, manche werden auf Null gesetzt. Das deutet darauf hin, dass Sie versuchen, einige Parameter bezüglich X zu schätzen, die stark korreliert sind, und/oder einige, die nicht schätzbar sind, weil die Struktur Ihrer Daten die Schätzung der Terme, die Sie schätzen möchten, nicht unterstützt. Ihre VIFs in Ihrer Parameterschätztabelle (falls sie nicht sichtbar sind, klicken Sie mit der rechten Maustaste auf die Parameterschätztabelle, um sie auszuwählen) helfen Ihnen, Multikollinearität (Korrelation) zu identifizieren. Wenn sich beispielsweise X1 und X2 gemeinsam bewegen, macht die Einbeziehung beider in das Modell ihre beiden Koeffizienten hinsichtlich der Interpretation unzuverlässig. Daher sollte einer von ihnen als Kandidat im Modell ausgeschlossen werden.
Wenn Lambda = -0,002 ist, ist es möglicherweise einfacher, die LN-Transformation zu verwenden. Sie ist einfacher zu interpretieren und -0,002 liegt sehr nahe bei 0 (Lambda = 0 entspricht der LN-Transformation).
Bearbeiten: mehr hier.
https://community.jmp.com/t5/Discussions/Parameter-Estimates-being-zerod/mp/751701
Betreff: Wie führt JMP BoxCox-Transformationen durch?Ich weiß die Hilfe zu schätzen, mir ist das alles völlig bewusst. Dies ist nur ein Beispiel, das ich erstellt habe, um Ihnen den signifikanten Unterschied zwischen den Achsenabschnitten von BC- und Nicht-BC-Formeln zu zeigen. Wissen Sie, warum die Achsenabschnitte so unterschiedlich sind?
Betreff: Wie führt JMP BoxCox-Transformationen durch?@DWS Nun ja … das eine basiert auf BoxCox(Y) und das andere auf Y; warum sollten die Achsenabschnitte dann nicht unterschiedlich sein? Und ich will nicht begriffsstutzig wirken.
Lassen wir das Problem der verzerrten und auf Null gesetzten Parameterschätzungen zunächst beiseite. Für beide Modelle wird die Methode der kleinsten Quadrate zur Schätzung der Parameter verwendet. Jedes Modell verfügt über unterschiedliche Parameterschätzungen, die auf der Methode der kleinsten Quadrate basieren. Sie unterscheiden sich, weil die Antworten unterschiedlich sind (eine ist Y, die andere BoxCox[Y] ).
Und wenn wir eine LN-Transformation annehmen, BoxCox[Y] = LN[Y], erhalten wir bei der Rücktransformation Y = exp[int + lineare Kombination von X] = exp[int]*exp[lineare Kombination von X]. Dieses Modell ist multiplikativ … daher hat der Achsenabschnitt in diesem Modell eine andere Auswirkung auf Y als der Achsenabschnitt im nicht-transformierten additiven Modell.
Ich hoffe, das ist hilfreich. Vielleicht verstehe ich den Grund Ihrer Frage nicht. Warum ist das so besorgniserregend?
Betreff: Wie führt JMP BoxCox-Transformationen durch?Ich weiß nicht, ob Sie dieses Bild lesen können, aber links sehen Sie die verglichenen Vorhersagewerte. Sie unterscheiden sich nicht wirklich. Rechts sehen Sie die Seiten für Nicht-BC und BC und unten ihre Parameterschätzungen. Ich kann den Vorhersagewert aus dem Blatt mithilfe der Formel „Achsenabschnitt + Schätzung (X)“ ermitteln, die in den Parameterschätzungen für Nicht-BC angegeben ist, aber nicht für BC, da die BC-Schätzung 386 Milliarden beträgt. Das ist dieselbe Zahl, die im Python-Code angegeben ist, daher kann ich den links angezeigten Wert in Excel nicht genau ermitteln. Ich möchte die tatsächliche Formel wissen, die JMP zur Berechnung der im linken Bild gezeigten Box-Cox-Vorhersage verwendet.

Betreff: Wie führt JMP BoxCox-Transformationen durch?@DWS Wenn ich das richtig verstehe, können Sie die Vorhersageformel nicht einfach über das rote Dreieckmenü oben in der Ausgabe speichern?
Betreff: Wie führt JMP BoxCox-Transformationen durch?@DWS Oder allgemein, siehe Bild (und g ist der geometrische Mittelwert von Y).
Betreff: Wie führt JMP BoxCox-Transformationen durch?Es ergibt immer noch die 3.868e+11
Betreff: Wie führt JMP BoxCox-Transformationen durch?@DWS Du machst etwas falsch und/oder interpretierst etwas falsch. Welche Formel verwendest du in Excel, um eine Vorhersage für Y zu erhalten?
Betreff: Wie führt JMP BoxCox-Transformationen durch?Python direkt aus JMP
def getModelMetadata():
return {"Ersteller": u"Kleinste Quadrate anpassen", "Modellname": u"", "Vorhergesagt": u"BoxCox(Verkaufspreis angepasst,-1,088)", "Tabelle": u"Nation Export", "Version": u"18.0.2", "Zeitstempel": u"2025-07-02T17:34:44Z"}
def getInputMetadata():
zurückkehren {
u"Ungefähre Wohnfläche": "float",
u"YSB": "Float"
}
def getOutputMetadata():
zurückkehren {
u"Pred Formula BoxCox(Verkaufspreis angepasst,-1,088)": "float"
}
def-Score(Eingangsdaten, Ausgangsdaten):
outdata[u"Vorherige Formel BoxCox(Verkaufspreis angepasst,-1,088)"] = 386761700160,329 + 153,473460505384 * indata[u"Ungefähre Wohnfläche"] + -1519,63590642121 * indata[u"YSB"]
return outdata[u"Pred Formula BoxCox(Verkaufspreis angepasst,-1,088)"]
Betreff: Wie führt JMP BoxCox-Transformationen durch?@DWS Für mich sieht es so aus, als würden Sie das transformierte Y zurückgeben. Wenn Sie Y möchten, müssen Sie es zurücktransformieren, wie in diesem Bild gezeigt (wobei g der geometrische Mittelwert von Y ist).
Betreff: Wie führt JMP BoxCox-Transformationen durch?@DWS Ich versuche es genauer zu erklären. Deine Gleichung in der Outdata-Funktion ist nicht korrekt. Wenn du diese Funktion als f(x) im angehängten Bild ansiehst und g = geometrischer Mittelwert von Y setzt, erhältst du das gewünschte Ergebnis.
D. h., sei f(x) = 386761700160,329 + 153,473460505384 * indata[u"Approx Living Area"] + -1519,63590642121 * indata[u"YSB"] im beigefügten Bild.
Betreff: Wie führt JMP BoxCox-Transformationen durch?Vielleicht bin ich nicht so gut in Mathe, aber ich habe es bisher nicht geschafft. Außerdem muss ich es in Excel und eine Funktion eingeben können. Nicht genau dieselbe Formel, aber eine sehr ähnliche. Dies ist der Formeleditor dafür. Würde das funktionieren? Ist das die korrekte wissenschaftliche Notation?

Betreff: Wie führt JMP BoxCox-Transformationen durch?@DWS Es sieht ok aus, aber ich kenne den geometrischen Mittelwert nicht und kann es daher nicht vollständig überprüfen.
Sie können es jedoch überprüfen. Wie bereits mehrfach erwähnt, speichern Sie die Vorhersageformel (rotes Dreieck oben in der Ausgabe) aus der Box-Cox-Transformationsanalyse in JMP. Dadurch wird eine neue Spalte mit Vorhersagen basierend auf dieser Rücktransformation erstellt. Die in dieser Spalte gespeicherte Formel sollte mit der oben angegebenen übereinstimmen.
Betreff: Wie führt JMP BoxCox-Transformationen durch?@DWS Und übrigens: Wir runden Lambda oft auf die nächsten 0,5. Das ist einfacher zu interpretieren, und im Box-Cox-Diagramm sieht man oft, dass der Unterschied vernachlässigbar ist. In Ihrem Fall sollten Sie Lambda = -1 wählen.