Necesita ayuda: agrupar valores categóricos, encontrar el número óptimo de categorías y excepcionesAmigos,
Tengo un problema para el que espero que alguien me ayude a encontrar una solución, o al menos me empuje en la dirección correcta.
Entonces, digamos que tenemos N herramientas. Tienen múltiples atributos, digamos 10. Esto podría ser el número de modelo exacto, color, campanas y silbatos, modificaciones, etc.
También tienen cientos de parámetros. Algunas pueden ser las mismas en todas las herramientas, otras pueden depender de una combinación de atributos o de un solo atributo.
Y necesito administrar todos esos cientos de parámetros. Estos parámetros pueden cambiar y ser diferentes de lo que deberían ser y conozco cada parámetro en cualquier momento.
Ahora, el enfoque es el siguiente: dividir todas las herramientas en pocos grupos grandes, llamémoslos categorías, que se definen por combinaciones de atributos. Digamos que todas las herramientas del modelo A y el color azul son de una categoría, el modelo A de color rojo es la segunda categoría y el modelo B es la tercera categoría, independientemente del color.
Ahora bien, no todos los parámetros van a ser los mismos dentro de una categoría. Algunos parámetros específicos pueden ser diferentes entre la campana verde de color rojo del Modelo A y la campana amarilla de color rojo del Modelo A. Así que buscamos la combinación más común y la llamamos "predeterminada" para esa categoría. Todos aquellos que son diferentes necesitamos explicarlos y ponerles algún tipo de comentario que explique por qué el parámetro es diferente.
Eventualmente, tendremos dos números desconocidos: el número de categorías en las que debemos dividirlo y el número de comentarios de excepción que debemos completar para los parámetros que no coinciden con el "predeterminado".
Si establecemos una categoría, será fácil mantener una categoría, pero tendremos demasiadas excepciones del "predeterminado" para ser manejables. Si creamos una categoría para casi cada combinación de atributos, no tendremos que administrar demasiadas excepciones de "predeterminado", pero tendremos problemas para administrar tantas categorías.
El problema se basa en el conjunto de datos, encontrar la cantidad óptima de categorías, donde tiene una cantidad razonable de categorías con una cantidad razonable de excepciones.
¿Alguna idea sobre cómo abordar la solución de este problema?
Gracias,
METRO.
Re: Necesito ayuda: agrupar valores categóricos, encontrar el número óptimo de categorías y excepcionesTodo,
Gracias por el comentario.
Este es el camino que elegí para abordar este problema.
Mi tabla inicial eran mis herramientas como columnas y mis filas son valores para diferentes parámetros. También una columna para el nombre del parámetro.
Lo primero que hice fue apilar todas las columnas de herramientas. Así que terminé con tres columnas: Herramienta, Etiqueta de parámetro, Valor de parámetro. No se menciona ningún atributo, ni modelos, ni nada...!
El valor del parámetro es un valor nominal de carácter ya que muchos valores están en formato HEX.
Luego inicié la plataforma Hierarchical Clustering y elegí las siguientes opciones (enumeré las que son diferentes de las predeterminadas): Elegí "Los datos están apilados" (¡porque acabo de apilarlos!), Obtuve algunos roles más disponibles. Valores de parámetro emitidos a Y, etiqueta de parámetro a ID de atributo, herramienta a ID de objeto.
Tengo un buen árbol de agrupamiento.
Abajo estaba el gráfico de distancia.
Las primeras divisiones fueron responsables de la mayor parte de los parámetros. Y en base a la distribución de herramientas (recuerde que no sabemos en este análisis cuál es el modelo, color, campanas y silbatos de cada herramienta) entre los clústeres fueron responsables de lo siguiente:
Primera división: Modelos de herramientas
2ª división: submodelo de herramienta en uno de los modelos
Tercera división: versión principal del subsistema
y así uno.
El gráfico a continuación: el gráfico de distancia, según tengo entendido, básicamente da la distancia promedio para todos los miembros del grupo desde el promedio del grupo. Para valores nominales, esto se define mediante el pedido. En cierto sentido, esto puede servir como una estimación de valores atípicos. Prácticamente se satura después de la división de Thirs. Lo que significa que si tuviéramos que optar por 2 o 3 clústeres, tendríamos que explicar muchas excepciones. Con 4 grupos es significativamente menor en este conjunto de datos. Elegimos 5 grupos.
Uno puede guardar una tabla de medias de conglomerados (que básicamente debería ser el valor más frecuente para los valores categóricos), y creo que si guardo dicha tabla para cada número de conglomerados, y uno esas tablas a la tabla principal (o virtualmente une - guiño a gzmorgan), puedo detectar si un valor específico es diferente del valor POR/predeterminado/Golden y, por lo tanto, calcular un número exacto de excepciones para cada número de clústeres.
Luego, lo único que debe decidir: cuántos clústeres (categorías) desea administrar y cuántas disposiciones está listo para hacer para esas excepciones.
Gracias,
METRO.
Re: Necesito ayuda: agrupar valores categóricos, encontrar el número óptimo de categorías y excepcionesValle,
Sí, tienes razón, finalmente me detuve en el análisis de conglomerados. El único detalle es que tengo muchos parámetros como valores HEX. Lo cual, si quiero evitar muchos scripts tratando de analizarlos, me reduce a solo una agrupación jerárquica que puede tratar con valores nominales. Lo bueno: no tengo que ir con los componentes principales.
Describiré más en un comentario separado.Re: Necesito ayuda: agrupar valores categóricos, encontrar el número óptimo de categorías y excepcionesMuchas gracias por la respuesta, me dio algo en que pensar. Lo principal que quiero mencionar es que solo me interesa la coincidencia/desigualdad, sin importar la distancia entre los valores. Como mencioné, el problema principal es administrar cientos de constantes\parámetros de herramientas. En este sentido necesito saber si es POR o no POR, o dicho de otro modo, si hay alguna discrepancia con la Lista Dorada de Parámetros. El problema básicamente es encontrar un número óptimo de listas de parámetros dorados. Otra cosa es que muchos parámetros están en formato HEX. Sin funciones integradas que ayudarían a analizarlas fácilmente en decimal, esto permanecería como un valor de carácter, lo que significa que solo puedo hacer un análisis categórico. Por un lado, eso simplifica las cosas ya que la distancia entre los parámetros se calculará en función del orden de los valores, según tengo entendido. Por otro lado eso limita los tipos de análisis que puedo realizar.
Más sobre esto en un comentario separado a continuación. Describiré una metodología, al menos cómo la entiendo, y luego quizás la solución final.
¡Gracias de nuevo!Re: Necesito ayuda: agrupar valores categóricos, encontrar el número óptimo de categorías y excepcionesEsto suena como un problema de agrupamiento para mí.No está seguro acerca de la cantidad de clústeres y su composición y desea identificar las desviaciones dentro del clúster.Dada la cantidad de variables que tiene, es posible que deba reducir la dimensionalidad antes de agrupar, como usar componentes principales.Diría que mis propios esfuerzos en la agrupación han sido menos que satisfactorios: los grupos rara vez coinciden con grupos identificables (por lo general, lo he hecho con consumidores individuales o solicitantes universitarios, por ejemplo).Me parece que desea definir los grupos de antemano, como juntar herramientas "similares".El problema es que lo que usted cree que puede ser "similar" puede diferir de lo que los datos dicen que es "similar".Si cree que tiene una idea de los grupos, entonces un enfoque podría ser comparar ese agrupamiento ex ante con lo que produce un algoritmo de agrupamiento y luego explorar las diferencias entre los dos.
Re: Necesito ayuda: agrupar valores categóricos, encontrar el número óptimo de categorías y excepcionesmiguello,
Esto recuerda a un análisis de perfil o K Nearest Neighbor. Cree una tabla en la que cada fila sea una entidad y, además de la columna de la entidad, haya una columna para cada atributo. Sugiero que haya un código para el atributo, como 1 = rojo y 2 = verde, etc., luego, de acuerdo con su ejemplo hipotético, la columna para campana tendrá estos valores.Le sugiero que especifique etiquetas para los valores.
Luego puede definir una o más métricas y pesos.Por ejemplo, puede ser más importante que ciertas especificaciones coincidan: el grupo A debe ser un rociador de alta capacidad (> algunas unidades cúbicas) y el grupo C de baja capacidad (< algunas unidades cúbicas) y el grupo B es otro. Para refinar o subdefinir los grupos que podría usar:
- Análisis de clase latente: tenga en cuenta que no es necesario codificar las categorías, pero la codificación puede simplificar otros análisis.
- un Análisis de Correspondencias Múltiples, que mostraría probables emparejamientos de atributos
- k métodos de vecino más cercano, consulte Funciones de índice de secuencias de comandos: KDE (estadística) y KDTable (matriz).
Dicho esto, a menudo los grupos se definen a lo largo del tiempo por sus resultados. Dado que se acercan las elecciones intermedias de EE. UU., lo usaré como ejemplo. Las predicciones se hacen a menudo en las clases. Estas clases están definidas/refinadas por edad, sexo, educación, ciudad vs. rural, qué estado, religión, asistencia a la iglesia, # de veces que votaron en un término medio, en otras palabras, una mezcla de demografía social y espacial, pero también comportamiento (# veces votado, asistencia a la iglesia).
Con respecto al desajuste de entidades, eso necesitará un poco de cuidado adicional. Supongamos que las entidades del grupo A tienen una configuración similar, excepto que las entidades más antiguas no tienen 3 sensores in situ y las entidades más nuevas tienen la lectura de rendimiento de los sensores. La discrepancia deberá calcularse según los datos disponibles. Continuando con el escenario, suponga que hay 100 métricas para todas las herramientas del grupo A, pero las más nuevas tienen 3 adicionales, o 103. Muchas plataformas JMP manejan fácilmente los valores faltantes, pero la forma en que maneja esto depende del análisis/criterio que pueda usar para identificar una discrepancia.
Me gusta la unión virtual de JMP.Si estuviera haciendo este análisis, podría crear mi tabla de atributos de entidad para definir las categorías y luego unirla virtualmente con la tabla de otras variables. Esto también lo facilita si las otras variables tienen múltiples valores (filas) por ejecución.
Estas son solo migas. Buena suerte con esta interesante tarea.