Nos habíamos quedado aquí.
Vale.
Digo que nos habíamos quedado aquí, ¿vale?
En el ejemplo del BIC, ¿vale?
Para ver un poco por números de clases, ¿vale?
Y aquí pues vemos.
Una gráfica donde estamos comparando el BIC
con la solución del número de clases y dos modelos distintos, ¿vale?
Estos dos modelos distintos pueden ser, por ejemplo,
en Latent Profaned Analysis, si estamos comparando,
para intentar comparar el mismo número de soluciones,
¿vale?
Con varianzas iguales o con varianzas libres, ¿vale?
Aquí la regla es tanto ya sea para escoger el número de K
como para escoger entre un tipo de modelo u otro,
es el BIC más bajo.
¿Vale?
Primero se hace dentro de una especificación
y luego se compara con otras especificaciones.
¿Vale?
La idea es que generalmente, como decíamos,
no solo vamos a hacer una especificación sola,
sino que muchas veces vamos a explorar diferentes soluciones.
Entonces se elige la mejor dentro de cada una y se comparan.
Esto es un poco lo típico del gráfico en forma de codo,
que ayuda a ver cuándo al aumentar K. Mejora el BIC
pero la mejora se empieza a volver marginal hay
que hacer una valoración en función de cuando estamos llegando
a un punto en el que igual la mejora no es muy importante.
¿Vale?
Nuevamente, lo que decíamos antes, ¿no?
Y hemos ido diciendo que el hecho
de que yo obtenga mejores resultados a nivel de BIC
o a nivel de entropía no significa que al añadir una clase
sea una mejor solución, ¿vale?
Pues aquí tendríamos que empezar a valorar.
Y luego, una vez que eligiéramos,
en este caso, claramente, en este caso,
el modelo número 2, por ejemplo, a lo mejor con varianzas libres,
sería el más adecuado para una solución de 2.
Y entonces aquí ya empezaríamos a explorar también la entropía,
el ABB,
los tamaños de las clases, los perfiles,
y mirar si son coherentes con la teoría,
lo que hablábamos un poco, y útiles para el objetivo del estudio.
Esto era simplemente para demostrar un poco,
esto no tiene por qué hacerse gráficamente,
se puede hacer simplemente a nivel de tabla,
lo veremos ahora también un poco, pero gráficamente muchas veces
lo que digo, queda en formato de resumen
y queda muy bien.
Entonces, bueno, aquí simplemente a modo de resumen,
pero más que nada para recopilar con lo que habíamos hecho antes,
es recordatorio antes de comer, era, por decirlo de manera,
un paso sería como, el primer paso sería ajusto las diferentes casas.
¿Vale?
Desde K1, desde K2 hasta K máximo.
Compara los A y C, B y C, A, B y C y C,
L. ¿Vale?
El más bajo es el mejor, recordad.
Luego, elijo una especificación, ¿vale?
Dentro de las diferentes
especificaciones que haya querido comparar.
Aquí se lo he comparado dos, pero podríamos hacer más.
¿Vale?
Y el mejor K con el mejor criterio.
Luego, verifico en tropilla que ABPP, ¿vale?
Que no sean bajas y que los tamaños de las casas sean razonables
y confirmo que los perfiles que me están saliendo tengan
sentido sustantivo, ¿vale?
¿Que no ocurre esto?
Replanteo las casas o las especificaciones,
dependiendo de donde haya encontrado un poco el punto, ¿vale?
Y reviso,
pues, también posibles dependencias locales, ¿vale?
Ahora vamos a ver un poco lo que son los criterios sustantivos
de identificación de parásitos.
Ahora veremos un poco lo que nos referimos con estos parásitos.
La verdad es que hasta aquí hemos visto cómo elegir
el número de clases.
Con criterios de información y revisar las clasificaciones.
Ahora, digamos que viene probablemente
el filtro más importante o de los más importantes, ¿vale?
Que es lo que hemos ido diciendo hasta ahora, que es que la solución
tenga sentido, ¿vale?
Y estos son un poco los checks principales que siempre se tendrían
que pasar antes de quedarte con un modelo finalmente, ¿vale?
Entonces, el primero es la interpretabilidad, ¿vale?
Lo que decíamos.
Perfiles coherentes, narrativa clara.
Primero, ¿puedo contar la historia de cada clase?
Que los percibles sean reconocibles,
que sean distintos los unos de los otros.
La idea es que, aquí lo más importante
en este apartado es que si para explicar una clase,
una de las clases que tengo,
necesito demasiados peros o demasiadas justificaciones,
probablemente esa clase no esté bien definida.
¿Vale?
Para esto, pues, ¿qué miramos?
Pues un poco gráficos de perfiles, las probabilidades de clases, ¿vale?
Y generalmente, si somos nosotros lo podemos hacer
y si no es el especialista, la idea también es que cuando nosotros
les enseñamos a los especialistas
o nosotros lo vemos si somos el especialista,
los perfiles y las probabilidades y demás, los nombres de etiquetas,
las etiquetas suelen salir solos.
O sea, la persona que sabe de esto enseguida quiere ver
y dice, sí, mira, lo que caracteriza a este grupo son altas respuestas
aquí, altos valores en esto y esto.
Y dice, ah, vale, sí, esto es esto.
¿Vale?
Si sale de esta manera,
pues está bien.
Si ya empezamos a ver que se lo miran de una manera complicada
y demás, bueno, se tiene que mirar.
Y luego, ¿qué fallamos?
Pues volvemos a ajustar las casas, ¿vale?
Miramos K-1, K-1, empezamos a ver hacia dónde tenemos mayor nitidez,
¿vale?
Luego, lo siguiente que tenemos que ver
es los tamaños de clases razonables, ¿vale?
Y esto es lo que decía de que teníamos que evitar,
aquí pongo algo orientativo, entre un 5 y un 10%, ¿no?
Que salvo justificación deberíamos intentar ver
si la puede absorber otra clase, ¿vale?
Nuevamente,
esto igual que todo lo que he ido diciendo hasta ahora es orientativo,
¿vale?
Hay casos concretos, poblaciones concretas
y estudios concretos que puedes tener tamaños de clase de este estilo
y sean justificados, ¿vale?
Esto lo miramos a partir de las proporciones, ¿vale?
De la estimación de pi sub k, ¿vale?
Y lo mismo, si falla,
pues cambiamos un número de cas, probamos, por ejemplo,
a fusionar dos clases, ¿no?
Eso es lo más típico que se puede hacer.
Y en caso de duda, pues también muchas veces
hay que plantearlo desde el punto de vista no tan,
lo que digo, ¿no?
Tan matemático de los números y demás,
sino más en clase sustantivo de.
¿De verdad existe esta subclase?
¿Vale?
¿Esta subclase está documentada?
¿Lo tenemos claro a nivel sustantivo?
¿Vale?
¿En la clínica es muy poco frecuente?
Pues a lo mejor no sería el caso, ¿vale?
El tercer apartado, que es una cosa que también he comentado
ya, que es la estabilidad con distintos arranques
barra semillas, ¿vale?
Que la idea es lo que hemos comentado,
que con arranques aleatorios
deberíamos obtener la misma log verosimilitud, ¿vale?
Y perfiles, o sea,
no solo la verosimilitud, sino luego todo lo demás,
los perfiles parecidos, ¿vale?
Y que no debería cambiar mucho.
Y si cambia es cuando no hay que fiarse
y hay que volver a mirar, ¿no?
Pues poner más repeticiones, otras semillas,
análisis de sensibilidad, más o menos
K, ¿vale?
Incluso podemos mirar de añadir o quitar algún indicador, ¿vale?
Lo cuarto sería la independencia local, ¿vale?
Revisar los pares con residuos, ¿vale?
Y ver si nos sale alguno alto,
si nos sale alguno que nos llama la atención, ¿vale?
Ver cuáles son, como estamos haciendo comparaciones
dos a dos, estas enseguida las veremos, ¿vale?
Dentro de cada clase, a lo mejor,
ya os digo, no tiene por qué salir no solo uno,
pueden ser varios que estén cohesionando entre ellos, ¿vale?
Y esto, pues lo que hemos dicho, con los residuos
y con tablas, ¿vale?
O chi cuadrados, por ejemplo, de esperado versus observado.
Y aquí, pues, lo que decíamos.
Lo que tendríamos que hacer varía mucho,
pero puede ser desde eliminar, combinar, si los ítems
son redundantes, por ejemplo, permitir covarianzas locales,
si el software lo admite, limitaciones, ¿vale?
Subir el número de CAS.
Pero, bueno, todas estas cosas, por ejemplo,
subir el número de CAS solo, por ejemplo,
se mejora la interpretación.
Si no, no tiene sentido, ¿vale?
Porque es tapar un problema con otro.
Y luego lo que comentaba de los parásitos estadísticos,
que es las clases creadas para absorber dependencias
o outliers.
Esto es algo que pasa muy típicamente,
que a veces, simplemente y sencillamente,
el algoritmo crea una clase que no es un subtipo real.
Simplemente lo que decíamos, una especie de cajón desastre,
donde lo agrupa y dice, bueno, pues a mí me salen mejores resultados
si yo a estos.
Que no encaja muy bien en ningún sitio, los agrupo aquí,
aunque ellos no tengan ningún tipo de relación entre ellos, ¿no?
Y puede ser simplemente porque es una subpoblación
o porque de verdad tenían unos outliers
o porque había dependencias locales, ¿vale?
Esto es lo que denominamos los parásitos estadísticos, ¿vale?
Estos generalmente son contenedores de respuestas raras
o correlaciones no moderadas.
Las señales es que suelen ser clases muy pequeñas.
Está muy relacionado con esto que veíamos de aquí.
Bastante heterogéneas.
No hay un perfil claro y no hay una narrativa.
Cuando se lo presentamos al especialista no sabe muy bien
por dónde leer este grupo.
A veces también ocurre.
Que en lugar de esto hacen exactamente
lo mismo que otra clase que ya tenemos bien definida,
pero lo único que cambian son un par de ítems problemáticos.
¿Vale?
Entonces, aquí lo que hay que ver
es si de verdad queremos hacer esta distinción
o no.
¿Vale?
Si que haya un par de ítems que cambien
nos justifica crear una nueva clase o no.
Si la podemos defender, si tiene sentido.
¿Vale?
Y por último, la parsimony.
La idea es que el mínimo número de cas que explica bien el problema
suele ser lo mejor.
Un poco la baja de OCA.
De ahí también el por qué elegimos con el BIC
y todo esto.
Cuanto más complicación
le hagamos, cuanto más complejo hagamos el modelo, con más parámetros
que necesita estimar y demás,
si no estamos mejorando realmente,
el BIC nos va a penalizar y nos va a decir
que no es la mejor solución.
Y entonces, nada, estos son como mínimo los seis
que deberíamos mirar siempre, ¿vale?
Y la idea es que, bueno, que si el modelo pasa estos filtros,
pues puede ser un modelo defendible, ¿vale?
Para un paper o un informe, por ejemplo.
¿Vale?
Entonces justamente para el diagnóstico de independencia local
¿vale?
que ya lo hemos hablado un poco simplemente aquí a modo
más de recordatorio y demás recordad que es el supuesto clave
de la calidad del ítem dada a la clase
hace que sean independientes ¿vale?
sin correlaciones que se miran con los bivariados
y los residuales y las señales de alarma
¿no?
residuos grandes y patrones sistemáticos
¿vale?
Aquí os pongo un poco más, como esto es de lo más crítico
que suele haber, ¿no?
He hecho una slide solo de resumen de,
pues bueno, ¿qué podemos mirar, no?
Correlaciones ítem, agrupar los ítems, aumentar K,
eliminar el ítem problemático, ¿vale?
Y el objetivo,
lo que estábamos comentando hasta ahora,
es evitar las clases espurias que absorben dependencias, ¿vale?
Y la clasificación y los three steps, ¿vale?
Que esto recuerdo que era el último bloque que vamos
a hacer mañana, que es algo que ya he comentado,
pero que voy a ir soltando varias veces, que es evitar cortar
por clase modal, ¿vale?
Esto genera lo que he dicho, sesgo por error y declasificación,
¿vale?
La idea de todo esto
es que es algo que se ha hecho durante bastante tiempo
y que de hecho se sigue haciendo que es que una vez que ya tenemos
las posteriors en lugar de quedarnos con una probabilidad
para cada uno de ellos para las diferentes categorías
se hace la cortar por clase modal esta que se llama
que es básicamente asignar a cada persona
a su clase más probable
¿no?
esto es un corte duro.
Y luego esto se suele utilizar sobre todo para analizar
efectos distales o otras covariables,
ver un poco cómo afectan.
Pero claro, esto es lo que hablábamos.
Así estamos ignorando la incertidumbre
de la clasificación.
Hasta ahora hemos tenido todo un proceso.
De modelización donde hemos tenido en cuenta
que lo que estamos haciendo es crear una clase latente no observada
a partir de datos observados, que esto tiene una incertidumbre,
que esto tiene unos supuestos que no es algo tangible, ¿vale?
Entonces, esta incertidumbre la plasmamos
en que todo lo que nos está dando tiene una variabilidad,
tiene una probabilidad distinta, ¿vale?
De diferentes patrones de respuesta,
de medias y varianzas, ¿vale?
Dentro de cada clase que son distintas, y lo plasmamos finalmente
a las posteriores donde cada uno de ellos tiene una probabilidad
de estar en cada uno de los grupos,
tal y como hemos visto a raíz de lo que decíamos,
la probabilidad de, si yo estoy en este grupo,
tener este tipo de respuestas, el tipo de respuestas
que hay en ese grupo.
Más, si en realidad estoy en otro grupo,
¿cómo encajan mis respuestas con las respuestas de este grupo?
Y en el último grupo, ¿cómo encajan?
Y es todo lo que hemos visto,
una moderación de unas cosas con otras.
Claro, si al final de todo esto asignamos una clasificación dura,
pues estamos cargándonos hasta en certidumbre
lo que hemos hecho hasta el momento, ¿vale?
Y esto obviamente lo que hace es introducir un sesgo, ¿vale?
Generalmente lo que dice la bibliografía es que suele atenuar
diferencias entre clases, ¿vale?
Incluso puede cambiar signos o resultados de ep-valores, ¿vale?
En los casos más extremos.
Esto quiere decir, no es una cosa baladí,
que se dice.
La idea que esto se hace mucho, ¿no?
Pues para ver los distales, ¿vale?
Que son los resultados externos, ¿vale?
Que se comparan entre clases, ¿no?
Una vez que ya tenemos clasificado, pues queremos ver un poco cómo varían
estos resultados externos entre las clases, ¿no?
Y las covariables,
pues bueno, las covariables son predictores de toda la vida,
pues que se pueden utilizar para intentar explicar la pertenencia
o no a una clase, ¿vale?
Que depende de lo que queramos hacer,
les llamamos de una manera u otra, ¿vale?
Entonces, bueno, simplemente aquí a forma de introducción
para ver lo que vamos a ver, dependiendo de lo que queramos hacer
y lo que queramos mirar, utilizaremos uno de estos, ¿no?
Donde ponemos un promedio por clase,
pues utilizaremos el BCH.
Y luego, para cosas más categóricas, el DECAT,
como puede ser la proporción de cigarros fumados,
la proporción que fumó, por ejemplo,
en los últimos 30 días de este grupo.
En cada una de las clases.
Entonces, la idea es igual que siempre utilizar las posteriores
y los pesos para corregir la incertidumbre.
¿Vale?
Yo creo que más o menos se entiende la idea de por qué se hace esto,
pero si no, tengo aquí apuntado un ejemplo que es
como lo más exagerado que se puede hacer, que es,
por ejemplo, nosotros imaginamos que tenemos una persona que tiene,
hay dos clases, una para estar en una clase
tiene un 55% de probabilidades y para la otra un 45%.
Claro, si haremos el corte, estamos poniéndola.
Obviamente, la más probable, que es la de 55, que sería la clase 1, ¿no?
Pero esto estamos forzando a un 100-0.
O sea, 100 a la 1, 0 a la otra.
Entonces.
Esto lo que estamos haciendo es diluir todo
lo que hemos ido encontrando ¿vale?
toda esta heterogeneidad
que hemos dicho que queríamos tener representada y demás nos la fundimos
¿vale?
entonces no siempre va a ser así
¿no?
muchas veces es como algo más igual
vamos a encontrar casos mucho más claros
¿no?
de probabilidades del 80% o cosas así pero aún así.
Y, por último, quiero comentar un poco, bueno,
que voy a comentar los reportes y los errores, ¿vale?
La idea de por qué hago esta slide de reportes,
por ejemplo, claro, es reproducible, como llamo aquí,
es que cualquier persona, ¿vale?
Y llegar a los mismos resultados, que es un poco
la idea que tenemos siempre, ya sea a nivel dentro de un grupo,
que otro compañero pueda seguir nuestro trabajo o pueda volver
a hacer el mismo tipo de estudio o lo que sea,
como a nivel de reproducibilidad que tenemos que dar en evidencia
a los papers.
La idea es que deberíamos presentarlo con el suficiente detalle
como para que otra persona con los mismos datos
llegara a exactamente las mismas conclusiones que nosotros.
Cada diseño y cada análisis tiene sus características
de lo que tienes que reportar, ¿no?
En este, obviamente, por las cosas que estamos haciendo
en este análisis, tiene sus propias cosas intrínsecas.
Lo primero, obviamente, son los datos,
los indicadores, la definición que hemos hecho,
recodificaciones que hayamos hecho, ¿vale?
Acordaos que, por ejemplo, habíamos hablado de estandarizar,
de normalizar, de recodificar algunas categorías,
colapsaciones que podamos hacer a lo largo de.
Pues que estamos viendo, ¿no?
Que igual hay algunas categorías dentro de un ítem
que tiene problemas, pues igual colapsamos, bueno,
todo esto.
Todo esto tiene que quedar bien plasmado
y tiene que quedar bien explicado, ¿vale?
Indicar cómo hemos tratado los datos faltantes,
también, esto es importante, ¿no?
Esto es, bueno,
ya más allá de simplemente este tema,
todo el tema de datos faltantes es muy importante
siempre explicar qué hemos hecho y cómo lo hemos hecho.
¿Vale?
La cosa es que el let en clases de análisis
y el let de profile, generalmente, hacemos casos de datos completos.
Pero claro, no siempre tenemos la.
Si eliminamos, por ejemplo, toda la información vacía, ¿no?
Todas las observaciones que tengan una fila vacía,
pues a lo mejor.
Estamos eliminando un montón de individuos.
O tenemos que cargarnos alguno de los indicadores que nos interesan.
Entonces, siempre hay alguna tentación
de utilizar algún método de recuperación de información.
El más típico y a la orden del día es la imputación múltiple.
Pues en estos casos, obviamente, igual que en todos,
hay que explicar qué se ha hecho y decir qué se ha hecho.
Hemos hecho imputación múltiple de esta manera.
Teníamos tanto porcentaje de datos faltantes en estas variables.
Un poco trazabilidad.
Lo segundo sería tenemos que reportar la especificación
¿vale?
cómo lo hemos ajustado.
Esto que hemos ido hablando ahora constantemente, ¿no?
Pues hemos decidido el modelo, ¿vale?
Pues que si hacíamos un let en class,
un let en profile, ¿qué tipo de variantes
hemos utilizado dentro de estos, no?
Porque yo qué sé, el let en profile,
pues decíamos, ¿no?
Tenemos varianzas iguales o varianzas libres.
¿Qué hemos hecho con las covarianzas,
no?
Pues la independencia local la hemos mantenido
o hemos intentado crear un constructo por debajo.
¿Qué hemos hecho, vale?
Luego, los arranques, ¿vale?
El número de repeticiones, las semillas que hemos utilizado,
si hemos llegado a una convergencia,
todo esto que hemos ido hablando hasta ahora.
Esto en realidad es un poco review de todo lo que hemos ido haciendo,
pero que quede plasmado en una sola para que,
como he ido diciendo diferentes cosas en diferentes momentos
y no siempre estaba en la diapositiva,
he puesto una diapositiva de recapitulación.
Para que lo tengáis y digáis, vale, yo tengo ya los resultados,
¿qué es lo que tengo que reportar?
Esto es, ¿vale?
Obviamente también, como siempre,
el software y la versión que hemos utilizado, ¿vale?
Vale, ¿cómo hemos hecho el ajuste, no?
Pues aquí hemos hablado de la IC,
el BIC, vale, todo esto, ¿vale?
Pero.
Hay otros tipos de criterios.
Por ejemplo, hay un tipo de test, que son estos de aquí,
el LMR y el BLRT,
que son más comunes, por ejemplo, en el IT Profan Analysis.
Que te sirven para lo mismo, para elegir el número de clases
que tienes.
Entonces, como no elegimos un número de clases solo
por un solo indicador,
sino es un poco todo un conjunto de cosas,
la parsimonia, la interpretabilidad y tal,
es explicar un poco en función de qué lo hemos hecho.
Luego la calidad de clasificación, ¿no?
Obviamente una vez que ya hemos elegido
y tal, pues qué tal clasifica las categorías que hemos creado
y demás, ¿no?
La entropía normalizada y el ADPP por clase, ¿vale?
Luego,
pues obviamente una vez que ya hemos hecho todo esto,
los resultados, ¿vale?
Unos resultados.
Mínimos tienen que ser pues yo que sé pues las prevalencias de clase
¿no?
el tamaño esperado y el tamaño observado
¿la ves?
por clase un poco las probabilidades
condicionadas de respuesta podemos hacer algunos gráficos de perfiles
si nos interesan también y creemos que pueden ser informativos
¿vale?
estos gráficos lo de siempre pues podrían ser pues
yo que sé barras líneas ¿vale?
Dependiendo de lo que estemos presentando diagnóstico de residuos
bivariados y decisiones correlaciones a agrupaciones
siempre hay que mostrar residuales bivariados
o comparaciones de observado versus esperado para detectar
lo que estábamos comentando hasta ahora
que es la dependencia local y decir nuevamente si hemos detectado
alguna que hemos hecho con ella.
¿Vale?
Pues si ha habido correlación entre ítems,
si hemos decidido agrupar, si hemos decidido quitar.
¿Vale?
Y, hombre, obviamente una justificación
de por qué hemos decidido hacer lo que hemos decidido hacer.
Luego, Yo aquí pongo también lo de la justificación de K
y sensibilidades, ¿vale?
Que esto no siempre se hace, pero yo creo que es muy importante,
que es lo que comentábamos, que era un poco
los análisis de sensibilidad, ¿no?
No solo con cuál nos hemos quedado, sino que hemos testado más o menos
K como mínimo, ¿no?
Lo que hablábamos de un poco de entre exploratorio y confirmatorio,
de decir,
bueno, En la literatura me decían que tenía que tener cuatro clases.
Yo he ido a cuatro clases, ¿vale?
Pero no solo me he quedado con cuatro clases,
sino que he mirado que de verdad era la que mejor se adaptaba
a los datos que yo tenía, ¿vale?
Que lo he hecho con semillas distintas
o, vale, subconjuntos de ítems, ¿vale?
Y bueno, luego ya, dependiendo de a quién estemos reportando
y el tipo de revista y demás,
pues hay algunas que te piden el código,
más las semillas,
más todo, va a poder reproducir los resultados.
Pero esto ya es un poco, este último es un poco ya más extra,
extra, que depende mucho de a quién estemos reportando
todo esto, ¿vale?
La idea es que con todo este conjunto de lista,
con todos estos valores y todas estas cosas,
si alguien viniera detrás, podría replicar,
auditar y extender nuestros resultados sin problemas
y sin ninguna sorpresa por en medio.
Entonces, antes de empezar con el primer ejemplo,
los errores más comunes que dice la bibliografía que se cometen, ¿no?
Es elegir K solo por entropía o estética,
¿vale?
Mezclar tipos de binario y continuo, ¿no?
De indicadores de los dos tipos sin modelar adecuadamente.
Ignorar las dependencias locales.
Esto es el topicazo de hacer un modelo
y no mirar la asunción de que se cumple o no.
Los residuos, la normalidad,
la independencia, la colinealidad que hemos hablado,
todo esto.
Es lo mismo.
Y por último, no usar semillas ni múltiples inicios.
Entonces no podemos saber si nos hemos quedado de verdad
en un óptimo global o en un local.
Vale.
Entonces, vamos a empezar con el primer ejemplo aplicado,
¿vale?
Donde.
La idea es que este es un dataset mini, ¿vale?
Con cinco indicadores donde hacemos la suposición de esta, ¿no?
Supongamos que entrevistamos a 1.500 personas
y registramos si presentan los siguientes síntomas, ¿vale?
Todo dicotómico, muy fácil,
si no, ¿vale?
Codificado de esta manera, si uno,
no cero, ¿vale?
Y tenemos,
pues, ansiedad, depresión, consumo de tabaco,
consumo de alcohol e insomnio.
Ese es un ejemplo bastante limpio, ¿vale?
Y os lo hemos compartido, es el dataset de intro demo, ¿vale?
Entonces, un poco la idea es que hay una variable latente
que explica cada uno de ellos, ¿vale?
La idea es que, por ejemplo, aquí se podría inferir
que aunque no nos preguntemos explícitamente, por ejemplo,
si la persona tiene un trastorno de salud mental,
digamos, los patrones de respuesta de estos nos podrían permitir inferir
varios grupos dentro de esta variable latente homogéneos
dentro de cada grupo de personas con perfiles similares
con similares síntomas, ¿vale?
Y todos ellos pertenecientes a esta variable latente.
Y esto al final es lo que vamos a intentar modelar.
¿Vale?
Entonces, esto, si ahora nos vamos al R. ¿Vale?
Sí, se ve bien.
Vale.
Es el primer script, ¿vale?
El 01LCA barra demo.
¿Vale?
Y, bueno, pone aquí el nombre.
Y aquí os dice que utiliza el dataset LPA
intro demo.
¿Vale?
Los requisitos son estos.
Paquetes de aquí ¿vale?
entonces por manera de trabajar pues se puede primero
de todo poner la semilla ¿vale?
y esta línea simplemente es para cargar los diferentes paquetes
¿vale?
los que vemos aquí el pull CA
¿vale?
que es con el paquete que nos va
ah sí.
¿Vale?
El pool LCA de donde vamos a sacar la función para el cálculo,
deploy un poco para todo el data management y demás,
gplot para las gráficas y read para leer la base de datos, ¿vale?
Y tidy también un poco para el data management.
Entonces, primero, todo lo que hago, ¿vale?
Marco.
La configuración, ¿no?
Ruta al apartado CSV, ¿vale?
Y digo cómo se llama.
¿Vale?
Aquí es importante que hayáis puesto la sesión donde habéis guardado
el archivo.
¿Vale?
Si alguien se lo pregunta en R, ¿cómo se puede hacer?
Pues, si tenemos dudas de dónde estamos,
simplemente ponemos getwd, ¿no?
Aquí.
Y nos dice dónde estamos situados en este mismo momento.
Y si lo quisiéramos cambiar, de decir,
aquí no es donde yo quiero estar, Se puede hacer también con comando,
pero dentro de RStudio, la versión más sencilla,
es, te vas a sesión, set world directory, set directory,
y ya navegas como en el Windows normal y corriente.
Y seleccionas donde estás.
Le das a open y te quedas ahí.
Aquí simplemente digo las cinco variables que se supone
que voy a estar usando.
Esto simplemente estoy creando un directorio para los resultados.
Si yo los quisiera guardar, que se me guardaran en él.
Todo esto.
No es tan necesario, pero bueno,
yo es un tipo de práctica que hago generalmente
porque luego empiezo a veces a guardar cosas que genero gráficos,
que genero no sé qué, que genero no sé cuántes
y luego me quedan desperdigados entre diferentes carpetas
porque lo he ido haciendo en diferentes momentos
y tal y no sé qué.
Pues de esta manera ya lo dejo todo, ¿vale?
Y entonces, pues bueno, esto simplemente es
por si ya está creado que no lo cree y si no que cree el directorio,
¿vale?
Y la idea es que os habrá creado una carpeta que sea así, ¿vale?
Leemos los datos, ¿vale?
Y aquí ya deberíamos tener la base de datos cargada,
1500 observaciones, ¿vale?
Si la abrimos debería tener como esta pinta, ¿vale?
Un stopper por si hay algo que no ha funcionado bien.
Aquí le estoy diciendo que compruebe
que la base de datos que he cargado tiene las variables que yo se suponía
que quería usar.
¿Vale?
Y entonces.
Una vez que hayamos llegado aquí, empezaría la primera parte,
que sería más la de, propiamente, data management, pura y dura.
En esta base de datos tan sencilla y tan así,
lo único que habría que hacer sería, como ya os he dicho,
categorizar de uno hacia adelante.
Como os decía en las diapositivas, si veíamos aquí,
está todo entre 0 y 1, 0 es no, 1 es sí.
Pues simplemente hago una transformación.
Yo estoy creando otra base de datos,
pero podemos reescribir la base de datos que estábamos haciendo.
Y si veis,
ahora ha pasado 2, 1 y podemos hacer una comprobación directa
de que el 1 ha pasado a 2 y tal.
Podríamos hacer una tabla de frecuencias
para ver que tenemos el mismo porcentaje de respuestas
y que todo ha ido bien.
Data management.
Y aquí pues creo unas funciones auxiliares, ¿vale?
Que básicamente estas funciones auxiliares
son para poder calcular el A, B y C, ¿vale?
La entropía normalizada
y una función para que me dé las probabilidades
y demás cuando tenemos las matrices, ¿vale?
Simplemente esto me va a dar A, B y C, esto me va a dar la entropía
y esto es una función auxiliar, ¿vale?
¿Son totalmente necesarias?
El A, B y C,
si no queréis, no.
Ya hemos dicho que esto es sobre todo más para tamaños un poco reducidos
o un poquito medianos.
¿La entropía normalizada?
Yo creo que sí.
Hay paquetes que también la usan, que la pueden implementar
y demás.
Bueno, veis que hacerla tampoco es muy complicado.
Esto ya va a gustos.
Entonces, ahora empezaríamos ya, ¿vale?
Estas de aquí.
Que serían las líneas donde probablemente vamos a hacer
la modelización.
Yo aquí le voy a decir, primero voy a marcar las especificaciones
de lo que yo quiero que haga.
¿Vale?
Esto aquí lo voy a crear luego con el Lapli, ¿vale?
Para que me lo haga todo, pero lo podríamos hacer
de uno en uno.
¿Vale?
Solo que en lugar de ser, pues, tres líneas,
a lo mejor serían, no sé, ocho líneas.
¿Vale?
Aquí le digo que quiero testar, ¿no?
De uno a cuatro.
¿Vale?
De uno a cuatro categorías.
¿Vale?
Empezamos por aquí.
No sé muy bien cuántas vamos a tener.
Yo, pues, podemos partir de hace.
No sé muy bien
cuántas categorías vamos a tener.
Pues, bueno, vamos a ver de uno a cuatro de momento.
¿Vale?
Le voy a decir que me haga 20 stars y un máximo de interacción de 1000,
¿vale?
Esto es bastante poco, habría que ser un poquito más alto,
pero para modo de reproducir ahora y de empezar solo con este,
ya nos serviría, ¿vale?
Yo lo marco todo y, simplemente, la siguiente línea
es crear la fórmula, ¿vale?
, para aplicar.
Si en algún momento, cuando estéis haciendo el R,
tenéis alguna duda de cuando yo hago estas cosas,
¿qué me está dando?
Podéis simplemente seleccionar el de esto, el objeto,
y darle a Run
y te dirá, te enseñará aquí qué es lo que has creado.
Una combinación donde tengo ansiedad, depresión, uso de tabaco,
uso de alcohol, insomnio, ¿vale?
Sobre 1.
Y entonces, por último, simplemente.
Aplico, ¿vale?
El pool LCA, que es la función realmente que me va a calcular
el let in class analysis.
Let in class analysis, perdón.
Entonces, como yo, esto lo podíamos hacer especificándole
el número de clases aquí,
especificándole uno y hacer otro que me diga dos, otro que me diga tres,
otro que me diga.
Pero en lugar de eso, pues, lo he hecho aquí marcándole
que quiero de uno a cuatro, ¿vale?
Y con la función lapli que hace que me lo haga para todos, ¿vale?
Le doy.
Mientras está el stop este que está trabajando,
lo dejamos.
Y cuando una vez que esto desaparezca,
significará que ya está.
Y lo que haremos después, mientras esto corre,
os explico.
Haremos.
Sacaremos una tabla de fin, ¿no?
Una tabla donde veamos toda esta información
que a nosotros nos interesa.
¿Vale?
Vamos a recoger.
Y simplemente esto es con un poco, ya os digo, del deploy y demás.
Bueno, voy a coger del feed que he creado,
pues que me coja cada uno de los que me ha creado, que son estos cuatro.
¿Vale?
Y entonces, pues me va a decir.
Quiero que al final me dé, que me diga la K,
cuántos han sido, ¿vale?
O sea, ¿qué número de categorías he probado?
¿Cuál es la low likelihood?
¿Cuál es el número de N-par?
¿Cuál es el A y C?
¿Cuál es el B y C?
¿Cuál es el A, B y C?
¿Y cuál es la entropía?
Un poco lo que hemos dicho que necesitábamos para comparar
los diferentes y ver cuál es el que nos quedamos.
Y por último, simplemente le digo que me lo ordene según el BIC,
que es el que hemos dicho que íbamos a comparar.
Ya ha acabado, ¿vale?
Esto era bastante rápido en este caso.
¿Vale?
Me lo hace.
Esto ya es línea que os he puesto aquí.
La podéis usar o no, ¿vale?
Simplemente es para crear un archivo CSV
y que os exporte toda la información, esta tabla,
a un CSV para que la podáis abrir luego con otro programa
o lo podéis simplemente copiar y pegar en DAL.
Bueno, con R se puede trabajar de mil maneras las tablas
y se pueden hacer tablas chulísimas.
Pero, no sé, por experiencia, al final,
cuando trabajamos para hacer tablas para un artículo,
casi es más rápido el Excel que el R. Entonces,
simplemente le damos a imprimir esta tabla, ¿vale?
Y aquí nos da las soluciones, ¿vale?
Vemos las columnas,
tengo lo que le he marcado en la función aquí de arriba, ¿vale?
De tabla fit.
Que decía, pues la K,
el low likelihood, el N-par,
el A y C, ¿vale?
Son estas de aquí arriba.
Entonces me dice, pues he testado de 1 a 4,
¿vale?
El 2, el 3, ¿vale?
Me da la low likelihood, ¿vale?
El número de parámetros y el A y C, el B y C, todo,
y la entropía.
Y le he dicho que me lo ordene con el menor B y C arriba, ¿vale?
Técnicamente, esta sería la mejor solución.
Según los criterios que hemos estado hablando hasta ahora.
¿Por qué?
Porque si fijáis, simplemente en el B y C
es el que tiene más bajo.
El de 2 tiene uno bastante parecido, pero bueno,
es más bajo.
La entropía entre el 3 y el 2 es mejor incluso también.
Tenemos aquí que encima nos está clasificando mejor.
Y esto es una de las cosas que quería mirar.
Si os fijamos solamente en la entropía,
la mejor entropía en realidad es la de cuatro categorías.
Pero el B y C me lo está penalizando.
Entonces, aquí.
Si nos fijamos solo en el B y C pues es mejor este
pero lo que yo creo que deberíamos hacer aquí
para ser puristas y correctos es entrar en profundidad
y comparar los resultados que me dan de este con los que me dan
de este ¿vale?
porque los saltos de B y C. No son extremadamente grandes,
sí que, bueno, aquí pues de 20, ¿no?
Pero bueno, estamos hablando de 8.000 puntos.
Bueno, entonces no estaría de más, pues esto,
ver un poco cómo cambia.
Es decir, aquí lo que deberíamos mirar
sobre todo es la cuarta que nos está dando,
la extra que nos está dando respecto a nuestra mejor solución.
¿Qué hace?
¿Aporta algo?
¿No aporta algo?
¿Vale?
Ahora os voy a enseñar un poco cómo va.
Entonces, A partir de aquí, a partir de este print,
lo que yo voy a hacer va a ser trabajar con los resultados
de solo una de estas soluciones.
¿Vale?
Entonces, yo aquí, por ejemplo, le voy a decir
que me seleccione por BF perfiles, ¿vale?
Que me seleccione el primero de la tabla, que es el que he puesto
yo, que es el 3, ¿vale?
Porque lo he ordenado.
¿Vale?
Guardo todo lo de los feeds.
¿Vale?
Y hago una tabla y una gráfica.
Si yo miro, por ejemplo, la tabla que he hecho,
la tabla esta que he hecho simplemente
son los ítems que yo tenía para cada una de las clases,
las probabilidades.
Con esto yo ya podría empezar a interpretar todo.
Pero si os fijáis, nos queda una tabla un poquito más grande.
Y entonces, pues igual, en lugar de ponerlo
así, nos es más útil presentarlo en un gráfico.
Un gráfico como podría ser este tipo de gráfico
de aquí, ¿no?
Donde, bueno, yo lo titulo, ¿no?
La item class analysis, demo, k igual a 3,
la solución.
Y os presento de cada uno de los ítems
las probabilidades, ¿vale?
Están aquí, de respuesta.
Recordad, sí y no, ¿no?
Entonces, la probabilidad de responder sí
de cada uno de los ítems de cada una de las clases, ¿vale?
Clase 1, clase 2, clase 3.
Nota importante.
El orden en el que nos presentan las clases es un poco aleatorio.
Lo que ahora nos sale clase 3, si otros ponen una semilla distinta
y lo volvemos a mirar y tal, la clase 3
puede pasar a ser la clase 1.
O sea, el orden en el que aparecen las clases es irrelevante.
Lo importante es que la clase que yo tengo aquí 3 siempre
va a tener estas características.
De respuesta más altas a insomnio que la clase 1 y 2,
se va a caracterizar por eso, también por ansiedad.
Por depresión
¿vale?
y respuestas más o menos medias de uso de alcohol y uso de tabaco
y que la clase 1 pues por ejemplo siempre tendría
que tener respuestas muy bajas de todo y la clase 2
sea que sea en el orden en el que aparezca siempre tendría
que tener la característica de uso de alcohol muy alto
¿vale?
entonces esto es lo que tenemos que ir viendo
que es independientemente del orden en el que presentenos esté dando
todo el rato lo mismo.
La idea, con la tabla que os estaba presentando antes,
si os fijáis, ansiedad, por ejemplo, que es el primer gráfico de aquí,
la clase 1,
una probabilidad de 0,17, que es más o menos la barra esta de aquí.
De la clase 2, 0,1, 0,17, que son estos de aquí, y 0,66
para el tercero, que es la línea del 50, estaría por aquí.
Son los mismos números, pero puestos gráficamente.
Vale entonces esta es la primera parte que es que estamos viendo
una vez que ya tenemos los grupos definidos ¿no?
tres grupos perfecto
¿qué es lo que caracteriza a cada uno de ellos?
¿vale?
y ahora representa más o menos que la persona especialista
podría ya empezar a definir y decir si tiene sentido o no tiene sentido
¿vale?
esta línea de aquí del ggsave es para salvar el gráfico
¿vale?
Y esta línea de aquí es para decirme que la verdad es que está todo bien.
Lo siguiente que también tendríamos que explorar,
aparte de los perfiles que tiene cada uno de ellos en respuesta,
es los tamaños de las clases.
¿Vale?
Entonces, así como la entropía y la BPP,
¿vale?
Entonces, esto simplemente empieza a coger las posteriors, ¿vale?
Para la proporción de clase.
Esta es la función de entropía normalizada
que he hecho aquí arriba, ¿vale?
Cuando os he dicho que he hecho dos auxiliares de entropía normalizada,
veis que está subrayada.
Esta de aquí he hecho la función y ahora simplemente aquí
abajo la llamo, ¿vale?
Necesito las posteriors y con ello lo hago.
Y la BPP, ¿vale?
¿Vale?
Y lo que he hecho aquí ha sido como crearos
de esto donde simplemente me dé la información que a mí me interesa.
Donde podemos correrlo y nos sale aquí las resultados.
Me dice mezcla y calidad de la clasificación.
¿Vale?
Entonces te dice las proporciones.
De cada uno ¿vale?
el primero tiene una proporción la clase 1
¿vale?
de las que hemos visto tiene una proporción
del 50% aproximadamente la segunda del 30%
y la tercera del 19% ¿vale?
Vemos que lo primero que habríamos visto
sería que son interpretables, tienen un sentido, perfecto.
Lo que ahora vemos
es que no hay ninguna que sea excesivamente pequeña, ¿vale?
No estamos creando clases espurias, ¿vale?
La entropía normalizada es la que hemos visto antes,
0,72, ¿vale?
Y el ABPP por clase, ¿vale?
Yo aquí estoy viendo que la primera clase
tiene una EPP de 0,92.
Está muy bien.
0,87, 0,74.
Bueno, bastante bien.
La que tiene un poco más de heterogeneidad
es la última, que es la que tiene una proporción más pequeña.
Aquí sería cuestión un poco de interpretar si tiene sentido
o no estos de respuestas diferentes.
Tantas respuestas que sí,
donde tienes ansiedad, depresión, insomnio, alcohol, tabaco,
tienes un poco de todo.
Aquí deberíamos tener diferentes perfiles
dentro de un perfil más grande, ¿no?
Entonces, aquí lo de siempre.
¿Me interesa cortarlo más y de esto a lo mejor hacer otro?
Hombre, estamos en un 19%, igual ya nos quedamos con muy poco, ¿sabes?
Porque el más grande ya me lo está clasificando muy bien,
¿vale?
Entonces, bueno, esto simplemente es
lo mismo.
Para guardar, ¿vale?
En un CSV.
Os lo dejo todo listo para que los que sabéis
R lo vais a hacer con vuestro propio código
y mucho mejor que yo, seguro.
Y los que no, tenéis un esquema,
una maquetación para poder ir adaptando.
Ah, vale.
¿Lo puede repetir Néstor ahora cuando le contestes?
Sí, sí, que en el script aquí estoy diciendo que lo guarde,
pero no estoy diciendo que lo imprima, ¿vale?
Entonces, yo aquí os he sacado en lo anterior simplemente
la parte que más nos interesa, pero sí que podríamos de cada uno
de estos, ¿vale?
, imprimirlos, ¿no?
Simplemente la gráfica,
o sea, la tabla de proporción de clases, que es lo que os decía,
la entropía, el ADPP.
Lo tenéis un poco guardado todo y la idea sería que esta información
que en estas líneas de aquí os hago imprimir,
como lo que hemos visto hasta ahora, con un pequeño texto de aquí.
Luego yo esta información os la estoy guardando aquí
en un CSV.
Es el siguiente paso.
Aquí no obligo a que se ejecute, simplemente lo guardo.
La idea es que os quede guardada toda la información
que vais a necesitar.
Y por último una tabla rápida de probabilidad de item
sí por clase,
donde hago esta tabla y la moldeo un poco para luego posteriormente sí
aquí imprimirla.
Y la última línea es de guardar.
Donde aquí veis en una tabla más resumen, un poco más bonita
que lo primero que he enseñado, simplemente he pivotado
un poco toda la información para dejarla más bonita,
diciendo, bueno, pues los cinco ítems y las tres clases
y las probabilidades de respuesta en cada una de ellas.
Entonces, es lo mismo que veíamos antes,
lo mismo que veíamos en la gráfica, ¿Vale?
Pero presentando un poco más bonito.
Si veis,
estamos dando vueltas constantemente a la misma información,
pero hay diferentes formas de presentarla.
Aquí es muy sencillo porque tengo tres clases
y cinco ítems.
Pero claro, empecemos a calcular, pues yo qué sé,
si sacamos seis clases con, yo qué sé, 20 ítems.
Es que claro, se nos va.
Ahora, A modo didáctico,
si decimos, vale, yo ahora he visto aquí toda la información que quiero
y he guardado todo lo que quiero.
Si yo ahora quisiera, por ejemplo, comparar con el cuarto,
o sea, con la opción cuatro, ¿no?
O sea, de cuatro categorías, ¿cómo lo haría?
Bueno, pues simplemente yéndonos, si queremos,
al punto inicial en el que yo.
He seleccionado, ¿vale?
Este que es la línea 57,
selección por b, f y perfiles, ¿vale?
Lo que os he dicho que yo de la tabla que creaba,
de la tabla fit, ¿vale?
He seleccionado el primero.
Si yo vuelvo a imprimir la tabla fit, ¿vale?
He seleccionado el primero, que es este.
El que yo quiero mirar ahora es el tercero, que es este de aquí,
que es el de cuatro soluciones.
¿Vale?
Pues yo lo único que tendría que hacer
sería cambiar este uno por un cuatro y ya todo lo demás lo puedo empezar
a correr.
¿Vale?
Entonces, aquí, por ejemplo, podríamos volver a correr
el gráfico.
Ahí.
Ay, vale.
Perdón, perdón, sí.
La dislexia de las horas.
He seleccionado que tienes solo una solución.
¿Vale?
Y entonces aquí nos va a hacer lo mismo,
el mismo número de tablas, las mismas gráficas,
todo igual, ¿vale?
Pero viendo un poco cómo se diferenciaría.
Entonces aquí lo que vemos es,
lo que tendríamos que hacer es ahora comparar unos resultados con otros
y ver cuál tiene más sentido, ¿vale?
Cuál es la tabla nueva,
o sea, la clase nueva que nos ha creado,
si nos aporta algo, ¿vale?
Si ha variado mucho otras, ¿vale?
Estamos viendo que sigue habiendo una que tiene una ansiedad muy alta,
que esto antes no estaba.
Ahora la de uso de alcohol nos la ha partido en dos.
Tenemos algunas que por ejemplo de insomnio no tiene nada
pero luego está caracterizada por el uso de alcohol
pero luego dentro de uso de alcohol hay otros que tienen insomnio aquí
sería un poco de interpretación de si nos interesa o no nos interesa
y si tiene sentido o no tiene sentido luego
por ejemplo también podríamos ver las proporciones,
la entropía, la EPP y todo lo miro aquí.
Y este nuevo grupo tiene,
pues, el primero tiene una proporción de 0.12,
el siguiente uno de 0.11, de 0.23 y de 0.53, ¿vale?
Pues vemos que ha creado una tercera categoría
robando un poco de lo que era antes la categoría 2 y la categoría 3,
¿vale?
No hay ninguna que sea exageradamente pequeña, ¿vale?
La entropía es un poco mejor y los ADPP,
pues, no son muy malos.
Hay una que es extremadamente buena, Otra que es muy buena,
otra que también está por encima de 0,8 y otra que está
un poco más abajo, 0,73.
Bueno, parece que está bastante bien.
No vemos nada extremadamente malo.
Aquí sobre todo entraría más lo que yo digo, ¿no?
La interpretación de si esta separación que me ha hecho
básicamente de los de uso de alcohol entre unos que tienen insomnio
y unos que no, nos interesa o no nos interesa.
¿Vale?
Entonces, esto era como una primera aproximación muy.
De resumen.
Esto más o menos lo tenéis también un poco todo en las diapositivas.
Os he puesto esto y ahora os ponía aquí la tabla de resultados
de lo que hemos ido viendo.
Y era un poco para que los que no tuvieran el R
o no quisieran utilizar el R tuvieran también un poco los resultados.
¿Vale?
Donde, bueno, pues esto es marco que el principal es el 3, ¿vale?
Y vemos un poco todo.
Hemos visto que el 4 también
es una muy buena solución.
¿Vale?
La gráfica de antes, ¿vale?
Las proporciones, entropía, la EPP, ¿vale?
Y un poco todo lo que tendríamos que ir reportando, ¿vale?
Como mínimo.
Aquí faltaría un poco, pues también los criterios de convergencia,
el número de réplicas que hemos hecho,
etcétera.
¿Vale?
Y, bueno, pues un poco de ideas clave al finalizar el desktop.
¿No?
Pues let en class, modelo de mezclas variables, ¿vale?
Simplemente esto es a modo de recordatorio de final del bloque.
¿Vale?
Checklist de reporte.
¿Vale?
Y lo que os decía, la mini biografía,
que he cogido más cosas,
pero principalmente todo lo que he ido explicando,
para quien quiera profundizar más, para quien quiera la misma anotación
y demás, está en estos cuatro.
Con estos cuatro tenéis más que de sobras para hacer exactamente
lo que hemos hecho aquí.
Con esto saltaríamos ya al bloque 2,
donde ahora vamos a centrarnos básicamente en hacer
un Latent Class Analysis con una base de datos un poco más grande,
mirando un poco más todo lo que decíamos
de la independencia local y todo esto.
Y lo vamos a hacer primero en R
y luego vamos a hacer lo mismo en Jamovi.
Entonces, el objetivo de este bloque, nuevamente,
es aplicar el item class analysis, ¿vale?
En un caso realista, ¿vale?
Ahora os voy a explicar porque digo realista
y digo sintético al mismo tiempo, ¿vale?
Decidir el número K con criterio
y más interpretabilidad y diagnosticar independencia local
y revisar entropía y tamaños de clases, ¿vale?
La idea es que un poco al final del bloque,
pues, la idea es que pudierais adaptar esto
a algo que quisierais hacer vosotros con vuestra base de datos.
Aquí os pongo algunas opciones, ¿vale?
Porque no solo hay un paquete que haga esto en R, ¿vale?
Os separo entre Latent Class Analysis
y Entity Profile Analysis, ¿vale?
Y en Hamovi.
Todos ellos van bastante bien, ¿vale?
Algunos funcionan más para unas cosas,
otros más para otras.
Por ejemplo, nosotros vamos a estar utilizando el pool LCA,
¿vale?
Porque tiene una fórmula simple, nos da el AIC
y el BIC, ¿vale?
Entropía, y va muy bien, está sobre todo enfocado también,
pues esto, un poco a docencia y demás, ¿vale?
Este es el, el otro es el Random LLCA, ¿vale?
Que es dependencias locales, ¿vale?
Te permite hacer ya cosas un poco más finas, ¿vale?
Efectos aleatorios, binarios y contajes, bueno.
Y luego el Bayes LCA, ¿vale?
Que es donde entramos ya directamente
en un enfoque bayesiano, ¿vale?
Y bueno,
pues quien entienda de Bayesiana sabrá lo que implica todo esto
y que no, pues no sé si es lo mejor
meterse o no, ¿vale?
Y luego este es para Leten Class y luego para Leten Profile
el que vamos a utilizar es el Tidy LPA, ¿vale?
Que va muy bien.
Que básicamente está corriendo el Mcluster por detrás,
tampoco vamos a engañar.
Está bien porque me gusta,
porque sobre todo hace modelos tipo M+,
y tiene también, al ser tidy, está en el environment tidyverse
y demás.
Tiene mucha facilidad para hacer gráficos y demás con el ggplot.
Entonces, este está muy bien.
Podemos hacer el mclass directamente, ¿no?
Que al final lo que hace el tidy este es mover el mclass por delas,
pero tiene la ventaja de que se integra en el multivelso
tidyverse este que se ha creado, que la verdad va muy bien.
Y luego el flexmix, ¿no?
Pues que es un poco más para cosas más arcos, ¿no?
De mezclas de GLMs, ¿vale?
Y es mucho más flexible.
Lo mismo que podíamos hacer aquí un poco en el random,
pues podemos jugar un poco más con todo.
Y en el Jamovi,
pues veréis que se puede ejecutar un poco todo lo mismo, ¿vale?
Hay diferentes módulos, ¿vale?
El módulo principal
que vamos a utilizar es el mClass, ¿vale?
Que tiene la ventaja de que tiene cero código
y es la reproducibilidad muy alta porque ya te marca las semillas
y todo y demás, ¿vale?
Pero tiene unos límites, ¿vale?
Por ejemplo, que no implementa el 3 steps de forma nativa, ¿vale?
¿Qué ocurre?
A ver, no es que no se pueda hacer esto
con Jamovi, ¿eh?
Se puede hacer.
Lo que pasa
es que tenemos que saltar aquí al RJ Editor, que esto básicamente es
programar, ¿vale?
Es empezar a meter el código de R dentro de Jamovi.
Y yo, sinceramente, aquí no le veo mucho el salto, ¿no?
Porque yo esto sobre todo lo vendo con la ventaja
de que es cero código, ¿vale?
Y es muy intuitivo y muy fácil,
si ya me tengo que meter a programar, pues yo que sepa,
eso ya me meto con el R directamente.
Pero bueno, para gustos, colores.
Que sepáis que más o menos hay más opciones,
pero estas son las principales y las más usadas.
Y luego, como decía, hay otros programas
como por ejemplo M+.
Y aquí os pongo también otra vez un poco de resumen.
Entonces, el dataset que os he pasado.
¿vale?
Está basado, es un dataset que he simulado yo,
¿vale?
A partir de un dataset que existe en realidad, que es el SAMHSA,
el Substance Abuse and
Mental Health Service Administration , ¿vale?
Que genera públicamente la administración pública
de los Estados Unidos, ¿vale?
Que son los que, bueno, en principio lideran las políticas de salud mental
y consumo de sustancias, ¿vale?
Eh.
Entonces, esta base de datos se puede encontrar,
la podéis encontrar en un montón de artículos que la usan,
es pública hasta cierto punto, la podríais descargar,
lo que pasa es que, bueno.
Para el tema de compartiroslolo ya directamente no sé si era muy legal,
no lo tenía muy claro.
A veces cuando pides que la gente
se lo descarguele genera algunos problemas.
Pues decidí simplemente viendo un poco las distribuciones
y demás que reportan en los estudios y ellos anualmente van a hacer
una simulación yo con lo que más me interesaba.
¿Vale?
Eh.
Entonces, la idea es que coge la población civil
institucionalizada de 12 años o más, ¿vale?
, de todos los Estados Unidos, y hace preguntas,
pues, del estilo,
como las que presento aquí, ¿no?
, de tabaco, alcohol, cannabis, otras sustancias, ¿vale?
, uso de líquido de fármacos, etc. Y múltiples indicadores
de salud mental.
Depresión, ideas de suicida, días de mala salud mental,
uso de servicios.
La verdad es que si queréis empezar,
no tenéis una base de datos con la que empezar a hacer cosas
y queréis buscar una base de datos muy grande y compleja
para poder hacer 10.000 cosas distintas, esta está muy bien.
Las originales tienen muestras de orden de decenas de miles
de personas.
Yo os he hecho un dataset sintético.
Que se llama así, Data Science al Sintético,
CSV, donde más o menos genera unas 10.000 personas
con un 1 o 2% de datos faltantes.
Lo que quiere decir que sea sintético
es que no contiene perfiles reales, ni personas reales
ni nada.
Es totalmente una reproducción pausible según lo que dicen ellos.
Y he generado estos de aquí, ¿vale?
Como binarios, tabaco a 30 días, alcohol consumo a 30 días,
cannabis 12 meses, cocaína 12 meses, depresión de últimos 12 meses
y de acción suicida de últimos 12 meses.
Y como continua,
escucharemos en el profile, edad de inicio del alcohol, el K6,
día de salud mental mala, ¿vale?
De 30 días y horas de sueño.
¿Vale?
Y como covariables para el último apartado, ¿vale?
El decir steps.
Y distales el sexo, la edad, educación y empleo.
¿Vale?
Entonces a partir de ahora
trabajaremos un poco con esta base de datos.
¿Vale?
Entonces.
Vale.
Este es un flujo que vamos a seguir antes de saltar ya al R,
que es lo que hemos ido haciendo hasta ahora, ¿vale?
Preparar las variables binarias, ajustar para diferentes Ks,
seleccionar por los diferentes criterios, B y C,
pero alguno más, ¿vale?
Haremos un poco de gráficos, interpretación de perfiles
y un poco de diagnóstico de por pares,
si cuadrado elevados, dependencias locales, ¿vale?
Entonces, ¿Cuál es ahora?
Este.
Vale.
En mi caso, ¿vale?
Esto.
Lo digo por si.
Creo que lo había dicho antes, pero lo digo por si.
¿Así se ve bien?
¿O un poquito más grande?
¿Sí?
Vale.
Eh.
Ahora lo veréis, yo ya lo tengo corrido, ¿vale?
Porque como es más grande, pues en este ordenador
ya el pobrecillo no da para más y me tarda unos minutos.
Y para agilizar ya lo había dejado abierto con todo corrido, ¿vale?
La idea es la misma de antes, ¿vale?
Ay, perdón, estoy en el que no me toca,
es este de aquí.
La idea es la misma de antes, ¿vale?
Marcamos una semilla, la que os dé la gracia,
llamamos a los paquetes.
¿Vale?
Marcamos la ruta para el Sansant sintético.
¿Vale?
Recordad, sobre todo, estar donde se supone que tenemos
que estar.
Le digo los nombres, en principio,
de las variables que yo estoy interesado en trabajar.
¿Vale?
Creo otro directorio de salidas.
¿Vale?
Confirmo que no está y todo.
¿Vale?
Llamo a la base de datos.
Y me tendría que crear esta base de datos de 10.000 observaciones,
donde tenemos un ID, lo típico.
Entonces vemos cómo va, sexo, grupo de edad, educación, empleo,
diferentes variables.
Y lo mismo que hacíamos antes, un stopper por si por algún casual
habíamos cargado algo que no era o no tenía todas las.
Porque a veces esto lo hago sobre todo
porque es muy típico, ¿no?
Cuando empezamos a trabajar
y sobre todo tenemos bases de datos muy grandes,
que empezamos a hacer como para manejar bases de datos
más pequeñas con solo algunas variables seleccionadas.
Algunos años y demás y a mí me gusta cuando estoy así crearme
algunos stoppers en algunos puntos de oye sigo trabajando
con lo que yo pienso que estoy trabajando
y no con la versión reducida o con la versión solo de algunos años
o tal ¿vale?
sobre todo esto lo intento hacer sobre todo antes de no
por nada sino antes de correr los modelos
porque lo que decimos como tardan muchas veces
en correr depende de qué modelo lances
si de repente te tiras dos o tres días corriendo un modelo
para testar varios modelos a la vez y tú al final vas
a leer los resultados y resulta que en vez de cargar
la base de datos que tú querías, has cargado una donde habías hecho
una filtración por grupos de edad, dices, ahí va, ¿sabes?
Has perdido tres días para nada, ¿vale?
Vale, aquí, esta línea de aquí, la línea 19,
lo mismo que hacíamos antes, ¿vale?
Transformamos lo que decíamos aquí de los 0 y 1 en 1 y 2, ¿vale?
Lo mismo de antes, llamo a las funciones auxiliares
¿vale?
el A, B y C,
la entropía y la función para sacar las probabilidades
y aquí vale aquí en esta vez yo quiero testar de 1 a 6.
¿Vale?
Le he dado 20 stars, pero podríamos ponerle más, ¿vale?
Yo recomiendo que, lo que os digo, ¿no?
Pues igual empezar por aquí y luego viendo,
dependiendo de lo que tarda, le voy a poner más,
le voy a poner menos, también depende de si me está llegando
a la convergencia o no.
¿Vale?
Máximo de interacciones 3.000, ¿vale?
Aquí os explico también un poco lo que quiere decir
cada cosa, ¿vale?
Candidatos de número de clases, número de arranques aleatorios,
¿vale?
Por cada K, tope de iteraciones del algoritmo
M por arranque, ¿vale?
Nuevamente, vuelvo a hacer la fórmula y correría
el análisis que ya tengo corrido para que me quede al fit.
Vale.
Entonces, ahora empezaríamos con la tabla de ajustes, ¿no?
Igual que antes, la creaba y podía guardarla
o simplemente sacarla aquí, ¿vale?
¿Qué me está dando esta tabla de ajustes?
La idea es la misma de antes, ¿vale?
La he ordenado otra vez y entonces me da que según solo
el BIC,
la mejor solución es dos, ¿vale?
Dos categorías, ¿vale?
Y según el ICL, pues también.
Si nos fijamos, ¿vale?
, la entropía es mucho más baja que la que teníamos en el dato,
o sea, en el ejemplo superguay que he puesto,
típico de classic, donde todo sale superbién,
todo se separa superbién y luego pasamos a algo,
como os digo, un poco más real, ¿vale?
O sea, que son saltos simulados,
pero los he simulado a partir de lo que ellos reportan,
donde empezamos a ver que las separaciones,
pues, son un poco más, en fin,
de aquella manera, ¿vale?
Obviamente, aquí estamos hablando de una población muy grande,
nacional, nacional a nivel de Estados Unidos,
que es como un continente básicamente,
desde los 12 años hasta el fin de los tiempos,
con un montón de variables, con temas de salud y demás,
que hay muchas variables que tienen que estar involucradas, ¿vale?
Entonces, cuando yo empiezo a crear los perfiles solo
con estas, pues lo que yo estoy observando aquí
es que me estoy dejando cosas fuera, probablemente, ¿vale?
Pero bueno.
Para no poner aquí 20 variables y que esto se nos vaya de madre,
Para esto nos sirve, de momento.
¿Vale?
Entonces, pues bueno, la manera de proceder sería, por ejemplo,
valorar aquí cuáles tendríamos.
Pues mira, el de 2 es el mejor,
pero si nos fijamos, igual que antes, el de 3,
vamos, prácticamente lo mismo.
Y el de 4, pues tampoco va muy mal.
Es un poquito más, pero bueno, podría llegar a valorarse.
El de 5 sí que ya se nos va.
A la tercera unidad, ¿no?
El salto prácticamente.
Y no parece que mejore excesivamente, ¿no?
La entropía.
Si os fijáis, de aquí de 379 de entropía
subiríamos a 443 y aquí ya 5,7%, bueno.
Aquí lo que estamos viendo es mucha heterogeneidad
y entonces hay que empezar a explorar.
Empezamos a explorar por el primero que me da,
lo mismo de antes, selecciono el primero, ¿no?
Y, pues en este caso, empiezo por las prevalencias
y tamaños de clase, ¿vale?
Y las selecciono, ¿vale?
Entonces, ¿qué estoy viendo aquí?
Cuando yo solo tengo dos clases, ¿vale?
Pues un 38% en una, un 61% en otro, ¿vale?
Si yo ya quiero, por ejemplo, decir, vale, pero entonces.
Vamos a empezar a explorar directamente
qué pasaría si saltamos a otras.
Si saltamos a una más,
vemos que siguen teniendo, simplemente por el nivel de tamaño,
bastante sentido.
No hay de momento ninguna espuria.
Si seguimos subiendo, obviamente estamos partiendo de dos,
vamos subiendo aquí, en tres.
Aquí ya nos hemos encontrado una en cuatro categorías
donde hay una de las clases que tiene una proporción bajísima.
De hecho,
nos están poniendo 26 personas de las 10.000.
Claro, esto difícilmente justificable.
Aquí es lo que os digo.
Podríamos entrar en estas 26 personas,
ver qué tienen.
Aquí yo, de hecho, hago el gráfico, ¿no?
Y podría hacer simplemente este gráfico.
Y de este que digo que es la clase 3, ¿no?
Ver qué es lo que se supone que me está categorizando tan.
Vale, pues tengo 26 personas
que básicamente lo que tienen es un consumo de cannabis
y cocaína muy alto.
¿Vale?
¿Yo quiero crear una sola categoría para representar a esta gente?
Pues, hombre, bastante discutible, ¿no?
Cuando, por ejemplo, a lo mejor esto está altamente
relacionado con depresión.
¿Me estoy enfocando en ellos?
¿Sí?
¿No?
Bueno.
Si yo sigo haciendo el slide de la gente,
cada vez me va a ir a peor esto.
Simplemente para que lo veamos como.
¿Cómo va?
¿Vale?
Aquí me ha creado dos clases,
o sea, una clase más donde, ¿vale?
Tengo una que ya ha subido a 35,
pero otra que ha bajado a 252 individuos.
¿Vale?
Y aquí, respecto a lo anterior, lo único que me habrá hecho, ¿vale?
¿Veis?
Me mantiene uno que consume cocaína,
pero los de cannabis me los ha partido.
¿Vale?
Y entonces, pues estos, bueno, pues me los ha partido
y luego en depresión que era lo que era,
hay unos que están muy deprimidos y otros que no.
Entonces me está diciendo
que de todos los que consumían cocaína y cannabis,
que me los ha agrupado en uno, puedo distinguir también
otro minigrupo que en total de todos estos.
De los que me ha creado estarían aquí, ¿no?
Son una ínfima parte donde tienen un montón de problemas.
¿Nos queríamos centrar en esto?
Pues discutible, ¿vale?
Lo que nos dicen los números es que no es la mejor solución,
¿vale?
Podríamos explorar, por ejemplo, la que estábamos diciendo
de que estábamos viendo que parecía que tenía mucho sentido que era
de tres categorías, ¿no?
Donde todos los tamaños tienen un tamaño razonable
y no habíamos hecho el perfil,
pero aquí podríamos marcarnos un perfil de esto.
Y entonces vemos cómo nos lo está separando.
Aquí vemos que tenemos claramente un grupo que es el 3,
donde tiene respuestas muy bajas a todo.
Luego,
un grupo 1 donde se caracteriza sobre todo por un consumo de alcohol
y luego el resto de respuestas bastante bajas.
Y luego un tercer grupo, que sería el grupo número 2,
donde si bien el alcohol también está presente,
vemos que también tienen el consumo de cannabis,
una parte de consumo de cocaína.
Y es aquí donde se representa la depresión.
¿Vale?
Y la ideación.
Entonces, lo que hemos visto, ¿vale?
Todo esto lo podemos ir guardando
y tener todos los gráficos al mismo tiempo,
irlos viendo, y entonces, aquí en este caso,
lo que te vendría más es, como especialista,
o hablar con un especialista, decidir, ¿vale?
Desde este punto de aquí, ya me está agrupando, digamos,
los que no tienen ningún problema, ni de depresión ni de ideación,
¿vale?
, me los separa de los que consumen alcohol, por ejemplo, y cannabis,
más o menos, en dos grupos.
Y uno de estos grupos también consume cocaína
y parece que tiene más problemas que los otros.
Me quiero quedar aquí.
Quiero hacer la slide que veíamos antes donde añadir
el cuarto grupo me hacía un grupo únicamente de altos consumidores,
de que todos consumían cannabis y cocaína
y todos ellos tenían depresión.
¿Vale?
Entonces, aquí es dependiendo un poco de lo que más valoremos.
¿Vale?
Teniendo en cuenta siempre lo que os digo,
los tamaños que nos está quedando.
Porque si solo ponemos el gráfico, parece todo muy bonito.
Perfecto.
¿Vale?
Pero cuando estábamos poniendo las proporciones,
veíamos que había un momento que estábamos hablando de 29 personas.
De 10.000.
Bueno.
¿Vale?
Entonces, ¿qué haríamos aquí?
Por ejemplo, lo siguiente, los diagnósticos bivariados.
¿Vale?
Este código de aquí, básicamente, estoy sacando las posteriores
nuevamente, lo estoy aplicando a la función, ¿vale?
Y me estoy creando la tabla donde me está comparando todo.
¿Vale?
Si yo la puedo guardar, que es esta línea 109,
o simplemente puedo imprimirla, Y aquí me sale, ¿vale?
Los bivariados.
¿Vale?
Había una solución, ¿vale?
Si, por ejemplo, en lugar de.
Voy a enseñar, me he ido adelantando, perdón.
Si seguíamos solo con la primera, ¿vale?
¿Vale?
Y hacíamos los bivariados, ¿vale?
¿Veis que son mucho más altos que antes?
Antes estábamos en valores de por debajo de 0.0 o de 1.4,
¿vale?
De nachi cuadrado.
Si yo en lugar de quedarme con las tres categorías me quedo
con la mejor de b y c únicamente, ¿vale?
Que era la de dos categorías, cuando hago los bivariados.
Y miro las dependencias, me salen estos valores de aquí.
De forma orientativa,
a partir de 3.algo ya se consideraría significativo,
lo que quiere decir que todo esto de aquí ya significaría
lo que no es solo el h cuadrado significativo.
Especialmente preocupante este de aquí,
donde lo que me está diciendo es que hay una asociación.
Entre cannabis y depresión,
que yo con dos categorías solo no estoy cogiendo.
Y que en uno de estos grupos, en una de estas categorías,
hay una alta relación entre cannabis y depresión,
que es lo que hemos visto al crear los tres grupos que nos separaba.
Me decía que había un grupo que empezaba a consumir cannabis
que tenía depresión.
Si os fijáis, al crear el tercer grupo,
estos valores bajan drásticamente y ya no son significativos
y no son preocupantes.
Por lo tanto, la de dos categorías no sería una buena solución,
aunque fuera la mejor de B y C,
porque tiene dependencias locales.
Y entonces tendríamos que quedarnos con la E3.
Y entonces, aquí, ¿veis?
Es todo un conjunto de cosas.
Interpretación, resultados estadísticos,
y ya vamos eliminando.
Hemos empezado diciendo, bueno, pues, desde el 2
hasta el 4, casi, me puedo quedar con ellas.
Bueno, vale.
Miro las dependencias locales.
Oye, pues, el 2 nos vamos fuera.
Vale, 3 y 4.
Vale, ahora igual sería un poco más interpretación.
¿Vale?
Eh.
Vuelvo otra vez esto lo podéis hacer yo lo estoy haciendo así
volviendo hacia atrás y hacia delante.
Porque quería que el código que era lo más pequeño posible
y no liarlo mucho vale pero simplemente podéis hacer
diferentes bloques de comparación para crear diferentes objetos
con el aquí le podéis poner un subíndice en función
del número de grupos que estáis haciendo
y así no tenéis que estar creando constantemente los objetos
pero yo para que no se quedara muy grande lo hice de esta manera
vale vamos a seguir explorando simplemente la de tres categorías.
¿Vale?
Que hemos dicho que nos parecía bien
y nos sacaba unos buenos diagnósticos.
¿Vale?
¿Qué sería lo siguiente que miraríamos?
¿Vale?
Pues los tamaños de clase posteriores.
¿Vale?
La entropía y el ABPP.
¿Vale?
Pues igual que antes, os hago todo esto aquí,
donde os lo suelta todo del tirón.
¿Vale?
Y nos dice, vale, Las posteriores más o menos
serían estas que hemos ido viendo antes, ¿no?
De 0,48, 0,22, 0,29%, ¿vale?
La entropía normalizada es del 33%,
¿vale?
Y el AEP por clase es del 0,69, 0,69, 0,64.
No son muy altos, pero tampoco son especialmente preocupantes.
Lo que nos está diciendo es que,
si bien a nivel global no es muy alta,
luego cuando entramos individualmente en cada una de ellas es aceptable.
Vale aquí pues sería interesante también ver un poco
la de cuatro categorías y demás como nos lo como nos lo parte
todo vale.
Nuevamente os doy la opción de guardar
y os hago también una tabla así de probabilidades
para que se pudiera interpretar los perfiles
¿vale?
que más o menos son más más friendly más bonitas
¿vale?
Entonces esto es más o menos veis que lo que ha añadido
es un poco lo de la interpretación de los bivariados
y un poco se ve que la discusión no es tan bonita y sencilla
como era antes esto es más típico a lo que se suele acercar la realidad
¿vale?
volviendo a las diapositivas.
Aquí os ponía lo mismo igual que antes, una tabla de ajustes.
Y entonces, lo que hemos visto.
Aquí no está ordenado, pero la idea es lo mismo.
Aquí, si os fijáis, el ICL.
De 2 es el mejor,
pero luego cuando comparamos entre 3 y 4
no cambia mucho.
¿Por qué?
Porque a pesar de que sí que el B y C suben un poquillo más,
la entropía también salta bastante.
Y como es una combinación de ambas, pues se queda bastante cercano
y es bastante interesante.
¿Vale?
Del mismo motivo,
por eso aquí sube a 57 y aquí baja a 55
cuando lo hacemos con 5 categorías.
¿Por qué?
Porque la entropía,
en este caso que estaba haciendo aquí con 5,
pues subía a 0,61.
¿Vale?
Cuando el B y C subía, ¿vale?
Una magnitud de a tercer dígito,
pero la entropía también subía bastante.
Esto es la representación del codo, ¿vale?
Según, en lugar de dos modelos, el BIC
y el ABIC, ¿vale?
¿Dónde lo que os decía, no?
Aquí vemos un poco cómo va variando, ¿vale?
Esto está bien reportarlo,
si en lugar de querer reportar.
Todo esto,
porque a veces tenemos limitaciones de tablas y demás, ¿no?
Pues a lo mejor podemos reportar este gráfico
para que quede claro, ¿no?
Porque hemos elegido, porque enseguida luego repuntaba.
¿Vale?
También podemos hacer gráficos con la entropía, ¿vale?
Que vemos que aquí, pues bueno, es entre baja
y moderada dependiendo del número de tecas.
¿Vale?
Aquí lo que os quería comentar sobre todo es que con K2
tenemos una entropía de 37,9 con K3 incluso bajaba un poco
a 3,42 que les parecía que no mejoraba mucho.
Pero bueno, luego hemos visto que las categorías internas sí,
cuando entrábamos en las dependencias locales
veíamos que había una problemática aquí que podíamos solucionar
añadiendo una.
Aquí es un poco de resumen de todo esto.
Si hay algún número, por ejemplo, que baila, eso es porque me parece
que en un momento dado cambié entre un curso y otro,
cambié la semilla.
Y lo que os decía, algún número de solución
pudo cambiar.
¿Vale?
Entonces, aquí, tabla resumen,
recordad lo que tendríamos que empezar a poner siempre,
pues tabla resumen, como es categórico, ¿no?
Que tiene cada uno, las porciones de probabilidad,
si hemos llegado a una convergencia o no, ¿vale?
Todo esto.
Aquí, por ejemplo, lo estaba representando con clases 2, ¿vale?
Os decíamos, ¿no?
La interpretabilidad, ¿vale?
Los resultados que hemos obtenido, la regla práctica,
que así es como hemos decidido tener,
los primeros resultados de las proporciones,
luego lo de los perfiles.
Una gráfica a lo mejor también puede ser interesante.
A lo mejor, lo que os digo, en lugar de hacer
este que estaba haciendo yo aquí, pues puede ser más interesante
congregarlos todos en uno
y compararlos directamente para ver cuáles son.
Esto, lo de siempre, lo que os decía al principio,
los gráficos dependen mucho de la situación en la que estemos.
Aquí lo de las dependencias locales, ¿vale?
Y la idea de si íbamos por las diapositivas
era que cuando vas por las diapositivas
va todo muy bonito, va todo muy bien,
pero llegas aquí y de repente ves unas dependencias locales
muy grandes.
Y esto es lo que hemos visto que nos hacía volver hacia atrás
y pasarnos a las tres categorías.
Y esto se solucionaba, ¿vale?
Las dependencias locales, igualmente,
se pueden presentar también en un gráfico en lugar de una tabla,
si queremos, ¿vale?
Aquí podríamos poner una línea donde nosotros consideremos
que estamos empezando a preocuparnos, ¿vale?
¿No?
O para decir que igual un poco más hacia adelante
y cuáles son los pares que hemos empezado a tener en cuenta, ¿vale?
¿Qué también tendríamos que reportar?
Pues lo que os he dicho al principio, no sé si os acordabais,
que había entre un 1 y un 2% de datos faltantes, ¿vale?
Pues aquí no hemos hecho nada y lo que pasa es que el pool LCA
elimina los casos con datos faltantes, ¿vale?
Entonces, aquí, por ejemplo, si es del tipo mar,
pues podemos hacer imputación múltiple, por ejemplo, con mais.
Recordad que aquí lo importante es decir qué hemos hecho.
Y mi recomendación siempre con estos datos faltantes
es.
Independientemente de que utilicemos multiple imputation o IPW
o máximo de verosimilitud, es hacer análisis de sensibilidad.
Yo compararía siempre datos completos a complete cases
contra lo que queramos hacer, ¿vale?
Y ser transparentes, ¿vale?
Ver qué está cambiando,
qué no está cambiando, cuáles sean los porcentajes de pérdidas
y que tiene un poco más sentido todo, ¿vale?
Y lo mismo que decíamos, el checklist del reporte, ¿vale?
Que hemos puesto antes, que es como
que lo hemos puesto un poco todo.
Vale, entonces, ahora, aquí os explico desde cero
cómo hacerlo, lo mismo más o menos en Jamovi,
¿vale?
Os lo enseño aquí por la parte de módulos, ¿vale?
Donde si vais, abrís Hamovi directamente, veis aquí,
es la parte de módulos, lo podríais abrir, ¿vale?
Y tendríais que buscar el Snow.
El Snowboard RMM
¿vale?
le dais simplemente a instalar y ya os lo generará
y entonces ya os saldrá la opción de hacer los análisis
¿vale?
voy a pasar yo directamente a Hamobi también para enseñaroslolo.
Aquí lo que es importante es que tenemos que hacer
los mismos pasos que hemos hecho hasta ahora vale.
Lo primero que tendríamos que hacer es ir a variables
y recodificar las variables
o hacer el management que quisiéramos.
Como hemos visto antes, lo que hemos hecho
era recodificar las variables de 01 a 12.
Esto lo podéis hacer.
Creando una transformación de la variable.
¿Vale?
Tendríamos que hacerlo, esto es un poco más tedioso
que en R, ¿vale?
Pero sería hacerlo para cada una de ellas,
donde tendríamos que, pues esto, crear, por ejemplo,
una nueva variable, ¿no?
Donde estemos transformando, como vemos aquí,
pasar de 0, 1 a 1, 2.
¿Vale?
Eh.
Yo lo que he dicho es crear simplemente
una transformación nueva que se llame 1, 2.
¿Vale?
Y lo que le digo es esto de aquí,
que es de la variable que hay, simplemente añadele un valor.
¿Vale?
A 0 le suma 1 y a 1 le suma 2.
¿Vale?
Y entonces esto automáticamente me generalo que yo quiero.
¿Vale?
Y entonces para cada una de ellas, ¿vale?
Lo he ido.
Lo he ido haciendo, ¿vale?
Para tabaco, para alcohol,
para todas, ¿vale?
Una vez que habríamos hecho esto, podríamos ir a análisis
y este de SnowRMM es el nuevo paquete que hemos instalado, ¿vale?
Simple y sencillamente,
el nuevo módulo que le llama Hamobi que hemos instalado,
que es el que nos permite hacer el latent class.
¿Vale?
Entonces, aquí ya voy a saltar, bueno, os saldrá esta interfaz,
¿vale?
Leite en Clash y ahora vamos a saltar ya directamente a Jamovi.
Quiero compartir.
Vale, ¿se ve?
Sí, vale, perfecto.
Bueno, este es mi móvil, ¿vale?
Pues lo que decía, simplemente yo para cada una de estas, ¿no?
Tabaco normal, pues he hecho una nueva de tabaco,
¿vale?
Y así.
Recordad lo que os he dicho, ¿no?
Datos, transformar y, bueno, pues yo aquí había utilizado
esta 1, 2, ¿vale?
Y entonces simplemente coges la variable que tú quieres,
la transformas con 1, 2 y te crea una nueva.
Vale, una vez que hemos hecho lo que decía, vamos aquí a Snow en RM
y entonces pues estas son todas las nuevas opciones
que tenemos, ¿vale?
A nosotros los que vamos a utilizar son estos dos de aquí,
que es Latent Class Analysis y Latent Profile Analysis.
Hoy nos centramos en el Latent Class.
Vamos al Latent Class, ¿vale?
Y aquí es lo que nos generaría de cero, ¿vale?
La ventaja que tiene, sobre todo para mí, el Jamovis,
que es bastante intuitivo y bastante fácil de manejar, ¿no?
En este lado de aquí tenemos todas las variables
que tenemos, ¿no?
En la base de datos, con los diferentes nombres, ¿vale?
Un punto importante a aprender es, aquí tenemos una lupa
y podemos buscar la variable que nosotros quedamos, ¿no?
Y nos salen todas las que coincidan.
Lo digo porque ahora no tenemos tampoco tantas,
pero lo típico, tenemos 50 variables,
empezamos a transformar nuevas variables
y de repente estamos con 150 variables
y no sabemos encontrar nada.
Pues esto va súper bien, ¿vale?
Y entonces, pues yo también lo tengo aquí ya creado
porque, bueno, pues también, igual que antes,
tarda un poco, ¿vale?
Entonces, ¿qué habríamos hecho aquí?
Aquí lo que habríamos hecho.
Habría sido pasar a variables las mismas que hemos utilizado
antes.
Tabaco, alcohol, cannabis, cocaína, depresión y ideación.
Todas con el sufijo 1 o 2, que son las que he transformado.
Y entonces, aquí, cuando esto está sin desplegar, le dais a desplegar
y os da.
Si vosotros lo hacéis directamente, básicamente os lo calcula, ¿vale?
Y os da muy pocas cosas.
Pero cuando le dais a desplegar podéis ver
todas las opciones que os da dentro de la interfaz
para personalizar.
Aquí la diferencia con antes
es que no podemos hacer una función iterativa
donde me esté todo testando al mismo tiempo, ¿vale?
Esta es una desventaja.
Una ventaja es que se queda aquí en el historial un poco guardado
todas las comparaciones y cosas que hemos ido haciendo
y que podríamos ir mirando y comparando al mismo tiempo.
Entonces, por ejemplo, yo aquí lo estoy haciendo con 2
y me salen las soluciones para 2.
Cosa interesante.
El primer paso cuando queremos comparar,
lo que deberíamos hacer es, si yo quiero ir a 6.
Eh.
Me debería poner seis clases, ¿vale?
Ahora, por ejemplo, para hacerlo más sencillo,
lo pongo en cuatro, ¿vale?
¿Por qué?
Ahora veréis que lo que hace es que calcula solo para cuatro clases,
pero me va a dar la solución de los criterios de ajuste
para todas, ¿vale?
En el Model Comparison,
para todas las clases del uno al cuatro.
Entonces, es un poco intuitivo, ¿no?
Lo principal que deberíamos hacer es empezar por el número máximo
de clases que queremos ver.
Nos va a tardar un montón, ¿no?
Dependiendo de qué, porque va a tener que calcularlo todo.
Pero aquí, en este, el model fit nos lo va a dar solo
para que nosotros pongamos, pero el model comparison inicial,
que es el que nos interesa, nos lo va a dar para este.
¿Vale?
Cosas que tenemos aquí.
Normalmente tenemos el AIC, el BIC,
el ABIC.
El CAIC, que es una variación del AIC, ¿vale?
La low likelihood, la chi.
Y, bueno, otro parámetro que es el G cuadrado.
Aquí no tenemos el ICL que teníamos antes, ¿vale?
Entonces, aquí, pues, nuevamente, lo mismo.
Vemos un poco que lo mejor sería dos clases,
pero, bueno, tres clases es prácticamente lo mismo a nivel
de B y C. Y que aquí el cuatro clases mejora un poco,
pero.
O sea, que sube un poco el BIC,
pero tampoco es algo dramático, ¿vale?
Entonces, para hacerlo distinto, vamos a mirarlo con cuatro clases,
¿vale?
Aquí en cuatro clases,
lo que sí que nos da en el model fit,
aparte de la misma información que acabamos de ver,
es la entropía, ¿vale?
Que es una de las partes que nos interesa, ¿vale?
Luego nos da automáticamente ya SizeEdgeOfEdgeDatenClass, ¿no?
Que son las probabilidades de cada una de ellas, ¿vale?
O sea, los tamaños.
Muchas de estas cosas, ¿vale?
Si no os salen es porque las tenéis que marcar aquí, ¿vale?
Aquí yo le especifico las clases, aquí le digo que me dé la tabla de.
De medidas del modelo, la tabla de comparación del modelo,
el plot del codo, ¿vale?
Y aquí diferentes plots.
Y también le pido que me dé la probabilidad del tamaño de clases
y de ítem respuesta, ¿vale?
Que son los que hemos ido viendo hasta ahora.
¿Vale?
Probabilidad de clases, ¿vale?
Vemos que no habría nada raro.
Eh.
Y esto es el ítem respuesta por probabilidades, ¿vale?
Y entonces me da para cada uno, veis aquí el título, de tabaco,
de alcohol, de cannabis, ¿no?
Pues la probabilidad de cada una de las clases
que tengo de responder cada una de las cosas, ¿vale?
Entonces, Es mucho más fácil,
pero a veces las respuestas que te da son más difíciles de interpretar,
pero es menos de esto.
Si os fijabais,
a mí también me lo daba así al principio,
pero yo con un par de líneas de Tidy
y demás, pues lo he puesto todo en una tabla
y ha quedado como más bonito.
¿Vale?
Esto, a ver, tampoco es el fin del mundo,
esto simplemente una ventaja que te da
es que tú puedes copiar la tabla, exportarla, ¿vale?
Puedes añadir notas, ¿vale?
Entonces simplemente podríamos copiar aquí la información,
exportarla a un Excel y montarnos nosotros
nuestra tabla comparativa que queramos.
¿vale?
incluso podemos montar una tabla mucho más grande viendo
pues como son las comparaciones a medida que vamos aumentando las cas
¿vale?
si para lo que os decía cuando os queremos comparar
toda la información a veces que es mejor
pues tener o varias pantallas o tener una tabla grande
con la información que queremos hacer con los diferentes gráficos
¿vale?
y bueno este te hace un gráfico.
Que a mí no me entusiasma, pero bueno, que es este de aquí,
el LCAplot, ¿no?
Donde vemos para cada una de las clases, ¿vale?
Con sus tamaños, ¿vale?
Los diferentes ítems, ¿vale?
Fijaos que es 0.17, 0.32, 0.36, ¿vale?
Que son estos de aquí, las probabilidades,
los tamaños que tiene cada una de las clases, ¿vale?
La 1, la 2,
la 3 y la 4 y luego aquí me salen los 6 ítems
y estas barras de aquí son las probabilidades de respuesta.
Es como todo resumido en un solo gráfico
y lo que me deja ver
es que esta última es la que tiene más respuestas positivas,
sobre todo a tabaco, alcohol, cannabis y depresión.
No está mal para un primer vistazo, pero a mí no me acaba de entusiasmar
porque no sé exactamente hasta dónde llegan estas barras.
Pero está bien para un primer vistazo muy rápido.
Vemos que la primera claramente es una de respuestas bajas
en general, sobre todo prácticamente luna a tabaco y a cocaína.
¿no?
luego la segunda se diferencia porque empieza a tener un pico
especialmente en alcohol y tabaco
¿no?
y un poco en cannabis más alto que la anterior
la tercera claramente lo que la caracteriza es el alcohol
¿vale?
y la última pues es consumo prácticamente de todo
¿no?
tabaco, alcohol, cannabis un poquito más de cocaína
que el resto y sobre todo valores de depresión
y de acción más altos que el resto ¿vale?
Luego otro tipo de resumen donde lo vemos en función de colores.
La probabilidad de cada una de las barras
es cada una de las clases.
Y la respuesta positiva o negativa.
Positiva o negativa, positiva o negativa
para cada uno de ellos.
Lo mismo de antes, pero con otro tipo de gráficos.
Y este, que igual me parece uno de los más interesantes,
aquí no se ve muy bien, si lo guardas y lo amplías se ve mejor,
que es un poco el valor de respuesta en función de los diferentes,
cada uno de estos cuatro, te lo pone aquí,
son las diferentes clases.
Entonces vemos cómo se comportan las diferentes clases
probabilidad 1, probabilidad 2 para los diferentes ítems
que tenemos esto está bien dependiendo del tipo de ítems
que tengamos si podemos hacer agrupaciones podemos hacer
una agrupación de orden de ítems en uno consumo
y en otro estados mentales para ver un poco
cómo son los comportamientos de los perfiles
si ves algún tipo de perfiles que se cruzan algunos que se solapan.
Pero al final, lo de siempre, estamos dando vueltas
sobre la misma información.
Y este es el ELBO,
el que os decía aquí, el ELBO plot, con los diferentes criterios.
Y esto es un poco lo que te da Jamovi solamente con este módulo
sin entrar en más profundidad de entrar en código,
de cargar otros módulos y tener que irte
a otro tipo de análisis y demás.
Este es el principal de Jamovi
que se usa.
Para ver es que para.
Un primer análisis y demás.
Podemos hacer lo mismo, ¿vale?
Más o menos, podemos mirar las mismas cosas,
pero hay cosas que no nos salen tan naturales,
como por ejemplo la EPP, ¿vale?
Igual las tablas comparativas no son las mejores,
la limitación de algunos gráficos, ¿vale?
Pero para una persona que no sabe programar o no se quiere poner
a programar en R, puede hacer un análisis
sin necesidad de que alguien se lo haga en R, ¿vale?
Porque lo que más nos importa al final, que son las probabilidades
y los tamaños, lo tenemos, ¿vale?
Y los criterios de selección, esto lo tenemos, ¿vale?
Y, bueno, esto, volviendo luego ya a la presentación.
No, esto era un poco lo que yo quería ver.
Bueno, pues aquí os presentaba un poco los.
Los mismos resultados, ¿vale?
Para quien no pudiera, ¿vale?
Entonces, pues esto, a lo mejor lo que os sirve más es poner,
es decir, bueno, pues quiero comparar el 2 contra el 3,
pues me hago cada uno de ellos, copio y pego
las tablas y las pongo una al lado de la otra, ¿no?
Y veo cómo van variando, ¿no?
Lo mismo para las probabilidades, los gráficos, ¿vale?
Lo mismo, todo.
Entonces, así, última diapositiva del día.
¿En qué se parece y qué se difiere lo que hicimos en R?
Pues bueno, en Jamovi comparamos los modelos AIC,
BIC y tal, y entropía, tamaños de clase,
probabilidades por ítem, rate of self-counts, ¿vale?
Pero las limitaciones frente a R
es que el control fino de arranques y semillas, ¿vale?
Esto lo habéis visto.
Obviamente, lo que hace Hammoby es que tiene un número
predefinido de arranques y una semilla predefinida,
y esto también se puede tocar, pero tienes que ir al código.
¿Vale?
Entonces, esto es mucho más fino en R. Diagnóstico
de dependencias locales.
También una cosa que no hemos dado pero que lo he comentado
es test de verosimilitud el BLRT y el LRM
y el ICL artesanal que he hecho yo
que son test estos no los tiene por defecto y con R
si y luego pues lo que ya veremos
que es el 3 steps incluso no lo voy a dar aquí
pero que se puede hacer métodos bootstrap.
Para los errores estándar, los entornos de confianza,
bastante personalizados para poder hacer las cosas.
Y, por supuesto, la automatización de informes,
reproducidad de completa, scripts, versionados, que esto con R
es una masa más.
Pero, bueno, es mucho más fácil, es mucho más intuitivo,
pero a cambio da menos flexibilidad.
Y esto es un poco lo que quería dar para el día de hoy.
Entonces, ahora me atiendo a si alguien tiene preguntas.
Muy bien, ¿alguien aquí en la sala o online?
Estoy atenta al Zoom.
Bueno, creo que ha sido mucha información, la gente
la estará procesando, pero bueno, yo por mi parte me ha parecido
que estaba todo bastante claro y los ejemplos muy útiles
para entender todo lo que ibas contando.
¿Sí?
¿Por aquí nada?
Vale, o sea, lo mismo que.
Ah, mira, estoy compartiendo todo ahora,
quiero dejar de compartir.
No sé cómo dejar de compartir.
En fin.
Vale, no te preocupes.
Bueno, lo dicho.
A ver, ahora es mucha información, son muchas cosas.
Mañana daremos únicamente el ET Profile Analysis
y el B-Steps.
Ya habéis visto que la diferencia entre una cosa
y otra es simplemente que pasamos de indicadores en.
Categóricos, indicadores continuos, ¿no?
Entonces, la base y todo esto, todo tema formulación
y demás, ya nos lo hemos saltado, iremos directamente a R y Jamovi,
R y Jamovi, ¿vale?
Entonces, cualquier duda que haya sobre el código,
cualquier duda que haya sobre cosas anteriores de, yo que sé,
formulación, interpretación, reproducibilidad, etc.,
me lo podéis decir mañana y bueno ya también lo volveré a repetir mañana
pero que igualmente tienen mi correo y cualquier duda que se quiera hacer
en un momento dado o lo que sea pues se puede contactar
yo igual que como estoy mandando los materiales a todos los asistentes
si queréis que mandarme algún email con alguna pregunta
que tengáis para Néstor ya tenéis mi email ahí disponible.