


Hi all

 

I have three
questions regarding cross-classified generalised linear multilevel models –
hopefully someone here can help J

 

I have a data set
containing the number of infringements (INF) made by rugby players in each
match (MATCH) played over a season. I have data for each player (PID) from each
team (TID) in a league. (players have not transferred between teams, so are
nested within a single team). There are 8 teams, and each team plays each other
once, giving 28 distinct matches (dyads?) numbered 1 to 28 e.g. TID=1 vs TID= 2
is match 1, TID =1 vs TID = 3 is match 2.... TID = 1 vs TID = 8 is match 7, TID
= 2 vs TID = 3 is match 8,... etc 

 

I want to examine
how the variation in 'tackles made' breaks down in terms of player, team and
match effects. The data is set up as follows:

 

INF   |   
PID   |   TID  
|   OID  | 
MATCH  

0             101           1        2         1

1            101           1         7         2

0            101           1         5         3

...

0            102           1         2         1

0            102           1         7         2

2            102           1         5         3

...

0              201           2        1       
1

1              201           2        3       
8  

…

 

Q1) My first
problem is perhaps a trivial one - defining the nesting structure. I’m
examining infringements at the player within match level. Am I correct in
describing this as “a cross-classified multiple-membership model, with 

infringements
nested within player, 

players nested within
teams, 

players having
membership of multiple matches, 

matches being the
cross of the player’s team and the opposition team”

 

 

My other queries
are analyses based ones. 

 

My outcome is
count data of a somewhat under-dispersed nature i.e. 80% of player within match
counts of infringements are zero; around 15% of the rest = 1, with 3% = 2 and
2% = 3.  

My starting point
was to fit a model using lmer; LMINPLYD is the offset term for log of minutes
on pitch in that particular match i.e. 

 

M1 <- glmer(INF
~ offset(LMINPLYD) + (1 | PID) + (1|TID) + (1|OID) + (1|MATCH), 

  data = casedata, family = poisson)

 

Q2) How do I
assess if this is a suitable starting point for my modelling in terms of
distribution? I calculated a dispersion parameter as is standard i.e.

rdev <-
sum(residuals(M1)^2)

mdf <-
length(fixef(M1))

rdf <-
nrow(casedata) - mdf

rdev/rdf

 

which equalled
0.79; is this obviously too far short of 1? I also plotted the residuals; a
histogram of these was very skewed (very similar to the distn of INF in fact).

Do I need to use a
zero-inflated Poisson, or would I even be better just collapsing the data into
None vs any infringements, and using a multilevel binary logistic model? 

  


Q3) My ultimate
aim (still feels far away!) is to determine the respective levels of
variability in infringements, and then attempt to explain this by IVs from
those various levels.

 

My output from the
above model is as follows

 

   AIC  
BIC logLik deviance

 277.2 304.6 -133.6    267.2

Random effects:

 Groups  
Name        Variance   Std.Dev.

 PID      (Intercept) 1.5295e+01 3.9109e+00

 MATCH    (Intercept) 3.0983e-01 5.5663e-01

 OID      (Intercept) 1.4124e-10 1.1884e-05

 TID      (Intercept) 9.1318e-11 9.5560e-06

 …

 Fixed effects:

            Estimate Std. Error z value
Pr(>|z|)

(Intercept) -11.4200     0.5585 
-20.45   <2e-16 ***

  


I’d like to be able to describe
the variance in infringements in terms of the % of the total that exists at
each level. If this was a Normal multilevel model I would have a residual
variance and could calculate ICC(1)s for the various levels. However there is
no residual i.e. level 1 variance in this output. How do I estimate this? Can
anyone provide me with a link to some R code to extract this estimate from the
results if indeed it can be done?

 

Thanks for your time and sorry
for such a long question

CS

 

 

 

 

 

 

 		 	   		  
	[[alternative HTML version deleted]]


