Generar un experimento de elección discreta con un diseño D-eficiente usando Stata

Una vez que hemos visto la base teórica de los diseños D-eficientes para los experimentos de elección discreta, podemos pasar a generar nuestro diseño D-eficiente en Stata. Para ello necesitaremos un módulo llamado <dcreate> diseñado por Arne R. Hole. Lo primero que tenemos que hacer es instalarlo:

ssc install dcreate

Una vez instalado, podemos pasar a generar nuestro experimento de elección discreta. Para empezar, tal como hicimos en el tutorial para R, tenemos que especificar un vector con los atributos y niveles que vamos a emplear. Por ejemplo, si tenemos un diseño con cuatro atributos con 2, 3, 4, y 5 niveles, tenemos que ejecutar el siguiente código:

matrix niveles = 2, 3, 4, 5

En este caso, «niveles» es el nombre que yo he querido darle a este vector, aunque podría llamarse de cualquier otra forma. Usando el comando que muestro a continuación, vamos a generar todas las alternativas del diseño factorial completo (es decir, todas las posibles combinaciones de atributos y niveles que podrían darse para formar alternativas). Estas deberían ser 2·3·4·5=120 alternativas. Vamos a comprobar que es cierto:

genfact, levels(niveles)

Si entramos a ver los datos que contiene Stata, descubrimos se han generado 120 filas que se corresponden con 120 alternativas. Aquí, a diferencia del resultado que teníamos en R, cada columna contiene un atributo y cada fila indica el nivel que tomará ese atributo (por ejemplo, en la alternativa 90 de la imagen, el atributo 1 tomará el nivel 2).

El siguiente paso es generar un vector con los coeficientes previos. Si no tenemos coeficientes previos empezaremos con un vector lleno de ceros. Para saber cuántos ceros hay que añadir, te recomiendo que leas la entrada en la que explico como generar el diseño en R (enlace), pero en general usaremos las siguientes fórmulas

  • Para diseños sin opción nula: l-k
  • Para diseños con opción nula: l-k+1

donde l será el número de niveles y k el número de atributos. En nuestro caso esto es 2+3+4+5-4=10 sin alternativa nula o 2+3+4+5-4+1=11 con alternativa nula. Ahora que sabemos cuantos ceros hay en el vector, podemos generarlo:

matrix priors = 0,0,0,0,0,0,0,0,0,0 //Sin alternativa nula
natrix priors = 0,0,0,0,0,0,0,0,0,0,0 //Con alternativa nula

En el siguiente paso lo que hacemos es directamente especificar la fórmula con la que crearemos nuestro diseño eficiente:

dcreate i.x1 i.x2 i.x3 i.x4, nalt(2) nset(16) bmat(priors) //Sin nula

matrix nula = 0,0,0,0 //vector nulo para la alternativa nula
dcreate i.x1 i.x2 i.x3 i.x4, nalt(2) nset(16) fixedalt(nula) asc(3) bmat(priors) //Con nula

Finalmente, en la base de datos de Stata, hemos generado un diseño eficiente para un experimento de elección discreta.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *