Trasformazione all'indietro della trasformazione della distribuzione t di StudentCiao a tutti,
Ho dovuto trasformare una variabile in una distribuzione t di Student, in modo semplice e veloce in JMP usando Analyze << Distribution << Selezionando la variabile, quindi cliccando sulla freccia rossa e usando la selezione continuous fit, la trasformazione inversa è altrettanto semplice? Qualcuno può spiegare le selezioni di menu corrette per far sì che ciò accada.
Grazie
Analisi e modellazione dei dati di baseRe: Trasformazione all'indietro della distribuzione t di StudentCiao @Mickyboy : non viene eseguita alcuna trasformazione; le opzioni che hai identificato ("Analizza << Distribuzione << Selezionando la tua variabile, quindi facendo clic sulla freccia rossa e utilizzando la selezione di adattamento continuo") non stanno trasformando i tuoi dati in alcun modo, piuttosto stanno solo verificando se la distribuzione selezionata (distribuzione t nel tuo caso) è plausibile come popolazione madre per i tuoi dati. O ho frainteso la tua domanda?
Re: Trasformazione all'indietro della distribuzione t di StudentCiao MRB3855,
Grazie per la risposta, hai capito poco, ma potrebbe essere il modo in cui sto spiegando, sto trasformando, da quanto sopra. la selezione di adattamento continuo che ottengo confronta le distribuzioni, la distribuzione di miglior adattamento, e diciamo in questo caso è la t dello studente, posso spuntare normale, andare alle distribuzioni normali adattate e cliccare sulla freccia rossa e selezionare salva colonne e ottenere una facile trasformazione t dello studente della mia variabile, bella e facile. Mi chiedevo solo se c'è un modo semplice per poi tornare indietro trasformando dalla trasformazione t dello studente. Spero che questo abbia più senso, se hai familiarità con r, hanno una procedura chiamata emmeans che identifica la trasformazione e può tornare indietro facilmente.
Re: Trasformazione all'indietro della distribuzione t di StudentCiao @Mickyboy : ho letto su emmeans e la documentazione che ho trovato ( https://aosmith.rbind.io/2019/03/25/getting-started-with-emmeans/#back-transforming-results ) dice
"Poiché ho utilizzato una trasformazione logaritmica, posso esprimere i risultati come differenze moltiplicative nelle mediane sulla scala (dei dati) originale.
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."
Maggiori informazioni qui: https://cran.r-project.org/web/packages/emmeans/emmeans.pdf
Quindi... stai usando la funzione di distribuzione t (pdf o cdf?) come trasformazione di "Y" in un modello lineare? E poi vuoi trasformare all'indietro gli intervalli di confidenza per tornare alla scala nativa? Se è corretto, cosa ti ha portato a usare quella trasformazione? Lo chiedo perché non mi è chiaro che tu stia effettivamente facendo quello che pensi di fare. Le trasformazioni sono solitamente usate in modo che venga soddisfatta l'ipotesi di normalità dei modelli lineari tradizionali. Scusa se ho ancora frainteso...
Re: Trasformazione all'indietro della distribuzione t di StudentCiao @MRB3855 ,
Di nuovo, grazie per la tua risposta, non fissarti su cosa sia la trasformazione o perché, voglio sapere se esiste un metodo semplice per la trasformazione inversa, semplice come la procedura di trasformazione descritta sopra, vedi sotto, ho usato lo studente t per quanto segue, ma potrebbe essere una qualsiasi delle trasformazioni che puoi vedere sotto. Per trasformare questa variabile è semplice e facile come per i passaggi sopra, quindi posso trasformare la variabile e fare ciò che devo fare, e diciamo che volessi la mediana, GMT, errore std, intervalli di confidenza attorno alla media e intervalli di previsione, in teoria potrei aggiungerli in fondo all'elenco dei valori trasformati e trasformare tutto inversamente se esiste un modo semplice per farlo. Di nuovo, questa è una domanda generale SE esiste una procedura semplice e facile come la trasformazione (di nuovo non specifica per nessuna trasformazione) per la trasformazione inversa.

Re: Trasformazione all'indietro della distribuzione t di StudentCiao @Mickyboy : OK. Mi preoccupa ancora che tu non capisca bene cosa stai facendo. Ma lascerò perdere perché non vuoi "fissarti su cosa sia la trasformazione o perché".
Se vuoi fare una retrotrasformazione, in generale, dovrai fare delle manipolazioni algebriche per risolvere ciò che vuoi. E nel tuo caso della distribuzione t, ciò dipenderà dalla funzione che hai usato. La CDF o la PDF (la PDF è la formula di densità, la CDF è la formula di distribuzione):

Se si tratta di PDF, sarà necessario risolvere manualmente la densità (link sotto) per 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
Il problema che incontrerai è che il PDF non è una funzione uno a uno ( https://en.wikipedia.org/wiki/Injective_function ) in quanto è simmetrico rispetto al parametro posizione; ciò significa che per un dato valore del PDF, ci saranno due soluzioni per x. Ad esempio, supponiamo posizione = 100. Quindi [110-posizione]^2 = [90-posizione]^2 = 100. Quindi, il PDF avrà lo stesso valore per 90 come per 110; quindi, come sceglieresti tra i due quando trasformi di nuovo il PDF in x?
Se CDF dovrai risolvere l'integrale (da -infinito a t) della PDF per t. Se questo è il caso, puoi usare la funzione "quantile t".
t Quantile( p, df ) * scale + location
Re: Trasformazione all'indietro della distribuzione t di StudentIn passato ho calcolato le trasformazioni all'indietro utilizzando approssimazioni successive utilizzando la formula di trasformazione originale. Ecco un esempio di trasformazione all'indietro della media della nuova distribuzione nei valori dei dati originali.
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 );Re: Trasformazione all'indietro della distribuzione t di StudentGrazie a entrambi @txnelson e @MRB3855 ,
@txnelson grazie mille per lo script, è fantastico e lo userò molto spesso in futuro.
@MRB3855 , il motivo per cui ho posto questa domanda è dovuto all'output di JMP per confrontare le distribuzioni nel mio post precedente. Non ho sentito parlare di molte di queste distribuzioni, Johnson Su, SHASH, Cauchy, Gamma, Weibull e ho pensato che una cosa è trasformare la tua variabile in qualcosa che si avvicini a una distribuzione normale, ed è molto facile da fare in JMP come evidenziato sopra, ma come si fa la retrotrasformazione. Ho pensato che potesse esserci un modo semplice e carino per retrotrasformare di cui non ero a conoscenza, tutto qui.
Grazie ad entrambi per aver dedicato del tempo a rispondere
Re: Trasformazione all'indietro della distribuzione t di StudentCiao @Mickyboy : capisco... e mi scuso se non mi sto spiegando bene e/o se sembro in qualche modo polemico; la mia unica intenzione qui è offrire qualche indicazione dove potrebbe rivelarsi utile. Detto questo, risponderò al tuo commento precedente "...pensavo che una cosa fosse trasformare la tua variabile in qualcosa che si avvicina a una distribuzione normale, ed è molto facile da fare in JMP come evidenziato sopra, ma come si fa la trasformazione inversa".
Sì, ci sono buone ragioni per trasformare la tua variabile in qualcosa che sia approssimativamente normale. In effetti. Ma, usare una qualsiasi di queste funzioni di distribuzione non lo farà, per definizione .
Nel tuo caso, hai applicato la funzione PDF o CDF (vedi il mio post sopra) alla tua variabile (chiamiamola X).
1. Se hai utilizzato PDF: Tutto ciò che fa è creare la curva di distribuzione t (la linea blu nella foto qui sotto). Quindi, per ogni X (asse x) otterrai un punto (asse y) sulla curva blu se applichi questa funzione.

2. Se hai usato CDF: Tutto ciò che fa è calcolare l'area sotto la curva (probabilità) del PDF. Nell'esempio seguente, l'area sotto la linea blu per X=65,104 è 0,439265. Quindi, Prob(X<65,104) = 0,439265 se X ha una distribuzione t (dati i tuoi valori di Posizione, Scala e DF). Quindi, per ogni X otterrai una probabilità. se applichi questa funzione.

Quindi, qualunque funzione tu scelga, PDF o CDF, non può dare come risultato una distribuzione normale (o distribuzione t); tutto ciò che fa è supporre che i tuoi dati provengano da una distribuzione t e quindi generare una curva e/o calcolare le probabilità. Infatti, la CDF (non importa quale sia la distribuzione di X) ha una Distribuzione Uniforme (caso speciale, a = b =1, della Distribuzione Beta), ma questo è un altro argomento per un altro giorno.
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.