Puis-je obtenir un « écart type glissant » sous forme de formule et de tableau ?J'ai un ensemble de données de séries chronologiques et ce que j'aimerais faire, c'est voir si la valeur d'une colonne (un indicateur de performance clé, KPI) est liée à la variabilité dans une autre colonne (une variable de processus, PV).Je pense que ce que j'aimerais faire est de calculer l'écart type sur les n points de données précédents et m futurs pour obtenir une estimation de l'ampleur du déplacement du PV, puis de le tracer sous la forme x par rapport au KPI sous la forme y. .J'espère montrer que le KPI augmente à mesure que la variabilité augmente.
Je peux le faire facilement dans Excel, puis importer dans JMP, mais je suis sûr qu'il existe un moyen de le faire avec une formule de colonne JMP... Je suis juste trop bête pour comprendre comment
Merci d'avance pour votre aide
Charles
Modélisation statistique avancéeAccès aux donnéesRe : Puis-je obtenir un « écart type glissant » sous forme de formule et de tableau ?@AdamChoen Voici un exemple avec un by, utilisant l'exemple de table de données Big Class.Les données doivent être triées par la colonne "Par", alors ouvrez le tableau, triez les données par la variable Sexe.Créez ensuite une nouvelle colonne et définissez la formule de la nouvelle colonne sur
As Constant(
rollingSize = 5;
theStart = 1;
);
If( Lag( :sex ) != :sex,
theStart = Row()
);
If( (Row() + 1) - RollingSize >= theStart,
Std Dev( :weight[Index( (Row() + 1) - rollingSize, Row() )] );
,
.
);
</CODE></PRE></LINGO-BODY><LINGO-SUB id="lingo-sub-681817" slang="en-US" mode="NONE">Re : Puis-je obtenir un « écart type glissant » sous forme de formule et de tableau ?</LINGO-SUB><LINGO-BODY id="lingo-body-681817" slang="en-US" mode="NONE"><P>Pouvez-vous ajouter une option par groupe ?</P></LINGO-BODY><LINGO-SUB id="lingo-sub-476338" slang="en-US" mode="NONE">Re : Puis-je obtenir un « écart type glissant » sous forme de formule et de tableau ?</LINGO-SUB><LINGO-BODY id="lingo-body-476338" slang="en-US" mode="NONE"><P>Je cherchais un moyen de calculer un écart type glissant et je suis tombé sur votre solution.Merci.J'ai configuré :Winsize comme variable de table (que j'ai définie égale à 10).</P><PRE><CODE class=" language-jsl">If( :Sample ID >= :WinSize,
Std Dev( :Lvalue[Index( (Row() + 1) - :WinSize, Row() )] )
Cependant, j'ai remarqué que les lignes exclues sont utilisées dans le calcul StdDev.Existe-t-il un moyen de supprimer les lignes exclues ?en supposant qu'il y ait des lignes N_Excl dans la fenêtre de données glissantes actuelle, deux implémentations différentes me viennent à l'esprit :
- signaler l'écart type en fonction de ces points de données : WinSize-N_Excl
- étendre la fenêtre pour qu'il y ait :WinSize "bons" points de données dans la fenêtre
Je ne sais pas non plus comment mettre en œuvre.
Merci d'avoir réfléchi !
Re : Puis-je obtenir un « écart type glissant » sous forme de formule et de tableau ?Merci!Re : Puis-je obtenir un « écart type glissant » sous forme de formule et de tableau ?C'est une formule.Mon erreur en supposant que vous compreniez que :Height est une référence à la colonne sur laquelle effectuer les écarts types.Le : : devant le nom de la colonne est un élément de portée, indiquant à JMP que la hauteur est une colonne dans la table de données, et non une variable de mémoire.La colonne Hauteur se trouve dans l’exemple de tableau de données Big Class.Il s'agit probablement du tableau de données le plus connu de la communauté JMP.Il est beaucoup utilisé pour illustrer comment faire différentes choses dans JMP.Il est disponible dans la bibliothèque d'exemples de données sous le menu déroulant Aide.
Pour copier la formule dans l'éditeur de formule, ouvrez l'éditeur (créez une nouvelle colonne, accédez à l'en-tête de la colonne, faites un clic droit et sélectionnez "Formule")

déplacez votre curseur sur la case "pas de formule",

et faites un clic droit et "Coller" le texte dans la case

L'éditeur de formule crée un affichage amélioré de la formule.Pour modifier davantage la formule, double-cliquez sur n'importe quel espace vide dans la formule et une fenêtre d'édition apparaîtra.

L'éditeur de formules est un éditeur complet qui peut être utilisé sous une forme interactive pour créer des formules de colonnes.Ce que j'illustre ci-dessus, c'est comment coller une formule déjà définie dans l'éditeur.
Re : Puis-je obtenir un « écart type glissant » sous forme de formule et de tableau ?Merci Jim
Cependant, je suis gêné de dire que je ne comprends pas très bien votre réponse...
Je n'arrive pas à copier cela dans ma formule de colonne et je n'arrive pas à trouver la fonction :height, donc je suppose qu'il s'agit de JSL ?
Si tel est le cas, existe-t-il un moyen de récupérer les valeurs de quelques lignes en arrière et de quelques lignes en avant ?Si je comprends la fonction Index, cela me donne une série d'entiers, donc je pense que INDEX(1,Row() ) me donnerait une série de nombres de 1 à ma ligne actuelle ?
Merci encore
Charles
Re : Puis-je obtenir un « écart type glissant » sous forme de formule et de tableau ?Cela devrait fonctionner pour ce que vous voulez
Std Dev( :height[Index( 1, Row() )] )
ou pour faire un STD DEV roulant à 6 rangs
Std Dev( :height[Index( Row() - 5, Row() )] )