As of October 2023:
- A new argument
bound
has been added toest_g_cens()
to specify the lower tolerated limit of the censoring mechanism estimates. This is used to allow for stable inverse probability of censoring weights to be applied. This bound has been given a default value of 0.02. - The default value of
bound
inbound_propensity()
has been changed from 0.005 to 0.01, as has the default value ofgps_bound
intxshift()
.
As of May 2023:
- A new argument
bound
has been added tobound_propensity()
to specify the lower tolerated limit of generalized propensity score estimates. Estimates are bounded to the higher of the specified or default value ofbound
and the inverse of the sample size, 1/n. - A new argument
gps_bound
has also been introduced to bothtxshift()
andest_Hn()
in order to accommodate passing in truncation bounds for the estimated generalized propensity score.
As of October 2021:
- Minor updates to ensure compatibility with v0.4.1 of
hal9001
and v0.2.1 ofhaldensify
, both recently updated on CRAN. - Removal of the
LazyData
field from theDESCRIPTION
, since nodata
directory is included with the package. - Minor tweaks to existing unit tests to remove
rlang
from theSuggests
field of theDESCRIPTION
. - Vignettes for the standard and IPCW-augmented estimation procedures have been combined to reduce redundancy and reduce build time per CRAN requests.
As of May 2021:
- The use of
hal9001::fit_hal()
internally for evaluation of a conditional mean of the full-data EIF has been revised for compatibility with v0.4.0+ of thehal9001
package. - Defaults passed in through the argument
g_exp_fit_args
, and to the functionest_g_exp()
, have been updated for compatibility with v0.1.5+ of thehaldensify
package.
As of April 2021:
- The
print()
methods have been updated to remove the use ofcli
functions, which, for simplicity, has been replaced by the use ofmessage()
. - Addition of a hidden slot
.eif_mat
to thetxshift_msm
class, supporting export of the matrix of EIF estimates for each shift indelta_grid
.
As of February 2021:
- Remove cross-linking to
sl3
functions as per request from CRAN. This can be reversed oncesl3
is available on CRAN.
As of January 2021:
- Simulation experiments testing the performance of the procedures in the presence of loss to follow-up censoring indicate that the TML estimator outperforms the one-step for the EIF-based two-phase sampling correction. Generally, we recommend use of the TML estimator (the default) across all settings, though performance of the one-step estimator is much worse.
As of December 2020:
- A
delta
slot has been added to thetxshift
class to record the shift. - Hidden slots have been similarly added to the
txshift_msm
class. - The
summary
method has been removed, with the functionality now supported by theprint
methods for thetxshift
andtxshift_msm
classes. - The
plot
method has been amended to support simultaneous confidence bands.
As of October 2020:
- Changes all references to the argument
C
toC_samp
for the indicator of inclusion in the second-stage sample. - Adds the new argument
C_cens
to denote censoring due to loss to follow-up, i.e., prior to the occurrence of the outcome. - Adds a nuisance regression for censoring
C_cens
and adjusts the estimation procedure so as to use inverse censoring weights in the full-data EIF procedure (NOTE: these are not updated in the two-phase sampling correction). - Renaming of arguments to internal functions and functions themselves:
- From
est_g
toest_g_exp
for the exposure mechanism density estimation - From
est_ipcw
toest_samp
for the two-phase sampling mechanism - Add
est_g_cens
for the loss to follow-up censoring mechanism
- From
As of September 2020:
- Moved
sl3
dependency to anEnhances
designation for CRAN submission. - As above, removed
sl3
fromRemotes
and added installation safety checks.
As of June 2020:
- Add single-knot spline to MSM summarization (
msm_vimshift
). - Add class and
plot
method for MSM summarization (msm_vimshift
). - Fix bug in
msm_vimshift
for computing CIs for binary outcomes by switching from manually computing CIs to internally using customconfint
method. - Fix bug in
msm_vimshift
for buildinglm
model objects through weighted regression; move models fromplot
method tomsm_vimshift
. - Finish drafting brief paper for Journal of Open Source Software.
As of April 2020:
- Change export status of internal functions (e.g., no longer exporting
onestep_txshift
andtmle_txshift
). - Finish adding Roxygen "details" and "return" slots throughout functions.
- Add examples to main estimation functions (
txshift
,vimshift_msm
). - Update argument names and add several
assert_that
checks. - Change
fit_spec
terminology tofit_ext
for external fits. - Add unit tests for MSM functionality and nuisance parameter estimation.
As of March 2020:
- Extensive documentation, including fixing estimation terminology (e.g., one-step instead of AIPW) and adding Roxygen "details" and "return" slots.
- Begin adding examples to exported functions.
As of March 2020:
- Corrections to dependencies in preparation for eventual CRAN release.
- Change several previously exported functions to internal, including
eif
,est_Hn
,est_Q
,est_g
,est_ipcw
,fit_fluctuation
,ipcw_eif_update
). - Remove/reduce GitHub-only dependencies (now only
sl3
). - Change title partially (from "Targeted Learning" to "Efficient Estimation").
- Lock dependency versions (e.g.,
sl3
>= v1.3.7) - Extensive documentation updates.
As of December 2019:
- Changes arguments of
hal9001::fit_hal
in pseudo-outcome regression for efficient estimation by explicitly includingmax_degree = NULL
. - Change to TMLE convergence criterion: use a less strict criterion such that | Pn D | \leq sigma / (sqrt(n) \cdot max(10, log(n))) instead of \leq 1/n. Empirical studies suggest this curbs issues addressed by over-agressive updates from the targeting step.
- Remove pinning of
sl3
dependency to a specific tag (formerly v1.2.0). - Lock dependency version:
sl3
>= v1.3.6 andhal9001
>= v0.2.5.
As of October 2019:
- Change use of
as.data.table
todata.table
in internal functions to catch up with changes in dependencies.
As of September 2019:
- Remove errant intercept term and lower iterations for fluctuation models.
- Change weighting scheme in marginal structural model summarization to weight all estimates identically rather than by inverse variance as a default.
- Updates to documentation.
As of September 2019:
- Add safety checks for convergence of fluctuation regressions based on those
appearing in
drtmle
and/orsurvtmle
. - Change default confidence interval type to use marginal CIs across multiple parameters instead of a simultaneous confidence band.
- Switch internal parametric regressions to use
sl3::Lrnr_glm
instead ofsl3::Lrnr_glm_fast
.
As of July 2019:
- Improve argument names for clarity and update documentation.
- Addition of tighter unit tests for both one-step and TML estimators.
As of June 2019:
- Pin
sl3
dependency to version 1.2.0 of that package for stability.
As of June 2019:
- Changes to arguments of
hal9001::fit_hal
for pseudo-outcome EIF regression. - Addition of clarifying notes to core internal functions.
- Removal of outdated (and commented out) code in core internal functions.
- Clarifying alterations to internal function and argument names.
- Renaming internal function
tx_shift
toshift_additive
.
As of June 2019:
- Remove inverse weights from estimated efficient influence function necessary for pseudo-outcome regression for efficient IPCW-augmented estimators.
- Reduce use of redundant variables across core functions, reorganize functions across files, clarify documentation.
- Tweak arguments for fitting pseudo-outcome regression with HAL in order to diagnose performance issues revealed by simulation.
- Fix how inverse weights are passed to full-data estimators.
- Pare down arguments for the one-step estimation routine.
As of June 2019:
- Introduce
bound_propensity
function to bound the propensity score away from zero by a factor 1/n, rather than to numerical precision.
As of April 2019:
- Minor improvements to documentation and vignettes.
- Fix a bug in the output of the IPCW one-step estimator.
- Pare down packages listed in imports, moving several to suggests.
- Introduce option to compute simultaneous confidence band for working MSMs.
- Fix a bug introduced by newly added imputation functionality in
sl3
.
As of March 2019:
- Introduce functionality for computing one-step estimators to complement the the available TMLEs.
- Add initial functionality for summarizing estimated effects across a grid of shifts via working marginal structural models (MSMs).
As of February 2019:
- Added helper functions and caught edge cases in auxiliary covariate for TMLE fluctuation models.
- Fixed a bug in how the auxiliary covariate for TMLEs is computed by keeping track of an extra shift g(a+2*delta|w).
- Revised inference machinery to create confidence intervals on the logit scale in the case of binary outcomes.
As of May 2018:
- An initial public release of this package, version 0.2.0.
- This version including complete functionality for both standard TML and IPCW-TML estimators.