Trouver la meilleure fenêtre de donnéesEn complément de ma dernière question...
Je dois identifier la meilleure fenêtre dans un tableau de données, par exemple à partir de Samples/Data/Functional Data/Weekly Weather Data.jmp, je dois identifier les X lignes consécutives (fenêtre mobile) avec le TMAX le plus élevé par STATION.Je ne sais pas s'il faut utiliser la fenêtre avec la moyenne la plus élevée ou le minimum le plus bas, j'aimerais donc savoir comment faire les deux.
Comme avant, je suis sûr qu'il existe un moyen de le faire avec JSL, mais je préférerais utiliser une fonction si possible.
J'ai essayé un tas de choses avec Col Moving Average() et Col Rank() mais cela me semble tout simplement hors de portée.
Analyse et modélisation des données de baseMélange et nettoyage des donnéesRe : Trouver la meilleure fenêtre de donnéesJe dois mal comprendre votre question, mais il semble que vous souhaitiez simplement le maximum de colonnes par station - voir la dernière colonne dans le fichier ci-joint et le script stocké pour tabuler les résultats.Mais je soupçonne que vous voulez dire autre chose et je ne comprends pas ce que vous entendez par « fenêtre mobile ».
Re : Trouver la meilleure fenêtre de donnéesNon, je cherche à créer une colonne où elle comporte un "1" à côté des lignes X consécutives, par exemple 4 lignes consécutives, dont la valeur minimale d'une autre colonne sur ces 4 lignes est la plus grande.
Re : Trouver la meilleure fenêtre de donnéesIl serait utile que vous fournissiez un exemple du résultat final de ce que vous recherchez.
Re : Trouver la meilleure fenêtre de donnéesQue diriez-vous de combiner Colonel Max (pour trouver le Pic) avec Moyenne mobile du col (pour étendre la fenêtre de recherche)
En outre:
- pour marquer la position maximale, comparez les valeurs individuelles avec la valeur maximale
rapide et sale :
- peut-être : 2 matchs
- peut-être [mais peu probable] : une mauvaise correspondance avec la valeur max d'une autre station - pour Données météorologiques hebdomadaires , il faut investir des efforts supplémentaires :
pour chaque station, il manque quelques semaines - donc pour rechercher dans la bonne fenêtre, il faut informer Jmp des données manquantes via split & stack (fonctionne car aucune des semaines n'est complètement manquante).

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 : Trouver la meilleure fenêtre de donnéesIl s'avère que notre problème particulier était beaucoup plus compliqué que ce que nous pensions initialement, nous avons donc fini par coder le traitement en python puisque nous le connaissons mieux.
je signalerai @hogi C'est comme solution pour clore le sujet.