Salut,
Ce serait formidable d'obtenir des entrées sur une approche permettant d'automatiser l'identification des paramètres qui peuvent distinguer une réponse bivariée comme le montre l'exemple de graphique ci-dessous. L'ensemble de données comprend environ 20 000 colonnes numériques continues et une colonne de réponse de caractère. La colonne de réponse contient des entrées de la lettre A ou B.
L'objectif est d'identifier les paramètres qui permettent d'identifier autant de catégories B sans identifier aucune (ou très peu de) catégorie B.
Visuellement, j'ai identifié 2 paramètres spécifiques qui permettent d'identifier la majorité de la catégorie B sans identifier aucun de la catégorie A. Il peut les distinguer avec une ligne linéaire. La partition ne fonctionne pas bien car la catégorie B est dans la distribution de la catégorie A pour chacun des deux paramètres individuellement.
Quelle serait la meilleure approche dans jmp / jsl pour automatiser cette identification?
Merci pour votre temps et votre aide. - C

S'il vous plaît voir le script ci-joint,
il génère une table avec x continu et une réponse bivariée.
Il existe quelques scripts pour la visualisation et la modélisation.
Vous pouvez essayer le filtrage des réponses et le modèle Fit pour trouver les variables pertinentes.
Comme il y a autant de colonnes 20K, l'ACP pour le x continu serait une option (technique de réduction variable).
Dans cet exemple, il n'y a aucun résultat, car tous les x sont indépendants (normal aléatoire).
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"
)
)}
);Le dépistage des prédicteurs et l'analyse discriminante peuvent également donner exactement ce que vous voulez.
Avec de nombreuses données, cela pourrait être un bon choix de commencer par un petit ensemble, pour tester les différentes méthodes.
Connaissez-vous les catégories à l'avance? Ou les avez-vous identifiés sur la base du nuage de points?
Cherchez-vous un moyen de discriminer les deux groupes dans cet espace bidimensionnel?