To identify a unidimensional 2PL IRT model with unconstrained mean and variance parameters of the latent trait, we can fix one difficulty parameter to 0 (for the unconstrained mean) and one discrimination parameter to 1 (for the unconstrained variance).

But there’s also a different approach, advocated i.a. by Fox (2010, p. 88-89), i.e.

to constrain the sum of difficulty parameters to 0:

\mu_{\beta} = \sum_{k} \beta_{k} / K , where K is the number of (binary) items

\widetilde{\beta}_{k} = \beta_{k} - \mu_{\beta}

and the product of discrimination parameters to 1:

\sigma_{\alpha} = \prod_k \alpha_{k}

\widetilde{\alpha}_{k} = \alpha_{k} (1/\sigma_{\alpha})^{1/K}

I have two questions.

First, following this topic on sum-to-zero constraints, and this bit of code specifically:

```
transformed data {
vector[2*N] Q_r = Q_sum_to_zero_QR(N);
real x_raw_sigma = inv_sqrt(1 - inv(N));
}
parameters {
vector[N - 1] x_raw;
}
transformed parameters {
vector[N] x = sum_to_zero_QR(x_raw, Q_r);
}
model {
x_raw ~ normal(0, x_raw_sigma);
}
```

is there a way of specifying priors on the elements of x? I was just wondering how to translate the priors of the difficulty parameters from the “typical” approach, say:

```
beta ~ normal(0, 3);
```

into the approach with a centered vector? I’d be grateful for some code examples.

Second, following the discussion on constraining the vector of parameters by their product , is there a way of imposing that constraint on the discrimination parameters so that their product is equal to 1? Again, I’d be grateful for some code examples.

Thank you!