Kendalls Tau von FormulaHallo
Ich hatte in einem anderen Thread einige Fragen bezüglich der Notwendigkeit, lineare Anpassungssteigungen aus einer Formel und nicht aus einem Skript zu erhalten.
Diese Frage ist ähnlich. Gibt es eine Möglichkeit, Kendalls Tau für einen bestimmten Zeitreihenparameter mithilfe einer Formel zu extrahieren (und nicht mithilfe der multivariaten Analyse oder eines Skripts)?
Mein Ziel ist es, den nichtparametrischen Trend für verschiedene Zeiträume zu testen, aus denen die Daten erstellt werden (z. B. möchte ich rollierende Fenster festlegen und dann testen). Kendalls Tau). Danke ....
Betreff: Kendalls Tau aus FormulaJim
Das hat super funktioniert.
Das einzige kleine Problem ist eine Warnung bei der Verwendung von „Aktuelle Datentabelle“ innerhalb einer Formel.
JMP gibt eine Warnung aus, die besagt, dass stattdessen eine Eval- oder Expr Eval-Funktion verwendet werden soll.
Ich würde diese Funktion wahrscheinlich aktivieren und dann deaktivieren, nachdem die Berechnung abgeschlossen ist.
Das war eine große Hilfe. Vielen Dank.
Betreff: Kendalls Tau aus FormulaWenn man JMP-Plattformen in einer Formel verwendet, genauso wie wenn man sie interaktiv oder in einem Skript verwendet, muss die Eingabe in die Plattform Spalten aus einer Datentabelle sein.Daher können Sie die Eingabe nicht durch Erstellen einer Eingabematrix referenzieren.Damit Ihre Formel funktioniert, habe ich mir die Möglichkeit zunutze gemacht, Zeilen aus der Datentabelle auszuschließen. Wenn die Plattform ausgeführt wird, werden diese Zeilen ignoriert.Hier ist die Formel und die Ausgabe, die sie erzeugt:
dt = Current Data Table();
If( Row() >= 10,
currentRow = Row();
dt << clear rowstates;
dt << select where( Row() <= currentRow - 10 | Row() > currentRow );
excludeRows = dt << get selected rows;
dt << hide and exclude;
mv = dt << Multivariate(
invisible,
Y( :TimeStep, :F ),
Estimation Method( "Row-wise" ),
Matrix Format( "Square" ),
Scatterplot Matrix( Density Ellipses( 0 ), Shaded Ellipses( 0 ) ),
Kendall's τ( 1 )
);
tau = (Report( mv )["Nonparametric: Kendall's τ"][Number Col Box( 1 )] << get)[1];
mv << close window;
If( Row() == N Rows( dt ),
dt << clear rowstates
);
tau;
);
Die Datentabelle

Ich schlage vor, dass Sie, sobald Sie die Spalte erstellt und die Formel ausgeführt haben, zum Dialogfeld „Spalteninfo“ gehen und die Formel entfernen.Die statischen Werte bleiben erhalten, die Formel wird jedoch nicht immer wieder ausgeführt. Dies ist nicht die schnellste Methode
Betreff: Kendalls Tau aus FormulaAls ich Ihre andere Antwort zu den linearen Steigungen sah, bekam ich eine andere Idee, wo ich den Index für MK platzieren sollte, aber es funktionierte auch nicht.
beigefügt in meinem neuesten mit diesem 5. Versuch
Betreff: Kendalls Tau aus FormulaHallo
Vielen Dank für diese tolle Antwort. Das war tatsächlich eine Offenbarung für mich, denn es zeigte, dass Formeln skriptähnliche Strukturen enthalten können, was mir unbekannt war.
Ich habe Ihre Lösung akzeptiert, brauche aber noch einmal Ihre Hilfe.
Hochladen eines Beispieldatensatzes.
Mein Bedarf an MK Tau liegt in Zeilen für eine einzelne Spalte. Das ist in der Spalte Tau_WholeData tatsächlich richtig gemacht (meine Anpassung aus Ihrer vorherigen Hilfe).
Was ich wirklich versuche, ist, einen Trend eines einzelnen Parameters in Zeitschritten zu ermitteln (zeitlicher Trend, wenn Sie so wollen).
Ich versuche also, ein bewegliches (rollendes) Fenster der Größe 10 festzulegen, das Fenster bei Zeile 10 zu starten und es dann um einen Datensatz (Zeile) zu verschieben – wobei jedes Mal MK Tau der vorherigen 10 Zeilen berechnet wird.
Ich habe ähnliche Dinge mit der Indexfunktion (z. B. Index( Row() - 9, Row() )) für 10 Zeilen gemacht und 3-4 verschiedene Optionen ausprobiert, um dies in die Tau_WholeData-Formel einzufügen – bisher kein Erfolg.
Ich würde mich freuen, wenn Sie mir mitteilen könnten, wie ich das ändern könnte.
Danke ...
Betreff: Kendalls Tau aus FormulaHier ist die Berechnung über alle Analysespalten in der Datentabelle hinweg und in den Zeilen der berechneten Formelspalte platziert.Die Datentabelle ist beigefügt, die Formel finden Sie unten
