Análisis Estándar Mejorado

Análisis Cualitativo Comparado

Diego Solís Delgadillo

diego.solis@flacso.edu.mx

Análisis estándar mejorado

  • El Análisis Estándar evita que los investigadores realicen supuestos contradictorios

Supuestos contradictorios

  • Configuraciones que [contribuyen tanto a la presencia \(Y\) como su asuencia \(~Y\)]
  • Schenider y Wagemann (2012) propusieron el Análisis Estándar Mejorado para atender estos problemas

Supuestos Simplificadores Contradictorios

  • Ocurren cuando la misma configuración residual es incluida en la minimización de la ocurrencia y no ocurrencia del resultado
    • Equivale a decir que \(X\) es suficiente para \(Y\) y \(~Y\)
    • Se debe evitar esta falacia lógica excluyendo la configuración

Supuestos Simplificadores Contradictorios

  • Primero creamos la tabla de verdad para la presencia y ausencia de \(Y\)
ttLF<-truthTable(LF, "SURV", 
                 incl.cut = 0.8,
                 show.cases = TRUE)
ttLFn<-truthTable(LF, "~SURV",
                  incl.cut = 0.8, 
                  show.cases = TRUE)
library(QCA)
data(LF)

ttLF <- truthTable(LF, outcome = "SURV", incl.cut = 0.8, show.cases = TRUE)

minimize(ttLF, details = TRUE)

M1: DEV*URB*LIT*IND*STB + DEV*~URB*LIT*~IND*STB -> SURV

                          inclS   PRI   covS   covU   cases 
----------------------------------------------------------------- 
1    DEV*URB*LIT*IND*STB  0.904  0.886  0.454  0.393  BE,CZ,NL,UK 
2  DEV*~URB*LIT*~IND*STB  0.804  0.719  0.265  0.204  FI,IE 
----------------------------------------------------------------- 
                      M1  0.870  0.843  0.658 

Supuestos Simplificadores Contradictorios ii

  • En segundo lugar corremos la solución parsimoniosa para cada tabla
pLF <- minimize(ttLF,
                include = "?")
pLFn <- minimize(ttLFn,
                 include = "?")
  • Con esta información podemos explorar las configuraciones residuales que fueron utilizadas en ambos modelos

Soluciones comparadas

pLF <- minimize(ttLF, include = "?")
pLF

M1: DEV*~IND + URB*STB -> SURV
pLF$SA
$M1
   DEV URB LIT IND STB
10   0   1   0   0   1
12   0   1   0   1   1
14   0   1   1   0   1
16   0   1   1   1   1
17   1   0   0   0   0
18   1   0   0   0   1
21   1   0   1   0   0
25   1   1   0   0   0
26   1   1   0   0   1
28   1   1   0   1   1
29   1   1   1   0   0
30   1   1   1   0   1
ttLFn<-truthTable(LF, "~SURV", 
                  incl.cut = 0.8, 
                  show.cases = TRUE)
                  
pLFn <- minimize(ttLFn, include = "?")
pLFn

M1: ~DEV + ~STB -> ~SURV
pLFn$SA
$M1
   DEV URB LIT IND STB
3    0   0   0   1   0
4    0   0   0   1   1
7    0   0   1   1   0
8    0   0   1   1   1
9    0   1   0   0   0
10   0   1   0   0   1
11   0   1   0   1   0
12   0   1   0   1   1
13   0   1   1   0   0
14   0   1   1   0   1
15   0   1   1   1   0
16   0   1   1   1   1
17   1   0   0   0   0
19   1   0   0   1   0
21   1   0   1   0   0
25   1   1   0   0   0
27   1   1   0   1   0
29   1   1   1   0   0

¿Cómo identificar los supuestos contradictorios?

  • La manera más simple de identificar estas configuraciones contradictorias es con findRows() del paquete QCA
findRows(obj = ttLF, 
         type = 2)
findRows(obj = ttLF, type = 2)
[1] 10 12 14 16 17 21 25 29

Tip

  • Conociendo estas configuraciones podemos excluirlas del proceso de minimización

¿Cómo excluir los supuestos contradictorios?

  • Podemos crear un objeto que contenga los Supuestos Simplificadores Contradictorios (SSC)
SSC <- findRows(obj = ttLF, 
                type = 2)
SSC <- findRows(obj = ttLF, 
                type = 2)
  • Posteriormente los excluímos del proceso de minimización (solución parsimoniosa)
minimize(ttLF, 
         include = "?", 
         exclude = SSC)
minimize(ttLF, 
         include = "?", 
         exclude = SSC)

M1: DEV*URB*STB + DEV*~IND*STB -> SURV

¿Cómo excluir los supuestos contradictorios?

  • Para la solución intermedia
minimize(ttLF, 
        include = "?", 
        exclude = SSC, 
        dir.exp = "1,1,1,1,1")
minimize(ttLF, 
        include = "?", 
        exclude = SSC, 
        dir.exp = "1,1,1,1,1")

From C1P1: 

M1:    DEV*URB*LIT*STB + DEV*LIT*~IND*STB -> SURV 

Supuestos insostenibles e incoherentes

En la minimización usamos remanentes lógicos. Pero no todos los remanentes son aceptables.

Tipo de supuesto Problema
Incoherente Contradice una condición necesaria
Insostenible Es lógicamente imposible o contradice conocimiento previo

Important

El objetivo es excluir esas configuraciones del proceso de minimización.

Supuestos insostenibles

Son combinaciones que no pueden existir o que no tienen sentido teórico.

Ejemplos

  • país rico * país pobre
  • hombre * persona embarazada
  • industrialización * ~urbanización

No se trata de que no haya casos observados. Se trata de que la configuración no es conceptualmente defendible.

Supuestos contradictorios con SetMethods

Primero identificamos soluciones para la presencia y la ausencia del resultado.

library(SetMethods)
library(QCA)

data(LF)

ttLF  <- truthTable(LF, outcome = "SURV",  incl.cut = 0.8, show.cases = TRUE)
ttLFn <- truthTable(LF, outcome = "~SURV", incl.cut = 0.8, show.cases = TRUE)

pLF  <- minimize(ttLF,  include = "?")
pLFn <- minimize(ttLFn, include = "?")

Intersección de remanentes contradictorios

Después buscamos los supuestos simplificadores contradictorios.

SSCsm <- LR.intersect(pLF, pLFn)
SSCsm

Note

Si el mismo supuesto simplificador ayuda a explicar Y y ~Y, hay un problema lógico.

Nueva tabla de verdad

La función esa() permite excluir esas configuraciones de la tabla de verdad.

ttLFesa <- esa(
  oldtt = ttLF,
  contrad_rows = c(SSCsm)
)

ttLFesa

Tip

El análisis sigue, pero ahora con una tabla de verdad depurada.

Minimización lógica

Con la nueva tabla de verdad procedemos a la minimización.

# Solución parsimoniosa
minimize(ttLFesa, include = "?")
# Solución intermedia
minimize(
  ttLF,
  include = "?",
  exclude = SSCsm,
  dir.exp = "1,1,1,1,1"
)

Supuestos incoherentes

Si ya identificamos condiciones necesarias, no podemos usar remanentes que las contradigan.

Ejemplo Lipset

  • LIT + STB aparecen como condiciones necesarias.
  • Las configuraciones con ~LIT + ~STB serían incoherentes.

Excluir condiciones incoherentes

nec_cond le dice a SetMethods qué condiciones necesarias deben respetarse.

ttLFesa1 <- esa(
  oldtt = ttLF,
  contrad_rows = c(SSCsm),
  nec_cond = "LIT + STB"
)

minimize(ttLFesa1, include = "?")

Excluir supuestos insostenibles

untenable_LR excluye remanentes que contradicen conocimiento teórico o empírico previo.

ttLFesa2 <- esa(
  oldtt = ttLF,
  contrad_rows = c(SSCsm),
  nec_cond = "LIT + STB",
  untenable_LR = "IND*~URB"
)

minimize(ttLFesa2, include = "?")

Decisión metodológica clave

La minimización no es puramente mecánica.

Important

Siempre hay que justificar qué remanentes se aceptan y cuáles se excluyen.

Estudios de caso

Más allá de la solución

Una solución QCA puede dejar preguntas abiertas.

  • ¿Qué mecanismos unen la configuración con el resultado?
  • ¿Qué casos son típicos de la relación de suficiencia?
  • ¿Qué casos contradicen la afirmación de suficiencia?
  • ¿Qué casos no son explicados por la solución?

¿Qué casos estudiar?

Los estudios de QCA pueden complementarse con estudios de caso.

Tipo de caso Pregunta que ayuda a responder
Típico ¿Cuál es el mecanismo causal?
Desviado ¿Qué falta en la explicación?
No explicado ¿Qué camino omitió el modelo?

Gráfico X,Y

Un primer acercamiento es representar el término de suficiencia y el resultado en un gráfico de dispersión.

¿Cómo leer el sufficiency plot?

  • Eje X: membresía en la fórmula de solución.
  • Eje Y: membresía en el resultado.
  • La diagonal indica la relación ideal de suficiencia.

Tip

En suficiencia esperamos que los casos estén en o por encima de la diagonal.

Tipos de casos

La clasificación depende de la membresía al resultado \(Y\) y al término de suficiencia \(T\) o fórmula de solución \(S\).

Región Tipo de caso Uso principal
1 Típico Estudiar mecanismo causal
2 Desviado en consistencia (grado) Revisar qué tan fuerte es la desviación
3 Desviado en consistencia (tipo) Buscar conjunción omitida
4 Desviado en cobertura Buscar otro camino hacia el resultado
5 Individualmente irrelevante Generalmente no útil para estudio de caso

Tipos de casos

Tipos de casos

1- Típico

2- Desviado en consistencia (grado)

3- Desviado en consistencia (tipo)

4- Desviado en cobertura

5- Individualmente irrelevantes

Casos identificables en \(T\)

Los casos típicos y las desviaciones en consistencia se identifican con referencia al término de suficiencia \(T\).

Casos típicos

Pertenecen al término suficiente y también al resultado.

Casos desviados en consistencia

Pertenecen al término suficiente, pero no siguen plenamente la relación esperada con el resultado.

Casos identificables en \(S\)

Los casos desviados en cobertura y los individualmente irrelevantes se identifican con referencia a la fórmula de solución \(S\).

Important

La pregunta central es: ¿qué casos no son explicados por el modelo?

¿Para qué sirve cada caso?

Tipo de caso Objetivo Lectura
Típico con cobertura única Mecanismo causal Se ajusta bien al término de suficiencia
Desviado en consistencia (grado) Poco recomendable Inconsistente con el término de suficiencia
Desviado en consistencia (tipo) Identificar conjunción omitida Tiene el término, pero no el resultado
Desviado en cobertura Identificar camino omitido Tiene el resultado, pero no el término
Individualmente irrelevante No útil para mecanismo No presenta ni \(T\) ni el resultado

Recomendaciones

Errores comunes I

  • Sustituir un análisis estadístico con QCA.
  • Usar lenguaje de “variables independientes”.
  • Sostener causalidad sin identificar mecanismos.

Errores comunes II

  • Incluir solo casos positivos.
  • Nombrar condiciones con sustantivos en lugar de frases adjetivadas.
    • Ejemplo: usar “PIB” en lugar de “país desarrollado”.

Errores comunes III

  • Usar calibraciones simétricas.
  • Calibrar casos exactamente en 0.5.

Tip

0.5 significa máxima ambigüedad: el caso no está claramente dentro ni fuera del conjunto.

Errores comunes IV

  • No explicar la calibración.
  • Usar la media o rangos intercuartílicos como anclajes sin justificación conceptual.
  • Usar automáticamente todos los valores de una escala Likert.

Errores comunes V

  • Usar umbrales de consistencia demasiado bajos en suficiencia.
  • No analizar presencia y ausencia del resultado cuando ambas importan.
  • No correr análisis de necesidad.

Errores comunes VI

  • Analizar condiciones que siempre están presentes.
  • Reportar una solución sin interpretarla.
  • No discutir mecanismos causales.

Buenas prácticas I

  • Hacer públicos los datos crudos cuando sea posible.
  • Reportar la tabla de verdad.
  • Presentar la solución con notación booleana.
  • Reportar consistencia y cobertura.

Buenas prácticas II

  • Seleccionar condiciones con base en teoría o conocimiento empírico.
  • Mantener moderado el número de condiciones.
  • Detallar la calibración.
  • Usar software para minimizar.
  • Transparentar el tratamiento de remanentes lógicos.

Cierre del curso

QCA no es solo una técnica de minimización.

Important

Es una forma de construir explicaciones configuracionales, con atención a casos, conjuntos, mecanismos y transparencia analítica.