Come tracciare le singole curve di adattamento del picco sull'istogramma (2 miscele normali montate)Ciao,
Ho un set di dati che contiene più picchi, che sono in grado di adattare bene usando l'opzione Fitted Normal 2 Mixture del grafico dell'istogramma.Questo restituisce la media e il sigma per ciascun picco, nonché i pesi come valori numerici e sovrappone la curva di adattamento all'istogramma.C'è un modo per visualizzare anche gli adattamenti dei picchi individuali sovrapposti all'istogramma?
Grazie!
Denny
Re: Come tracciare le singole curve di adattamento del picco sull'istogramma (montato 2 miscele normali)Ciao @txnelson ,
Si può fare qualcosa di simile sul normale grafico dei quantili? Mi piacerebbe produrre qualcosa come l'allegato (due modalità separate) ma farlo in modo automatizzato (riproducibile), non solo usando Modifica> Copia contenuto cornice e Modifica Incolla contenuto cornice dopo aver aggiunto personalizzazioni a un grafico e incollato in un altro grafico.

@Patrick Giuliano
Re: Come tracciare le singole curve di adattamento del picco sull'istogramma (montato 2 miscele normali)Prova questo:
Names Default To Here( 1 );
platform = Data Table( "Big Class.jmp" ) <<
Distribution(
Continuous Distribution(
Column( :height ),
Fit Distribution( Normal Mixtures( Clusters( 2 ) ) )
)
);
Wait( 0 );
Report( platform )[Outline Box( "Distributions" )][Outline Box( "height" )][
Outline Box( "Fitted Normal 2 Mixture" )][Outline Box( "Parameter Estimates" )][
Table Box( 1 )] << Make Into Data Table;
ed eccolo con una colonna Per:
Names Default To Here( 1 );
platform = Data Table( "Big Class.jmp" ) <<
Distribution(
Continuous Distribution(
Column( :height ),
Fit Distribution( Normal Mixtures( Clusters( 2 ) ) )
),
by(:sex)
);
Wait( 0 );
Report( platform[1] )[Outline Box( 1 )][Outline Box( "height" )][
Outline Box( "Fitted Normal 2 Mixture" )][Outline Box( "Parameter Estimates" )][
Table Box( 1 )] << Make Combined Data Table;
La differenza con una colonna Per è che "piattaforma" ora ha un elenco di piattaforme, non una singola piattaforma. Quindi, dobbiamo indicizzare con un [1] per ottenere la prima voce nell'elenco. Inoltre, la prima casella di struttura nel report contiene ora un valore per gruppo. Quindi, è più facile indicizzarlo per numero anziché per nome.
Re: Come tracciare le singole curve di adattamento del picco sull'istogramma (montato 2 miscele normali)Ciao, ho provato questa tecnica usando (come descritto nel post)
dist =Distribution( Continuous Distribution(
Column( :Column 1 ),
Fit Distribution( Normal Mixtures( Clusters( 2 ) ) ) ));
per un altro mio datatable di dati e funziona bene. Tuttavia, voglio essere in grado di acquisire le stime dei parametri utilizzando <
ero solito
Fit Distribution( Normal Mixtures( Clusters( 2 ) ) ) ))<<MAKE into="" data="https://community.jmp.com/" table=""></MAKE>
Probabilmente ho commesso qualche errore elementare, ma non riesco a trovarlo.
Inoltre, se dovessi riuscire, con il gentile aiuto della Comunità, mi piacerebbe molto imparare come includere i valori per parametro, se l'avessi usato (devo eseguire questa analisi per molti sottoinsiemi nella tabella dei dati).
Grazie mille in anticipo.
Poul Ravn Sørensen
Re: Come tracciare le singole curve di adattamento del picco sull'istogramma (montato 2 miscele normali)Esattamente quello che stavo cercando. Grazie!Re: Come tracciare le singole curve di adattamento del picco sull'istogramma (montato 2 miscele normali)Ci sono un paio di modi per farlo.Entrambi richiedono l'aggiunta di JSL al tuo codice.Il metodo 1 consiste nel fare clic con il pulsante destro del mouse sul grafico e selezionare "Personalizza...".Ciò ti consentirà di modificare il grafico o di aggiungerlo.Se fai clic sul "+" ti consentirà di aggiungere uno script e uno dei campioni consente la creazione di una curva normale.Con una certa conoscenza del tracciamento utilizzando la funzione Y e la funzione di densità normale, è possibile aggiungere una curva del genere.
Di seguito è riportato un esempio di aggiunta di JSL a uno script per generare 2 curve normali sopra i dati di esempio.La funzione Aggiungi grafica script() fa il lavoro.Ho preso un paio di scorciatoie codificando in modo rigido le 2 diverse medie e deviazioni standard e anche i fattori di scala basati sul numero totale di punti dati diviso per i punti dati per la barra massima nella distribuzione dell'istogramma.Questi valori di dati dovrebbero essere calcolati all'interno di un determinato script, in base a ciò che esattamente stai proponendo.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
Dis = dt << Distribution(
Continuous Distribution( Column( :height ), Vertical( 0 ), Density Axis( 1 ) )
);
Report( Dis )[Frame Box( 2 )] << Add Graphics Script(
mu = 63;
sigma = 3.2;
Pen Color( "Red" );
Y Function( Normal Density( (x - mu) / sigma ) / (40 / 12), x );
mu = 51.5;
sigma = .87;
Pen Color( "Blue" );
Y Function( Normal Density( (x - mu) / sigma ) / (40 / 2), x );
);

Il codice che si trova all'interno della funzione Aggiungi script grafico() è lo stesso codice che aggiungeresti allo script se scegli l'opzione Personalizza...
Re: Come tracciare le singole curve di adattamento del picco sull'istogramma (montato 2 miscele normali)Ciao io,
Ho visto l'opzione per visualizzare l'adattamento complessivo della curva ma non i singoli picchi.Ecco cosa voglio produrre (scusate il mio disegno grezzo):

Grazie!
Re: Come tracciare le singole curve di adattamento del picco sull'istogramma (montato 2 miscele normali)Questa piattaforma di distribuzione può mostrare l'adattamento della curva:

dt = New Table( "Two Peaks",
Add Rows( 500 ),
New Column( "Column 1",
Numeric, "Continuous", Format( "Best", 12 ),
Formula(
If( Random Uniform() > 0.3,
Random Normal( 5 ),
Random Normal( 10 )
)
)
)
);
dist =Distribution(
Continuous Distribution(
Column( :Column 1 ),
Fit Distribution( Normal Mixtures( Clusters( 2 ) ) )
)
);