Ciao,
Sarebbe fantastico ottenere input su un approccio per automatizzare l'identificazione dei parametri che possono distinguere una risposta bivariata, come mostrato nel grafico di esempio sotto. Il set di dati ha ~ 20k colonne numeriche continue e una colonna di risposta con caratteri. La colonna delle risposte ha voci della lettera A o B.
L'obiettivo è identificare i parametri che possono identificare il maggior numero di categorie B senza identificare nessuna (o pochissime) categorie B.
Visivamente ho identificato 2 parametri specifici che consentono di identificare la maggioranza della categoria B senza identificare nessuno della categoria A. Può distinguerli con una linea lineare. La partizione non funziona bene poiché la categoria B rientra nella distribuzione della categoria A per ciascuno dei due parametri individualmente.
Quale sarebbe l'approccio migliore in jmp / jsl per automatizzare questa identificazione?
Grazie per il tuo tempo e aiuto. - C

Si prega di vedere lo script allegato,
genera una tabella con x continua e una risposta bivariata.
Esistono alcuni script per la visualizzazione e la modellazione.
Puoi provare lo screening della risposta e il modello Fit per trovare le variabili rilevanti.
Poiché ci sono tante colonne 20K, PCA per la x continua sarebbe un'opzione (tecnica di riduzione variabile).
In questo esempio non c'è risultato da esso, poiché tutte le x sono indipendenti (normale casuale).
Names Default To Here( 1 );
cdt = New Table( "data", New Column( "response", Character ) );
cdt << add rows( 100 );
For( i = 1, i <= 10, i++,
cdt << New Column( "col" || Char( i ), Continuous, set each value( Random Normal( i, 1 ) ) )
);
cdt:response << set formula( If( :col5 < 4 & :col6 < 5, "B", "A" ) );
cdt <<
Add Properties to Table(
{New Script(
"col6 vs. col5",
Graph Builder(
Variables( X( :col5 ), Y( :col6 ), Overlay( :response ) ),
Elements( Points( X, Y, Legend( 13 ) ), Smoother( X, Y, Legend( 14 ) ) )
)
), New Script(
"Scatterplot Matrix",
Scatterplot Matrix(
Y(
:response,
:col1,
:col2,
:col3,
:col4,
:col5,
:col6,
:col7,
:col8,
:col9,
:col10
),
Matrix Format( "Lower Triangular" )
)
), New Script(
"Response Screening of response",
Response Screening(
Y( :response ),
X(
:col1,
:col2,
:col3,
:col4,
:col5,
:col6,
:col7,
:col8,
:col9,
:col10
)
)
), New Script(
"Fit Nominal Logistic",
Fit Model(
Y( :response ),
Effects(
:col1,
:col2,
:col3,
:col4,
:col5,
:col6,
:col7,
:col8,
:col9,
:col10
),
Personality( "Nominal Logistic" ),
Run( Likelihood Ratio Tests( 1 ), Wald Tests( 0 ) )
)
), New Script(
"Principal Components",
Principal Components(
Y(
:col1,
:col2,
:col3,
:col4,
:col5,
:col6,
:col7,
:col8,
:col9,
:col10
),
Estimation Method( "Default" ),
"on Correlations"
)
)}
);Anche lo screening predittivo e l'analisi discriminante possono fornire esattamente ciò che desideri.
Con molti dati, potrebbe essere una buona scelta iniziare con un piccolo set, per testare i diversi metodi.
Conosci le categorie in anticipo? O li hai identificati in base allo scatterplot?
Stai cercando un modo per discriminare i due cluster in quello spazio bidimensionale?