Skip to content

c++ exception (unknown reason) when using an offset of the slope with glmer

7 messages · Ben Bolker, xavier.paoletti at curie.fr

#
Dear all,

I am new on this forum and I hope my request follows the right format.

I use R 3.1.2 and lme1.7 on a mac OS X (snow leopard) or Windows OS.

I try to fit a longitudinal logistic mixed effect model on dose-time
response data where the response is measured several times at the same
dose. The probability of response increases with the dose.
There is a set of discrete doses (let's say 6) but most of the data are
measured at 1 or 2 doses.

I use a very simple logstic model with a random intercept and the dose
effect.
In the simplest case, there is not time effect.
Furthermore, I would like to set the slope of the dose to some value using
offset slope=1.5.

The command line,
glmer(DLTb ~ offset(slope*dose) + (1 | patid),
family=binomial,data=dataAllCRM,nAGQ=10)
gives the following error:
Under Mac OSX: (function (fr, X, reTrms, family, nAGQ = 1L, verbose = 0L,
control = glmerControl(),  :
  c++ exception (unknown reason)

Under Windows: Error: (maxstephalfit) PIRLS step-halvings failed to reduce
deviance in pwrssUpdate

Whatever the value of the offset, I get the same error.
If I remove the offset or if I remove the variable, some estimates are
obtained.

Please find attached an example of dataset as an illustration; I get the
same error for all tested datasets.


Thank you very much for your help.

Best regards,

Xavier
#
Your posted data set got removed by the mailing list machinery.  Can
you post it somewhere publicly accessible?
On Tue, Jan 27, 2015 at 3:45 AM, <xavier.paoletti at curie.fr> wrote:
#
Thanks for your attention. 

Here there are. 180 rows, 4 columns + obs number.
Obs    patid cycle dose DLT
1       1     1  4.1   0
2       2     1  4.8   0
3       3     1  5.3   0
4       4     1  5.7   0
5       5     1  6.0   1
6       6     1  5.7   1
7       7     1  5.7   0
8       8     1  5.3   0
9       9     1  5.3   0
10     10     1  5.7   0
11     11     1  5.3   0
12     12     1  5.3   0
13     13     1  5.3   0
14     14     1  5.3   0
15     15     1  5.7   0
16     16     1  5.3   0
17     17     1  5.3   0
18     18     1  5.3   0
19     19     1  5.3   0
20     20     1  5.7   0
21     21     1  5.7   1
22     22     1  5.7   1
23     23     1  5.7   0
24     24     1  5.3   0
25     25     1  5.3   0
26     26     1  5.3   0
27     27     1  5.3   1
28     28     1  5.7   0
29     29     1  5.7   1
30     30     1  5.7   0
31      1     2  4.1   0
32      2     2  4.8   0
33      3     2  5.3   0
34      4     2  5.7   0
35      5     2  6.0   0
36      6     2  5.7   0
37      7     2  5.7   1
38      8     2  5.3   0
39      9     2  5.3   0
40     10     2  5.7   0
41     11     2  5.3   0
42     12     2  5.3   0
43     13     2  5.3   0
44     14     2  5.3   0
45     15     2  5.7   0
46     16     2  5.3   0
47     17     2  5.3   0
48     18     2  5.3   0
49     19     2  5.3   0
50     20     2  5.7   0
51     21     2  5.7   0
52     22     2  5.7   0
53     23     2  5.7   1
54     24     2  5.3   0
55     25     2  5.3   0
56     26     2  5.3   0
57     27     2  5.3   0
58     28     2  5.7   0
59     29     2  5.7   0
60     30     2  5.7   1
61      1     3  4.1   0
62      2     3  4.8   0
63      3     3  5.3   0
64      4     3  5.7   0
65      5     3  6.0   1
66      6     3  5.7   1
67      7     3  5.7   1
68      8     3  5.3   0
69      9     3  5.3   0
70     10     3  5.7   0
71     11     3  5.3   0
72     12     3  5.3   0
73     13     3  5.3   0
74     14     3  5.3   0
75     15     3  5.7   0
76     16     3  5.3   0
77     17     3  5.3   0
78     18     3  5.3   0
79     19     3  5.3   1
80     20     3  5.7   0
81     21     3  5.7   0
82     22     3  5.7   0
83     23     3  5.7   1
84     24     3  5.3   0
85     25     3  5.3   0
86     26     3  5.3   1
87     27     3  5.3   0
88     28     3  5.7   0
89     29     3  5.7   0
90     30     3  5.7   1
91      1     4  4.1   0
92      2     4  4.8   0
93      3     4  5.3   0
94      4     4  5.7   0
95      5     4  6.0   0
96      6     4  5.7   0
97      7     4  5.7   0
98      8     4  5.3   0
99      9     4  5.3   0
100    10     4  5.7   0
101    11     4  5.3   1
102    12     4  5.3   1
103    13     4  5.3   0
104    14     4  5.3   0
105    15     4  5.7   1
106    16     4  5.3   0
107    17     4  5.3   0
108    18     4  5.3   0
109    19     4  5.3   0
110    20     4  5.7   0
111    21     4  5.7   0
112    22     4  5.7   0
113    23     4  5.7   0
114    24     4  5.3   0
115    25     4  5.3   0
116    26     4  5.3   0
117    27     4  5.3   0
118    28     4  5.7   0
119    29     4  5.7   0
120    30     4  5.7   0
121     1     5  4.1   0
122     2     5  4.8   0
123     3     5  5.3   0
124     4     5  5.7   0
125     5     5  6.0   0
126     6     5  5.7   1
127     7     5  5.7   0
128     8     5  5.3   1
129     9     5  5.3   0
130    10     5  5.7   0
131    11     5  5.3   0
132    12     5  5.3   0
133    13     5  5.3   1
134    14     5  5.3   0
135    15     5  5.7   0
136    16     5  5.3   0
137    17     5  5.3   0
138    18     5  5.3   0
139    19     5  5.3   0
140    20     5  5.7   0
141    21     5  5.7   1
142    22     5  5.7   0
143    23     5  5.7   0
144    24     5  5.3   0
145    25     5  5.3   0
146    26     5  5.3   0
147    27     5  5.3   0
148    28     5  5.7   0
149    29     5  5.7   0
150    30     5  5.7   0
151     1     6  4.1   0
152     2     6  4.8   0
153     3     6  5.3   0
154     4     6  5.7   1
155     5     6  6.0   1
156     6     6  5.7   0
157     7     6  5.7   0
158     8     6  5.3   0
159     9     6  5.3   0
160    10     6  5.7   1
161    11     6  5.3   0
162    12     6  5.3   0
163    13     6  5.3   0
164    14     6  5.3   0
165    15     6  5.7   0
166    16     6  5.3   0
167    17     6  5.3   0
168    18     6  5.3   0
169    19     6  5.3   0
170    20     6  5.7   1
171    21     6  5.7   1
172    22     6  5.7   0
173    23     6  5.7   0
174    24     6  5.3   0
175    25     6  5.3   0
176    26     6  5.3   1
177    27     6  5.3   0
178    28     6  5.7   0
179    29     6  5.7   1
180    30     6  5.7   0




Ben Bolker <bbolker at gmail.com> 
27/01/2015 14:14

A
<xavier.paoletti at curie.fr>
cc
"r-sig-mixed-models at r-project.org" <r-sig-mixed-models at r-project.org>
Objet
Re: [R-sig-ME] c++ exception (unknown reason) when using an offset of the 
slope with glmer






  Your posted data set got removed by the mailing list machinery.  Can
you post it somewhere publicly accessible?
On Tue, Jan 27, 2015 at 3:45 AM, <xavier.paoletti at curie.fr> wrote:
using
0L,
reduce
-------------- section suivante --------------
Un texte encapsul? et encod? dans un jeu de caract?res inconnu a ?t? nettoy?...
Nom : dataEx_Glmer.txt
URL : <https://stat.ethz.ch/pipermail/r-sig-mixed-models/attachments/20150127/3652cc70/attachment.txt>
1 day later
#
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

  Confirmed on

R Under development (unstable) (2015-01-26 r67627)
Platform: i686-pc-linux-gnu (32-bit)
lme4 1.1.8

 I will see what I can figure out.  I suspect the main problem is that
the doses range from 4 to 6, so with an offset of (1.5*dose), that
says that the logit-probability or log-odds should range from 6 to 9,
which corresponds to a baseline probability of 0.997 to 0.999.  Those
are very high probabilities: they're going to make it very hard to
make a sensible model.   Can you say a little bit more about what
you're trying to do/why an offset of 1.5 makes sense?

  Ben Bolker
On 15-01-27 08:24 AM, xavier.paoletti at curie.fr wrote:
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)

iQEcBAEBAgAGBQJUyPYHAAoJEOCV5YRblxUHjjUH/R5gK8gIHEhTUnEQQiGQMF/m
pkzjJK37im+Tjg9ivu8xiorw9YSl4NcoB8KHK4joMySZoLhI/jQ1dg16aWId0FNO
1WWP6OOodqF/GdCerqg6BIQFgHJag/HOYRYnrwzoSOKQk82ZhxWFqOILaQxd7EvG
RzPDs7pEbWPS/cHELPWrmuvU+CAlnuRU2qAadGRn93hx19VFLsdVHsfKCza0RQd6
MAKwnkcj8jM2EWnjFaUapaF6i3QGpuXQaIDJUhvoo0ObAhKKFU8awtDyZTW19jKk
1gnKFWQnahyBYtoGkQE6Nk9gPzOrOznwdS3d++YE3tVS5e3oPQCJrfBx/UF3D8A=
=fw27
-----END PGP SIGNATURE-----
#
Thank you very much. 
Probabilities of event range approximately between .05 to .60

You are right, If I choose an offset of the slope=0.1, I can obtain 
estimates of the intercept. 

The offset of 1.5 came from the expected increase in the risk of event 
when escalating the dose from 4 to 6. 

If I fit the model without offset, I get the following etimates for the 
fixed effects
intercept:: -12.7
dose     : 2.3


Finally, the reason for choosing an offset is to reduce the dimensionality 
of the model due to the sampling matrix. 
I work on an extension of phase I dose escalation design in oncology, 
where the proportion of data that is sampled at one or 2 dose levels 
increases with the overall sample size. Therefore after 30, 40, 50 
patients, the contribution of this dose level to the likelihood is 
massive. Esimating both the intercept and the slope of the dose-response 
relationship gets useless or even misleading. 


I am not sure to understand why offset of the dose = 1.5 is misleading for 
the intercept estimate, but I will dig in .

Thanks again for your help

Xavier





Ben Bolker <bbolker at gmail.com> 
28/01/2015 15:45

A
<xavier.paoletti at curie.fr>
cc
"r-sig-mixed-models at r-project.org" <r-sig-mixed-models at r-project.org>
Objet
Re: [R-sig-ME] c++ exception (unknown reason) when using an offset of the 
slope with glmer






-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

  Confirmed on

R Under development (unstable) (2015-01-26 r67627)
Platform: i686-pc-linux-gnu (32-bit)
lme4 1.1.8

 I will see what I can figure out.  I suspect the main problem is that
the doses range from 4 to 6, so with an offset of (1.5*dose), that
says that the logit-probability or log-odds should range from 6 to 9,
which corresponds to a baseline probability of 0.997 to 0.999.  Those
are very high probabilities: they're going to make it very hard to
make a sensible model.   Can you say a little bit more about what
you're trying to do/why an offset of 1.5 makes sense?

  Ben Bolker
On 15-01-27 08:24 AM, xavier.paoletti at curie.fr wrote:
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)

iQEcBAEBAgAGBQJUyPYHAAoJEOCV5YRblxUHjjUH/R5gK8gIHEhTUnEQQiGQMF/m
pkzjJK37im+Tjg9ivu8xiorw9YSl4NcoB8KHK4joMySZoLhI/jQ1dg16aWId0FNO
1WWP6OOodqF/GdCerqg6BIQFgHJag/HOYRYnrwzoSOKQk82ZhxWFqOILaQxd7EvG
RzPDs7pEbWPS/cHELPWrmuvU+CAlnuRU2qAadGRn93hx19VFLsdVHsfKCza0RQd6
MAKwnkcj8jM2EWnjFaUapaF6i3QGpuXQaIDJUhvoo0ObAhKKFU8awtDyZTW19jKk
1gnKFWQnahyBYtoGkQE6Nk9gPzOrOznwdS3d++YE3tVS5e3oPQCJrfBx/UF3D8A=
=fw27
-----END PGP SIGNATURE-----
#
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

  The intercept seems awfully extreme, but I guess that's basically
because a dose of zero is actually unrealistic.

  I got a little carried away and explored this in

  http://rpubs.com/bbolker/glmer_offset

The bottom line is that I think you can work around the offset issues
if necessary (although I agree that it does technically constitute a
bug in lme4; I will post an issue at
https://github.com/lme4/lme4/issues when I get around to it, or
someone else would be welcome to), but that a GLMM actually seems like
overkill for this problem.

  cheers
    Ben Bolker
On 15-01-28 11:10 AM, xavier.paoletti at curie.fr wrote:
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)

iQEcBAEBAgAGBQJUykspAAoJEOCV5YRblxUHfHMIAKYw44W2SDYxy8sy/VUHlaNE
V1EcmfYu8wS8JH1bfk4nyi71+kvG9DZMdQL2SDBZAHeJo4iu2k4Burqdz+y01KaO
8n2X0oFAzJQfyP3vQJfEf2a90BwFFaUx2kTXuDq64a3sm8hGk6mtwYtMzzvQFamS
Xl9IKdCJNrelf9d4WkP0l9ZYzx7R1QABU7/i22YUoGmWygnR6bzqS/m1oyxqijSq
stoEZVAinl3ADK0zlnByuxBiPVev+swrYbG68GNzlk/a9Oi8gB0lVPvxdh5tiKB4
Ulpu7cbMO8xlQYR+H+SaDyi9NSxPuQat14iFLcmX82Yzf0RlEq0Vri+c4HCikck=
=/Msf
-----END PGP SIGNATURE-----
1 day later
#
Ben Bolker <bbolker at ...> writes:
Just pointing out that discussion on this issue (actually focused
for the moment on a very closely related issue instead, but relevant)
is continuing at https://github.com/lme4/lme4/issues/273 , for those
who want to follow along ...