I have a complex dataset for a repeated measures design.
Each participant (N=53) saw a total of 72 images that varied according to three different properties (2 categorical and 1 ordinal independent variables). The task was to make an estimate about an object depicted in the image on a scale from 1 to 6. The estimate was quantified as accurate if it was +1 or -1 of the correct number of the scale. Accuracy was created as binomial variable which terms are defined a follows: 1= within +1 or -1 unit from the correct response; and 0= more than +1 or -1 away from the correct response.
I would like to predict the accuracy (binomial dependent variable) of participants' estimations, based on the three manipulated image properties (independent variables) and on participants' subjective ratings (treated as independent variable: e.g. computer expertise), taking into account participant identity, image identity and random order as nested random factor of the repeated measures design.
I created a model using glm
> model1 <- glm(accurate ~ NP + fov + secondhalf + Training +
> randomcount +
> + DurationSec + ScreenSize + AttentionCheck
> + CompExp1to4 + PalyingFreq1to5 + Knowledge3D1to4
> + Gender_0fem1male + Age +
> + fov:NP + AttentionCheck:NP + ScreenSize:fov
> + fov:NP:ScreenSize,
> family = binomial (link = probit),
> data = Dfnew)
However it does not take into account nested random factors! So I am trying to use glmer, but I keep receiving the Warning message below:
> model2c <- glmer(accurate ~ NP + fov + Gender_0fem1male + CompExp1to4
>
> + (PID|distimage), family=binomial,
> data = Dfnew)
Now I receive this warning message:
> Warning messages: 1: In checkConv(attr(opt, "derivs"), opt$par, ctrl =
> control$checkConv, : Model failed to converge with max|grad| =
> 0.0341347 (tol = 0.001, component 1) 2: In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, : Model is nearly
> unidentifiable: very large eigenvalue
> - Rescale variables?;Model is nearly unidentifiable: large eigenvalue ratio
> - Rescale variables?
Any suggestion about how to improve the model or to address the warning message would be much appreciated!
Data structure:
'data.frame': 3816 obs. of 29 variables:
$ X : int 1 2 3 4 5 6 7 8 9 10 ...
$ PID : int 1 2 3 4 5 6 7 8 9 10 ...
$ DurationSec : int 467 992 821 708 1110 704 903 665 733 886 ...
$ Browser : Factor w/ 4 levels "Chrome","Edge",..: 1 1 1 1 1 1 1 1 1 1 ...
$ Resolution : Factor w/ 11 levels "1215x684","1280x720",..: 6 11 2 4 11 4 11 9 4 11 ...
$ Device1comp0laptop: int 1 1 0 1 1 0 1 1 0 1 ...
$ ScreenSize : int 15 27 15 17 15 29 21 17 15 21 ...
$ Gender_0fem1male : int 0 0 0 0 0 0 0 0 0 0 ...
$ Age : int 19 18 18 18 18 18 18 18 18 18 ...
$ AttentionCheck : int 3 3 3 3 2 0 2 3 3 2 ...
$ CompExp1to4 : int 5 4 5 4 5 5 4 5 5 5 ...
$ PalyingFreq1to5 : int 3 5 3 4 1 2 5 3 2 4 ...
$ Knowledge3D1to4 : int 2 2 2 2 1 1 2 2 5 2 ...
$ TrainingLP : int 1 1 0 0 0 1 1 0 0 1 ...
$ TrainingNP : int 0 0 1 1 1 0 0 1 1 0 ...
$ imageCODE : Factor w/ 72 levels "n1_5_100LP_P",..: 1 1 1 1 1 1 1 1 1 1 ...
$ chosendistance : int 4 4 4 4 3 4 4 4 4 4 ...
$ orderCODE : Factor w/ 72 levels "Order_n1_5_100LP_P",..: 1 1 1 1 1 1 1 1 1 1 ...
$ randomcount : int 33 51 29 33 52 63 10 37 13 47 ...
$ lpornp : Factor w/ 2 levels "LP","NP": 1 1 1 1 1 1 1 1 1 1 ...
$ fov : int 100 100 100 100 100 100 100 100 100 100 ...
$ distimage : int 5 5 5 5 5 5 5 5 5 5 ...
$ rightwrong : int 0 0 0 0 0 0 0 0 0 0 ...
$ difference : int 1 1 1 1 2 1 1 1 1 1 ...
$ accurate : int 1 1 1 1 0 1 1 1 1 1 ...
$ NP : int 0 0 0 0 0 0 0 0 0 0 ...
$ LP : int 1 1 1 1 1 1 1 1 1 1 ...
$ secondhalf : int 0 1 0 0 1 1 0 1 0 1 ...
$ Training : Factor w/ 2 levels "LP","NP": 1 1 2 2 2 1 1 2 2 1 ..