-
Notifications
You must be signed in to change notification settings - Fork 55
/
NEWS.Rd
555 lines (537 loc) · 22.8 KB
/
NEWS.Rd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
\newcommand{\PR}{\Sexpr[results=rd]{tools:::Rd_expr_PR(#1)}}
\name{NEWS}
\title{glmmTMB News}
\encoding{UTF-8}
\section{CHANGES IN VERSION 1.1.9-9000}{
\subsection{BUG FIXES}{
\itemize{
\item fixed bug in \code{simulate_new} for \code{family = "beta_family")
}
} % bug fixes
} % 1.1.9-9000
\section{CHANGES IN VERSION 1.1.9 (2024-03-20)}{
\subsection{USER-VISIBLE CHANGES}{
\itemize{
\item the underlying parameterization of the dispersion for
Gaussian models has changed from the variance to the standard deviation scale,
with the following user-visible consequences:
\itemize{
\item results of fitting Gaussian models may change slightly,
especially for unstable fits
\item stored model objects need to have their \code{betad}
parameters halved for consistency: use \code{up2date(..., adjust_gauss_disp = TRUE)}
\item parameter estimates for dispersion components will change,
e.g. from \code{fixef(.)$disp} or \code{confint()} for models
with dispersion components
\item any operations that directly handle dispersion parameters
(e.g. \code{offset} terms for dispersion models) should be
specified on the SD rather than the variance scale
}
\item interpretation of the \emph{weights} variable for
binomial-type GL(M)Ms has changed. Previously, the \emph{weights}
argument was \emph{ignored} for a vector- (rather than
matrix-valued) numeric response, if all observations were either 0 or 1.
Now the \emph{weights} variable is multiplied by the resonse
variable to compute the number of successes (consistently with
\code{stats::glm(., family = "binomial")}). (This change makes
it easier to use \emph{weights} to specify the number of trials
per observation for \code{simulate_new()}.)
\item \code{simulate_new} gives useful warning and error
messages about unrecognized parameter names and length mismatches
(length mismatches previously gave only a warning)
} % itemize
} % user-visible changes
\subsection{NEW FEATURES}{
\itemize{
\item lognormal-hurdle models now work (i.e., zero values
can occur in the response if \code{ziformula} is specified)
\item better checking for illegal (negative or non-integer) values
in response variables
\item experimental support for priors: see \code{?priors} and
\code{vignette("priors", package = "glmmTMB")}
}
} % new features
\subsection{BUG FIXES}{
\itemize{
\item predictions now work when \code{weights} variables have
attributes (GH #977)
} % itemize
} % bug fixes
} % 1.1.9
\section{CHANGES IN VERSION 1.1.8 (2023-10-07)}{
\subsection{NEW FEATURES}{
\itemize{
\item "lognormal" family available (log-Normal, parameterized
by the mean and standard deviation on the \emph{data scale})
\item an experimental implementation of penalized splines
(and related smooth terms) is available,
based on \code{mgcv}. See the example using \code{s} in \code{?glmmTMB}.
Constructive feedback welcome at
\url{https://github.com/glmmTMB/glmmTMB/issues/928}
\item population-level prediction with new data no longer requires
that the variables involved in the random effects be explicitly
specified as \code{NA} (GH #923, Russ Lenth)
\item the \code{simulate} method now works for models fitted with
\code{family=ordbetareg} (GH #942, Daniel Lüdecke)
\item deviance residuals are now available for some families
(built-in families from base R (see \code{?family})
plus \code{nbinom1}, \code{nbinom2}); deviance
residuals for other families may be implemented on request.
\item setting \code{option(glmmTMB_openmp_debug=TRUE)} will
produce debugging output about the number of OpenMP threads used
\item \code{getME(., "b")} returns the vector of conditional modes
(BLUPs, in the case of linear mixed models)
} % itemize
} % new features
\subsection{USER-VISIBLE CHANGES}{
\itemize{
\item changes related to handling rank-deficient fits:
\itemize{
\item default value of \code{rank_check} in
\code{glmmTMBControl} changed to "adjust" (i.e., rank-deficient
columns of fixed-effect model matrices are automatically dropped, with
a message, by default)
\item the \code{include_mapped} argument of \code{vcov} and
\code{confint} is changed to \code{include_nonest},
controlling both mapped parameters and those
dropped due to rank-deficiency, and is now \code{TRUE} by default for
\code{vcov}
\item \code{model.matrix} now returns the fixed-effect model matrix
actually used in fitting (including dropping columns for
rank-deficiency)
} %inner itemize
\item \code{glmmTMB} now accepts single-column matrices (e.g. as
produced by \code{scale} as response variables (GH #937, @santoshbs)
} % itemize
} % user-visible changes
} % version 1.1.7.9000
\section{CHANGES IN VERSION 1.1.7 (2023-04-05)}{
\itemize{
\item \code{up2date()} adds a dispersion component to family
objects where required, for compatibility when checking
stored fits across R versions
}
}
\section{CHANGES IN VERSION 1.1.6 (2023-03-19)}{
\subsection{BUG FIXES}{
\itemize{
\item fix bug in diagnose for Tweedie, other models with 'psi'
parameter (@nalimilan, GH #135)
}
} % bug fixes
\subsection{NEW FEATURES}{
\itemize{
\item added a \code{doOptim} argument to \code{fitTMB}, to return
the constructed TMB object without fitting the parameters
\item new (experimental) function \code{simulate_new}, to simulate
from a formula, list of parameters, and covariate data (rather
than from a fitted object)
\item \code{emmeans.glmmTMB} method adds two options
for the \code{component} argument: "response" and "cmean",
corresponding to \code{type = "response"} and \code{type = "conditional"}
in \code{predict.glmmTMB} (Russ Lenth)
\item new covariance structure \code{homdiag} (homogeneous diagonal;
the existing diagonal covariance structure, \code{diag}, assumes heterogeneous
variances)
}
} % new features
\subsection{USER-VISIBLE CHANGES}{
\itemize{
\item The \code{emmeans} method for glmmTMB fits now returns infinite
"df" (i.e., normal- rather than t-based CIs and tests) for non-Gaussian
families, consistent with \code{glm} and other packages (GH #893)
}
} % user-visible changes
}
\section{CHANGES IN VERSION 1.1.5 (2022-11-16)}{
\subsection{BUG FIXES}{
\itemize{
\item improve predict-handling of complex bases (GH #632, #845,
#853)
\item all standard deviations are now printed in output for
models using \code{cs()} (GH #851)
\item corrected conditional and response predictions for
truncated distributions (GH #634, #860, #873)
\item \code{ranef()} now works correctly for families
with extra parameters (Tweedie etc.) (GH #870)
} % itemize
} % bug fixes
\subsection{USER-VISIBLE CHANGES}{
\itemize{
\item glmmTMB has switched to using a different (newer, under
active development) autodifferentiation library under the hood
(from \code{CppAD} to \code{TMBad}). This is likely to lead to
small changes in estimates, including tipping marginally stable
computations to instability or vice versa (e.g. presence or
absence of convergence warnings, positive-definite Hessian
warnings, \code{NaN} values of standard errors, etc.) You can revert
to using the older autodiff engine by commenting out the line
\code{PKG_CPPFLAGS = -DTMBAD_FRAMEWORK} in \code{src/Makevars}
and reinstalling the package (make sure to delete .o/.so files
from the \code{src} directory first if installing from the package
directory, as the Makefile doesn't recognize know that this
change requires recompilation).
\item glmmTMB now warns if fixed-effect model matrices are
rank deficient (i.e., perfectly collinear predictors); this
warning can be suppressed by setting
\code{glmmTMBControl(rank_check="skip")}
(\code{rank_check = "stop"} will throw an error).
If \code{rank_check="adjust"}, glmmTMB
will automatically drop appropriate columns from the model
matrix (Daniel B. Stouffer)
\item the vector of "extra" family parameters
(Tweedie power, Student-t df,
etc.) has been renamed from "thetaf" to "psi"; \code{start}
and \code{map} arguments that set this parameter will need to
be changed. Users will need to run \code{up2date()}
when loading stored model objects from previous versions of the
package.
\item \code{predict} now warns if extra (ignored) arguments are
provided in \code{...}
} % itemize
} % user-visible changes
\subsection{NEW FEATURES}{
\itemize{
\item Student-t response distribution is now implemented (see
\code{\link{t_family}})
\item ordered beta regression as in Kubinec (2022), for
proportion data containing exact 0 and 1 values, is now
implemented (\code{\link{ordbeta}})
\item \code{glmmTMBControl} now has a \code{conv_check} argument
that allows suppressing convergence warnings
(the intended use is when these warnings are irrelevant,
e.g. when running small examples for testing purposes)
} % itemize
} % new features
} % version 1.1.5
\section{CHANGES IN VERSION 1.1.4 (2022-07-12)}{
\subsection{USER-VISIBLE CHANGES}{
\itemize{
\item row names of \code{confint} output for random effects
parameters have changed (new format is
\code{Std.Dev} . (term) | (grouping variable) for standard
deviations, \code{Cor} . (term1) . (term2) | (grouping variable)
for correlations)
} % itemize
} % user-visible changes
\subsection{BUG FIXES}{
\itemize{
\item \code{predict(., "zprob")} now returns 0 and
\code{predict(., "zlink")} returns \code{-Inf} for all observations
for models without zero-inflation (GH #798, Brenton Wiernik) [was
previously supposed to throw an error, but incorrectly returned
conditional values]
\item bug fixes and other improvements for \code{diagnose} (inverted Z-score; now handles
models without random effects)
\item \code{confint} now works for models with more than one
random effect
\item \code{confint} works better (although not completely) for
models with mapped parameters
} % itemize
} % bug fixes
\subsection{NEW FEATURES}{
\itemize{
\item now provides Pearson residuals for zero-inflated and
variable-dispersion models (Brenton Wiernik)
} % itemize
} % new features
} % version 1.1.4
\section{CHANGES IN VERSION 1.1.3 (2022-03-13)}{
\subsection{USER-VISIBLE CHANGES}{
\itemize{
\item minor improvements in \code{diagnose()}
}
}
\subsection{BUG FIXES}{
\itemize{
\item offset variables with attributes now work properly
(previously threw an error; now stripped before being passed to
TMB)
\item \code{emmeans} methods now work when \code{component}
is non-default (GH #780, @rvlenth/@marosteg)
\item \code{vcov(., full = TRUE)} is now named for models with
multiple variance components
}
}
\subsection{NEW FEATURES}{
\itemize{
\item implemented working residuals (\code{residuals(., type =
"working")}; GH #776, @lionel68)
\item new option \code{print_trivial} for the \code{print} method
for fixed effects (\code{fixef} objects); contributed by @d-morrison
}
}
}
\section{CHANGES IN VERSION 1.1.2.3 (2021-09-20)}{
\subsection{USER-VISIBLE CHANGES}{
\itemize{
\item Double-bar notation (\code{(x+y||g)}) is now translated to a
diagonal-covariance term (\code{diag(x+y|g)}) rather than being split
into separate random effects terms as in \code{lme4}. This should not
change modeling results, but may change their
presentation/ordering/etc.. (This is also a bug fix, as double-bar
notation was not working in several previous versions.)
\item \code{glmmTMB} now issues a warning when (1) \code{$} is used
within formulas or (2) the \code{data} argument is not specified (the
latter warning can be suppressed by specifying
\code{data=NULL}).
}
}
\subsection{NEW FEATURES}{
\itemize{
\item New (experimental) function \code{up2date} for updating
stored \code{glmmTMB} fits that were created with an earlier
version of \code{TMB} than the one used when \code{glmmTMB} was
compiled to binary/installed from source
\item Utility functions \code{dtruncnbinom1},
\code{dtruncnbinom2}, \code{dtruncpoisson} for k-truncated
count distributions
}
}
}
\section{CHANGES IN VERSION 1.1.2.2 (2021-09-01)}{
\itemize{
\item This is an administrative release (minor revisions for CRAN).
}
}
\section{CHANGES IN VERSION 1.1.2 (2021-07-20)}{
\subsection{BUG FIXES}{
\itemize{
\item resolved OpenMP thread-safety issues on Windows
\item resolved bug that caused Tweedie models to crash on Solaris
\item resolved problems with vignettes on Solaris (GH #721)
}
} % bug fixes
\subsection{USER-VISIBLE CHANGES}{
\itemize{
\item improved control of OpenMP threading for prediction,
profiling etc.
}
} % user-visible changes
} % version 1.1.2
\section{CHANGES IN VERSION 1.1.0 (2021-06-24)}{
\subsection{NEW FEATURES}{
\itemize{
\item reduced rank covariance for GLVMs implemented by M.McGillycuddy
(see covstruct vignette for details)
\item \code{diagnose} function to investigate potential causes of convergence problems
\item improved parallel processing (GH #620 #652)
\item truncated nbinom2 family now includes a \code{variance}
component
}
} % new features
\subsection{BUG FIXES}{
\itemize{
\item \code{Anova} with \code{type="III"} now handles
\code{component} argument correctly, more robust to trivial models
\item fixed a typo/omission in the type-3 Anova method that made
zi Anova break in some conditions (GH #674)
\item fixed bugs/inconsistencies in handling of mapped parameters
(GH #678)
\item \code{confint} with \code{parm="beta_"} or
\code{parm="theta_"} now work correctly with more complex models
(e.g. including both zero inflation and random effects)
(reported by @MKie45 on Stack Overflow)
\item \code{confint} works for single-parameter models and those
with a \code{dispformula} (GH #622)
\item mapped (fixed) variables could give incorrect predictions (GH #644)
\item \code{simulate} is more robust for truncated_nbinom1 and
truncated_nbinom2 (GH #572)
}
}
\subsection{USER-VISIBLE CHANGES}{
\itemize{
\item "mapped" parameters (i.e., fixed by user rather than
optimized) are now given variances/standard deviations of NA rather
than 0 in \code{vcov(., include_mapped=TRUE)} and by extension in
\code{summary}; hence Z-statistics and P-values will also be NA for
these parameters
\item row ordering has changed in \code{confint} output data
frames (random effects parameters come \emph{last}, matching the
row/column order in \code{vcov(., full=TRUE)})
\item new \code{fast} flag for predictions decreases memory use
and computational time (only if \code{newdata}, \code{newparams}
not specified); default in \code{fitted()} method
\item improved robustness of beta-binomial fits
(results of fitting such models may change slightly from previous
versions)
\item consistent predictions between link and inverse-link (GH #696)
\item improved vignette titles
\item The \code{emm_basis} method for \code{glmmTMB} objects now accepts a user-specified covariance matrix (\code{vcov.} argument)
}
}
}
\section{CHANGES IN VERSION 1.0.2.1 (2020-07-02)}{
\itemize{
\item fix documentation links for CRAN checks
}
}
\section{CHANGES IN VERSION 1.0.2 (unreleased)}{
\subsection{USER-VISIBLE CHANGES}{
\itemize{
\item the \code{refit()} function is now re-exported (i.e., you no
longer need to load \code{lme4} to use it)
\item a \code{modelparm.glmmTMB} method is now provided (so that
\code{multcomp::glht} should work out of the box with
\code{glmmTMB} objects)
}
}
\subsection{NEW FEATURES}{
\itemize{
\item new \code{sparseX} argument to specify sparse fixed-effect
model matrices for one or more components
}
}
\subsection{BUG FIXES}{
\itemize{
\item \code{summary} and model printing now work if
\code{control=glmmTMBControl(optimizer=optim)} is used (GH #589)
\item structured covariance models now work in zero-inflation components (GH #579)
\item documentation of formula for variance in beta family (GH #595)
}
} % bug fixes
}
\section{CHANGES IN VERSION 1.0.1 (2020-03-15)}{
\itemize{
\item updated for R-devel changes (R 4.0.0 will set stringsAsFactors=FALSE by default)
}
}
\section{CHANGES IN VERSION 1.0.0 (2020-02-03)}{
The 1.0.0 release does not introduce any major changes or incompatibilities,
but signifies that glmmTMB is considered stable and reliable for general use.
\subsection{NEW FEATURES}{
\itemize{
\item new \code{map} argument to \code{glmmTMB} allows for some
parameter values to be fixed
(see \code{?TMB::MakeADFun} for details)
\item new \code{optimizer} and
\code{optArgs} arguments to \code{glmmTMBControl} allow use of
optimizers other than \code{nlminb}
\item \code{predict} can make population-level predictions
(i.e., setting all random effects to zero).
See \code{?predict.glmmTMB} for details.
\item \code{beta_family} now allows zero-inflation;
new \code{ziGamma} family (minor modification of
\code{stats::Gamma}) allows zero-inflation
(i.e., Gamma-hurdle models)
}
} % new features
\subsection{BUG FIXES}{
\itemize{
\item \code{vcov(., full=TRUE)} (and hence profiling) now work for models with \code{dispformula=~0}
\item Documentation fix: when \code{family=genpois}, the
index of dispersion is known as phi^2.
\item \code{Anova} now respects the \code{component} argument (GH
#494, from @eds-slim)
\item \code{predict} now works when contrasts are set on factors
in original data (GH #439, from @cvoeten)
\item \code{bootMer} now works with models with Bernoulli
responses (even though \code{simulate()} returns a two-column
matrix in this case) (GH #529, @frousseu)
\item better support for \code{emmeans} applied to zero-inflation
or dispersion models (correct link functions) (Russ Lenth)
}
} % bug fixes
\subsection{USER-VISIBLE CHANGES}{
\itemize{
\item \code{sigma(.)} now returns \code{NA} for models with
non-trivial dispersion models (i.e. models with more than one
dispersion parameter) (raised by GH #533, from @marek-tph)
\item \code{VarCorr} no longer prints residual variances for
models with \code{dispformula=~0}
\item the \code{model.matrix()} and \code{terms()} methods
for \code{glmmTMB} objects have been slightly modified
}
} % user-visible changes
} % version 1.0.0
\section{CHANGES IN VERSION 0.2.3 (2019-01-11)}{
\subsection{NEW FEATURES}{
\itemize{
\item \code{ranef} now returns information about conditional variances (as
attributes of the individual random effects terms) by default;
this information can easily be retrieved by
\code{as.data.frame(ranef(.))}.
\item \code{coef} method now available: as in \code{lme4}, returns
sum of fixed + random effects for each random-effects
level. (Conditional variances for \code{coef} \emph{not} yet available.)
\item simulate works for models with genpois family
\item parametric bootstrapping should work, using
\code{\link[lme4]{bootMer}} from the \code{lme4} package as a front end.
} % itemize
} % new features
\subsection{BUG FIXES}{
\itemize{
\item models with multiple types of RE (e.g. ar1 and us)
may have failed previously (GH #329)
\item \code{predict} was not handling data-dependent predictors (e.g. \code{poly}, \code{spline}, \code{scale}) correctly
\item \code{profile} now works for models without random effects
}
} % bug fixes
\subsection{USER-VISIBLE CHANGES}{
\itemize{
\item The value returned from \code{simulate} for binomial models
is now a non-standard data frame where each element contains a
two-column matrix (as in the base-R \code{\link{simulate}} method for
binomial GLMS).
} % itemize
} % user-visible
} % version 0.2.3
\section{CHANGES IN VERSION 0.2.2 (2018-07-03)}{
\subsection{NEW FEATURES}{
\itemize{
\item REML is now an option (GH #352). It is typically only for
Gaussian response variables, but can also be useful
for some non-Gaussian response variables if used with caution
(i.e. simulate a test case first).
}
}
\subsection{USER-VISIBLE CHANGES}{
\itemize{
\item Because family functions are now available for all
families that have been implemented in the underlying TMB
code, specifying the \code{family} argument as a raw list (rather than as a family
function, the name of a family function, or the output of such a
function) is now deprecated.
}
}
}
\section{CHANGES IN VERSION 0.2.1 (2018-05-11)}{
\subsection{NEW FEATURES}{
\itemize{
\item likelihood profiles (via \code{profile}) and likelihood
profile confidence intervals (via \code{confint(profile(.))})
can now be computed;
\code{confint(fitted,method="profile")} and
\code{confint(fitted,method="uniroot")} (find CIs by using
a root-finding algorithm on the likelihood profile)
\item offsets are now allowed in the zero-inflation and dispersion
formulas as well as in the main (conditional-mean) formula
(if \code{offset} is specified as a separate argument, it applies
only to the conditional mean)
\item zero-truncated generalized Poisson \code{family=truncated_genpois}
\item zero-truncated Conway-Maxwell-Poisson
\code{family=truncated_compois}
\item \code{predict} now allows \code{type} ("link", "response",
"conditional", "zprob", "zlink")
}
}
\subsection{BUG FIXES}{
\itemize{
\item built-in \code{betar()} family for Beta regression fixed
(and name changed to \code{beta_family()}) (GH #278)
\item fixed segfault in predict method when response is specified
as two columns (GH #289)
\item fixed summary-printing bug when some random effects have
covariance terms and others don't (GH #291)
\item fix bugs in binomial residuals and prediction (GH #307)
}
}
\subsection{USER-VISIBLE CHANGES}{
\itemize{
\item in \code{predict.glmmTMB},
the \code{zitype} argument has been rolled into the new
\code{type} argument: \strong{default prediction type is now
"link" instead of "response", in order to match \code{glm()} default}
}
}
}