Note that I am new to Turing as well as to Bayesian inference.

I have to following simple Bayesian linear regression model. (This is pretty much the tutorial example)

```
Turing.@model function linear_regression(x, y)
s ~ Distributions.truncated(Distributions.Normal(0, 10), 0, Inf)
b ~ Distributions.MvNormal(zeros(size(x, 2)), 1)
y ~ Distributions.MvNormal(x * b, s)
end
model = linear_regression(X_train_norm, y_train_norm)
chain = Turing.sample(model, Turing.NUTS(0.65), 1000)
```

where `X_train_norm`

and `y_train_norm`

have been both normalized.

The size of `X`

is `5760x74`

The model works for smaller sample sizes and less predictors (`360x20`

@ 20s) but with the data size from above from above it takes such a long time that I simply stopped it.

Is there something wrong? Are other samplers better for this job? Is there something obvious that I can do to speed it up?

My goal is to make a Markov switching model where in each regime the model is a linear regression.