Transformation inverse de la distribution t de StudentSalut tout le monde,
J'ai dû transformer une variable en une distribution t de Student, de manière simple et agréable dans JMP en utilisant Analyser << Distribution << En sélectionnant votre variable, puis en cliquant sur la flèche rouge et en utilisant la sélection d'ajustement continu, la transformation inverse est-elle tout aussi simple ? Quelqu'un peut-il expliquer les sélections de menu correctes pour que cela se produise.
Merci
Analyse et modélisation de données de baseRé: Transformation inverse de la distribution t de StudentBonjour @Mickyboy : Aucune transformation n'est effectuée ; les options que vous avez identifiées (« Analyser << Distribution << Sélectionner votre variable puis cliquer sur la flèche rouge et utiliser la sélection d'ajustement continu ») ne transforment en aucune façon vos données, mais vérifient simplement si la distribution sélectionnée (distribution t dans votre cas) est plausible comme population parente pour vos données. Ou est-ce que je comprends mal votre question ?
Ré: Transformation inverse de la distribution t de StudentBonjour MRB3855,
Merci pour votre réponse, vous avez un peu de mal à comprendre, mais cela pourrait être la façon dont je l'explique, je transforme, à partir de ce qui précède. la sélection d'ajustement continu, j'obtiens des distributions de comparaison, la meilleure distribution d'ajustement, et disons que dans ce cas, c'est l'étudiant t, je peux cocher normal, aller dans les distributions normales ajustées et cliquer sur la flèche rouge et sélectionner enregistrer les colonnes et obtenir une transformation t de l'étudiant facile de ma variable, agréable et facile. Je me demande juste s'il existe un moyen simple de revenir en arrière à partir de la transformation t de l'étudiant. J'espère que cela a plus de sens, si vous connaissez r, ils ont une procédure appelée emmeans qui identifie la transformation et peut facilement effectuer une transformation inverse.
Ré: Transformation inverse de la distribution t de StudentSalut @Mickyboy : J'ai lu sur emmeans et la documentation que j'ai trouvée ( https://aosmith.rbind.io/2019/03/25/getting-started-with-emmeans/#back-transforming-results ) dit
« Étant donné que j'ai utilisé une transformation logarithmique, je peux exprimer les résultats sous forme de différences multiplicatives dans les médianes sur l'échelle d'origine (données).
We can always back-transform estimates and CI limits by hand, but in emmeans() we can use the type argument for this. Using type = "response" will return results on the original scale. This works when the transformation is explicit in the model (e.g., log(resp)) and works similarly for link functions in generalized linear models."
Plus d'informations ici : https://cran.r-project.org/web/packages/emmeans/emmeans.pdf
Donc... vous utilisez la fonction de distribution t (pdf ou cdf ?) comme transformation de "Y" dans un modèle linéaire ? Et ensuite vous voulez transformer en arrière les intervalles de confiance pour revenir à l'échelle native ? Si c'est correct, qu'est-ce qui vous a amené à utiliser cette transformation ? Je demande parce que je ne vois pas clairement si vous faites réellement ce que vous pensez faire. Les transformations sont généralement utilisées pour que l'hypothèse de normalité des modèles linéaires traditionnels soit respectée. Désolé si je ne comprends toujours pas...
Ré: Transformation inverse de la distribution t de StudentSalut @MRB3855 ,
Encore une fois, merci pour votre réponse, ne vous focalisez pas sur ce qu'est la transformation ou pourquoi, je veux savoir s'il existe une méthode simple pour effectuer une transformation inverse, aussi simple que la procédure de transformation décrite ci-dessus, veuillez voir ci-dessous, j'ai utilisé Student T à cause de ce qui suit, mais cela pourrait être n'importe laquelle des transformations que vous pouvez voir ci-dessous. Pour transformer cette variable, c'est simple et agréable selon les étapes ci-dessus, donc je peux transformer la variable et faire ce que je dois faire, et disons que je voulais la médiane, le GMT, l'erreur type, les intervalles de confiance autour de la moyenne et les intervalles de prédiction, en théorie, je pourrais les ajouter au bas de la liste des valeurs transformées et tout transformer en arrière s'il existe un moyen simple de le faire. Encore une fois, c'est une question générale SI il existe une procédure aussi simple et facile que la transformation (encore une fois, pas spécifique à une transformation) pour effectuer une transformation inverse.

Ré: Transformation inverse de la distribution t de StudentSalut @Mickyboy : OK. Je crains toujours que tu ne comprennes pas bien ce que tu fais. Mais je vais laisser ça de côté car tu ne veux pas te « focaliser sur ce qu'est la transformation ou pourquoi ».
Si vous souhaitez effectuer une transformation inverse, en général, vous devrez effectuer les manipulations algébriques pour résoudre ce que vous voulez. Et dans votre cas de la distribution t, cela dépendra de la fonction que vous avez utilisée. la CDF ou la PDF (la PDF est la formule de densité, la CDF est la formule de distribution) :

Si c'est un PDF, vous devrez résoudre manuellement la densité (lien ci-dessous) pour x.
https://en.wikipedia.org/wiki/Student%27s_t-distribution#Location-scale_transformation
https://www.jmp.com/support/help/en/18.0/#page/jmp/statistical-details-for-continuous-fit-distributions.shtml#ww1161929
Le problème que vous rencontrerez est que le PDF n'est pas une fonction bijective ( https://en.wikipedia.org/wiki/Injective_function ) car il est symétrique autour du paramètre location ; cela signifie que pour une valeur donnée du PDF, il y aura deux solutions pour x. Par exemple, supposons location = 100. Alors [110-location]^2 = [90-location]^2 = 100. Ainsi, le PDF aura la même valeur pour 90 que pour 110 ; alors, comment choisiriez-vous entre les deux lors de la transformation du PDF en x ?
Si vous utilisez la fonction CDF, vous devrez résoudre l'intégrale (de -infini à t) de la fonction PDF pour t. Si c'est le cas, vous pouvez utiliser la fonction "t quantile".
t Quantile( p, df ) * scale + location
Ré: Transformation inverse de la distribution t de StudentJ'ai calculé des transformations inverses dans le passé en utilisant des approximations successives en utilisant la formule de transformation d'origine. Voici un exemple de transformation inverse de la moyenne de la nouvelle distribution vers les valeurs de données d'origine
Names Default To Here( 1 );
dt =
// Open Data Table: Semiconductor Capability.jmp
// → Data Table( "Semiconductor Capability" )
Open( "$SAMPLE_DATA/Semiconductor Capability.jmp" );
theColumn = "NPN1";
Distribution(
Continuous Distribution(
Column( as column(theColumn) ),
Process Capability( Use Column Property Specs ),
Fit Student's t(save distribution formula)
),
SendToReport(
Dispatch( {"NPN1"}, "Process Capability", OutlineBox, {Close( 1 )} )
)
);
// Find the back transform of the calculated mean of the transformed distribution
theTargetCol = Column( dt, N Cols( dt ) ) << get name;
theFormula = Char( As Column( dt, theTargetCol ) << get formula );
theTarget = Col Mean( Column( dt, theTargetCol ) );
// Change the reference to the original column used in the transformation to _X_
// so it can be used in the back transform
Substitute Into( theFormula, ":"|| theColumn, "_X_" );
// The formula needs to create a memory variable to allow for comparison.
// Add the resulting variable name to be the resulting variable when the
// formula is executed
theFormula = "theResult = " || theFormula || ";";
// Successive Approximation will be used to get the back transform
// Use the min and max of the original column to start the approximations
theMax = Col Max(as column(theColumn) );
theMin = Col Min( as column(theColumn) );
// Loop through the approximations for up to 100 loops to find the value
For( i = 1, i <= 100, i++,
_X_ = Mean( theMax, theMin );
Eval( Parse( theFormula ) );
If(
theResult > theTarget, theMax = _X_,
theResult < theTarget, theMin = _X_,
Break()
);
);
// Display the findings in the log
Show( theTarget, theResult, _X_, i );Ré: Transformation inverse de la distribution t de StudentMerci à vous deux @txnelson et @MRB3855 ,
@txnelson merci beaucoup pour ce script, c'était incroyable, et je l'utiliserai beaucoup à l'avenir.
@MRB3855 , la raison pour laquelle j'ai posé cette question était à cause de la sortie de JMP pour comparer les distributions dans mon post précédent, je n'ai pas entendu parler de beaucoup de ces distributions, Johnson Su, SHASH, Cauchy, Gamma, Weibull et j'ai pensé que c'était une chose de transformer votre variable en quelque chose qui se rapproche d'une distribution normale, et c'est très facile à faire dans JMP comme souligné ci-dessus, mais comment faites-vous une transformation en arrière. J'ai pensé qu'il pourrait y avoir un moyen simple et agréable de faire une transformation en arrière dont je n'étais pas au courant, c'est tout.
Merci à vous deux d'avoir pris le temps de répondre
Ré: Transformation inverse de la distribution t de StudentSalut @Mickyboy : Je comprends... et je m'excuse si je ne suis pas clair et/ou si je semble quelque peu argumentatif ; ma seule intention ici est de proposer quelques conseils là où ils peuvent s'avérer utiles. Cela dit, je répondrai à votre commentaire ci-dessus "...j'ai pensé que c'était une chose de transformer votre variable en quelque chose qui se rapproche d'une distribution normale, et c'est très facile à faire dans JMP comme souligné ci-dessus, mais comment faire une transformation inverse".
Oui, il existe de bonnes raisons de transformer votre variable en quelque chose qui soit approximativement normal. En effet. Mais l'utilisation de l'une de ces fonctions de distribution ne permettra pas, par définition , d'atteindre cet objectif.
Dans votre cas, vous avez appliqué la fonction PDF ou CDF (voir mon article ci-dessus) à votre variable (appelons-la X).
1. Si vous avez utilisé le format PDF : cette fonction ne fait que créer la courbe de distribution t (la ligne bleue sur l'image ci-dessous). Ainsi, pour chaque X (axe des x), vous obtiendrez un point (axe des y) sur la courbe bleue si vous appliquez cette fonction.

2. Si vous avez utilisé la fonction CDF : tout ce que cela fait est de calculer l'aire sous la courbe (probabilité) de la fonction PDF. Dans l'exemple ci-dessous, l'aire sous la ligne bleue de X=65.104 est de 0.439265. Donc, Prob(X<65.104) = 0.439265 si X a une distribution t (étant donné vos valeurs de Location, Scale et DF). Donc, pour chaque X, vous obtiendrez une probabilité. si vous appliquez cette fonction.

Ainsi, quelle que soit la fonction que vous choisissez, PDF ou CDF, elle ne peut pas aboutir à une distribution normale (ou distribution t) ; elle ne fait que supposer que vos données proviennent d'une distribution t, puis génère une courbe et/ou calcule des probabilités. En fait, la CDF (quelle que soit la distribution de X) a une distribution uniforme (cas particulier, a = b = 1, de la distribution bêta), mais c'est un autre sujet pour peut-être un autre jour.
https://en.wikipedia.org/wiki/Inverse_transform_sampling
https://math.stackexchange.com/questions/1564584/prove-uniform-distribution#:~:text=Proof%3A%20In%20the%20case%20that,X%20for%20x%E2%88%88R.