Utilizamos o seguinte algoritmo para calcular os valores de utilidade (Part-Worths) no Conjoint CBC:
Sejam R respondentes, com indivíduos r = 1 ... R
Cada respondente vê T tarefas, com t = 1 ... T
Cada tarefa t possui C configurações (ou conceitos), com c = 1 ... C (C no nosso caso geralmente é 3 ou 4)
Se temos A atributos, a = 1 até A, com cada atributo tendo La níveis, l = 1 até La, então a utilidade para um
atributo/nível específico é w’(a,l). É esse (vetor irregular) de valores de utilidade que estamos resolvendo neste exercício. Podemos
simplificar para um vetor unidimensional w(s), onde os elementos são:
{w’(1,1), w’(1,2) ... w’(1,L1), w’(2,1) ... w’(A,LA)} com w tendo S elementos.
Uma configuração específica x pode ser representada como um vetor unidimensional x(s), onde x(s)=1 se o
nível/atributo específico estiver presente, e 0 caso contrário.
Seja Xrtc a configuração específica da c-ésima configuração na t-ésima tarefa para o r-ésimo respondente. Assim, o
desenho experimental é representado por uma matriz de quatro dimensões X com tamanho RxTxCxS
Se o respondente r escolher a configuração c na tarefa t, então Yrtc=1; caso contrário, 0.
A utilidade Ux de uma configuração específica é a soma das utilidades para os atributos/níveis presentes na configuração, ou seja, é o produto escalar x.w
Para uma escolha simples entre duas configurações, com utilidades U1 e U2, o modelo MNL prevê que a configuração 1 será escolhida
EXP(U1)/(EXP(U1) + EXP(U2)) das vezes (um número entre 0 e 1).
Para uma escolha entre N configurações, a configuração 1 será escolhida
EXP(U1)/(EXP(U1) + EXP(U2) + ... + EXP(UN)) das vezes.
Seja a probabilidade de escolha (usando o modelo MNL) da c-ésima configuração na t-ésima tarefa para o r-ésimo respondente:
Prtc=EXP(xrtc.w)/SUM(EXP(xrt1.w), EXP(xrt2.w), ... , EXP(xrtC.w))
A medida de Log-Verossimilhança LL é calculada como:
Prtc é uma função do vetor de utilidades w, que é o conjunto de utilidades que estamos resolvendo.
Resolvemos o vetor de utilidade encontrando o vetor w que fornece o valor máximo para LL. Note que estamos resolvendo para S variáveis.
Esse é um problema de maximização contínua, não-linear e multidimensional, que requer uma biblioteca padrão de solucionadores. Utilizamos o Algoritmo Simplex de Nelder-Mead.
A função de Log-Verossimilhança deve ser implementada como uma função LL(w, Y, X), e então otimizada para encontrar o vetor w que nos dá o máximo. As respostas Y e o desenho X são fornecidos e constantes para uma otimização específica. Os valores iniciais de w podem ser definidos como origem 0.