Encontrar la mejor ventana de datosComo complemento a mi última pregunta...
Necesito identificar la mejor ventana en una tabla de datos, por ejemplo, de Muestras/Datos/Datos funcionales/Datos meteorológicos semanales.jmp, necesito identificar las X líneas consecutivas (ventana móvil) con el TMAX más alto por ESTACIÓN.No estoy seguro de si usar la ventana con el promedio más alto o el mínimo más bajo, así que me gustaría saber cómo hacer ambas cosas.
Como antes, estoy seguro de que hay una manera de hacer esto con JSL, pero preferiría usar una función si es posible.
He probado un montón de cosas con Col Moving Average() y Col Rank() pero de alguna manera parece fuera de mi alcance.
Análisis y modelado de datos básicosCombinación y limpieza de datosRe: Encontrar la mejor ventana de datosDebo haber entendido mal su pregunta, pero parece que solo quiere el máximo de columnas por estación; consulte la última columna en el script adjunto y almacenado Tabulando los resultados.Pero sospecho que te refieres a otra cosa y no entiendo qué quieres decir con "ventana móvil".
Re: Encontrar la mejor ventana de datosNo, estoy buscando crear una columna donde tenga un "1" al lado de las X filas consecutivas, por ejemplo, 4 filas consecutivas, cuyo valor mínimo de otra columna en esas 4 filas sea el mayor.
Re: Encontrar la mejor ventana de datosSería útil si pudiera proporcionar un ejemplo del resultado final de lo que está buscando.
Re: Encontrar la mejor ventana de datos¿Qué tal combinar coronel max (para encontrar el pico) con Media móvil de columna (para ampliar la ventana de búsqueda)
Además:
- para marcar la posición del pico, compare los valores individuales con el valor máximo
rápido y sucio:
- tal vez: 2 partidos
- tal vez [pero poco probable]: una coincidencia incorrecta con el valor máximo de otra estación - para Datos meteorológicos semanales , hay que invertir un esfuerzo extra:
para cada estación faltan algunas semanas, por lo que para buscar dentro de la ventana correcta, hay que informar a Jmp sobre los datos que faltan mediante división y pila (funciona porque ninguna de las semanas falta por completo).

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 ) )
)
)
Re: Encontrar la mejor ventana de datosResulta que nuestro problema particular era mucho más complicado de lo que pensábamos originalmente, por lo que terminamos codificando el procesamiento en Python ya que estamos más familiarizados con eso.
voy a marcar @hogi Es como la solución para cerrar el tema.