Transformer les distributions pour mettre en évidence la répartition des valeursChère communauté JMP,
Informations sur la machine : W7 Enterprise 64 bits, JMP Pro 14.1.0
Je souhaite transformer une colonne de données pour aider à mettre en évidence la distribution des valeurs dans les plages de regroupement. Les données originales sont des nombres entiers et sont distribuées plus ou moins normalement (voir la distribution Y3 ci-dessous), mais j'aimerais transformer les données de telle manière qu'elles prennent les données dans une plage de casiers et les répartissent afin de mieux capturer le plage de données dans un bac (voir distribution Y2). J'inclus plusieurs images pour expliquer ce que j'essaie de faire : ce sont des images artificielles montrant le lien, juste là pour montrer le résultat souhaité.
Je ne pense pas que ce soit quelque chose d'aussi simple que de faire une transformation "centrer" ou "standardiser", car aucune de ces transformations ne répartit suffisamment les données (voir les parties en surbrillance dans les images). Ni le Box Cox, ni les transformations du journal. Peut-être que c'est quelque chose qui nécessiterait plus d'une transformation ?
Les suggestions sont très appréciées.
Merci!,
DS



Re : Transformer les distributions pour mettre en évidence la répartition des valeursSalut @txnelson et @Dan_Obermiller ,
Vos suggestions ont été très utiles et je pense que c’est la direction que je dois prendre.
Je pense cependant que je devrais peut-être modifier un peu les choses. Je pense que pour essayer au mieux de préserver la distribution des données d'origine, essayez de faire quelque chose comme vous le suggérez, mais avec une fonction de mélange normale à la place. Comme @txnelson l'a souligné, j'essaie essentiellement de prendre mon CDF, qui montre la propriété entière de mes données sous forme de CDF échelonné, et de le transformer en une fonction continue.
Je peux obtenir les valeurs d'emplacement, de dispersion et de probabilité d'un ajustement normal à 3 mélanges (à partir de l'option d'ajustement continu de la plate-forme de distribution) et les utiliser comme entrées vectorielles dans la fonction de mélange normale, mais je ne sais pas si cela est approprié. Par exemple, je ne sais pas si je dois travailler à partir des données originales, d'une version standardisée ou d'une version centrée.Toutes les versions aboutissent à un mélange normal de 3 comme meilleur ajustement, mais avec des dispersions et des emplacements différents (les probabilités sont toutes les mêmes, ce qui n'est pas trop surprenant.
En fin de compte, je dois prendre la distribution finale et la transmettre à une fonction logistique afin de pouvoir obtenir une probabilité d'événement comme oui/non et évaluer l'IfMax des fonctions logistiques oui/non (il y a trop de niveaux dans mon colonne pour attribuer une matrice de profit aux données).
Merci pour vos commentaires et vos contributions, car cela m'aide à réfléchir à la meilleure approche pour analyser mes données.
DS
Re : Transformer les distributions pour mettre en évidence la répartition des valeursIl semble que ce que vous devez faire est d'utiliser la capacité de JMP pour générer votre propre graphique, quelle que soit la conception souhaitée.Vous utilisez JSL pour cela.
Et oui, vous pouvez obtenir la probabilité d'une distribution donnée en utilisant Fonction Normal Distribution() ou fonction xxx Distribution() pour la distribution qui vous intéresse.Voici un exemple de la fonction Normal Distribution()
Names Default To Here( 1 );
New Window( "Example: Normal Distribution",
y = Graph Box(
Y Scale( 0, 1 ),
X Scale( -4, 4 ),
XName( "q" ),
Pen Color( "red" );
Y Function( Normal Distribution( q ), q );
)
);
Re : Transformer les distributions pour mettre en évidence la répartition des valeursJe ne pense pas qu’il existe une « meilleure » façon de faire ce que vous voulez faire. Puisque vous *AJOUTEZ* la variabilité, vous devrez faire certaines hypothèses. Par exemple, supposons que la valeur soit 65. Nous devons supposer que le 65 est "correct", mais une plus grande précision n'est pas disponible en raison d'une erreur de mesure (ou d'un arrondi de rapport ou quelque chose comme ça). Une façon d’y parvenir consiste à créer une colonne de variables normales aléatoires avec une moyenne de zéro et un écart type d’environ 0,33. Ajoutez maintenant cette colonne de nombres aléatoires à vos valeurs entières. Cela devrait « convertir » les entiers en une échelle continue. J'ai utilisé un écart type de 0,33 car 3*0,33 vaut 1, il devrait donc ajouter des nombres approximativement compris entre -1 et +1. Par conséquent, vous devez toujours être raisonnablement proche de la valeur entière.
En guise de preuve de concept, j'ai créé une colonne de 100 entiers, appelée X. J'ai créé la colonne RanNor comme un ensemble de nombres normaux aléatoires. Enfin NewX est simplement X + RanNor. Voici les résultats:

NewX a une forme très similaire à X, mais vous pouvez voir par les statistiques qu'il présente effectivement une variabilité "supplémentaire" sans altérer massivement les statistiques des données d'origine.
Est-ce ce que vous recherchez??
Je dois ajouter que les histogrammes doivent se ressembler puisque le but est de modifier les données, mais pas au point de modifier le message que véhiculent les données. Pour afficher davantage de barres comme vous le souhaitiez dans votre message d'origine, vous devrez modifier la largeur du bac comme l'a suggéré TXNelson. Ensuite, vous verrez la répartition autour de chacune des valeurs entières.
Re : Transformer les distributions pour mettre en évidence la répartition des valeursSalut @txnelson ,
Merci pour les commentaires. Oui, j'ai étudié ça, mais ce n'est pas vraiment ce que je recherche.
Ce que je pense que je dois faire, c'est transformer les données, mais je ne suis pas sûr de la meilleure façon de le faire. Si j'essaie les options « standard » de transformation des données, les distributions résultantes ne répartissent pas les données sur une plage plus large.
Par exemple, dans la dernière série d'images de distribution que j'ai publiées, le bac en surbrillance ne contient que 3 valeurs entières différentes dans ce bac (65, 66, 67) [c'est difficile à voir, je sais]. Mais ce que j'aimerais faire, c'est le transformer pour qu'il ait une distribution plus continue de, disons, 0 à 10. Si je transforme les données avec une fonction log (ln), cela ne fait que regrouper ces trois entiers en trois nouveaux nombres rationnels non entiers, sans transformer l'entier en une distribution continue.
Je pense que ce que j'aimerais faire, c'est transformer les entiers, par exemple toutes les valeurs de 66, en une distribution continue, mais faites-le pour l'ensemble des entiers, qui couvrent la plage de 27 à 90. Existe-t-il un moyen de transformer des nombres entiers en probabilité ?
Merci pour vos commentaires et votre aide !,
DS
Re : Transformer les distributions pour mettre en évidence la répartition des valeursSi vous souhaitez examiner une plage spécifique de données dans un histogramme et modifier son niveau de précision de regroupement, vous pouvez facilement le faire en étirant de manière interactive l'échelle de l'axe, puis en utilisant l'outil Main, les tailles de compartiment peuvent être modifiées.
Est-ce ce que vous devez faire ?
