Divergenece with skew_normal_lpdf target model

Here’s a simple skew normal regression model that throws a lot of divergent transaction warnings. What’s a better way to model this to avoid divergence and get consistent results?

library(sn)
n <- 500
x <- as.numeric(seq(from=1, to=n, by=1))
dAlpha <- 10
dBeta <- 2
noise <- as.numeric(rsn(length(x), xi = 0, omega = 500, alpha = 50))
y <- (dAlpha + dBeta*x) + noise

stanMod3 <- ’
data {
int<lower=0> N;
vector[N] y;
vector[N] x;
}
parameters {
real alpha;
real beta;
real<lower=0> sigma;
}
model {
target += skew_normal_lpdf(y | (alpha + beta*x), 500, 50);
}

fit <- stan(model_code = stanMod3, data = list(y= y, N=n, x=x))
summary(fit)

Try centering x

I’m not seeing any improvement using mean centering. May I please ask you to show me what you’re thinking?

omega = 500, alpha = 50 seems so far away from unit scale. Could you reparametrize the residual, say by 1/500?