JSL per bande di confidenza su grafici modello, idee migliori?Vorrei ottenere un grafico dei miei dati, sovrapposto ai risultati di un modello, con bande di confidenza ombreggiate.
Un grafico come questo di Fit Model, ad esempio, ma con intervalli di confidenza ombreggiati attorno alle linee di adattamento:

Sono consapevole che per questo particolare esempio potrei ottenere quello che cerco in FitYbyX:

Quindi questo mostra ciò che sto cercando, ma non funziona per alcuni adattamenti, ad esempio se volessi farlo e vincolarlo alla stessa pendenza per ciascun sesso.
Inoltre, vedo alcuni post in cui altri hanno richiesto cose simili ma che coinvolgono anche adattamenti curva o non lineare:
Risolto: come aggiungere gli intervalli di confidenza a un grafico di regressione logistica? - Comunità di utenti JMP
tracciare gli intervalli di confidenza nella "curva di adattamento" di JMP - Comunità degli utenti di JMP
Due dei suggerimenti in quei thread non mi soddisfano del tutto:
Uno è che ci sono fasce di confidenza nel profiler. Bello, ma questo non aiuta questo tipo di esempio in cui vorrei che gli adattamenti fossero sovrapposti.
(Apprezzo anche il fatto che potrebbero esserci troppi fattori affinché Fit Model possa persino creare quel grafico di regressione, questo potrebbe essere il motivo per cui non è così completo: c'è un'aspettativa che lo utilizzerai con modelli più complessi con cui devi esplorare profiler? Ma ci sono casi in cui è utile il grafico semplice o quello con curve sovrapposte).


Un altro era un modo carino per ombreggiare le curve nel generatore di grafici utilizzando i valori previsti salvati.
Risolto: come posso creare un intervallo di confidenza ombreggiato su un grafico del Costruttore di grafici? - Comunità di utenti JMP
Anche questo è utile in alcuni casi, ma voglio che le previsioni siano una curva uniforme che si estende oltre i dati effettivi.
Sembra che sia necessario catturare le formule per gli intervalli di confidenza dalla piattaforma, quindi utilizzarle in uno script grafico.
Penso di vedere il percorso verso questo, ma sembra così doloroso da chiedermi se mi sto perdendo un modo più intelligente prima di andare troppo avanti. Oppure ciò è già stato dimostrato da qualche parte?
Nel mio esempio, la formula è simile alla seguente (solo per il limite di confidenza inferiore):

Devo fare qualche sostituzione e creare una curva a Y per ciascun sesso:

Ecco che solo tracciare quelle linee limite inferiori, finora tutto bene...

Posso ripetere per la previsione stessa e per la linea di confidenza superiore e poi per sfumare... posso creare un poligono utilizzando una serie di punti lungo ciascuna coppia di curve... uff, vedo che posso farlo ma sembra eccessivo complicato... Mi manca un modo più semplice anche solo per questa parte di voler ombreggiare tra le funzioni Y? oppure è davvero questa la strada giusta?
In breve:
Esiste effettivamente un modo per ottenere questo tipo di trama da queste piattaforme di modellazione in modo più diretto? (in caso contrario, penso che potrebbe essere un utile elemento della lista dei desideri.).
In caso contrario, idee migliori su come creare la trama desiderata rispetto agli script grafici che ho descritto?
In caso contrario, mi sto perdendo qualcosa di più semplice del poligono per eseguire l'ombreggiatura tra le curve Y in uno script grafico?
Grazie!
Modellazione statistica avanzataAutomazione e scriptingAnalisi e modellazione dei dati di baseRi: JSL per bande di confidenza su grafici modello, idee migliori?Ciao @hardner ,
Penso che dovresti essere in grado di fare quello che vuoi attraverso la piattaforma Fit Y by X, almeno per come ho capito cosa stai cercando. Non sono sicuro della piattaforma non lineare e se puoi fare lo stesso.
Ad ogni modo, se vai sul triangolo rosso accanto all'adattamento bivariato e selezioni Adatta speciale... invece di Adatta linea, puoi eseguire trasformazioni dei dati o vincolare adattamenti lineari per avere una certa pendenza o intercetta. Usando il tuo esempio, l'ho fatto utilizzando una pendenza di 0,113.


Inoltre, le bande di confidenza si estenderanno oltre i punti dati, dovrai solo regolare l'intervallo sugli assi.

Sulla base di ciò che stavi descrivendo nel tuo post, penso che questo sia ciò che stavi cercando. O forse non ho capito bene cosa vuoi.
Spero che questo ti aiuti,
DS
Ri: JSL per bande di confidenza su grafici modello, idee migliori?Ciao @SDF1 ,
Grazie! Il problema è che quelle fasce di confidenza sono molto strette perché gli hai detto qual era la pendenza: è molto fiducioso in quella parte e si adattava solo all'intercetta. È possibile adattare la pendenza al modello di adattamento e quindi specificarlo qui per vedere le linee di adattamento sovrapposte correttamente e vedere le equazioni di adattamento ben visualizzate rispetto al modello di adattamento. E attirerà bene le fasce di fiducia. Quindi sì, questo è proprio il tipo di immagine che stavo cercando e per alcuni adattamenti FitYbyX funziona, ma quelle non sono le fasce di confidenza che desidero.
Ri: JSL per bande di confidenza su grafici modello, idee migliori?Ciao @hardner ,
Immagino di non aver ancora capito cosa stai cercando.
Hai menzionato nel tuo post originale: "... per esempio se volessi fare questo adattamento e vincolarlo alla stessa pendenza per ogni sesso." Questo è il motivo per cui nell'esempio che ho fornito ho fatto esattamente questo, fissando la pendenza per ciascun sesso.
Nel tuo post più recente, dici: "ma questi non sono gli indicatori di fiducia che voglio". Quali fasce di fiducia stai cercando? Nella piattaforma Fit Y by X sono presenti due curve di confidenza: Confid Curves Fit, per il valore atteso della media, e Confid Curves Indiv, che rappresentano i limiti di confidenza per un valore previsto individuale che riflette la variazione nell'errore e nel parametro. stime. (riassunto dalla pagina della guida in linea di JMP). Stai cercando le curve Indiv?
DS
Ri: JSL per bande di confidenza su grafici modello, idee migliori?Ciao @SDF1 ,
Grazie per aver continuato a riflettere sul mio problema. Mi dispiace di non aver reso più chiaro il mio esempio in cui, per quanto ne so, Fit Y by X non funziona per le bande di confidenza.
Il problema è che, per vincolare la pendenza in modo che sia la stessa per ogni sesso, voglio comunque che quella pendenza sia adattata. In Adatta Y per X puoi vincolare la pendenza ma devi specificare il valore, non solo che sia lo stesso per gruppo (credo).
Se eseguo l'adattamento in Fit Model, posso effettivamente adattare sia le pendenze che le intercettazioni costringendolo a creare pendenze (o intercettazioni) uguali per ciascun sesso.

Quindi posso (sotto "salva colonne") salvare valori o una formula per i limiti di confidenza media.
Di seguito ho tracciato questi limiti utilizzando il generatore di grafici a destra (è la soluzione al mio problema che non mi è piaciuta perché è limitata a punti specifici nella tabella ma mostra le fasce di confidenza che desidero per questo caso, almeno su un periodo Raggio limitato). A sinistra c'è FitYby X dove gli dico semplicemente di vincolarsi al valore di pendenza ottenuto da Fit Model. Quelle bande di confidenza (voglio quelle medie - le bande più scure e più strette - ma ho aggiunto anche l'Indiv) sono lineari - non si aprono a ventaglio con un peso più alto o più basso perché c'è una confidenza del 100% nella pendenza specificata. Nella parte centrale dei dati sono molto vicini perché quelli Fit Y by X riguardano tutti la variazione verticale, nell'adattamento alle intercetta.

Le curve Indiv non sono quello che voglio, fiducia sui singoli punti che rientrano nella fascia. Voglio fasce di confidenza sulla media, ma voglio che riguardino l'adattamento sul pendio e le intercettazioni.
Sembra che FitYbyX sia l'unica piattaforma che esegue la bella sovrapposizione dei dati originali, degli adattamenti e delle bande di confidenza, ma ci sono ragioni per cui non puoi fare tutto l'adattamento lì. Penso che le altre piattaforme come Fit Model, Nonlinear e Fit Curve possano eseguire alcuni adattamenti che non puoi eseguire in FitYbyX (come questo è solo un esempio di), e per alcuni casi in cui potresti creare tali grafici perché c'è solo il una X, e invece hanno solo opzioni per salvare i limiti di confidenza sugli adattamenti ma nessuna opzione di grafico di sovrapposizione.
Ri: JSL per bande di confidenza su grafici modello, idee migliori?Ciao @hardner ,
Adesso capisco meglio il tuo dilemma, grazie per aver dedicato del tempo a riformulare il problema che stai affrontando.
In breve, credo che tu abbia ragione, che Fit Y by X è l'unica piattaforma che consente la bella sovrapposizione degli adattamenti in cui è possibile ampliare la trama per vedere come cambiano le bande di confidenza. Inoltre, tende ad avere senso che le formule di previsione salvate nella tabella dati vadano solo al numero di righe in quella tabella dati.
Potrebbe tuttavia esserci una soluzione alternativa che è abbastanza vicina a ciò che desideri. Non è perfetto, ma è probabilmente il più vicino possibile a causa delle limitazioni delle diverse piattaforme che devi utilizzare (come altre piattaforme di adattamento del modello che non sono Adatta Y per X).
L'idea che mi è venuta è stata quella di creare alcune colonne "fittizie" con righe fittizie nella tabella dati in cui i valori sono la media prevista, in questo modo non dovrebbe rovinare le tue bande di confidenza.
Ecco i risultati utilizzando il Costruttore di grafici e il codice JSL corrispondente, come quello che hai mostrato.

Graph Builder(
Graph Spacing( 4 ),
Variables(
X( :hidden weight ),
Y( :Lower 95% Mean height ),
Y( :Upper 95% Mean height, Position( 1 ) ),
Y( :Pred Formula height, Position( 1 ) ),
Y( :hidden height, Position( 1 ) ),
Overlay( :sex )
),
Elements(
Area( X, Y( 1 ), Y( 2 ), Legend( 2 ), Area Style( "Range" ) ),
Line( X, Y( 3 ), Legend( 1 ) ),
Points( X, Y( 4 ), Legend( 1 ) )
),
SendToReport( Dispatch( {}, "X title", TextEditBox, {Set Text( "weight" )} ) )
);
Ecco i passaggi che ho seguito per arrivarci (e, ovviamente, tutto questo può essere codificato in JSL, ma richiederebbe del tempo per ogni caso con cui potresti lavorare).
1. Dopo aver eseguito il modello di adattamento come fatto in precedenza, salvare le colonne della formula di interesse (CI media pred e +/-95% media).
2. Crea due colonne fittizie: ho scelto :altezza nascosta e :peso nascosto per i nomi.
2a. Aggiungi quattro righe alla tabella dati: in questo modo puoi avere due punti (valori basso e alto) per entrambi i sessi M e F.
3. Trasforma ciascuna di queste colonne in una formula
3a. Per :hidden Height, il risultato è questo:

3b. Per :hiddenweight appare così:

NOTA: ho scelto semplicemente 0 e 200 come valori perché erano facili (l'intercetta è uno) e l'altro l'ho scelto semplicemente come estremo più alto, ma questi sarebbero impostati in base alle tue esigenze.
4. Modificare le formule per la media di previsione e gli intervalli di confidenza +/-95% in modo che invece di utilizzare :weight per eseguire i calcoli, utilizzino :hiddenweight per i calcoli. Di seguito è riportato un esempio della media di previsione.

5. Torna indietro ed riesegui il codice JSL, ma modifica le colonne :height e :weight nelle colonne fittizie corrispondenti in modo che includa queste quattro righe extra nella tabella dati.
6. L'ultima cosa che ho fatto è stata cambiare le ultime quattro righe dallo stile indicatore predefinito allo stile indicatore "/" in modo che questi punti finali del valore medio siano meno visibili come i dati stessi. Hai la possibilità di scegliere Altro... e utilizzare un personaggio diverso. Ho appena provato le doppie virgolette rivolte a destra (») da MS Word e ha funzionato perfettamente.

Nota che ho anche rinominato l'asse x in "peso" in modo che il "peso nascosto" non fosse mostrato.
Ma, in base a ciò che hai descritto, penso che questo dovrebbe gestire ciò che stai cercando. Non è il lavoro più semplice o più elegante, ma porta a termine il lavoro. Trovo che sia più semplice che provare a lavorare con i poligoni nel Costruttore di grafici, ad esempio.
Qualcosa da considerare e su cui riflettere.
Spero che questo ti aiuti,
DS
Ri: JSL per bande di confidenza su grafici modello, idee migliori?Grazie!
L'hai reso piuttosto carino nel generatore di grafici! Non voglio davvero "adulterare" la tabella (il mio caso d'uso sarà uno strumento per altri) ma una copia privata della tabella è una possibilità. Qualcosa a cui pensare comunque, anche se penso che dovrò almeno provare il metodo dello script grafico, vedere se riesco a rendere i poligoni abbastanza lisci da sembrare altrettanto belli.
Apprezzo in particolare solo altri occhi puntati su di esso per concordare che questa sembra la situazione e non c'è qualche ovvia opzione incorporata che mi manca.