Skip to content

Citing beamfeat

If you use beamfeat in published work, please cite:

  1. The paper, which describes the method. Always cite it.
  2. The software release, when your results depend on a particular version.
  3. The statistical methods behind the options you used, which beamfeat implements but did not invent.

The paper

Daramola, O. M. (2026). Symbolic feature construction with false discovery rate control. Transactions on Machine Learning Research. https://openreview.net/forum?id=UibXoy4h3u

@article{daramola2026symbolic,
  title   = {Symbolic feature construction with false discovery rate control},
  author  = {Daramola, Olanrewaju M.},
  journal = {Transactions on Machine Learning Research},
  issn    = {2835-8856},
  year    = {2026},
  url     = {https://openreview.net/forum?id=UibXoy4h3u}
}

The paper describes version 0.4.2. Later releases correct two of its results: a harness bug understated featuretools, and fixing a search bug lowers the number of datasets where beamfeat leads both tree ensembles from five to four. Reading the paper today has the details.

The software release

Each release is archived on Zenodo with its own DOI:

what to cite DOI
beamfeat in general (resolves to the latest release) 10.5281/zenodo.21619567
0.4.2, the version the paper describes, with the run records behind its results 10.5281/zenodo.23417132

To cite the release you used, open the first DOI, choose that version from the list of versions on the Zenodo page, and use its DOI. The page also gives the citation in several formats.

@software{daramola_beamfeat,
  author    = {Daramola, Olanrewaju M.},
  title     = {beamfeat: beam-search feature construction with FDR-controlled selection},
  publisher = {Zenodo},
  doi       = {10.5281/zenodo.21619567},
  url       = {https://doi.org/10.5281/zenodo.21619567}
}

For one release, add version = {...} and replace the DOI with that release's. CITATION.cff in the repository has the same details in machine-readable form, and GitHub's "Cite this repository" button reads it.

The statistical methods

beamfeat's guarantee rests on established procedures. If your work relies on one of them, please cite its source as well:

if you use beamfeat relies on please also cite
any fit with the default selector permutation p-values with the add-one estimator, and the Benjamini–Yekutieli correction Phipson & Smyth (2010); Benjamini & Yekutieli (2001)
selection_correction="bh" the Benjamini–Hochberg correction, in place of Benjamini–Yekutieli Benjamini & Hochberg (1995)
selector="knockoff" or KnockoffSelector fixed-X knockoffs with knockoff+ when there are more than twice as many rows as columns, model-X Gaussian knockoffs otherwise Barber & Candès (2015); Candès et al. (2018)
KnockoffSelector(s_method="ci") the conditional-independence knockoff Liu & Rigollet (2019)
parsimony_alpha the multiplier bootstrap for the best fit noise can reach Fan & Zhou (2016)
input_test=True sequential Monte Carlo p-values Besag & Clifford (1991)
parsimony_holdout with certify_test="conditional" the Freedman–Lane permutation test Freedman & Lane (1983); Anderson & Robinson (2001); Winkler et al. (2014)
screen_equation permutation p-values with the add-one estimator and the Benjamini–Yekutieli correction, or Benjamini–Hochberg; with input_test=True, sequential Monte Carlo p-values Phipson & Smyth (2010); Benjamini & Yekutieli (2001) or Benjamini & Hochberg (1995); Besag & Clifford (1991)

Statistical guarantees explains what each procedure guarantees in beamfeat, and under which assumptions.

References

BibTeX for the paper and these references
@article{daramola2026symbolic,
  title   = {Symbolic feature construction with false discovery rate control},
  author  = {Daramola, Olanrewaju M.},
  journal = {Transactions on Machine Learning Research},
  issn    = {2835-8856},
  year    = {2026},
  url     = {https://openreview.net/forum?id=UibXoy4h3u}
}
@article{anderson2001permutation,
  title   = {Permutation tests for linear models},
  author  = {Anderson, Marti J. and Robinson, John},
  journal = {Australian \& New Zealand Journal of Statistics},
  volume  = {43}, number = {1}, pages = {75--88}, year = {2001},
  doi     = {10.1111/1467-842X.00156}
}
@article{barber2015controlling,
  title   = {Controlling the false discovery rate via knockoffs},
  author  = {Barber, Rina Foygel and Cand{\`e}s, Emmanuel J.},
  journal = {The Annals of Statistics},
  volume  = {43}, number = {5}, pages = {2055--2085}, year = {2015},
  doi     = {10.1214/15-AOS1337}
}
@article{benjamini1995controlling,
  title   = {Controlling the false discovery rate: a practical and powerful approach to multiple testing},
  author  = {Benjamini, Yoav and Hochberg, Yosef},
  journal = {Journal of the Royal Statistical Society: Series B (Methodological)},
  volume  = {57}, number = {1}, pages = {289--300}, year = {1995},
  doi     = {10.1111/j.2517-6161.1995.tb02031.x}
}
@article{benjamini2001control,
  title   = {The control of the false discovery rate in multiple testing under dependency},
  author  = {Benjamini, Yoav and Yekutieli, Daniel},
  journal = {The Annals of Statistics},
  volume  = {29}, number = {4}, pages = {1165--1188}, year = {2001},
  doi     = {10.1214/aos/1013699998}
}
@article{besag1991sequential,
  title   = {Sequential {Monte Carlo} p-values},
  author  = {Besag, Julian and Clifford, Peter},
  journal = {Biometrika},
  volume  = {78}, number = {2}, pages = {301--304}, year = {1991},
  doi     = {10.1093/biomet/78.2.301}
}
@article{candes2018panning,
  title   = {Panning for gold: `model-{X}' knockoffs for high dimensional controlled variable selection},
  author  = {Cand{\`e}s, Emmanuel and Fan, Yingying and Janson, Lucas and Lv, Jinchi},
  journal = {Journal of the Royal Statistical Society: Series B (Statistical Methodology)},
  volume  = {80}, number = {3}, pages = {551--577}, year = {2018},
  doi     = {10.1111/rssb.12265}
}
@article{fan2016guarding,
  title   = {Guarding against spurious discoveries in high dimensions},
  author  = {Fan, Jianqing and Zhou, Wen-Xin},
  journal = {Journal of Machine Learning Research},
  volume  = {17}, number = {203}, pages = {1--34}, year = {2016},
  url     = {https://jmlr.org/papers/v17/16-068.html}
}
@article{freedman1983nonstochastic,
  title   = {A nonstochastic interpretation of reported significance levels},
  author  = {Freedman, David and Lane, David},
  journal = {Journal of Business \& Economic Statistics},
  volume  = {1}, number = {4}, pages = {292--298}, year = {1983},
  doi     = {10.1080/07350015.1983.10509354}
}
@inproceedings{liu2019power,
  title     = {Power analysis of knockoff filters for correlated designs},
  author    = {Liu, Jingbo and Rigollet, Philippe},
  booktitle = {Advances in Neural Information Processing Systems},
  publisher = {Curran Associates, Inc.},
  volume    = {32}, year = {2019},
  url       = {https://proceedings.neurips.cc/paper_files/paper/2019/hash/09ab23b6b607496f095feed7aaa1259b-Abstract.html}
}
@article{phipson2010permutation,
  title   = {Permutation p-values should never be zero: calculating exact p-values when permutations are randomly drawn},
  author  = {Phipson, Belinda and Smyth, Gordon K.},
  journal = {Statistical Applications in Genetics and Molecular Biology},
  volume  = {9}, number = {1}, year = {2010},
  note    = {Article 39},
  doi     = {10.2202/1544-6115.1585}
}
@article{winkler2014permutation,
  title   = {Permutation inference for the general linear model},
  author  = {Winkler, Anderson M. and Ridgway, Gerard R. and Webster, Matthew A. and Smith, Stephen M. and Nichols, Thomas E.},
  journal = {NeuroImage},
  volume  = {92}, pages = {381--397}, year = {2014},
  doi     = {10.1016/j.neuroimage.2014.01.060}
}