********************************************************
**** CHANGES IN TAM PACKAGE VERSIONS ****
********************************************************
++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Test Analysis Modules (TAM)
T. Kiefer, A. Robitzsch, & M. Wu
___ ___
___ / /\ /__/\
/ /\ / /::\ | |::\
/ /:/ / /:/\:\ | |:|:\
/ /:/ / /:/~/::\ __|__|:|\:\
/ /::\ /__/:/ /:/\:\ /__/::::| \:\
/__/:/\:\ \ \:\/:/__\/ \ \:\~~\__\/
\__\/ \:\ \ \::/ \ \:\
\ \:\ \ \:\ \ \:\
\__\/ \ \:\ \ \:\
\__\/ \__\/
mailto:
-------
Alexander Robitzsch
a.robitzsch@bifie.at
For reporting a bug, please always provide a reproducible R script
and (if necessary) a corresponding dataset.
URL:
----
For TAM development versions see
https://sites.google.com/site/alexanderrobitzsch/software
For TAM tutorials see
http://www.edmeasurementsurveys.com/TAM/Tutorials/
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
-------------------------------------------------------
Changes in Version 1.6 (2015-04-03) -- CRAN 1.6-0
-------------------------------------------------------
Features:
* included function 'IRT.drawPV' for drawing plausible values
based on individual posterior (output of 'IRT.posterior')
Bug fixes:
* fixed a bug for input of a B loading matrix with no item labels
* fixed a bug in 'plot.tam' with missing data in item responses
(bug fix provided by Michal Modzelewski)
* corrected an included bug in recent TAM versions in AIC
calculation (thanks to Simon Grund)
* fixed a bug in variance fixing in 'tam.fa' which occured in a
recent TAM version due to changes in defaults in 'tam.mml.2pl'
* fixed a bug when constraining of item parameters was ignored
in 'tamaan' (thanks to Stefan Behrendt)
Notes:
* speeded data/design matrix preparation phase in 'tam.mml.mfr'
* included internal function 'tamcat' for analyzing computation time
* changed numerical behavior in 'tam.mml.mfr' in order to avoid a zero sum
of all individual posterior probabilities (thanks to Roman Freunberger)
* included argument 'xsi.setnull' in 'tam.mml.mfr' for convenient
fixing of xsi parameter groups. A warning is now given if the
combination of person and facet identifiers is not unique.
* allowed also explicit use of facets without effects in 'tam.mml.mfr'
on 'formulaA', e.g. 'item*step + 0*rater' sets all rater effects
to zero
* included wranings in 'tam.wle' if the WLE is (possibly) not estimable
(suggested by Rainer Alexandrowicz)
Datasets included or modified:
* ---
Examples included or modified:
* tam.mml (19, 20, 10a), IRT.drawPV (1), tamaan (1.9)
-------------------------------------------------------
Changes in Version 1.5 (2015-02-24) -- CRAN 1.5-2
-------------------------------------------------------
Features:
* included S3 methods 'IRT.expectedCounts', 'IRT.modelfit',
'predict' and 'IRT.data' for fitted models in TAM
* included item fit statistic on item level 'msq.itemfit'
as an alternative to the simulation based 'tam.fit' function
* included linear approximation for confirmatory factor analysis
'IRT.linearCFA'
Bug fixes:
* fixed a bug in plausible value imputation in multidimensional
models and normal approximation (reported by Dan Su)
* changed resp in output of 'tam.mml', 'tam.mml.2pl' and
'tam.mml.3pl' to output the original used data with missings
(thanks to Matthias Trendtel)
* extended tam.modelfit to handle multi matrix design appropriately
* changed defaults in 'est.variance' if 'variance.fixed' is provided
in 'tam.mml.2pl'. The previous default led to bugs in the
tamaan function. (reported by Christoph Duchhardt)
Notes:
* added output values 'xsi.fixed.estimated', 'B.fixed.estimated'
for default item parameter fixings in tam.mml, tam.mml.2pl,
tam.mml.mfr and tam.mml.3pl (suggested by Matthias Trendtel)
* extended tan.modelfit function for more flexible input to
allow for assessing model fit for objects which were not
fitted in TAM ('tam.modelfit.IRT', 'tam.modelfit.args')
* added 'IRT.likelihood' and 'IRT.posterior' S3 method for
object of class 'tam.latreg'
* extended 'plotctt' and 'plot.tam' the using graphics package
in addition to lattice (suggested by Michal Modzelewski)
* included function for computing Thurstonian thresholds ('IRT.threshold')
Datasets included or modified:
* ---
Examples included or modified:
* tam.mml (1,5t,6), IRT.expectedCounts.tam (1), tam.modelfit (1),
predict (1), msq.itemfit (1), IRT.linearCFA (1,2),
IRT.threshold (1,2)
-------------------------------------------------------
Changes in Version 1.4 (2015-01-15) -- CRAN 1.4-1
-------------------------------------------------------
Features:
* included function 'cfa.extract.itempars' for extracting
item parameters from a fitted confirmatory factor analysis
with the cfa function in lavaan package
* included the function 'IRTLikelihood.cfa' for extracting
the individual likelihood from fitted confirmatory factor
analyses
* included an S3 method 'IRT.WrightMap' which is a wrapper
to the WrightMap package
Bug fixes:
* fixed a bug for item response dataset with only one column
* fixed a bug in tamaan function when applied to TYPE="TRAIT"
and models without guessing parameters
* fixed a bug in plot.ctt function for input of item response
data with only one columns (thanks to Michal Modzelewski)
Notes:
* added item types 'PCM(kk)' and 'GPCM(kk)' for smoothing
item intercepts in tamaan function
* included a summary method for 'tam.fit'
* included 'MEASERR' convenience method for single indicators
with measurement errors in 'lavaanify.IRT'
* changed some internal handling in 'lavaanify.IRT' due to
announced changes in lavaan 0.5-18 in 'lavaanify'
* changed equality constraints in the section "MODEL CONSTRAINT"
in 'tamaanify' to the usage of "==" instead of "=" (as in lavaan)
Datasets included or modified:
* data.ctest2
Examples included or modified:
* cfa.extract.itempars (1), IRTLikelihood.cfa (1),
tamaan (2), tam.fit (1,2), data.geiser (2), tam.latreg (2,3),
IRT.WrightMap (1,2,3,4), data.cqc (1,2,3), lavaanify.IRT (6)
-------------------------------------------------------
Changes in Version 1.3 (2015-01-06) -- CRAN 1.3-xx
-------------------------------------------------------
Features:
* included option for sum constraints on item intercepts
(constraint="items") in 'tam.mml'.
For polytomous data, this option automatically specifies
irtmodel="PCM2".
* included truncated normal prior distributions for
gammaslope parameters in 'tam.mml.3pl'
* included 'tamaan' and 'tamaanify' functions for more
more convenient model specifications in TAM
* included 'doparse' function as a shortcut for writing
loops in model syntax
* included item-category specific curves in 'plot.tam' using
the argument type="items" (suggested by Cheng-Hsuan Li and
Michal Modzelewski)
* plot function for type="items" now also works for multidimensional
item response models with between item dimensionality
* included normal approximation and sampling of regression
coefficients for plausible value imputation ('tam.pv') for
multidimensional item response models.
The theta grid can also be fixed (argument theta.model=TRUE)
and is taken from the fitted model.
* included the function 'tampv2datalist' for converting plausible
values and a set of covariates into a list of multiply imputed
datasets
* included the function 'tam.latreg' which performs a latent
regression model in which only the individual likelihood is
needed as an input
Bug fixes:
* corrected algorithmic stopping criteria in 'tam.mml.3pl'
* fixed a bug in 'tam.mml.2pl' when design matrix B.fixed
for fixed loadings contains only one row
* another bug was fixed by Michal Modzelewski in data preparation
in the multi-facet function 'tam.mml.mfr'
* fixed a bug in estimation routines if a dataset resp is provided
without column names (thanks to Alec Nyce)
Notes:
* included parametrization of mean item intercept (irtmodel="PCM2")
in output of tam.mml and tam.mml.2pl (value item$xsi.item)
* included nonlinear terms in lavaan syntax in 'lavaanify.IRT'
* included option for initial delta parameters in 'tam.mml.3pl'
* added AIC3 information criterion in summary
* included datasets data.geiser and data.janssen for latent
class analysis and mixture Rasch analysis (thanks to
Christian Geiser and Anne Janssen)
* included Example 3 in 'tam.wle' comparing WLE person parameter
estimates from the TAM and the PP package
* included Example 3 in 'tam.threshold' for creating Wright maps
with the WrightMap package
Datasets included or modified:
* data.geiser, data.janssen, data.janssen2
Examples included or modified:
* tam.modelfit (3), tam.mml (1,4,5,6,13,18), lavaanify.IRT (3,4),
tam.mml.3pl (1.6b,4,7,8,9), tamaanify (1,2), tamaan (1,2),
plot.tam (1,2), tam.wle (3), tam.threshold (3), tam.pv (2,3),
tam.latreg (1)
-------------------------------------------------------
Changes in Version 1.2 (2014-11-22)
-------------------------------------------------------
Features:
* included fit of constrained facet parameters for output
of 'tam.mml.mfr'
* included extended lavaan syntax 'lavaanify.IRT'. This
function was previously included in sirt package as
'lavaanify.sirt'.
* added argument 'gammaslope.center' in 'tam.mml.3pl' for
centering item parameters within iterations in estimation
* included an argument of fixing person parameters in 'tam.jml'
(see tam.jml, Example 1)
* added S3 methods for fitted models in TAM:
'logLik', 'IRT.likelihood', 'IRT.posterior', 'IRT.irfprob',
'IRT.factor.scores'. These S3 methods were defined in the
recent version of the CDM (>= 4.0) package.
Bug fixes:
* improved model identification in 'tam.mml.mfr' in case
of differing number of categories per item and fixed
a bug in creating the A matrix (thanks to Michal Modzelewski).
* fixed a miscount of number of estimated parameters in
multiple group models (thanks to Michal Modzelewski).
* fixed incorrect handling of irtmodel="PCM2" in 'tam.mml'
for multidimensional models (thanks to Chen-Wei Liu)
* fixed a bug in 'tam.jml2' when some item parameters were
fixed with the xsi.fixed argument
* fixed a bug in fit calculation for tam.jml objects
(thanks to Hillary Ferral)
Notes:
* included Rcpp based version of item fit calculation to
reduce computational time
* changed calculation of tam.fit in case of missing item responses
which substantially changes fit statistics especially for
faceted models.
* changed handling of simulating abilities in 'tam.fit'
* included p values in output for fit statistics in 'tam.fit'
* included estimation of Thurstonian thresholds for multidimensional
models
* added an example of a 2PL mixture distribution IRT model with
two latent classes (tam.mml.3pl, Simulated Example 8)
* changed summary layout in 'tam.mml.3pl'
* made item parameter estimation in 'tam.jml' more computationally
efficient
* added anova method for 'tam.mml.3pl'
* added value of the individual likelihood in 'tam.mml',
'tam.mml.2pl' and 'tam.mml.3pl'
Datasets included or modified:
* rating dataset data.exJ03 (provided by Matt Barney)
Examples included or modified:
* tam.fit (4), tam.threshold (2), tam.mml.3pl (7,8), lavaanify.IRT (1,2),
tam.jml (1,4), IRT.likelihood.tam (1), IRT.factor.scores (1),
IRT.irfprob (1)
-------------------------------------------------------
Changes in Version 1.1 (2014-10-19)
-------------------------------------------------------
Features:
* added user defined variance function in tam.mml and
tam.mml.2pl
* added user defined constraints on slope parameters
in 'tam.mml.3pl'
Bug fixes:
* fixed a bug in deviance computation in 'tam.mml.3pl' when
stochastic nodes are used
* (hopefully) fixed computational problems in multidimensional models
with nearly singular covariance matrix
(thanks to a discussion with Johannes Hartig)
Notes:
* added a plot function 'plot.ctt' accompanying the classical test
theory based statistic
* fixed a bug in creation of design matrices in faceted models with
differing categories per item (thanks to Michal Modzelewski).
Note that the treatment of faceted models is still not compatible
with other software (like ConQuest). A substantial bug fix
is planned in future TAM relaeses.
Datasets included or modified:
* data.ctest1 (thanks to HGP)
Examples included or modified:
* tam.fit (4), tam.mml (17), tam.ctt (1)
-------------------------------------------------------
Changes in Version 1.0-3.18 (2014-09-08)
-------------------------------------------------------
Bug fixes:
x modified incorrectly calculated thresholds with 'tam.threshold'
for multidimensional models (reported by Janine Buchholz and
Joerg-Henrik Heine)
Notes:
x included SRMSR fit statistic in tam.modelfit
x included argument "Nsimul" in "tam.fit" which improves
calculation of fit statistics
-------------------------------------------------------
Changes in Version 1.0-3 (2014-06-27)
-------------------------------------------------------
Features:
x included model fit statistics (Q3, SRMR, MADRESIDCOV): 'tam.modelfit'
x included 'tam.mml.3pl' for 3PL estimation, general design
matrices for item slopes and options for discrete
latent variables (estimation of latent class models,
located latent class model, skew distributions,
mixed IRT models, cognitive diagnosis models, ...
is now possible)
x extended tam.pv for objects of class 'tam.mml.3pl'
x speeded data preparation of faceted models a bit
x tam.se now computes standard errors for estimated slope parameters, B
(for irtmodel in c("2PL", "GPCM", "2PL.groups")); highly experimental
for irtmodel="GPCM.design").
x plot.tam now prints a message about the location of the exported graphics.
x plot.tam has a new argument 'items' for selecting the items to
be displayed. RD-file adjusted.
x plot.tam has new arguments 'export.type="png"' and "export.args=list()" for
selecting the file type for the graphics export. The supported file types
are those supported by ?dev.new. The argument 'export.args=list()' is
for specifying a list of arguments for the export device method.
x tam.threshold has a new argument prob.lvl to set the probability level of
the thresholds.
Bug fixes:
x fixed a bug in pid output in object 'person' for multidimensional models
(thanks to Sebastian Weirich)
x fixed a bug in variance estimation for multiple group 2PL models
x included 'designMatrices.mfr2' for a provisional bug fix
for multifaceted models with differing number of categories
per item (see Example 16 in tam.mml; thanks to Christoph Duchhardt)
x fixed a bug in 'tam.mml.mfr' for differing number of categories
per item -> now a xsi vector with parameter fixings to values
of 99 is used
x plot.tam is debugged regarding the case of missing WLEs for some
person (thanks to Florian Buchwald).
x plot.tam now doesn't throw a warning when the 'Plots' directory
already exists.
x fixed a bug in plot.tam for cross-platform accordance (thanks to Uli Keller).
x fixed a bug in tam.fit with missing item scores
x fixed a bug in tam.jml so that ../Tutorials/6Population.htm now runs without
error.
Notes:
x tam.fit is experimental for objects obtained from tam.mml.mfr.
x changed convergence behavior in tam.wle (thanks to Peter Harych)
x changed item sorting in output object 'item'
x tam.mml(/.2pl/.mfr) methods now return Q, tam.mml.2pl additionaly returns
B.fixed, basispar, E, and est.slopegroups objects. RD-file adjusted.
x tam.jml(/.jml2) do not return fit statistics anymore. Item and person fit can
be obtained by a call to tam.fit (/.jml.fit).
x in case of multidimensional analyses, we recommend an update of
the R-package mvtnorm to version 0.9-99992 or higher.
x extended example 13 in tam.mml.Rd to the case of polytomous longitudinal
data (requested by and thanks to Florian Buchwald)
x extended example 6 in tam.mml.Rd to the specification of sum constraints
on the item parameters in a PCM model for differing number of categories.
x Some minor changes in RD-files (eg., irtmodel for argument 'E' in
tam.mml.2pl is "GPCM.design", theta value in tam.jml is "MLE in final step").
-------------------------------------------------------
Changes in Version 1.0-2 (2014-03-26)
-------------------------------------------------------
x fixed a Bug in the optional specification of a B matrix
in tam.mml.mfr
x new faster tam.mml.wle2; included Rcpp helper functions for
tam.mml.wle2 for fast computation; tam.mml.wle2 new
reference in tam.wle for objects of class tam.mml, rd-file
adapted
x tam.mml.mfr now accepts polytomous data with more than
ten categories per item
x specification of response matrix in 'long format' fixed,
see example section (thanks to Takuya Yanagida)
x some minor changes in usability (eg., pid can be specified as
vector, one-column matrix or data.frame)
-------------------------------------------------------
Changes in Versions 1.0 (2014-02-02)
-------------------------------------------------------
x updated DESCRIPTION and NAMESPACE due to changes in Rcpp
x change in package maintenance: Thomas Kiefer is now
the package maintainer
x fixed a bug in item labeling in tam.se
(thanks to Sebastian Weirich)
x fixed a bug in labeling of reduced reponse matrices in
tam.mml.mfr
x fixed some examples in .Rd files
-------------------------------------------------------
Changes in Versions 0.91/0.99 (2013-11-02)
-------------------------------------------------------
x added 'AXsi_' as value in tam.mml, tam.mml.2pl and tam.mml.mfr
x cleaned labels in 'tam.mml.mfr' for faceted models
x included the argument 'score.resp' in tam.wle for scoring
a new dataset different than the one which is used for item
calibration in tam (requested by Jan Boehnke)
x added examples for applying a sum constraint of item
parameters in 'tam.mml' (request by Kelvin Gregory)
x included argument 'adj' in tam.jml/tam.jml2 for modifying
the adjustment in case of perfect scores (thanks to Courtney Castle)
x included dataset 'data.timssAusTwn.scored'
x included summary for tam.jml
x use plausible values for calculation in item fit (in tam.mml.fit)
x included an example for creation of user-defined fit statistics
-------------------------------------------------------
Changes in Versions 0.9 (2013-10-13)
-------------------------------------------------------
x removed blanks in item category labels in tam.ctt2 and
tam.ctt3
x allowed non-integer group labels
x fixed a bug in data preparation for facet models
which appeared since a change in TAM 0.7
(thanks to Jonathan Williams)
-------------------------------------------------------
Changes in Versions 0.8 (2013-10-02)
-------------------------------------------------------
x changed rating scale parametrization for unequal
number categories per item
x included a warning in tam.ctt2 if memory allocation is
reached
x included deviance plot 'plotDevianceTAM'
(thanks to Sebastian Weirich)
x included tam.ctt3
-------------------------------------------------------
Changes in Versions 0.7 (2013-09-15)
-------------------------------------------------------
x include crossprod in some functions
x fixed a bug for using latent regression models in
facet model function 'tam.mml.mfr'
(thanks to Jonathan Williams)
x included another facet example (Example 14)
x fixed a bug in tam.mml.mfr if all facets possess
the same number of levels
x fixed a bug in multidimensional generalized partial
credit model estimation and speeded 2PL estimation a bit
x included bifactor model and exploratory factor analysis
-> function 'tam.fa' with arguments irtmodel='efa','bifactor'
x now printing progress in tam.ctt2 correctly
x fixed a bug in data processing in tam.mml.mfr for factor
or string input of facets
x included more examples in tam.fit, anova.tam.mml, tam.pv,
tam.jml, tam.se, tam.wle
x avoided inversion of singular matrices in multidimensional
WLE estimation tam.wle (thanks to Iasonas Lamprianou)
x removed bugs for item response datasets with only one item
in tam.mml and tam.mml.2pl
x fixed a bug in tam.ctt2: multiple groups were not displayed
x included an option for deleting redundant generalized items
which sometimes improves computation speed
x cleaned the TAM manual (thanks to Michaela Mayr)
x changed output structure of tam.fa and included rotation
examples in tam.fa.Rd
x included additional convergence stabilizing approach which
can be activated using the argument 'fac.oldxsi' in control
-> See Example 15 for such a non-converging model where
changing algorithmic defaults seems necessary
(problem addressed thanks to Sebastian Weirich)
x substituted internal 'theta.sq' function by Rcpp based
function 'theta.sq2'
x started with including examples similar to the ones in
the ConQuest 2.0 manual (see data.cqc.Rd)
-------------------------------------------------------
Changes in Versions 0.6 (2013-08-28)
-------------------------------------------------------
x fixed a bug when in latent regression when providing a formula
in argument 'formulaY'
x fixed a bug in output of tam.se (thanks to Sebastian Weirich)
x included a faster alternative to tam.ctt -> tam.ctt2 is based
on a Rcpp function
x allowed freeing beta constraints by the user by including
the possible argument beta.fixed=FALSE
x removed a bug in data processing for faceted designs
(thanks to Michaela Mayr)
x fixed a bug with varying string lengths of facet levels
x fixed a bug in tam.ctt2 for numeric input matrices
x fixed incorrect handling of constraints in regression coefficients
which was just included in a recent 0.6 version
x fixed an output bug in tam.wle in multidimensional models
(thanks to Jan Henning-Kahmann)
x accelerated estimation of multdimensional models (different
approach of calculating the prior distribution)
x fixed a bug when submitting xsi.inits and beta.inits to tam
x fixed a bug in facet models when a facet contains only one
element (twice thanks to Michaela Mayr)
x included irtmodel='PCM2' (partial credit model with ConQuest
parametrization) and irtmodel='RSM' (rating scale model)
x added a longitudinal data example in 'tam.mml' manual
-------------------------------------------------------
Changes in Versions 0.5 (2013-07-28)
-------------------------------------------------------
x included data.ex11 example dataset
x removed a bug in WLE calculation for multifaceted designs
x avoided warning in cov2cor for tam.mml.2pl function
(thanks to Linda Graefe)
x included argument increment.factor for obtaining
convergence behavior in bad suited data constellations
x changed default of np.adj in tam.pv to 8
x included two helper functions written in Rcpp in
plausible value imputation function tam.pv for
better performance
x included S3 plot method
x included data.numeracy and data.timssAusTwn datasets
-------------------------------------------------------
Changes in Versions 0.4 (2013-07-01)
[*** First CRAN Release ***]
-------------------------------------------------------
x included quasi-Monte Carlo integration as an alternative
to stochastic integration
x multifaceted model completely implemented
x print warning if there are items in resp with only zeroes
(thanks to Ronny Scherer)
x fixed a bug in tam.wle, tam.pv and tam.se
x fixed a bug in creating design matrices for faceted designs
x changed initial xsi values for indetermined parameters
(thanks to Sebastian Weirich)
x included function for calculating Thurstonian thresholds
x included Rcpp function in M step for calculating item parameters
x fixed a bug for partial credit models
x included parametrization of the dispersion model for ordered data
x included a function tam.ctt for calculating some statistics
based on classical test theory
x fixed a bug in tam.mml.2pl with irtmodel="GPCM" for models
with differering numbers of item categories
-------------------------------------------------------
Changes in Versions 0.3 (2013-03-23)
-------------------------------------------------------
x cleaned Rd manual files a bit
x included standard errors in tam.mml and tam.mml.2pl
x included summary.tam and summary.tam.mml
x included anova.tam for model comparisons
x fixed a bug in multiple group estimation during tam.mml and
summary application
x fixed a bug in WLE estimation in the multdimensional case
-------------------------------------------------------
Changes in Versions 0.2 (2013-02-20)
-------------------------------------------------------
x removed bugs in tam.pv for sampling plausible values
with the argument normal.approx=FALSE
(thanks to Sebastian Weirich)
x included seed for stochastic integration in the tam
control argument
x fixed a bug in stochastic integration
(thanks to Steffen Brandt)
x fixed a bug in the calculation of reliability and person
parameter estimates when applying stochastic integration
(thanks to Steffen Brandt and Caroline Just)
x use estimated parameters with minimal deviance in the output
(thanks to Ulrich Schroeders and Steffen Brandt)
-------------------------------------------------------
Changes in Version 0.1-03 (2012-11-21)
-------------------------------------------------------
x 2PL calibration outsourced
x designMatrices and tam.mml.mfr method for multifacet rasch model
calibration included. Both highly experimental.
x Examples for the calibration included, see help file of sim.mfr