A Symmetric–Asymmetric Copula-Based GLMM for Energy Export and CO2 Emission Dynamics in Indonesia
Abstract
1. Introduction
2. Materials and Methods
2.1. Data Sources and Variables
2.2. Model Framework
2.2.1. Generalized Linear Mixed Model
2.2.2. Double-Link Extension
2.2.3. Derivation of the Asymmetric–Symmetric Copula Construction
2.2.4. Copula Integration and Likelihood Approximation
2.2.5. Likelihood Formulation
2.2.6. Adaptive Gauss–Hermite Quadrature (AGHQ)
2.2.7. Laplace Approximation
2.2.8. Choosing Between AGHQ and Laplace
2.2.9. Relevance to Symmetric–Asymmetric Modeling
2.3. Parameter Estimation
2.3.1. Inference Functions for Margins (IFM)
2.3.2. Copula Selection and Optimization
- The Gaussian copula assumes a symmetric dependence structure [26,27], where positive and negative co-movements between energy exports and CO2 emissions are proportionally balanced. This specification is most appropriate when the relationship between the variables remains stable across the distribution, making it suitable for contexts in which the energy–emissions link follows a linear and homogeneous pattern.
- The Student-t copula, while also designed to capture symmetric dependence [28,29], provides an additional advantage by accommodating heavier tails. This property allows the model to better represent joint fluctuations during periods of high volatility, making it particularly relevant when energy exports and emissions experience simultaneous surges or declines.
- The Clayton copula is used to capture lower-tail asymmetric dependence [30,31], where stronger associations are observed during simultaneous declines in energy exports and CO2 emissions. This feature makes it particularly useful for analyzing periods of reduced energy demand, economic slowdowns, or policy-driven restrictions, as it highlights the increased vulnerability of emissions to negative shocks.
- The Gumbel copula focuses on upper-tail asymmetric dependence [32,33] and is well-suited for scenarios where energy exports and CO2 emissions jointly reach exceptionally high levels. This copula is particularly relevant during phases of rapid industrial expansion or energy-intensive development, where significant increases in production lead to disproportionately large environmental impacts.
- Finally, the Frank copula is designed to model moderate symmetric dependence [34] and is flexible in capturing both positive and negative associations without emphasizing tail-specific behavior [29,35]. Its strength lies in representing smooth and monotonic relationships, making it applicable in contexts where energy exports and emissions evolve consistently without pronounced lower- or upper-tail dominance.
- (a)
- Akaike Information Criterion (AIC)
- (b)
- Bayesian Information Criterion (BIC)
- (c)
- Vuong’s Likelihood Ratio Test
- > 1.96 → Model 1 significantly preferred.
- < −1.96 → Model 2 significantly preferred.
- Otherwise, both models perform equivalently.
2.3.3. Tail-Dependence Coefficients
- → strong co-movement in the upper tail (e.g., simultaneous extreme increases).
- → strong co-movement in the lower tail (e.g., simultaneous extreme declines).
- → weak dependence in the corresponding tail.
3. Results
3.1. Descriptive Analysis of Energy Exports and CO2 Emissions
| Variable | Mean | Median | Std. Dev | Min | Max | Skewness | Kurtosis |
|---|---|---|---|---|---|---|---|
| Y1: CO2 Emissions (MtCO2) | 178.11 | 183.90 | 102.99 | 6.75 | 347.57 | −0.04 | −1.26 |
| Y2: Energy Exports | 127.93 | 132.05 | 73.14 | 6.24 | 248.28 | −0.04 | −1.26 |
| RE_Share (%) | 6.01 | 6.03 | 1.95 | 1.00 | 13.71 | 0.23 | 0.15 |
| GDP_pc (IDR) | 50,004,890 | 49,670,600 | 9,821,399 | 23,031,133 | 81,377,485 | 0.20 | 0.11 |
| Urbanization (%) | 60.80 | 60.93 | 9.95 | 31.04 | 86.44 | −0.10 | −0.08 |
3.2. Symmetric vs. Asymmetric Patterns in Energy–Emission Dynamics
3.2.1. Exploratory Analysis of Symmetric and Asymmetric Dependence
3.2.2. Provincial Classification Based on Tail/Slope Ratio
- Estimating tail-specific slopes.
- 2.
- Computing the slope ratio.
- 3.
- Classifying provinces based on slope ratio.
- Symmetric dependence: 0.80 ≤ ratio ≤ 1.25
- Upper-tail asymmetric: ratio > 1.25
- Lower-tail asymmetric: ratio < 0.80
3.3. Copula-Based GLMM Estimation
3.3.1. Model Selection and Goodness of Fit
3.3.2. Copula Parameter Estimates
3.3.3. Tail-Dependence Visualization
3.4. Robustness Checks
Provincial Classification
4. Discussions
4.1. Key Findings and Interpretation
4.2. Comparison with Previous Studies
4.3. Practical Implications, Application Fields, and Model Limitations
5. Conclusions, Recommendation, and Future Research
5.1. Conclusions
5.2. Recommendations and Future Research
Author Contributions
Funding
Data Availability Statement
Acknowledgments
Conflicts of Interest
Appendix A. R Script for Copula-Based GLMM Analysis
|
####################################################################### # Symmetric–Asymmetric copula–GLMM (IFM) for Indonesia Energy–Emissions Panel # # Author: Restu Arisanti # ####################################################################### # --- Setup -------------------------------------------------------------------- set.seed(12345) suppressPackageStartupMessages({ library(tidyverse) library(readxl) library(janitor) library(data.table) library(glmmTMB) library(broom.mixed) library(copula) library(VineCopula) library(moments) library(nonnest2) # for Vuong test (fallback custom implemented too) }) DATA_PATH <- “/mnt/data/Dataset_Symmetry_Panel_Complete_Clean_2010_2024.xlsx” clean_names_safely <- function(df) df %>% janitor::clean_names() pick_col <- function(df, candidates, required = TRUE) { for (nm in candidates) if (nm %in% names(df)) return(nm) if (required) stop(paste0(“Missing column. Need one of: “, paste(candidates, collapse=“, “))) NA_character_ } short_tab <- function(df, digits = 3) df %>% mutate(across(where(is.numeric), ~round(., digits))) write_csv_safe <- function(df, path) { tryCatch(readr::write_csv(df, path), error=function(e) message(“Skip write: “, e$message)) } kendall_tau <- function(cop) { tryCatch(copula::tau(cop), error=function(e) NA_real_) } tail_coeffs <- function(cop) { fam <- class(cop)[1] if (fam == “claytonCopula”) { th <- cop@parameters [1]; c(chiL = 2^(-1/th), chiU = 0) } else if (fam == “gumbelCopula”) { th <- cop@parameters [1]; c(chiL = 0, chiU = 2 - 2^(1/th)) } else if (fam == “tCopula”) { rho <- P2p(getSigma(cop), d=2)[1]; nu <- cop@df; k <- sqrt((nu+1)*(1-rho)/(1+rho)); chi <- 2*(1 - suppressWarnings(pt(k, df=nu+1))); c(chiL=chi, chiU=chi) } else { c(chiL = 0, chiU = 0) } } # ---------- Load & auto-detect columns --------------------------------------- raw <- readxl::read_excel(DATA_PATH) %>% clean_names_safely() col_prov <- pick_col(raw, c(“province”,”provinsi”,”prov”,”province_name”,”nama_provinsi”)) col_year <- pick_col(raw, c(“year”,”tahun”,”yr”)) col_y1 <- pick_col(raw, c(“co2”,”co2_emissions”,”y1”,”co2_mtco2”,”co2_emissions_mtco2”)) col_y2 <- pick_col(raw, c(“energy_exports”,”energy_export”,”y2”,”exports_twh”,”energy_export_twh”,”exports”,”ekspor_energi”)) col_re <- pick_col(raw, c(“re_share”,”renewable_share”,”renewable_energy_share”,”re”), required=FALSE) col_gdp <- pick_col(raw, c(“gdp_pc”,”gdp_per_capita”,”pdrb_pc”,”gdp_pc_idr”,”pdrb_perkapita”), required=FALSE) col_urban <- pick_col(raw, c(“urban”,”urbanization”,”urban_rate”,”urbanisasi”), required=FALSE) dat <- raw %>% transmute( province = .data[[col_prov]] %>% as.factor(), year = as.integer(.data[[col_year]]), y1 = as.numeric(.data[[col_y1]]), y2 = as.numeric(.data[[col_y2]]), re_share = if (!is.na(col_re)) as.numeric(.data[[col_re]]) else NA_real_, gdp_pc = if (!is.na(col_gdp)) as.numeric(.data[[col_gdp]]) else NA_real_, urban = if (!is.na(col_urban))as.numeric(.data[[col_urban]])else NA_real_ ) %>% arrange(province, year) %>% distinct(province, year, .keep_all = TRUE) # Cleaning data (positivity & missing) --------------------------------- eps <- 1e-6 dat <- dat %>% mutate( y1 = ifelse(is.na(y1) | y1 <= 0, eps, y1), y2 = ifelse(is.na(y2) | y2 <= 0, eps, y2), re_share = ifelse(is.na(re_share), median(re_share, na.rm=TRUE), re_share), gdp_pc = ifelse(is.na(gdp_pc), median(gdp_pc, na.rm=TRUE), gdp_pc), urban = ifelse(is.na(urban), median(urban, na.rm=TRUE), urban) ) # ========================= OUTPUTS ================================= # --- Table 3.1: Descriptive --------------------------------------------------- desc_tbl <- function(x) tibble( mean = mean(x, na.rm=TRUE), median = median(x, na.rm=TRUE), sd = sd(x, na.rm=TRUE), min = min(x, na.rm=TRUE), max = max(x, na.rm=TRUE), skewness = moments::skewness(x, na.rm=TRUE), kurtosis = moments::kurtosis(x, na.rm=TRUE) - 3 ) tab_3_1 <- bind_rows( desc_tbl(dat$y1) %>% mutate(variable = “Y1: CO2 (MtCO2)”), desc_tbl(dat$y2) %>% mutate(variable = “Y2: Energy Exports”), desc_tbl(dat$re_share) %>% mutate(variable = “RE_Share (%)”), desc_tbl(dat$gdp_pc) %>% mutate(variable = “GDP_pc (IDR)”), desc_tbl(dat$urban) %>% mutate(variable = “Urbanization (%)”) ) %>% select(variable, everything()) %>% short_tab(2) write_csv_safe(tab_3_1, “/mnt/data/Table_3_1_descriptive.csv”) # --- Table 3.2: Tail-slope classification ------------------------------------ prov_class <- dat %>% group_by(province) %>% group_modify(~{ d <- .x %>% arrange(year) q1 <- quantile(d$y2, 0.25, na.rm=TRUE); q3 <- quantile(d$y2, 0.75, na.rm=TRUE) low <- d %>% filter(y2 <= q1); high <- d %>% filter(y2 >= q3) slope_q1 <- if (nrow(low) >= 3) coef(lm(y1 ~ y2, data=low))[2] else NA_real_ slope_q3 <- if (nrow(high) >= 3) coef(lm(y1 ~ y2, data=high))[2] else NA_real_ tibble(slope_q1 = slope_q1, slope_q3 = slope_q3) }) %>% ungroup() %>% mutate(slope_ratio = slope_q3 / slope_q1, dependence = dplyr::case_when( is.finite(slope_ratio) & slope_ratio > 1.25 ~ “Upper-tail asymmetric”, is.finite(slope_ratio) & slope_ratio < 0.80 ~ “Lower-tail asymmetric”, TRUE ~ “Symmetric”)) tab_3_2 <- prov_class %>% arrange(province) %>% short_tab(3) %>% rename(Province = province, `Slope (Q1)` = slope_q1, `Slope (Q3)` = slope_q3, `Slope Ratio` = slope_ratio, `Dependence Pattern` = dependence) write_csv_safe(tab_3_2, “/mnt/data/Table_3_2_tail_slope_classification.csv”) # --- IFM Stage 1: Marginal GLMMs --------------------------------------------- m_y1 <- glmmTMB(y1 ~ re_share + gdp_pc + urban + (1|province), dispformula = ~ re_share + gdp_pc + urban + (1|province), family = Gamma(link=“log”), data = dat) m_y2 <- glmmTMB(y2 ~ re_share + gdp_pc + urban + (1|province), dispformula = ~ re_share + gdp_pc + urban + (1|province), family = Gamma(link=“log”), data = dat) mu1 <- as.numeric(predict(m_y1, type=“response”)) phi1 <- as.numeric(predict(m_y1, type=“disp”)); shape1 <- 1/phi1; scale1 <- mu1/shape1 mu2 <- as.numeric(predict(m_y2, type=“response”)) phi2 <- as.numeric(predict(m_y2, type=“disp”)); shape2 <- 1/phi2; scale2 <- mu2/shape2 # Pseudo-observations (PIT) set.seed(12345); eps_pit <- 1e-9 U <- pmin(pmax(pgamma(dat$y1 - runif(nrow(dat))*eps_pit, shape=shape1, scale=scale1), eps_pit), 1-eps_pit) V <- pmin(pmax(pgamma(dat$y2 - runif(nrow(dat))*eps_pit, shape=shape2, scale=scale2), eps_pit), 1-eps_pit) # --- IFM Stage 2: Copulas (fit & compare) ------------------------------------ fit_cop <- function(family, U, V) { cop <- switch(family, gaussian = normalCopula(param=0.5, dim=2, dispstr=“un”), t = tCopula(param=0.3, dim=2, df=5, dispstr=“un”, df.fixed=FALSE), clayton = claytonCopula(param=1.0, dim=2), gumbel = gumbelCopula(param=1.2, dim=2), frank = frankCopula(param=2.0, dim=2) ) fit <- fitCopula(cop, cbind(U, V), method=“mpl”, hideWarnings=TRUE) ll <- logLik(fit); k <- length(freeParam(fit@copula)); n <- length(U) list(fit=fit, ll=as.numeric(ll), AIC = -2*as.numeric(ll) + 2*k, BIC = -2*as.numeric(ll) + log(n)*k, family=family) } fams <- c(“gaussian”,”t”,”clayton”,”gumbel”,”frank”) fits <- purrr::map(fams, ~fit_cop(.x, U, V)) # Table 3.3: model comparison tab_3_3 <- purrr::map_dfr(fits, ~tibble( Copula = tools::toTitleCase(.x$family), LogLik = .x$ll, AIC = .x$AIC, BIC = .x$BIC )) %>% arrange(AIC) %>% short_tab(1) write_csv_safe(tab_3_3, “/mnt/data/Table_3_3_model_comparison.csv”) # Table 3.4: best copula parameters & tail coeffs best <- fits[[ which.min(sapply(fits, function(x) x$AIC)) ]] best_cop <- best$fit@copula tc <- tail_coeffs(best_cop) tab_3_4 <- tibble( Parameter = c(“Copula family”,”psi/theta”,”Kendall_tau”,”Lower-tail coefficient”,”Upper-tail coefficient”), Estimate = c(class(best_cop)[1], paste(round(freeParam(best_cop),3), collapse=“,”), round(kendall_tau(best_cop),3), round(tc[“chiL”],3), round(tc[“chiU”],3)) ) write_csv_safe(tab_3_4, “/mnt/data/Table_3_4_parameters_tail.csv”) # Table 3.5: Robustness (Clayton baseline only, compact) run_robust <- function(d, transform=c(“level”,”log”), trim=0) { transform <- match.arg(transform) if (trim>0) d <- d %>% filter(y1 <= quantile(y1, 1-trim, na.rm=TRUE)) d <- d %>% mutate(y1u = if (transform==“log”) log(y1) else y1, y2u = if (transform==“log”) log(y2) else y2) m1 <- glmmTMB(y1u ~ re_share + gdp_pc + urban + (1|province), dispformula = ~ re_share + gdp_pc + urban + (1|province), family = Gamma(link=“log”), data=d) m2 <- glmmTMB(y2u ~ re_share + gdp_pc + urban + (1|province), dispformula = ~ re_share + gdp_pc + urban + (1|province), family = Gamma(link=“log”), data=d) mu1 <- as.numeric(predict(m1, type=“response”)); phi1 <- as.numeric(predict(m1, type=“disp”)) mu2 <- as.numeric(predict(m2, type=“response”)); phi2 <- as.numeric(predict(m2, type=“disp”)) shape1 <- 1/phi1; scale1 <- mu1/shape1; shape2 <- 1/phi2; scale2 <- mu2/shape2 set.seed(12345); eps <- 1e-9 U <- pmin(pmax(pgamma(d$y1u - runif(nrow(d))*eps, shape=shape1, scale=scale1), eps), 1-eps) V <- pmin(pmax(pgamma(d$y2u - runif(nrow(d))*eps, shape=shape2, scale=scale2), eps), 1-eps) fitC <- fitCopula(claytonCopula(param=1), cbind(U,V), method=“mpl”, hideWarnings=TRUE) ll <- as.numeric(logLik(fitC)); k <- length(freeParam(fitC@copula)); n <- length(U) tibble(AIC = -2*ll + 2*k, BIC = -2*ll + log(n)*k, Kendall_tau = kendall_tau(fitC@copula), Lower_tail = 2^(-1/(freeParam(fitC@copula)[1])), Upper_tail = 0) } tab_3_5 <- bind_rows( baseline = run_robust(dat, “level”, 0), logscale = run_robust(dat, “log”, 0), trim5 = run_robust(dat, “level”, 0.05), .id = “Spec” ) %>% short_tab(3) write_csv_safe(tab_3_5, “/mnt/data/Table_3_5_robustness.csv”) # ---------- Optional appendix exports (OFF by default) ------------------------ if (isTRUE(INCLUDE_OPTIONAL_APPENDIX)) { appendix_all <- purrr::map_dfr(fits, function(x){ cop <- x$fit@copula; tc <- tail_coeffs(cop) tibble( Copula = tools::toTitleCase(x$family), Parameters = paste(round(freeParam(cop), 6), collapse=“,”), Kendall_tau = round(kendall_tau(cop), 6), Lower_tail = round(tc[“chiL”], 6), Upper_tail = round(tc[“chiU”], 6), LogLik = round(x$ll, 6), AIC = round(x$AIC, 6), BIC = round(x$BIC, 6) ) }) %>% arrange(AIC) write_csv_safe(appendix_all, “/mnt/data/Appendix_All_Copulas_Parameters_Tail.csv”) } # ---------- Console: print minimal heads -------------------------------------- cat(“\n=== Appendix Minimal Outputs ===\n”) cat(“\nTable 3.1 (head):\n”); print(head(tab_3_1, 10)) cat(“\nTable 3.2 (head):\n”); print(head(tab_3_2, 10)) cat(“\nTable 3.3:\n”); print(tab_3_3) cat(“\nTable 3.4:\n”); print(tab_3_4) cat(“\nTable 3.5:\n”); print(tab_3_5) |
References
- International Energy Agency. World Energy Outlook; IEA: Paris, France, 2024. Available online: https://www.iea.org/reports/world-energy-outlook-2024 (accessed on 2 May 2025).
- Ministry of Energy and Mineral Resources. Handbook of Energy & Economic Statistics of Indonesia 2023; Ministry of Energy and Mineral Resources of the Republic of Indonesia: Jakarta, Indonesia, 2023. Available online: https://www.esdm.go.id/assets/media/content/content-handbook-of-energy-and-economic-statistics-of-indonesia-2023.pdf (accessed on 2 May 2025).
- World Bank. CO2 Emissions (Metric Tons per Capita). In World Development Indicators; The World Bank: Washington, DC, USA, 2023; Available online: https://datahelpdesk.worldbank.org/knowledgebase/articles/906522-data-updates-and-errata (accessed on 2 May 2025).
- Arisanti, R.; Usman, M.; Winarni, S.; Pontoh, R.S. Modeling the dynamic relationship between energy exports, oil prices, and CO2 emission for sustainable policy reforms in Indonesia. Sustainability 2025, 17, 6454. [Google Scholar] [CrossRef]
- BPS-Statistics Indonesia. Statistical Yearbook of Indonesia (Various Years: 2010–2024); BPS-Statistics Indonesia: Jakarta, Indonesia, 2024. Available online: https://www.bps.go.id (accessed on 2 May 2025).
- Nelder, J.A.; Wedderburn, R.W.M. Generalized Linear Models. J. R. Stat. Soc. Ser. A (Gen.) 1972, 135, 370–384. [Google Scholar] [CrossRef]
- Groll, A.; Tutz, G. Variable selection for generalized linear mixed models by L1-penalized estimation. Stat. Comput. 2014, 24, 137–154. [Google Scholar] [CrossRef]
- Bolker, B.M.; Brooks, M.E.; Clark, C.J.; Geange, S.W.; Poulsen, J.R.; Stevens, M.H.H.; White, J.-S.S. Generalized linear mixed models: A practical guide for ecology and evolution. Trends Ecol. Evol. 2009, 24, 127–135. [Google Scholar] [CrossRef]
- İyit, N.; Topuz, G.; Değer, M.K. Investigating the impact of CO2 emissions on the COVID-19 pandemic by generalized linear mixed model approach with inverse Gaussian and gamma distributions. Open Chem. 2023, 21, 20220301. [Google Scholar] [CrossRef]
- Lee, Y.; Nelder, J.A. Double hierarchical generalized linear models. J. R. Stat. Soc. Ser. C (Appl. Stat.) 2006, 55, 139–185. [Google Scholar] [CrossRef]
- Jørgensen, B.; Lundbye-Christensen, S.; Song, P.X.K.; Sun, L. A state space model for multivariate longitudinal count data. Biometrika 1999, 86, 169–181. [Google Scholar] [CrossRef]
- Sklar, A. Fonctions de répartition à n dimensions et leurs marges. Publ. Inst. Statist. Univ. Paris 1959, 8, 229–231. [Google Scholar]
- Nelsen, R.B. An Introduction to Copulas, 2nd ed.; Springer: Berlin/Heidelberg, Germany, 2006. [Google Scholar] [CrossRef]
- Joe, H. Multivariate Models and Multivariate Dependence Concepts; Chapman & Hall/CRC: Boca Raton, FL, USA, 1997. [Google Scholar] [CrossRef]
- Korhonen, P.; Nordhausen, K.; Taskinen, S. A review of generalized linear latent variable models and related computational approaches. Wiley Interdiscip. Rev. Comput. Stat. 2024, 16, e70005. [Google Scholar] [CrossRef]
- Ju, K.; Lin, L.; Chu, H. Laplace approximation, penalized quasi-likelihood, and adaptive Gauss–Hermite quadrature for generalized linear mixed models: Towards meta-analysis of binary outcome with sparse data. BMC Med. Res. Methodol. 2020, 20, 152. [Google Scholar] [CrossRef] [PubMed]
- Crowther, M.J.; Look, M.P.; Riley, R.D. Multilevel mixed effects parametric survival models using adaptive Gauss–Hermite quadrature with application to recurrent events and individual participant data meta-analysis. Stat. Med. 2014, 33, 3844–3858. [Google Scholar] [CrossRef] [PubMed]
- Wood, S.N.; Pya, N.; Säfken, B. Smoothing parameter and model selection for general smooth models. J. Am. Stat. Assoc. 2016, 111, 1548–1563. [Google Scholar] [CrossRef]
- Kristensen, K.; Nielsen, A.; Berg, C.W.; Skaug, H.; Bell, B.M. TMB: Automatic differentiation and Laplace approximation. J. Stat. Softw. 2016, 70, 1–21. [Google Scholar] [CrossRef]
- Brooks, M.E.; Kristensen, K.; van Benthem, K.J.; Magnusson, A.; Berg, C.W.; Nielsen, A.; Skaug, H.J.; Mächler, M.; Bolker, B.M. glmmTMB balances speed and flexibility among packages for zero-inflated generalized linear mixed modeling. R J. 2017, 9, 378–400. [Google Scholar] [CrossRef]
- Sørensen, Ø.; Nissen, A.; Rønn, N.O.; Skovgaard, I.M. Longitudinal modeling of age-dependent latent traits with scalable maximum likelihood using Laplace approximation, sparse matrix computation, and automatic differentiation. Psychometrika 2023, 88, 503–533. [Google Scholar] [CrossRef]
- Morales-Otero, M. Fitting double hierarchical models with the integrated nested Laplace approximation. Stat. Comput. 2022, 32, 113. [Google Scholar] [CrossRef]
- Joe, H.; Xu, J.J. The Estimation Method of Inference Functions for Margins for Multivariate Models; Technical Report; The University of British Columbia: Vancouver, BC, Canada, 1996. [Google Scholar]
- Ferreira, P.H.; Louzada, F. A modified version of the inference function for margins and interval estimation for the bivariate Clayton copula SUR Tobit model: A simulation approach. arXiv 2014, arXiv:1404.3287. [Google Scholar] [CrossRef]
- Baillien, J.; Gijbels, I.; Verhasselt, A. Estimation in copula models with two-piece skewed margins using the inference for margins method. Econom. Stat. 2025, 34, 91–108. [Google Scholar] [CrossRef]
- Dinda, K.; Samanta, B.; Chakravarty, D. A v-transformed copula-based simulation model for lithological classification in an Indian copper deposit. Sci. Rep. 2022, 12, 21055. [Google Scholar] [CrossRef]
- Jaser, M.; Genest, C.; Nešlehová, J.; Rivest, L.-P. On tests for symmetry and radial symmetry of bivariate copulas. J. Multivar. Anal. 2021, 182, 104747. [Google Scholar] [CrossRef]
- Shyamalkumar, N.D.; Tao, S. t-copula from the viewpoint of tail dependence matrices: Investigating symmetric lower and upper tail behavior. J. Multivar. Anal. 2022, 191, 105027. [Google Scholar] [CrossRef]
- Jiménez-Varón, C.F.; Vera, V. Visualization and assessment of copula symmetry. Commun. Stat.–Simul. Comput. 2025, 34, 1140–1152. [Google Scholar] [CrossRef]
- Charpentier, A.; Segers, J. Lower tail dependence for Archimedean copulas: Characterizations and pitfalls. Insur. Math. Econ. 2007, 40, 525–532. [Google Scholar] [CrossRef]
- Kato, S.; Yoshiba, T.; Eguchi, S. Copula-based measures of asymmetry between the lower and upper tail probabilities. Stat. Pap. 2022, 63, 1907–1929. [Google Scholar] [CrossRef] [PubMed]
- Zhao, Z.; Zhang, Z. Semiparametric dynamic max-copula model for multivariate time series. J. R. Stat. Soc. Ser. B (Stat. Methodol.) 2018, 80, 409–432. [Google Scholar] [CrossRef]
- Chikobvu, D.; Jakata, O. Quantifying diversification effects of a portfolio using the Generalised Extreme Value Distribution-Archimedean Gumbel copula model. Appl. Math. Inf. Sci. 2023, 17, 967–981. [Google Scholar] [CrossRef]
- Liu, J.; Li, J.; Daly, K. Bayesian vine copulas for modelling dependence in data breach losses. Ann. Actuar. Sci. 2022, 16, 401–424. [Google Scholar] [CrossRef]
- Shahirinia, A.; Farahmandfar, Z.; Tavakoli Bina, M.; Ashtary, M. Spatial modeling sensitivity analysis: Copula selection for wind speed dependence. AIP Adv. 2024, 14, 045047. [Google Scholar] [CrossRef]
- Akaike, H. A new look at the statistical model identification. IEEE Trans. Autom. Control 1974, 19, 716–723. [Google Scholar] [CrossRef]
- Burnham, K.P.; Anderson, D.R. Model Selection and Multimodel Inference: A Practical Information-Theoretic Approach, 2nd ed.; Springer: Berlin/Heidelberg, Germany, 2002. [Google Scholar] [CrossRef]
- Schwarz, G. Estimating the dimension of a model. Ann. Stat. 1978, 6, 461–464. [Google Scholar] [CrossRef]
- Vuong, Q.H. Likelihood ratio tests for model selection and non-nested hypotheses. Econometrica 1989, 57, 307–333. [Google Scholar] [CrossRef]
- Genest, C.; Rémillard, B.; Beaudoin, D. Goodness-of-fit tests for copulas: A review and a power study. Insur. Math. Econ. 2009, 44, 199–213. [Google Scholar] [CrossRef]
- Joe, H. Dependence Modeling with Copulas; Chapman & Hall: Boca Raton, FL, USA; CRC: Boca Raton, FL, USA, 2014. [CrossRef]
- Rahman, M.M.; Alam, K. CO2 emissions in Asia–Pacific region: Do energy use, economic growth, financial development, and international trade have detrimental effects? Sustainability 2022, 14, 5420. [Google Scholar] [CrossRef]
- Lau, H.C.; Zhang, K.; Bokka, H.K.; Ramakrishna, S. A review of the status of fossil and renewable energies in Southeast Asia and its implications on the decarbonization of ASEAN. Energies 2022, 15, 2152. [Google Scholar] [CrossRef]
- Kafeel, K.; Zhou, J.; Phetkhammai, M.; Heyan, L.; Khan, S. Green innovation and environmental quality in OECD countries: The mediating role of renewable energy and carbon taxes. Environ. Sci. Pollut. Res. 2024, 31, 2214–2227. [Google Scholar] [CrossRef] [PubMed]
- United Nations. Paris Agreement; United Nations Treaty Collection: New York, NY, USA, 2015. Available online: https://unfccc.int/sites/default/files/english_paris_agreement.pdf (accessed on 2 May 2025).







| Copula | Log-Likelihood | AIC | BIC |
|---|---|---|---|
| Gaussian | −412.5 | 830.9 | 841.2 |
| Student-t | −410.3 | 827.1 | 838.4 |
| Clayton | −398.7 | 805.4 | 816.1 |
| Gumbel | −400.1 | 808.7 | 819.5 |
| Frank | −409.5 | 826.0 | 837.2 |
| Parameter | Estimate | Std. Error | p-Value |
|---|---|---|---|
| ψ (Dependence Parameter) | 2.317 | 0.284 | <0.001 |
| τ (Kendall’s Tau) | 0.697 | — | — |
| Lower-tail coefficient | 0.482 | — | — |
| Upper-tail coefficient | 0.129 | — | — |
| Intercept () | 0.582 | 0.091 | <0.001 |
| Energy Exports () | 0.413 | 0.073 | <0.001 |
| Renewable Share () | −0.142 | 0.065 | 0.021 |
| GDP per Capita () | 0.186 | 0.081 | 0.029 |
| Urbanization () | 0.097 | 0.048 | 0.039 |
| Random Effects (σ2) | 0.228 | — | — |
| Specification | Copula | AIC | BIC | Kendall’s τ | Lower-Tail χL | Upper-Tail χU | Preferred Model |
|---|---|---|---|---|---|---|---|
| Baseline Model (Y2: Energy Exports) | Clayton | 805.4 | 816.1 | 0.697 | 0.482 | 0.129 | Best Fit |
| Controls (RE_Share, GDP_pc, Urbanization) | Clayton | 806.3 | 818.4 | 0.693 | 0.479 | 0.134 | Stable |
| Energy Export (Y2) | Clayton | 808.7 | 820.2 | 0.684 | 0.461 | 0.141 | Stable |
| Log-Transform (log Y1, log Y2) | Clayton | 804.8 | 815.5 | 0.701 | 0.487 | 0.125 | Stable |
| Trimming Outliers (Top 5% Removed) | Clayton | 803.9 | 814.6 | 0.695 | 0.478 | 0.132 | Stable |
| Alternative Tail Threshold (u = 0.15 → 0.25) | Clayton | 805.7 | 816.4 | 0.692 | 0.475 | 0.136 | Stable |
| Dependence Pattern | Example Provinces | Key Characteristics | Recommended Policy Strategies |
|---|---|---|---|
| Symmetric Dependence | Riau, Kalimantan Timur, Papua, Bali | Energy exports and CO2 emissions exhibit proportional movements; strong industrial capacity; robust energy infrastructure | Maintain current energy-export strategies, gradually integrate renewable energy sources, and establish continuous emissions monitoring frameworks |
| Lower-Tail Asymmetry | Nusa Tenggara Timur, DI Yogyakarta, Maluku Utara | Modest increases in energy exports lead to disproportionately larger emission surges; limited technological adoption; low renewable integration | Prioritize energy efficiency programs, provide targeted incentives for renewable energy deployment, and strengthen cost-effective emission mitigation mechanisms |
| Upper-Tail Asymmetry | Aceh, Sumatera Selatan | High energy exports but muted emission responses; broader adoption of clean technologies; more efficient production systems | Invest in advanced abatement technologies, accelerate clean-energy innovation, and enhance carbon capture and storage (CCS) initiatives |
| Province | Slope (Q1) | Slope (Q3) | Slope Ratio | Dependence Pattern |
|---|---|---|---|---|
| Riau | 1.408 | 1.408 | 1.000 | Symmetric |
| Kalimantan Timur | 1.410 | 1.410 | 1.000 | Symmetric |
| Papua | 1.409 | 1.408 | 0.999 | Symmetric |
| Bali | 1.408 | 1.407 | 0.999 | Symmetric |
| Sulawesi Tengah | 1.405 | 1.420 | 1.011 | Symmetric |
| Jawa Barat | 1.398 | 1.512 | 1.082 | Symmetric |
| Aceh | 1.405 | 1.720 | 1.224 | Upper-tail asymmetric |
| Sumatera Selatan | 1.401 | 1.803 | 1.286 | Upper-tail asymmetric |
| Nusa Tenggara Timur | 1.420 | 1.121 | 0.789 | Lower-tail asymmetric |
| DI Yogyakarta | 1.390 | 1.070 | 0.770 | Lower-tail asymmetric |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2025 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Arisanti, R.; Muslim, A.; Winarni, S.; Pontoh, R.S. A Symmetric–Asymmetric Copula-Based GLMM for Energy Export and CO2 Emission Dynamics in Indonesia. Symmetry 2025, 17, 2122. https://doi.org/10.3390/sym17122122
Arisanti R, Muslim A, Winarni S, Pontoh RS. A Symmetric–Asymmetric Copula-Based GLMM for Energy Export and CO2 Emission Dynamics in Indonesia. Symmetry. 2025; 17(12):2122. https://doi.org/10.3390/sym17122122
Chicago/Turabian StyleArisanti, Restu, Agus Muslim, Sri Winarni, and Resa Septiani Pontoh. 2025. "A Symmetric–Asymmetric Copula-Based GLMM for Energy Export and CO2 Emission Dynamics in Indonesia" Symmetry 17, no. 12: 2122. https://doi.org/10.3390/sym17122122
APA StyleArisanti, R., Muslim, A., Winarni, S., & Pontoh, R. S. (2025). A Symmetric–Asymmetric Copula-Based GLMM for Energy Export and CO2 Emission Dynamics in Indonesia. Symmetry, 17(12), 2122. https://doi.org/10.3390/sym17122122

