mcmc_langmuirLM3 {adsoRptionMCMC} | R Documentation |
MCMC Analysis for Langmuir Isotherm Linear (Form 3) Model
Description
Performs Bayesian parameter estimation using Markov Chain Monte Carlo (MCMC) to estimate the parameters of the Langmuir isotherm using its third linear form: Qe = Qmax - (1 / b) * (Qe / Ce) This method provides a probabilistic interpretation of the model parameters and accounts for their uncertainties. It supports multiple MCMC chains and computes convergence diagnostics (Gelman-Rubin).
Arguments
Ce |
Numeric vector of equilibrium concentrations. |
Qe |
Numeric vector of adsorbed amounts. |
burnin |
Integer specifying the number of burn-in iterations (default is 1000). |
mcmc |
Integer specifying the total number of MCMC iterations (default is 5000). |
thin |
Integer specifying the thinning interval (default is 10). |
verbose |
Integer controlling the frequency of progress updates (default is 100). |
plot |
Logical; if TRUE, trace and density plots of the MCMC chains are shown (default is FALSE). |
n_chains |
Number of independent MCMC chains (default = 2). |
seed |
Optional integer for reproducibility. |
Value
A list containing:
- mcmc_results
Combined posterior samples (mcmc.list).
- Qmax_mean
Posterior mean of Qmax.
- b_mean
Posterior mean of b.
- slope_mean
Posterior mean of slope (-1/b).
- intercept_mean
Posterior mean of Qmax.
- slope_sd
Standard deviation of slope.
- intercept_sd
Standard deviation of intercept.
- slope_ci
95% credible interval for slope.
- intercept_ci
95% credible interval for intercept.
- gelman_diag
Gelman-Rubin convergence diagnostic.
- mcmc_summary
Summary of main chain.
Author(s)
Paul Angelo C. Manlapaz
References
Gilks, W. R., Richardson, S., & Spiegelhalter, D. J. (1995). Markov Chain Monte Carlo in Practice. Chapman and Hall/CRC.
Examples
Ce <- c(0.01353, 0.04648, 0.13239, 0.27714, 0.41600, 0.63607, 0.80435, 1.10327, 1.58223)
Qe <- c(0.03409, 0.06025, 0.10622, 0.12842, 0.15299, 0.15379, 0.15735, 0.15735, 0.16607)
mcmc_langmuirLM3(Ce, Qe, burnin = 1000, mcmc = 10000, thin = 10,
verbose = 100, plot = TRUE, n_chains = 2, seed = 123)