Research Projects · Data systems, machine learning & modeling
Modeling craving in recovery. Substance use craving is a fast-moving, non-stationary process that can arise and dissipate suddenly, which makes it a hard modeling problem. Half of my research applies new methods to it. The other half is pure methods work through simulation studies and package development.
01 / Data systems & standards
Making complex data describable, checkable, and shareable.
Data-description standard: human- and machine-readable
A standard for describing complex data and study designs, in two forms: a human-facing version researchers read, and a machine-readable JSON specification that software can run on. WearITReadR and its AI study generator are built on the JSON spec. I also mentor undergraduate research assistants who collect the scale metadata it documents.
JSON Schema · metadata standards · documentation

WearITReadR’s AI study generator

Qualtrics survey builder
AI study generator: feasibility trial against Qualtrics
One of WearITReadR’s functions is an AI study generator that builds a study from the JSON spec. I ran a feasibility, acceptability and usability trial comparing it with Qualtrics, the familiar way researchers build studies.
Feasibility · acceptability · usability · LLM · Shiny
Collect across sites
- QualtricsOnline surveys
- REDCapStudy records and assessments
- WearITSmartphone EMA
- Multiple study sitesDifferent apps, formats and schedules
Clean and check
- AggregateAlign and merge data across apps and sites
- Outlier detectionAutoencoder flags unusual records
- Quality checks and cleaningRules-based checks, then fixes
Report
- Data-quality reportsWhat was flagged and what changed
- Codebooks and data descriptionsDocumented, reusable datasets
Data pipelines for a multi-site clinical trial
Data-description and quality-checking pipelines for three public-health studies, including a multi-site clinical trial that aggregates data across collection apps, with autoencoder-based outlier detection. I also cleaned the data and wrote the codebook for one study.
Data pipelines · quality checks · autoencoders
02 / Machine learning & AI
Turning messy, real-world data into usable signals.


NLP & generative AI for craving-state prediction
Using natural language processing and generative AI to predict craving states from free-response text. The plots show the 50 words most associated with higher craving (left) and lower craving (right).
NLP · generative AI
Computer vision for egocentric video
An AI data-processing pipeline for video from smart glasses: YOLO-based de-identification of participants, and a craving-trigger detector that pairs YOLO person and object detection with a vision-language model for scene context.
YOLO · vision-language models · computer vision
![[Alt text: describe the personas and the review evidence behind them]](https://framerusercontent.com/images/ikXbGjvIZypzL2G3xuwtaiKfPY.png?width=588&height=456)
Machine learning for flight delay prediction
Built and compared machine-learning pipelines for predicting the proportion of flights delayed: full and Boruta-selected multilevel models, k-nearest neighbors (k = 17), and gradient boosting with and without weather data.
Multilevel models · KNN · gradient boosting · Boruta
![[Alt text: describe the personas and the review evidence behind them]](https://framerusercontent.com/images/y7phySUT1hQQ06k20LrCokcKQEI.png?width=3400&height=1400)
Boruta feature selection for multilevel data
Modified the Boruta random-forest algorithm to identify features and interactions in multilevel data, then ran HPC simulations evaluating its feature classification across conditions.
Random forests · Monte Carlo Simulation · HPC / SLURM
03 / Statistical modeling
Modeling how people and processes change over time.
The same construct behaves differently depending on the time scale it is measured at.
Craving across time scales
Multilevel dynamical systems models for a fast-moving, non-stationary, oscillating process that can arise and fade suddenly. Measured daily, craving predicted substance use; measured weekly, it did not.
Multilevel Modeling
Recruitment effects: in person vs. online
Compared participants recruited in person with those recruited online, across two studies, to test how recruitment channel biased the data. Used multigroup SEM with nested model comparisons, plus multilevel vector-autoregressive network models.
OpenMx · RJAGS · dynr · Dynamical systems
| Predictor | b | t | p |
|---|---|---|---|
| Craving, person level | −0.63 | −6.88 | < .001 |
| Craving, daily | −0.16 | −2.52 | .012 |
| Negative affect, person level | −0.04 | −0.84 | .401 |
| Negative affect, daily | −0.28 | −8.30 | < .001 |
| Time in recovery | 1.37 | 3.17 | .002 |
| Daily negative affect × time in recovery | 0.05 | 2.26 | .024 |
| Daily craving × time in recovery | −0.01 | −0.35 | .729 |
N = 206 participants, 1,769 days. Outcome: daily recovery commitment (0–100). Filled dots mark effects significant at p < .05. Also adjusted for age, sex, race, household income, education, and study day.
Craving, negative affect, and daily recovery commitment
206 people in recovery completed 10 days of smartphone diaries (1,769 days in total). Higher craving, both day to day and on average, and higher daily negative affect went with lower commitment to recovery that day, and the negative-affect link was weaker for people who had been in recovery longer. Because 42% of commitment ratings sat at the scale maximum, I used multilevel Tobit models to handle the ceiling effect.
Multilevel Tobit models · censReg · R · Wear-IT




















![[Alt text: describe the gameplay and controller interaction shown in the GIF]](https://framerusercontent.com/images/2if2Ex5wNkDVQhtxVFznTGyqlQ4.png?width=2188&height=1142)