Page 1 of 1

Fixed parameters

Posted: Fri Sep 19, 2025 12:57 am
by djourdain
I am trying to develop a design where people have gains/losses in t0, and gains/losses in t3. and other attributes. I created some attributes Y0gain, Y0loss, Y3gain, Y3loss. Given prospect theory (losses have greater disutility), and time preferences, each will have a common basis (the utility of the attribute) multiplied by a different parameter (to take into account the different scenarios).

Here is the proposed design:

Code: Select all

Design
;alts   = A*, B*, C

;rows   = 24
;block  = 4

;eff = (mnl, d) 
;alg = mfederov(candidates=400) 

;reject:
B.Y0GAIN = 3  and B.Y0LOSS = -3,
B.Y0GAIN = 3  and B.Y0LOSS = -6,
B.Y0GAIN = 6  and B.Y0LOSS = -3,
B.Y0GAIN = 6  and B.Y0LOSS = -6,

C.Y0GAIN = 3  and C.Y0LOSS = -3,
C.Y0GAIN = 3  and C.Y0LOSS = -6,
C.Y0GAIN = 6  and C.Y0LOSS = -3,
C.Y0GAIN = 6  and C.Y0LOSS = -6,

B.Y3GAIN = 3  and B.Y3LOSS = -3,
B.Y3GAIN = 3  and B.Y3LOSS = -6,
B.Y3GAIN = 6  and B.Y3LOSS = -3,
B.Y3GAIN = 6  and B.Y3LOSS = -6,

C.Y3GAIN = 3  and C.Y3LOSS = -3,
C.Y3GAIN = 3  and C.Y3LOSS = -6,
C.Y3GAIN = 6  and C.Y3LOSS = -3,
C.Y3GAIN = 6  and C.Y3LOSS = -6



;model:

U(A) = ASC_Opt[-0.1] + 
         b_WORK[-.01]*WORK.ref[12] +
         b_EXTRLOSS[0.1]*EXTRLOSS.ref[-16]
/

U(B) =  b_Y[0.3] * Y0GAIN[0,3,6] + 
        b_Y * lambda.ref[1.6] * Y0LOSS[0,-3,-6]  +
        b_Y * theta.ref[0.36]* Y3GAIN[0,3,6] +
        b_Y * gamma.ref[0.57] * Y3LOSS[0,-3,-6] +
        b_LEG[.3]*LEG[0,2,4]  +
        b_EXTRLOSS *  EXTRLOSS[-16,-12,-8] + 
        b_WORK * WORK[10,12,14]
/

U(C) =  b_Y * Y0GAIN[0,3,6] + 
        b_Y * lambda.ref[1.6] * Y0LOSS[0,-3,-6]   +
        b_Y * theta.ref[0.36] * Y3GAIN[0,3,6] +
        b_Y * gamma.ref[0.57] * Y3LOSS[0,-3,-6] +
        b_LEG * LEG[0,2,4]  +
        b_EXTRLOSS *  EXTRLOSS[-16,-12,-8] + 
        b_WORK * WORK[10,12,14]

$
It does provide some solution, but when I calculate the utilities myself, they differ from the results given by ngene. In the design results, ngene also provides the following columns: a.gamma*a.y3loss b.gamma*b.y3loss c.gamma*c.y3loss;
I suspect that he is treating my formulation as an interaction (but then, why only for gamma?!)
Choice situation a.work a.extrloss a.gamma a.y3loss b.y0gain b.leg b.extrloss b.work b.lambda b.y0loss b.theta b.y3gain b.gamma b.y3loss c.y0gain c.leg c.extrloss c.work c.lambda c.y0loss c.theta c.y3gain c.gamma c.y3loss Block a.gamma*a.y3loss b.gamma*b.y3loss c.gamma*c.y3loss
1 12 -16 0.57 0 0 2 -8 14 1.6 -6 0.36 0 0.57 -6 3 0 -16 10 1.6 0 0.36 6 0.57 0 3 0 -3.42 0
2 12 -16 0.57 0 3 4 -16 14 1.6 0 0.36 0 0.57 0 0 4 -8 10 1.6 0 0.36 0 0.57 -3 2 0 0 -1.71
3 12 -16 0.57 0 0 2 -8 14 1.6 0 0.36 0 0.57 -3 3 4 -16 10 1.6 0 0.36 0 0.57 0 4 0 -1.71 0
Therefore, my question is: is it correct to treat fixed parameters the way I did? (lambda.ref, theta.ref, gamma.ref) ; any hint / comment regarding the method is welcomed.

Re: Fixed parameters

Posted: Fri Sep 19, 2025 11:32 am
by Michiel Bliemer
I am not entirely sure what you mean with "t0" and "t3" and I am also unsure what you mean with "fixed parameter". Do you mean a fixed variable?

The syntax .ref is meant to be used for pivot designs in combination with .piv. If you want a variable to have a fixed value, you simply write for example:
b_Y * lambda[1.6] * Y0LOSS[0,-3,-6]

where b_Y is a parameter (to be estimated), lambda is a variable with a fixed value, and y0loss is an attribute with 3 levels.

Michiel