# ConfZIC: An R package based on Confidence Envelope for minimum ZIC

## Overview

Package ConfZIC provides methods to narrow down the number of models to look at in model selection based on Generalized Information Criteria for regression and time-series data.

## Installation

Installation can be done for “ConfZIC” R package in three ways.

From the Comprehensive R Archive Network (CRAN): Use install.packages() function in R. Then, import ConfZIC package into working session using library() function. That is,


library(ConfZIC)

## Usage

The primary functions in this package are and . these functions help us to narrow down the number of models to look at in model selection, uses the minimum ZIC (Generalized Information Criteria)

More Details: Jayaweera I.M.L.N, Trindade A.A., How Certain are You in Your Minimum AIC and BIC Values?“, Sankhya A (2023+)

## Regression Data

Rank the regression models which lie in the given confidence envelope:

library("ConfZIC")
data(Concrete)
x=Concrete
Y=x[,9] #dependent variable
#independent variables
X1=x[,1];X2=x[,2];X3=x[,3];X4=x[,4];
X5=x[,5];X6=x[,6];X7=x[,7];X8=x[,8];
mydata=cbind(Y,X1,X2,X3,X4,X5,X6,X7,X8) #data matrix
RankReg(mydata,0.95,"BIC")
#> Fixed term is "(Intercept)"
#> $Ranked_Models #> BIC Models #> [1,] "7.5703169" "'c(0, 1, 2, 3, 4, 5, 8)'" #> [2,] "7.5714442" "'c(0, 1, 2, 3, 4, 8)'" #> [3,] "7.576645" "'c(0, 1, 2, 3, 4, 5, 6, 8)'" #> [4,] "7.5767138" "'c(0, 1, 2, 3, 4, 7, 8)'" #> [5,] "7.5767901" "'c(0, 1, 2, 3, 4, 5, 7, 8)'" #> [6,] "7.5778869" "'c(0, 1, 2, 3, 4, 6, 8)'" #> #>$Confidence_Envelope
#> [1] 7.579471
#>
#> $Confidence_Limit #> [1] 0.95 #> #>$Total_Models
#> [1] 256

Testing two ZIC values in Regression

x=Concrete
Y=x[,9] #dependent variable
model1=lm(Y~X1)
model2=lm(Y~X1+X2)
regZIC.test(model1,model2,model_ZIC="BIC",data=mydata,alpha=0.05)
#> p-value is 0, and test is significant at level 0.05

## Time series Data

Rank the time series models which lie in the given confidence envelope based on minimum ZIC:

library("ConfZIC")
data(Sunspots)
x=Sunspots
RankTS(x,max.p=13,max.q=13,0.95,"AICc")
#> $Ranked_Models #> AICc ARcoef MAcoef #> [1,] 824.5326 6 12 #> [2,] 824.5843 13 0 #> [3,] 824.7624 11 1 #> #>$Confidence_Envelope
#> [1] 824.7757
#>
#> $Confidence_Limit #> [1] 0.95 #> #>$Total_Models
#> [1] 196

Testing two ZIC values:

model1=try(arima(x,order=c(1,0,1),method="ML",include.mean=FALSE),silent = TRUE)
model2=try(arima(x,order=c(1,0,0),method="ML",include.mean=FALSE),silent = TRUE)
tsZIC.test(x,model1,model2,model_ZIC="AIC",alpha=0.05)
#> p-value is 0, and test is significant at level 0.05