Package 'MultiGlarmaVarSel'

Title: Variable Selection in Sparse Multivariate GLARMA Models
Description: Performs variable selection in high-dimensional sparse GLARMA models. For further details we refer the reader to the paper Gomtsyan et al. (2022), <arXiv:2208.14721>.
Authors: Marina Gomtsyan
Maintainer: Marina Gomtsyan <[email protected]>
License: GPL-2
Version: 1.0
Built: 2024-12-02 06:40:16 UTC
Source: CRAN

Help Index


Variable Selection in Sparse Multivariate GLARMA Models

Description

MultiGlarmaVarSel consists of four functions: "variable_selection.R", "grad_hess_L_gamma.R", "grad_hess_L_eta.R", and "NR_gamma.R" For further information on how to use these functions, we refer the reader to the vignette of the package.

Details

This package consists of four functions: "variable_selection.R", "grad_hess_L_gamma.R", "grad_hess_L_eta.R" and "NR_gamma.R" For further information on how to use these functions, we refer the reader to the vignette of the package.

Author(s)

Marina Gomtsyan

Maintainer: Marina Gomtsyan <[email protected]>

References

M. Gomtsyan et al. "Variable selection in sparse multivariate GLARMA models: Application to germination control by environment", arXiv:2208.14721

Examples

data(Y)
I=3
J=100
T=dim(Y)[2]
q=1
X=matrix(0,nrow=(I*J),ncol=I)
for (i in 1:I)
{
  X[((i-1)*J+1):(i*J),i]=rep(1,J)
}
gamma_0 = matrix(0, nrow = 1, ncol = q)
result=variable_selection(Y, X, gamma_0, k_max=1, 
n_iter=100, method="min", nb_rep_ss=1000, threshold=0.6)
estim_active = result$estim_active
eta_est = result$eta_est
gamma_est = result$gamma_est

Gradient and Hessian of the log-likelihood with respect to eta

Description

This function calculates the gradient and Hessian of the log-likelihood with respect to eta

Usage

grad_hess_L_eta(Y, X, eta_vect, gamma, I, J)

Arguments

Y

Observation matrix

X

Design matrix

eta_vect

Initial eta vector

gamma

Initial gamma vector

I

Number of conditions

J

Number of replications

Value

grad_L_eta

Vector of the gradient of L with respect to eta

hess_L_eta

Matrix of the Hessian of L with respect to eta

Author(s)

Marina Gomtsyan

Maintainer: Marina Gomtsyan <[email protected]>

References

M. Gomtsyan et al. "Variable selection in sparse multivariate GLARMA models: Application to germination control by environment", arXiv:2208.14721

Examples

data(Y)
I=3
J=100
T=dim(Y)[2]
q=1
X=matrix(0,nrow=(I*J),ncol=I)
for (i in 1:I)
{
  X[((i-1)*J+1):(i*J),i]=rep(1,J)
}
gamma_0 = matrix(0, nrow = 1, ncol = q)
eta_glm_mat_0 = matrix(0,ncol=T,nrow=I)
for (t in 1:T)
{
  result_glm_0 = glm(Y[,t]~X-1,family=poisson(link='log'))
  eta_glm_mat_0[,t]=as.numeric(result_glm_0$coefficients)
}
eta_0 = round(as.numeric(t(eta_glm_mat_0)),digits=6)
result = grad_hess_L_eta(Y, X, eta_0, gamma_0, I, J)
grad = result$grad_L_eta
Hessian = result$hess_L_eta

Gradient and Hessian of the log-likelihood with respect to gamma

Description

This function calculates the gradient and Hessian of the log-likelihood with respect to gamma

Usage

grad_hess_L_gamma(Y, X, eta, gamma, I, J)

Arguments

Y

Observation matrix

X

Design matrix

eta

Initial eta vector

gamma

Initial gamma vector

I

Number of conditions

J

Number of replications

Value

grad_L_gamma

Vector of the gradient of L with respect to gamma

hess_L_gamma

Matrix of the Hessian of L with respect to gamma

Author(s)

Marina Gomtsyan

Maintainer: Marina Gomtsyan <[email protected]>

References

M. Gomtsyan et al. "Variable selection in sparse multivariate GLARMA models: Application to germination control by environment", arXiv:2208.14721

Examples

data(Y)
I=3
J=100
T=dim(Y)[2]
q=1
X=matrix(0,nrow=(I*J),ncol=I)
for (i in 1:I)
{
  X[((i-1)*J+1):(i*J),i]=rep(1,J)
}
gamma_0 = matrix(0, nrow = 1, ncol = q)
eta_glm_mat_0 = matrix(0,ncol=T,nrow=I)
for (t in 1:T)
{
  result_glm_0 = glm(Y[,t]~X-1,family=poisson(link='log'))
  eta_glm_mat_0[,t]=as.numeric(result_glm_0$coefficients)
}
eta_0 = round(as.numeric(t(eta_glm_mat_0)),digits=6)
result = grad_hess_L_gamma(Y, X, eta_0, gamma_0, I, J)
grad = result$grad_L_gamma
Hessian = result$hess_L_gamma

Newton-Raphson method for estimation of gamma

Description

This function estimates gamma with Newton-Raphson method

Usage

NR_gamma(Y, X, eta, gamma, I, J, n_iter = 100)

Arguments

Y

Observation matrix

X

Design matrix

eta

Initial eta vector

gamma

Initial gamma vector

I

Number of conditions

J

Number of replications

n_iter

Number of iterations of the algorithm. Default=100

Value

Estimated gamma vector

Author(s)

Marina Gomtsyan

Maintainer: Marina Gomtsyan <[email protected]>

References

M. Gomtsyan et al. "Variable selection in sparse multivariate GLARMA models: Application to germination control by environment", arXiv:2208.14721

Examples

data(Y)
I=3
J=100
T=dim(Y)[2]
q=1
X=matrix(0,nrow=(I*J),ncol=I)
for (i in 1:I)
{
  X[((i-1)*J+1):(i*J),i]=rep(1,J)
}
gamma_0 = matrix(0, nrow = 1, ncol = q)
eta_glm_mat_0 = matrix(0,ncol=T,nrow=I)
for (t in 1:T)
{
  result_glm_0 = glm(Y[,t]~X-1,family=poisson(link='log'))
  eta_glm_mat_0[,t]=as.numeric(result_glm_0$coefficients)
}
eta_0 = round(as.numeric(t(eta_glm_mat_0)),digits=6)
gamma_est=NR_gamma(Y, X, eta_0, gamma_0, I, J, n_iter = 100)

Variable selection

Description

This function performs variable selection, estimates a new vector eta and a new vector gamma

Usage

variable_selection(Y, X, gamma, k_max = 1, n_iter = 100, 
method = "min", nb_rep_ss = 1000, threshold = 0.6)

Arguments

Y

Observation matrix

X

Design matrix

gamma

Initial gamma vector

k_max

Number of iteration to repeat the whole algorithm

n_iter

Number of iteration for Newton-Raphson algorithm

method

Stability selection method: "min" or "cv". In "min" the smallest lambda is chosen, in "cv" cross-validation lambda is chosen for stability selection. The default is "min"

nb_rep_ss

Number of replications in stability selection step. The default is 1000

threshold

Threshold for stability selection. The default is 0.9

Value

estim_active

Vector of stimated active coefficients

eta_est

Vector of estimated eta values

gamma_est

Vector of estimated gamma values

Author(s)

Marina Gomtsyan

Maintainer: Marina Gomtsyan <[email protected]>

References

M. Gomtsyan et al. "Variable selection in sparse multivariate GLARMA models: Application to germination control by environment", arXiv:2208.14721

Examples

data(Y)
I=3
J=100
T=dim(Y)[2]
q=1
X=matrix(0,nrow=(I*J),ncol=I)
for (i in 1:I)
{
  X[((i-1)*J+1):(i*J),i]=rep(1,J)
}
gamma_0 = matrix(0, nrow = 1, ncol = q)
result=variable_selection(Y, X, gamma_0, k_max=1, 
n_iter=100, method="min", nb_rep_ss=1000, threshold=0.6)
estim_active = result$estim_active
eta_est = result$eta_est
gamma_est = result$gamma_est

Observation matrix Y

Description

An example of observation matrix

Usage

data("Y")

Format

The format is: num [1:300, 1:15] 3 1 1 0 0 3 2 0 3 2 ...

References

M. Gomtsyan et al. "Variable selection in sparse multivariate GLARMA models: Application to germination control by environment", arXiv:2208.14721

Examples

data(Y)