Le Tau de Kendall de FormulaBonjour
J'avais quelques questions dans un autre fil de discussion concernant la nécessité d'obtenir des pentes d'ajustement linéaire à partir d'une formule plutôt qu'à partir d'un script.
Cette question est similaire. Existe-t-il un moyen d'extraire le Tau de Kendall pour un paramètre de série chronologique donné à l'aide d'une formule (et non en utilisant l'analyse multivariée ou un script) ?
Mon objectif est de tester la tendance non paramétrique pour différentes durées à partir desquelles les données sont produites (c'est-à-dire que je voudrais définir des fenêtres glissantes, puis tester Tau de Kendall). merci ....
Re : Le Tau de Kendall de FormulaJim
Cela a très bien fonctionné.
Le seul petit problème est un avertissement concernant l'utilisation du "Tableau de données actuel" dans une formule.
JMP génère un avertissement indiquant d'utiliser une fonction Eval ou Expr Eval à la place.
J'activerais probablement puis désactiverais cette fonction une fois le calcul terminé.
Cela a été d’une grande aide. Merci beaucoup.
Re : Le Tau de Kendall de FormulaLorsque l'on utilise JMP Platforms dans une formule, tout comme lorsque vous les utilisez de manière interactive ou dans un script, l'entrée dans la plateforme doit être constituée de colonnes d'une table de données.Par conséquent, vous ne pouvez pas référencer l’entrée en créant une matrice d’entrée.Donc, ce que j'ai fait pour que votre formule fonctionne, c'est de profiter de la possibilité d'exclure des lignes de la table de données et lorsque la plate-forme sera exécutée, elle ignorera ces lignes.Voici la formule et le résultat qu'elle crée :
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;
);
Le tableau de données

Je suggère qu'une fois que vous avez créé la colonne et que la formule a été exécutée, vous accédez à la boîte de dialogue Col Info et supprimez la formule.Il laissera les valeurs statiques, mais ne réexécutera pas la formule encore et encore... ce n'est pas le plus rapide
Re : Le Tau de Kendall de FormulaEn voyant votre autre réponse sur les pentes linéaires, j'ai eu une autre idée de l'endroit où mettre l'index pour MK mais je n'ai pas fonctionné non plus.
ci-joint dans ma dernière avec cette 5ème tentative
Re : Le Tau de Kendall de FormulaBonjour
Merci pour cette excellente réponse. Ce fut en fait une révélation pour moi car cela montrait qu'une formule pouvait contenir des structures de type script, ce qui m'était inconnu.
J'ai accepté votre solution mais j'ai encore besoin de votre aide.
Téléchargement d'un exemple d'ensemble de données.
Mon besoin de MK tau concerne les lignes d'une seule colonne. Cela est en fait correctement fait (mon adaptation de votre aide précédente) dans le col Tau_WholeData.
Ce que j'essaie vraiment de faire, c'est d'obtenir une tendance d'un seul paramètre par intervalles de temps (tendance temporelle si vous voulez).
J'essaie donc de définir une fenêtre mobile (roulante) de taille 10, de démarrer la fenêtre à la ligne 10, puis de la déplacer d'un enregistrement (ligne) - en calculant à chaque fois MK Tau des 10 lignes précédentes.
J'ai fait des choses similaires avec la fonction Index (par exemple Index( Row() - 9, Row() )) pour 10 lignes et j'ai essayé 3 à 4 options différentes pour placer cela dans la formule Tau_WholeData - jusqu'à présent, sans succès.
J'apprécierais si vous pouviez me faire savoir comment je devrais changer cela.
merci ...
Re : Le Tau de Kendall de FormulaVoici le calcul sur toutes les colonnes d'analyse du tableau de données et placé dans les lignes de la colonne de formule calculée.Le tableau de données est joint, la formule est ci-dessous
