latent-auto-bandits

Code for "Non-Stationary Latent Autoregressive Bandits" paper

https://github.com/annatrella/latent-auto-bandits

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (6.8%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

Code for "Non-Stationary Latent Autoregressive Bandits" paper

Basic Info
  • Host: GitHub
  • Owner: annatrella
  • License: gpl-3.0
  • Language: Jupyter Notebook
  • Default Branch: main
  • Size: 85.6 MB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 3
Created over 2 years ago · Last pushed about 1 year ago
Metadata Files
Readme License Citation

README.md

Non-Stationary Latent AR Bandits

Code for "Non-Stationary Latent Autoregressive Bandits" paper.

Set experiment parameters such as max_seed or num_time_steps in the global_params.py file.

ucb_agents.py contains the code for all agents. It contains the parent class which implements standard UCB / OFUL for stochastic linear bandits as well as child classes such as standard UCB for multi-armed bandits and our algorithm presented in the paper.

simulations.py contains the skeleton code for running an experiment with an agent and an environment variant. There is also code for calculating the ground-truth optimal actions and mean rewards for each action.

To recreate the results in the main experiments section of our paper, run python3 run_simulations.py. We vary the true AR order k and the noise of the latent process. This script will save all results in the experiment_results folder.

To recreate the ablation results in section considering different mis-specified values of AR order k, run run_sims_wrong_k.py. This script will save all results in the experiment_results folder.

To generate the figures in our paper, run python3 stats_and_figs/make_plots.py and python3 stats_and_figs/make_plots_wrong_k.py. These scripts generate figures using results saved in experiment_results with correct k and mis-specified k, respectively.

Owner

  • Name: Anna L. Trella
  • Login: annatrella
  • Kind: user
  • Company: Harvard University

Harvard Computer Science | UC Berkeley Mathematics | Former Technical Lead, Software Development Engineer II, Applied Scientist II Intern @ Amazon

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Trella"
  given-names: "Anna L."
- family-names: "Dempsey"
  given-names: "Walter"
- family-names: "Doshi-Velez"
  given-names: "Finale"
- family-names: "Murphy"
  given-names: "Susan A. Murphy"
title: "Non-Stationary Latent Auto-Regressive Bandits"
version: 1.0.0
doi: 10.48550/arXiv.2402.03110
date-released: 2024-02-01
url: "https://github.com/annatrella/latent-auto-bandits"
preferred-citation:
  type: generic
  authors:
  - family-names: "Trella"
    given-names: "Anna L."
  - family-names: "Dempsey"
    given-names: "Walter"
  - family-names: "Doshi-Velez"
    given-names: "Finale"
  - family-names: "Murphy"
    given-names: "Susan A. Murphy"
  doi: "10.48550/arXiv.2402.03110"
  title: "Non-Stationary Latent Auto-Regressive Bandits"
  year: 2024
  month: 2
  journal: "arXiv"
  url: "https://arxiv.org/abs/2402.03110"
  publisher:
    name: "arXiv"

GitHub Events

Total
  • Release event: 1
  • Watch event: 1
  • Push event: 12
  • Create event: 1
Last Year
  • Release event: 1
  • Watch event: 1
  • Push event: 12
  • Create event: 1

Dependencies

requirements.txt pypi
  • Flask ==3.0.0
  • Flask-Mail ==0.9.1
  • Jinja2 ==3.1.2
  • MarkupSafe ==2.1.3
  • Pillow ==9.5.0
  • Werkzeug ==3.0.1
  • blinker ==1.7.0
  • certifi ==2023.11.17
  • cffi ==1.16.0
  • charset-normalizer ==3.3.2
  • click ==8.1.7
  • contourpy ==1.1.0
  • cvxpy ==1.3.1
  • cycler ==0.11.0
  • ecos ==2.0.12
  • fonttools ==4.40.0
  • idna ==3.6
  • itsdangerous ==2.1.2
  • joblib ==1.3.2
  • kiwisolver ==1.4.4
  • matplotlib ==3.7.1
  • mysql ==0.0.3
  • mysql-connector-python ==8.2.0
  • mysqlclient ==2.2.0
  • numpy ==1.24.3
  • osqp ==0.6.3
  • overpy ==0.6
  • packaging ==23.1
  • pandas ==2.0.2
  • patsy ==0.5.6
  • protobuf ==4.21.12
  • pycparser ==2.21
  • pyparsing ==3.0.9
  • python-dateutil ==2.8.2
  • pytz ==2023.3
  • qdldl ==0.1.7
  • requests ==2.31.0
  • rpy2 ==3.5.15
  • scikit-learn ==1.4.0
  • scipy ==1.10.1
  • scs ==3.2.3
  • seaborn ==0.12.2
  • six ==1.16.0
  • statsmodels ==0.14.1
  • threadpoolctl ==3.2.0
  • tzdata ==2023.3
  • tzlocal ==5.2
  • urllib3 ==2.1.0