Skip to content

"LogBF = Inf" problem #624

@Masharipov

Description

@Masharipov

Thanks for the useful package!

I was used bayestestR to compare sensetivity (TPR) of different methods (M1,M2,M3,M4,M5) averaged over the levels of SNR.
This is the code:

contrasts(Data$Method) <- contr.equalprior_pairs
contrasts(Data$SNR) <- contr.equalprior_pairs

fit_bayes <- stan_glm( TPR_prc ~ Method + SNR, data = Data, iter = 5000, warmup = 1000)
pairs_bayes <- pairs(emmeans(fit_bayes, ~Method))
postprob <- describe_posterior(pairs_bayes,rope_range = c(-1,1))
bf <- bayesfactor_parameters(pairs_bayes,fit_bayes ,null=c(-1,1))
postprob$LogBF = bf$log_BF

My data:
Data.csv

The problem is that I get LogBF = Inf for pairwise comparisons:
image

I understand that the posterior distributions are very narrow and BF-->Inf.
The maximum floating-point number is 1.797693e+308.
Therefore, the maximum possible logBF is 709.7827.
However, JASP can report logBF > 709.7827 (e.g., logBF ≈ 4000-7000 for my data).

I as far as I understand, bayestestR first calculate BF and then takes log(BF). In contrast, JASP first calculate logBF and then calculate BF = exp(logBF).
Maybe this capability could be added to the bayestest R package?

Metadata

Metadata

Assignees

Labels

Bug 🐛Something isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions