Finden des besten DatenfenstersAls Ergänzung zu meiner letzten Frage...
Ich muss das beste Fenster in einer Datentabelle identifizieren, z. B. aus Samples/Data/Functional Data/Weekly Weather Data.jmp. Ich muss die X aufeinanderfolgenden Zeilen (bewegliches Fenster) mit dem höchsten TMAX nach STATION identifizieren.Ich bin mir nicht sicher, ob ich das Fenster mit dem höchsten Durchschnitt oder dem niedrigsten Minimum verwenden soll, daher würde ich gerne wissen, wie man beides macht.
Ich bin mir wie zuvor sicher, dass es eine Möglichkeit gibt, dies mit JSL zu tun, aber wenn möglich würde ich lieber eine Funktion verwenden.
Ich habe eine Menge Dinge mit Col Moving Average() und Col Rank() ausprobiert, aber irgendwie fühlt es sich einfach unerreichbar an.
Grundlegende Datenanalyse und ModellierungDatenmischung und -bereinigungBetreff: Das beste Datenfenster findenIch muss Ihre Frage falsch verstehen, aber es hört sich so an, als ob Sie nur das Spaltenmaximum pro Station haben möchten – sehen Sie sich die letzte Spalte im Anhang und das gespeicherte Skript an, in dem die Ergebnisse tabellarisch dargestellt werden.Aber ich vermute, dass Sie etwas anderes meinen und ich verstehe nicht, was Sie mit „Fenster verschieben“ meinen.
Betreff: Das beste Datenfenster findenNein, ich möchte eine Spalte erstellen, in der neben den X-aufeinanderfolgenden Zeilen eine „1“ steht, z. B. 4 aufeinanderfolgende Zeilen, deren Mindestwert einer anderen Spalte über diese 4 Zeilen hinweg am größten ist.
Betreff: Das beste Datenfenster findenEs wäre hilfreich, wenn Sie ein Beispiel für das Endergebnis Ihrer Suche liefern könnten.
Betreff: Das beste Datenfenster findenWie wäre es mit einer Kombination? Oberst Max (um den Gipfel zu finden) mit Col Moving Average (um das Suchfenster zu erweitern)
Zusätzlich:
- Um die Spitzenposition zu markieren, vergleichen Sie einzelne Werte mit dem Maximalwert
schnell & schmutzig:
- vielleicht: 2 Spiele
- vielleicht [aber unwahrscheinlich]: eine falsche Übereinstimmung mit dem Maximalwert einer anderen Station - für Wöchentliche Wetterdaten , muss man etwas mehr Aufwand investieren:
Für jede Station fehlen einige Wochen. Um also im richtigen Fenster zu suchen, muss man Jmp per Split & Stack über die fehlenden Daten informieren (funktioniert, da keine der Wochen vollständig fehlt).

dt = Open( "$SAMPLE_DATA/Functional Data/Weekly Weather Data.jmp" );
half_window_size = 2;
dtsplit = dt << Split(
Split By( :week of year ),
Split( :TAVG ),
Group( :STATION ),
Remaining Columns( Drop All )
);
myNames=dt split << get column names();
myNames= myNames[2::Nitems(myNames)];
dtstack = dtsplit <<
Stack(
columns(myNames)
);
New Column( "window",Formula(Col Moving Average( :Data, 1, half_window_size, half_window_size, :STATION )));
New Column( "max_window",Formula( Col Maximum( :window, :STATION ) ));
New Column( "marker",Nominal,Formula( :window == :max_window ));
:Label << Set Data Type(Numeric) << set name ("week of year");
Graph Builder(
Variables(
X( :week of year ),
Y( :Data ),
Y( :window, Position( 1 ) ),
Y( :max_window, Position( 1 ) ),
Group X( :STATION, N View Levels( 1 )),
Overlay( :marker )
),
Elements(
Points( X, Y( 1 ), Overlay( 0 ) ),
Points( X, Y( 2 )),
Smoother( X, Y( 3 ) )
)
)
Betreff: Das beste Datenfenster findenEs stellte sich heraus, dass unser spezielles Problem weitaus komplizierter war, als wir ursprünglich dachten, also haben wir die Verarbeitung schließlich in Python programmiert, da wir damit besser vertraut sind.
Ich werde melden @hogi ist die Lösung, um das Thema zu schließen.