---------- Forwarded message ----------From: Andrew Gelman <gel...@stat.columbia.edu>
Date: Wed, Dec 16, 2015 at 2:33 PM
Subject: universal prior for reg coefs; first step
Many, many steps have been taken since then. I've taught this prior for the last two years in the QMSS class. For a long time, stan_lm in rstanarm was doing this prior. The correlation matrix between X and Y implies a distribution --- that is beta(K/2, eta) --- for the R^2 so prior information about the location (mode, mean, or median) of the R^2 implies a value for eta. There are between one and two problems with this approach:
The main obstacles to generalizing these ideas to other distributional forms are:
To: Ben Goodrich <goodri...@gmail.com>, Michael Betancourt <betan...@gmail.com>
Hi, see attached. I simulated corr matrices from LKJ distribution, Wishart, and inv-Wishart. (for the latter two options, we get cov matrices so I rescaled to get corr matrices). For each, I computed all the regression coefficients (i.e., for a KxK matrix, there are K sets of K-1 coefs, so that’s K*(K-1) coefs). Just to be clear, I didn’t simulate any data or run any regressions; rather, I simulated corr matrices and from there used the formula to get the regression coefs.
Anyway, for each combination of model (LKJ, WIshart, or inv-Wishart), phi parameter (1, 2, 5, or 10), and dimension (2, 5, 10, 30, or 100), I did 100 simulations and plotted the histogram of the resulting 100*K*(K-1) coefs. That’s what’s in the attached document.
Interestingly, some of these distributions look Cauchy-like.
See you
A
P.S. For LKJ, the “nu” parameter is the same as “phi.” For Wishart or inv-Wishart, I set nu <- phi + K - 1 to respect the constraint that nu must be at least K-1.
Strikingly stable, I’d say. And reasonably fit by a t distribution with 2.5 df and scale .5:> pfround(quantile(.5*rt(100000, 2.5), c(.01, .05, .25, .5, .75, .95, .99)), 1)
1% 5% 25% 50% 75% 95% 99%
-2.6 -1.3 -0.4 0.0 0.4 1.3 2.6
The critical property of the LKJ-based distribution you are simulating is that
beta' * Cor(X) * beta = R^2 ~ Beta(K/2, eta)
Thus, I don't think eta = 1 is a great default in light of the Beta(K/2, eta) distribution for the R^2. Clearly, any eta < 1 is usually inappropriate because of the infinite density at 1. Setting eta = 1 puts finite density at 1 but the mode is still 1, which doesn't really make sense for an R^2. For regressions in genetics, I don't think they would presume that the R^2 converges to 1 as K diverges to infinity. Rather, they seem to think that there are a finite number of predictors that actually matter and an infinite number that do not, so the R^2 is bounded away from 1.
The stan_lm() function forces the user to say something about their prior beliefs over the location of the R^2 and derives the value of eta that corresponds to that, which is not universal but I think it is appropriate and reasonably easy for users to deal with.
Ben
Hi, yes, I agree there are some missing steps here. One idea is that this LKJ thing is that it provides rhetorical support for a certain weak but not completely empty prior. And it does give us some baseline. I could try some simulations with other values of eta?
beta = sqrt(R^2) * L^{-1} * u