Flat prior in non-linear model

Is there any way to set a flat prior (as in “no prior”) in a non-linear model? I know it is advised against.

1 Like

Did you try set_prior in brms? I won’t recommend it as you mentioned (the flat prior, not setting priors).

Yes. A simple example:

brm(data = mtcars, 
    formula = bf(mpg ~ eta, eta ~ 1 + wt, nl = T), 
    prior = prior_string(prior = "", 
                         class = "b", 
                         check = FALSE))

I get the error: “Error: Priors on population-level coefficients are required in non-linear models, but none were found for parameter ‘eta’. See help(set_prior) for more details.”

The question is whether there is any way to override this behavior.

Thanks for the example. Let me see if I have some time to dive into it. I’ll dig around for some of the other brms users on here.

would prior(normal(0, 99999)) work?

Can’t you use prior(uniform(-Inf, Inf))?