From c9e6ed9a0e8c451730762060a849adc925199b48 Mon Sep 17 00:00:00 2001 From: Ajinkya Kokandakar Date: Tue, 18 Mar 2025 00:56:43 -0500 Subject: [PATCH] implemented StatsModels.lrtest --- src/likelihoodratiotest.jl | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/likelihoodratiotest.jl b/src/likelihoodratiotest.jl index 4e2bf7287..14180c0c9 100644 --- a/src/likelihoodratiotest.jl +++ b/src/likelihoodratiotest.jl @@ -287,6 +287,20 @@ function StatsModels.isnested(m1::MixedModel, m2::MixedModel; atol::Real=0.0) return true end +function StatsModels.isnested(m::MixedModel...)::Bool + m = collect(m) + + for i in eachindex(m)[begin:end-1] + StatsModels.isnested(m[i], m[i+1]) || return false + end + return true +end + +function StatsModels.lrtest(m::MixedModel...) + StatsModels.isnested(m...) || throw(ArgumentError("Models are not nested")) + likelihoodratiotest(m...) +end + function _iscomparable( m1::TableRegressionModel{<:Union{LinearModel,GeneralizedLinearModel}}, m2::MixedModel )