Learn R Programming

weightedScores (version 0.9.5.1)

weightMat: WEIGHT MATRICES FOR THE ESTIMATING EQUATIONS

Description

Weight matrices for the estimating equations.

Usage

weightMat(b,gam,rh,xdat,ydat,id,tvec,margmodel,corstr,link)
weightMat.ord(b,gam,rh,xdat,ydat,id,tvec,corstr,link)

Arguments

b
The regression coefficients.
gam
The uinivariate parameters that are not regression coefficients. That is the parameter $\gamma$ of negative binomial distribution or the $q$-dimensional vector of the univariate cutpoints of ordinal model. $\gamma$ is NULL for Poisson and binary regressi
rh
The vector of normal copula parameters.
xdat
$(\mathbf{x}_1 , \mathbf{x}_2 , \ldots , \mathbf{x}_n )^\top$, where the matrix $\mathbf{x}_i,\,i=1,\ldots,n$ for a given unit will depend on the times of observation for that unit ($j_i$) and will have number of rows $j_i$, each row corresponding
ydat
$(y_1 , y_2 , \ldots , y_n )^\top$, where the reponse data vectors $y_i, i=1,\ldots,n$ are of possibly different lengths for different units. In particular, we now have that $y_i$ is ($j_i \times 1$), where $j_i$ is the number of observations
id
An index for individuals or clusters.
tvec
A vector with the time indicator of individuals or clusters.
margmodel
Indicates the marginal model. Choices are poisson for Poisson, bernoulli for Bernoulli, and nb1 , nb2 for the NB1 and NB2 parametrization of negative binomial in Cameron and Triv
corstr
Indicates the latent correlation structure of normal copula. Choices are exch, ar, and unstr for exchangeable, ar(1) and unstrucutred correlation structure, respectively.
link
The link function. Choices are log for the log link function, logit for the logit link function, and probit for the probit link function.

Value

  • A list containing the following components:
  • omegaThe array with the $\Omega_i,\ i=1,\ldots,n$ matrices.
  • deltaThe array with the $\Delta_i,\ i=1,\ldots,n$ matrices.
  • XThe array with the $X_i,\ i=1,\ldots,n$ matrices.

Details

The fixed weight matrices $W_{i,\rm working}$ based on a working discretized MVN, of the weighted scores equations in Nikoloulopoulos et al. (2011) $$g_1= g_1(a)=\sum_{i=1}^n X_i^T\,W_{i,\rm working}^{-1}\, s_i(a)=0,$$ where $W_{i,\rm working}^{-1}=\Delta_i\Omega_{i,\rm working}^{-1}= \Delta_i({\tilde a})\Omega_i({\tilde a},{\tilde R})^{-1}$ is based on the covariance matrix of $s_i(a)$ computed from the fitted discretized MVN model with estimated parameters ${\tilde a}, {\tilde R}$.

Note that weightMat.ord is a variant of the code for ordinal (probit and logistic) regression.

References

Nikoloulopoulos, A.K., Joe, H. and Chaganty, N.R. (2011) Weighted scores method for regression models with dependent data. Biostatistics, 12, 653--665.

Nikoloulopoulos, A.K. (2015a) Correlation structure and variable selection in generalized estimating equations via composite likelihood information criteria. Arxiv e-prints.

Nikoloulopoulos, A.K. (2015b) Weighted scores estimating equations for longitudinal ordinal data. Arxiv e-prints.

See Also

wtsc, solvewtsc, godambe, wtsc.wrapper

Examples

Run this code
################################################################################
#                            binary regression
################################################################################
################################################################################
#                      read and set up the data set
################################################################################
data(toenail)
xdat<-cbind(1,toenail$treat,toenail$time,toenail$treat*toenail$time)
# response
ydat<-toenail$y
#id
id<-toenail$id
#time
tvec<-toenail$time
################################################################################
#                      select the marginal model
################################################################################
margmodel="bernoulli"
link="probit"
################################################################################
#                      select the  correlation structure
################################################################################
corstr="ar"
################################################################################
#                      perform CL1 estimation
################################################################################
i.est<-iee(xdat,ydat,margmodel,link)
cat("iest: IEE estimates
")
print(c(i.est$reg,i.est$gam))
# est.rho<-cl1(b=i.est$reg,gam=i.est$gam,xdat,ydat,id,tvec,margmodel,corstr,link)
# cat("\nest.rho: CL1 estimates\n")
# print(est.rho$e)
# [1] 0.8941659
################################################################################
#                      obtain the fixed weight matrices
################################################################################
WtScMat<-weightMat(b=i.est$reg,gam=i.est$gam,rh=0.8941659,
xdat,ydat,id,tvec,margmodel,corstr,link)
################################################################################
#                         Ordinal regression 
################################################################################
################################################################################
#                      read and set up data set
################################################################################
data(arthritis)
nn=nrow(arthritis)
bas2<-bas3<-bas4<-bas5<-rep(0,nn)
bas2[arthritis$b==2]<-1
bas3[arthritis$b==3]<-1
bas4[arthritis$b==4]<-1
bas5[arthritis$b==5]<-1
t2<-t3<-rep(0,nn)
t2[arthritis$ti==3]<-1
t3[arthritis$ti==5]<-1
xdat=cbind(t2,t3,arthritis$trt,bas2,bas3,bas4,bas5,arthritis$age) 
ydat=arthritis$y
id<-arthritis$id
#time
tvec<-arthritis$time
################################################################################
#                      select the link
################################################################################
link="probit"
################################################################################
#                      select the  correlation structure
################################################################################
corstr="exch"
################################################################################
#                      perform CL1 estimation
################################################################################
i.est<-iee.ord(xdat,ydat,link)
cat("\niest: IEE estimates\n")
print(c(i.est$reg,i.est$gam))
est.rho<-cl1.ord(b=i.est$reg,gam=i.est$gam,xdat,ydat,id,tvec,corstr,link)
WtScMat<-weightMat.ord(b=i.est$reg,gam=i.est$gam,rh=est.rho$e,xdat,ydat,id,tvec,corstr,link)

Run the code above in your browser using DataLab