Extended the formula/data interface of
MAP.estimation() and inv.prior.cov() to
support interaction terms and inline transformations for Gaussian and
binomial models with an intercept and without treatment
analysis.
Improved handling of expanded model matrices and parameter names, including non-syntactic column names.
Added tests for numerical equivalence between the expanded formula interface and the original y/X interface, covering prior precision matrices, MAP estimates, and curvature matrices.
Updated documentation to clarify supported formula specifications and the need for consistent factor coding and transformations across centers.
Added an optional formula/data interface to
MAP.estimation() and inv.prior.cov(), while
retaining the original y/X interface. The statistical estimation and
federated aggregation procedures remain unchanged.
Updated S3 class handling to distinguish local and federated BFI
objects while preserving compatibility with existing
print(), summary(), coef(), and
vcov() methods.
Corrected Gaussian regression inference by consistently using the log-residual-variance parameterization for local estimation, curvature calculations, and federated aggregation.
Retained residual-variance estimates on the original scale in the reported coefficients.
Expanded numerical validation and unit tests for Gaussian regression, including curvature and covariance calculations.
Improved numerical stability of binomial regression by using a
stable softplus expression for the negative log-likelihood and
plogis() for the curvature calculation.
Corrected propensity-score calculations in second-round Gaussian
and binomial treatment-effect analyses by applying plogis()
directly to the linear predictor. Improved numerical stability of
propensity-score calculations in survival models.
Added validation to reject unsupported cross-precision terms between regression coefficients and log-residual variance in Gaussian prior precision matrices.
Added S3 methods print.bfi(),
coef.bfi(), and vcov.bfi() for objects of
class "bfi".
Improved the handling and presentation of Gaussian
residual-variance parameters. Posterior covariance matrices returned by
vcov() are transformed from the log(sigma2)
scale to the original sigma2 scale using the delta method
when applicable.
Improved summary.bfi() output for center-specific
Gaussian residual variances, including delta-method standard deviations
and back-transformed credible intervals.
Corrected the curvature calculation for parametric survival models with exponential, Weibull, Gompertz, and exponentiated-polynomial baseline hazards so that the Gaussian-prior precision matrix is added once to the likelihood curvature.
Corrected the weighted curvature calculation for Cox models with an unspecified baseline hazard.
Improved parameter alignment in bfi(). Local
parameter vectors, curvature matrices, and corresponding prior precision
matrices with the same named parameters may now have different parameter
orders across centers; the parameter order of the first center is used
as the reference order.
Extended name-based parameter alignment to exponentiated-polynomial survival models.
Corrected handling of scalar q_ls values for
exponentiated-polynomial survival models.
MAP.estimation function has been revised, and
corresponding updates have been made to its documentation and
examples.optim function entries related to the gaussian
family.inv.prior.cov() and bfi()
were adapted when there is a center specific variable.summary() was updated to be used in the
case of stratification.BFI package can be called from
Python.BFI from Python.inv.prior.cov() and MAP.estimation() (for
different centers) have the same dimensions when
intercept=FALSE to be used in bfi().bfi(), i.e.,
const_var, is added to the package to handle the constant
variables.bfi) was added to the package.