Frage zur Ridge-Penalty-Funktion in der generalisierten RegressionUnser Kunde hat einige Fragen zur verallgemeinerten Regression, nach seiner bisherigen Erfahrung möchte er „Ridge“ als Straffunktion verwenden, um das Modell zu konstruieren, weil er keinen Variableneffekt verpassen möchte, das „Elastic Net“ oder „ Lasso“ Straffunktion sind in diesem Fall nicht geeignet.
Der Kunde analysierte jedoch normalerweise Spektraldaten mit vielen Variablen (einige Daten enthalten 4500 Variablen mit 65 Zeilen), es dauerte lange und es konnte kein Ergebnis erzielt werden, wenn „Ridge“ als Penalty-Funktion verwendet wurde.
Ich hatte die Frage an den JMP-Support weitergeleitet, sie versuchen das von mir gegebene Beispiel (als Anhang, ungefähr 2400 Variablen und 65 Beobachtungen) weiter Windows 10-Maschine mit 16 GB RAM und 4 Kernen.Und JMP ging in der ersten Stunde in den Modus „Keine Antwort“, aber dann zeigte es einen Fortschrittsbalken. Es hat lange gedauert, das Kammergebnis zu erhalten (4,5 Stunden), und sogar den Rasterpunkt auf 50 geändert.
Vergleichen Sie mit der elastischen Netz- oder Lasso-Methode, diese laufen etwa 2 bis 3 Minuten, es gibt einen großen Zeitunterschied zwischen elastischem Netz/Lasso und Ridge
Darüber hinaus erwähnte der Kunde auch, dass Python die generalisierte Regression mit „Ridge“ als Penalty-Funktion schneller ausführen kann.
Ist es möglich, den Model-Fit-Prozess zu beschleunigen? So etwas wie das Vollladen der CPU?Oder kann eine andere geeignete Funktion/Plattform dem Kunden helfen, das Schätzergebnis effizienter zu erhalten?
Ich habe auch die Beispieldaten angehängt. Vielen Dank
Betreff: Frage zur Ridge-Penalty-Funktion in der generalisierten RegressionHi @clay_barker , vielen Dank für Ihre Antwort. Ich habe einige Fragen, die ich mit einem GR-Experten wie Ihnen klären muss. Unser Kunde möchte wissen, ob Sie irgendwelche Vorschläge dazu gemacht haben, Ridge als Penalty-Methode zu „vermeiden“, wenn die Daten über wie viele Variablen oder Beobachtungen analysiert werden?Darüber hinaus, nur neugierig, schlagen Sie ihnen vor, diese Spektrumdaten durch FDE zu analysieren? Vielen Dank.
Betreff: Frage zur Ridge-Penalty-Funktion in der generalisierten RegressionDanke für deine Zeit und Hilfe, Ian.
Betreff: Frage zur Ridge-Penalty-Funktion in der generalisierten RegressionDanke, Erich. Ich habe Ihr „Ridge Test“-Skript ausgeführt und es dauerte 35.000 Sekunden (ungefähr 9,5 Stunden!). Ich vermute, dass die von Ihnen erwähnte Maschine eine höhere Taktrate hat:

Es war so schlecht, dass ich mir nicht die Mühe gemacht habe, weiter in die Details zu schauen (ich verwende normalerweise die Hälfte des RAMs für eine Festplatte, und ich habe mir nicht die Mühe gemacht, dies zu ändern).
Betreff: Frage zur Ridge-Penalty-Funktion in der generalisierten RegressionVielen Dank, @Bill_Worley und @clay_barker , Ihr Vorschlag und Ihre Erklärung sind sehr hilfreich. Ich werde versuchen, meinen Kunden davon zu überzeugen, die Elastic Net- oder PLS-Methode für diesen Fall zuerst auszuprobieren.
Betreff: Frage zur Ridge-Penalty-Funktion in der generalisierten RegressionVielen Dank, @nick_shelton , Sie haben Recht, ich probiere einige Daten aus, die variabel mit unterschiedlicher Skalierung sind, und ich habe festgestellt, dass es einige Zeit sparen kann, um das Ergebnis zu erhalten, wenn ich sie standardisiere, bevor ich den Grat ausführe (in meinem Testfall kann es 60% Zeit sparen). Obwohl es immer noch länger dauert als Elastic net und Lasso, denke ich, dass es bei diesen Variablen mit unterschiedlichem Wertebereich etwas Zeit sparen kann.
Betreff: Frage zur Ridge-Penalty-Funktion in der generalisierten RegressionHallo Eric,
Ein weiterer Vorschlag für Ihren Kunden ist Partial Least Squares, und in diesem Fall ist es PLS-DA.Die Plattform ermöglicht die Variablenauswahl, verwendet jedoch alle Variablen im ersten Durchgang des Modellierungsprozesses. Es ist ziemlich schnell vorbei und könnte für den Modellvergleich nützlich sein, um zu sehen, welche Modellierungsplattform die beste Gesamtanpassung bietet.

Was PLS angeht, bin ich in diesem Fall mit Clay einverstanden.Ich habe Gen Reg verwendet, um mehrere Spektraldatensätze zu analysieren, und Elastic Net hat einen hohen Stellenwert beim Erstellen eines guten Vorhersagemodells mit Datensätzen dieser Breite.
Mit freundlichen Grüßen,
Rechnung
Betreff: Frage zur Ridge-Penalty-Funktion in der generalisierten RegressionDanke, Ian, ich habe die Beispieldaten mit dem Skript im Skriptbereich mit dem Namen "Ridge-Test" geändert und neu angehängt. Sie können das Skript zum Testen ausführen.
Betreff: Frage zur Ridge-Penalty-Funktion in der generalisierten RegressionDas klingt nach einem Fall, in dem wir das elastische Netz verwenden sollten.In Fällen wie diesem, in denen weitaus mehr Prädiktoren als Beobachtungen vorhanden sind, besteht die große Sorge bei der Variablenauswahl darin, dass Kollinearität und Redundanz dazu führen, dass uns Prädiktoren entgehen, die wirklich wichtig sind. Wenn X1 und X2 stark korreliert sind, wird so etwas wie Vorwärtsauswahl wahrscheinlich nur einen von ihnen auswählen. Die Stärke des elastischen Netzes besteht darin, dass es Gruppen korrelierter Prädiktoren auswählt, also in diesem Fall X1 und X2. Meine Vermutung ist, dass in dieser Situation "keine Variablenwirkung verpassen wollen" eigentlich bedeutet, dass sie keine Wirkung verpassen wollen, die eine echte Auswirkung haben könnte. Das elastische Netz ist genau für dieses Szenario gebaut.
Warum also sind Lasso und Elastic hier so viel schneller als die Ridge-Regression? Da sie eine Variablenauswahl durchführen, beinhalten elastische Netz- und Lasso-Berechnungen nur eine Handvoll Prädiktoren, während die Ridge-Regression eine Optimierung über alle 2400 angegebenen Variablen durchführt. Es ist auch wichtig zu beachten, dass Lasso und elastische Netze dazu neigen, die Kammregression in Bezug auf Anpassungsqualität und -interpretation zu dominieren, daher haben wir Anstrengungen unternommen, um die Berechnungszeiten für Lasso- und elastische Netzanpassungen zu verbessern. Wir waren nicht in der Lage, ähnliche Verbesserungen für die Ridge-Regression zu priorisieren.
Betreff: Frage zur Ridge-Penalty-Funktion in der generalisierten Regression@ian_jmp , hier ist der Tech Support Track, 7613489182 . Vielleicht finden Sie dort, wonach Sie suchen.
CC: @AdamMorris , @clay_barker
Betreff: Frage zur Ridge-Penalty-Funktion in der generalisierten Regression@Eric_Wang Einige Implementierungen der Ridge-Regression in Python erfordern standardisierte Eingabevariablen. Das Standardisieren der Variablen könnte die Zeit zum Auflösen nach den Koeffizienten verkürzen. Ich bin mir nicht sicher, ob die JMP-Routine automatisch eine Art Standardisierung für die Eingaben durchführt, aber Sie können experimentieren, ob die Standardisierung der ~ 4500 Eingabevariablen eine schnellere Rechenzeit ermöglicht.
Betreff: Frage zur Ridge-Penalty-Funktion in der generalisierten RegressionFWIW, ich habe eine Windows 10-Box mit 32 Kernen und 128 GB RAM. Ich bin mir nicht sicher, was JMP nutzen wird, aber ich würde gerne versuchen, einen anderen Benchmark zu bekommen, wenn es hilft. Aber die Details sind wichtig (insbesondere, wenn ein Lauf fünf Stunden dauert ...).Könnten Sie bitte das Skript für die Ridge-Regression posten? In der Tabelle habe ich es nicht gesehen.