Tag Archives: R

MaxDiff (ESCALAMIENTO DE DIFERENCIAS MÁXIMAS) I de II

Yo tenía siete perros, yo tenía siete perros, de los siete que tenía uno le regalé a Ian, ya no más me quedan seis, seis, seis…Ian es ex alumno de mi esposa de la primaria. La decisión de Ian sobre cual perrito escoger no fue fácil. Primero porque quería llevarse todos, luego porque no le pareció tan descabellada la idea de llevarse sólo dos pero como el trato había sido que nada más le regalábamos uno se tuvo que aplicar; su otro dilema fue: ¿perra o perro? Tal vez, su decisión fue Máx Diffícil porque le mostramos los siete perritos de un sopetón ¿pero qué no es así como en la vida real te dan a escoger? ¿Hubiese sido más fácil si le mostramos los perros por parejas (de dos en dos); mediante un round-robin (todos contra todos), o usando un Diseño Balanceado por Bloques Incompletos (DBBI)? Claro, que con esta última modalidad no le íbamos a decir que se trataba de un DBBI porque entonces seguramente hubiera pensado que eso de escoger un perro definitivamente no es nada fácil.

perritos de maya

Hace buen rato que los modelos de selección han estado con nosotros. El supuesto más importante que justifica su uso es que los humanos no andamos por allí con un metro, báscula, reloj o cualquier otro instrumento de medición para seleccionar los productos o servicios que compramos; nuestras decisiones las hacemos a discreción, apoyándonos únicamente en variables psicológicas o procesos cognoscitivos. Por ejemplo, si compramos un champú, no nos ponemos a pensar en los costos de producción, distribución, mercadotecnia, etc. y sacamos nuestra calculadora para ver si está acorde con el precio que nos están cobrando por él (aunque se dan casos ¿verdad?) simplemente evaluamos si el producto es caro o barato dependiendo de la imagen que tenemos de él. El CBC (Conjoint-Based Choice) y MaxDiff (Escalamiento de Diferencias Máximas) pertenecen a dichos modelos y aunque ambos emplean herramientas estadísticas semejantes su uso depende del propósito de la investigación.

Supón que eres nuevo en el negocio de los helados y deseas saber cuáles sabores son los que más se venden para construir tu oferta con base a ese conocimiento; tienes 3 sabores distintos que deseas evaluar, haces una prueba de sabor dándole a probar a cada sujeto cada uno de los tres sabores en diferente orden para no sesgar tu estudio y luego les preguntas cuál les gusto más y cuál les gusto menos. Teóricamente, lo que estás haciendo es encontrar la diferencia máxima entre esos tres sabores según el gusto de los consumidores ¿Cuál es el fundamento de esta teoría? Se cree que el consumidor evalúa el sabor 1 contra el 2 y el 3; luego hace otra evaluación del 2 contra el 3 y de esta manera selecciona de entre el conjunto de opciones que se le presentan. En otras palabras, tus sujetos de estudio evalúan cada par de opciones y eligen las que presentan las diferencias máximas, señalando cuál es la mejor y cuál la peor. Simple ¿verdad? pero ¿qué pasa si tienes más de 3 sabores, digamos, 12 o como en el caso del autoservicio, todo un pasillo con decenas y decenas de productos? Seguro que jamás has visto un(a) consumidor(a) que se la pase horas y horas evaluando, en un round-robin, todos los productos para decidir cual se lleva.

combinaciones de helados turf

Nuestra mente siempre busca atajos cuando se enfrenta a tareas demasiado demandantes, es demasiado sesgada ¿Es la técnica MaxDiff, tan aplaudida y aclamada por muchos investigadores, el método ideal para estudiar este tipo de problemas? No lo sé y no creo que haya un guapo que diga que si lo sabe pero supongo que esta es la clase de problemas que desea manejar Sawtooth con su nuevo software de Menu-Based Choice. Lamentablemente, como comentamos en el post anterior, el apetito se nos va tan sólo de ver que cuesta 10 mil dólares. Estos comentarios no deben desmotivarte a aprender la técnica, pues es un hecho que nunca ha existido la escala perfecta y por supuesto que MaxDiff tampoco lo iba a ser pero es “cool” y te puede ayudar a tomar mejores decisiones; así que para continuar te vamos a mostrar como hacerle cuando deseas regalar perritos.

Si tu perra tuvo varios cachorros, quizá más de seis, y deseas obtener una escala de diferencias máximas que te los ordene del más preferido al menos preferido, es necesario que los presentes en subconjuntos pequeños llamados bloques ¿Por qué? No querrás que tus sujetos se hagan bolas como Ian con tantos perros ¿o sí? Ahora, lo bueno viene cuando tienes que decidir cómo agrupar las opciones; piensa en el caso de los perritos ¿Debería mostrarle a Ian al Mango junto con la Yeta y la Albina o estos últimos dos junto con Creepy; ¿Y por qué no mostrarle 4 primero y luego 3? ¿Qué tal de 5 en 5? La cosa ya se puso peliaguda ¿Verdad? ¡No te preocupes! Afortunadamente, los matemáticos tienen soluciones a este tipo de problemas, en nuestro caso inventaron algo que se llama…¡correcto! adivinaste. Diseño Balanceado por Bloques Incompleto. Te lo deletreo, se llama balanceado porque hace que todos los perritos sean evaluados el mismo número de veces (en este caso 15 veces cada uno); por bloques porque, como te lo dije antes, el sujeto analiza subconjuntos de perritos en lugar de todo el conjunto de ellos (en este caso 21 bloques); incompletos porque primero ves las manchas, luego la cola y…jajaja (no es cierto), lo que sucede es que en cada bloque sólo es posible presentar una determinada cantidad de perritos (5 en cada bloque).
diseño maxdiff¿Por qué diseñar con tanto esmero y cuidado estos estímulos, tareas o bloques? Pues para evitar sesgos y estimar de forma más precisa los valores. Si logras un buen diseño todos tus perros quedarán conectados como en la ilustración de abajo, en ella puedes ver que el perro que Ian escogió, en algún momento (bloque), tendría que haber sido comparado con cada uno de los otros perros. Para obtener esa imagen conectamos con una línea cada par de números, dentro de cada bloque de la tabla de arriba. La imagen es simétrica y bonita ¿no es así? Pues bien, esa estética obedece a que nuestro DBBI es perfecto.
MaxDiff diseñoYa sé que a estas alturas te estás preguntando “¿Pero cómo carajos le hago para obtener un diseño con estas características?” ¡Elemental, mi querido Watson! Cómprate un software de 4 mil dólares, jajaja (No ¡no te esponjes! es broma). Baja el software R y un complemento o paquete de él que se llama “crossdes” (no debes tener problemas para bajarlos e instalarlos), ábrelo y escribe en la ventana (consola de R) este comando:

find.BIB(7, 21, 5)

Luego presiona la tecla enter y listo aparecerá en tu pantalla un diseño balanceado de bloques incompletos. A ver ¡espérame! algo no anda bien…Mmm…¡Ah, ya sé! Tienes que cambiar los números del paréntesis, en lugar de 7 pon el número de perritos que tienes, no perdón, el número de tratamientos (así se dice, pues); en vez del 21 el número de bloques que deseas generar y cambia el 5 por el número de perritos, digo de tratamientos por bloque…Siento que algo se me olvida…¡Ah! Si, no todos los problemas combinatorios (así se dice también, no lo digo nada más para apantallar) pueden ser balanceados*; tienes que corroborar que tu diseño es bueno o perfecto. Hay dos formas de saberlo, una elegante como la del grafo o red donde aparecen todos los perritos y la otra es tecleando este comando en el mismo programa de R:

isGYD(find.BIB(7, 21, 5))

Presiona enter y en la pantalla va a parecer algo así como:

[1] The design is a balanced incomplete block design w.r.t. rows.

Lo cual quiere decir que tu diseño pasó la prueba. Si la leyenda dice:

[1] The design is neither balanced w.r.t. rows nor w.r.t. columns.

Entonces, es “Houston we have a problem”. Pero no te preocupes demasiado porque afortunadamente también la estadística nos ayuda a estimar con bastante buena precisión diseños que no son completamente balanceados aunque no está por demás que saques frecuencias de cada bloque checando estos cuatro aspectos:

1. Balance. En nuestro caso el perrito de Ian aparece las mismas veces que cualquier otro perrito dentro del diseño completo, 15 veces ni más ni menos.*
2. Independencia (ortogonalidad). El perrito de Ian aparece con cada otro perrito el mismo número de veces, 10 en total con cualquiera de ellos.*
3. Conectividad. En este caso el perrito de Ian está conectado a cualquier otro perrito directamente debido a la cantidad de bloques que hicimos pero no necesita estar conectado directamente, es suficiente con que puedas conectarlo a los a otros indirectamente; es decir, si el perro de Ian estuvo en un bloque con Mango pero no con Maya, es suficiente con que Mango si halla estado con Maya.
4. Rotación (balance por posición). Cuida que los perritos estén rotados dentro de cada bloque, esto es por si el estudio lo haces en papel; si el estudio es mediante dispositivos electrónicos seguramente el programa los rotará de forma automática.

Cómo decía mi Apá, “con calma y no la amanecemos”. La siguiente pregunta es ¿cuántos bloques y opciones (perritos) por bloque debes tener? Sawtooth dice que puede ser entre 4 y 5 opciones por bloque (parece que el estándar está entre 4 pero no hay una regla que te impida hacerlos de 3 o incluso de 6) ¿De acuerdo? Ahora, piensa que entre más bloques más se tardará el sujeto en evaluarlos, tendrá más cansancio y reducirá la calidad de sus respuestas; normalmente nosotros procuramos que no sean más de 20 bloques. Sawtooth tiene artículos muy prácticos que te ayudarán a decidir mejor sobre tus diseños.

¿Se necesita que el entrevistado también mencione la opción menos preferida o es suficiente con que diga cuál es el perrito que escogió? Puedes hacerlos de las dos formas. No hay nada que diga cuál método es superior.

Conclusión.

MaxDiff te sirve sólo para regalar perritos. No, miento tiene otros usos:

1. Es útil para determinar la importancia de los atributos o beneficios. En el caso de la imagen de casinos, que abre este artículo, lo que se buscó fue conocer cuáles eran los atributos más importantes de entre una lista de 39 que teníamos.
2. También sirve para segmentar con base a dichos atributos; para este propósito se utilizan las estructuras de clase latente o mejor conocidas como segmentación de clase latente. Latent Gold, es un excelente software para llevar a cabo este análisis y por supuesto, Sawtooth; ahora que si eres de los que les gustan los retos, R te va a gustar.
3. Otro uso que le puedes dar es evaluar productos o marcas.

* Nota 1. Hay 2 reglas básicas para lograr que tu diseño balanceado por bloques incompletos sea perfecto: cada tratamiento debe aparecer el mismo número de veces en el diseño y la segunda es que cada par de tratamientos aparezcan juntos en el mismo número de bloques. ¿Cómo que cómo? De acuerdo. el resultado en las dos fórmulas de abajo debe ser un entero.

1). r = bk / t
2). λ = r(k-1)/(t-1)

r = veces que aparece el tratamiento en el diseño completo (el perro de Ian aparece el mismo número de veces que los otros perros, 15 en total).
b = número de bloques (21)
k = número de tratamientos en cada bloque (5 perritos por bloque)
t = número total de tratamientos (7 perritos en total)
λ = par de tratamientos que aparecen juntos en el mismo número de bloques. Por ejemplo, el perro de Ian (7) apareció 10 veces con Creepy (perro 1) en 10 bloques.

Nota 2. En el complemento de este post te explicaremos como analizar la información y el software disponible que hay para ello.

Nota 3. Apuesto a que no cambiaste los números del paréntesis en el programa R cuando quisiste checar si tu diseño era bueno. Por supuesto, que debes hacerlo ¿Qué números pones allí? pos depende de los perritos que tengas.

Gracias por leernos.

 

ACTUALIZACIÓN

El paquete “crossdes” de R ya no está disponible por lo que puedes usar en su lugar “AlgDesign”. Los pasos que debes seguir para tu diseño son:
1. Instalar R en tu computadora.
2. Cargar el paquete “AlgDesign” en R. Usa el comando de abajo y presiona enter:
>install.packages(“AlgDesign”)
3. Cargar la librería. Usa el comando de abajo y presiona enter:
>library(“AlgDesign”)
4. Establecer un número aleatorio para tu procedimiento. Puedes usar cualquier número, utiliza el comando de abajo y presiona enter:
>set.seed(12345789)
5. Genera el diseño con el comando “optBlock”. Usa el comando de abajo pero cambia los parámetros de tu diseño. Por ejemplo, en este diseño hay 9 atributos en total, 3 atributos por bloque y 12 bloques en total, sustituye estos números por los de tu propio diseño y presiona enter:
>BIB<-optBlock(~., withinData=factor(1:9), blocksizes=rep(3,12), nRepeats=5000)
6. Despliega el diseño tecleando el nombre del objeto que creaste en este caso “BIB” y presiona enter.
>BIB
7. Ya está, copia el diseño a tu programa de estadísticas favorito para que puedas probarlo o a un procesador de texto para crear tus tarjetas.