Defining dirichlet distributions for segments of a matrix

I have a cell-mean model where I am trying to put a Dirichlet prior on the design matrix.
I am really struggling to implement this in RStan and would really appreciate some help.
I am struggling to just get a basic inflexible implementation to work.

Here is my current model without the Dirichlet with the desired model (hard coded/inflexible) for the example data provided below (commented out due to invalid syntax):

data {
  int<lower=0> N;   // number of data items
  int<lower=0> K;   // number of means
  matrix[N,K] x;   // design matrix
  vector[N] y;      // outcome vector
}
parameters {
  vector[K] mu;       // coefficients for predictors
  real<lower=0> sigma;  // error scale
  real eta[K];        // Error in mean
  //simplex[5] x_w1; // Weights in mean estimation
  //simplex[5] x_w2; // Weights in mean estimation
}
//transformed parameters{
//  matrix[N,K] x_w;
//  x_w[1:5,1] = x_w1; x_w[6:10,1] = 0;
//  x_w[1:5,2] = 0; x_w[6:10,1] = x_w2;
//} Should have been set according to x
model {
//  x_w1 ~ dirichlet(1/2); Uniformative priors for simplicty
//  x_w2 ~ dirichlet(1/2);
// 
  y ~ normal(x * mu, sigma); //Should have been x_w instead of x
  sigma ~ gamma(1, 1);
  for (i in 1:K){
     mu  ~ normal(sigma*eta[i], sigma);
  }
  eta ~ normal(0, 1);
}

Simulated data:

# Simulate data in R
set.seed(1)
y <- rnorm(10)
y[6:10] <- y[6:10] + rnorm(5,1, seq(.5, 1.5, length.out = 5))
x <- model.matrix(~0+factor(rep(c(1,2), each = 5)))
dat <- list(
    N = 10,
    K = 2,
    y = y,
    x = x
)

Any help or suggestions (alternative model designs) are highly appreciated.

  • Windows
  • R package version 2.21.5

Sorry for the slow response. I don’t fully understand what the intended relationship between x and x_w is (or is x supposed to be completely removed from the working model?). Can you show the code using x_w that isn’t working and explain what happens when you try to use it?