Projects

Research Wikis

Over the course of a research career, it is easy to accumulate thousands of published papers organized loosely into folders by topic, methodology, or source — a system that works for storage but fails for retrieval. What if you could query that collection to get precise answers to specific questions, trace connections across literatures, or identify gaps that point toward future research? That is the problem these wikis are designed to solve. The researcher acts as curator: deciding which papers to ingest and which conceptual threads to develop relative to the existing knowledge structure. Everything is written and maintained by the LLM, but the researcher retains full authority — correcting errors, steering the wiki toward their own research interests, and shaping the schema that governs how knowledge is organized.

The two wikis below are personal knowledge bases built using the LLM Wiki pattern — a design introduced by Andrej Karpathy in which a large language model (LLM) agent maintains a persistent, interlinked set of markdown files as the primary layer of a knowledge base. Rather than retrieving from raw documents at query time, as in Retrieval-Augmented Generation (RAG), the LLM pre-compiles source material into structured, cross-referenced concept pages. Knowledge accumulates and compounds across sessions instead of being re-derived from scratch each time.

The contrast with RAG is architectural. RAG indexes raw text chunks into a vector database and retrieves the most semantically similar passages at query time — fast to set up and effective for lookup tasks, but stateless. Each query starts from zero: no understanding carries over between sessions, and the expensive work of cross-document synthesis is repeated on every question. The LLM Wiki inverts this: ingestion is the expensive step, and it is done once per source. Each new paper is not just summarized — it is cross-linked into the existing structure, updating related concept and entity pages with new connections. A paper on manufacturing decline, for example, propagates into existing pages on mortality, marriage markets, intergenerational mobility, and labor supply — not just into its own summary page. This is where compounding happens.

Karpathy's framing captures the roles concisely: "Obsidian is the IDE, the LLM is the programmer, the wiki is the codebase." The user curates inputs and reviews outputs. All structural maintenance — cross-referencing, tagging, backlink management, logging — is delegated to the LLM, governed by a schema file (CLAUDE.md) that defines page formats, naming conventions, and ingestion and query protocols. The architecture is locally owned and fully human-readable: every page can be opened, verified, and corrected, with no proprietary lock-in or black-box retrieval pipeline.

Below are two wikis I plan to continually develop.

Demographic, Disability, Retirement, and Labor Economics Wiki

This wiki tracks two portions of my career at SSA. The first was developing stochastic methods for forecasting vital rates — mortality, fertility, immigration, and population — as well as macroeconomic variables that go into analyzing SSA's long-run financial status. The second was retirement and disability research.

Browse wiki →

Bayesian & Econometrics Wiki

This wiki draws on my dissertation work and ongoing interests in Bayesian statistical methods and macro/time series econometrics.

Browse wiki →

Software & Code

Three bodies of work, in Python and R. The first and largest is Bayesian statistical and econometric modelling: traditional MCMC — Gibbs and Metropolis–Hastings samplers built from scratch — alongside gradient-based Hamiltonian Monte Carlo via NUTS (PyMC / Stan), across regression, limited dependent variables, time series, spatial models and Bayesian nonparametrics. Many examples replicate the results of seminal papers.

The second is a machine-learning arc, which is package-led — trees and ensembles, regularisation, neural networks, model evaluation — but keeps one genuine from-scratch core per topic so the mechanics are never a black box, and ends in operations research, where a forecast is graded by the decision it supports rather than by its error metric. The third is a causal-inference arc, where the question is not how well a model predicts but whether an effect is identified at all.

One theme runs through all three: the contrast between from-scratch implementations, which expose the machinery, and the off-the-shelf packages that reproduce the same answers — typically cross-checked across two or three engines. A second theme is that negative results are reported as findings rather than buried, because a method that fails on real data has told you something.

Statistical Distributions

A from-scratch catalog — PMF/PDF, CDF, quantile, RNG and moments built from elementary math and cross-validated against reference libraries in Python and R.

8 examples

Linear & Regression Models

Constrained, robust, mixture-error, multivariate, SUR, and hierarchical Gaussian regression.

8 examples

Limited Dependent Variables

Binary probit & logit (robust, hierarchical, panel, flexible-link), ordered & sequential probit, multivariate & multinomial probit, hierarchical & mixture multinomial logit, and Tobit.

13 examples

Count Models

Poisson & Negative Binomial, hierarchical GLMMs, zero-inflation, and spatial counts.

5 examples

Survival Models

Weibull PH, frailty, Cox-via-Poisson, and interval-censored survival.

4 examples

Univariate Time Series

SARIMA, change-point & Markov-switching AR, GARCH, asymmetric GJR & Value-at-Risk, GARCH-in-mean, stochastic & realized volatility, regimes vs long memory, and option pricing.

10 examples

Multivariate Time Series

Multivariate GARCH covariance dynamics; a multi-part Bayesian VAR arc — reduced-form & structural, large-scale, factor-augmented, cointegration (VECM), stochastic-volatility, time-varying & regime-switching, hierarchical, heteroskedasticity-identified, and global-local (horseshoe) shrinkage, with monetary, oil & fiscal applications; and demographic forecasting.

15 examples

Risk and Asset Allocation

Portfolio construction from the ground up — market invariants and horizon projection, shrinkage and Bayesian estimation, Black–Litterman views, robust allocation, coherent risk measures with extreme-value tails, and copulas for the joint crashes a correlation cannot express.

8 examples

Variable Selection

Bayesian model selection — spike-and-slab / stochastic search (SSVS), exact g-prior enumeration with model averaging, VAR restriction search, selection across outcome types (log-linear, logistic, survival), unknown-dimension inference (reversible-jump change-points, Dirichlet-process mixtures, free-knot splines), and genomics-scale horseshoe shrinkage.

10 examples

Item Response Theory

Psychometrics from scratch — dichotomous 2PL/3PL with Rasch as the special case, graded response for Likert items, multidimensional IRT as item factor analysis, differential item functioning and explanatory IRT, and model comparison by WAIC/LOO.

5 examples

Bayesian Nonparametrics

Priors on infinite-dimensional objects — Dirichlet-process and Pitman–Yor mixtures for clusters, hierarchical DPs for grouped data, Gaussian processes for functions and their links to classification and Cox processes, penalised splines for curves, Gamma-process hazards, and Pólya trees for whole distributions.

7 examples

Missing Data

Imputation from scratch — MCAR/MAR/MNAR and multivariate-normal data augmentation, chained equations with Rubin's rules, missing covariates, the two MNAR factorisations (selection and pattern-mixture with δ-sensitivity), and categorical nonresponse.

6 examples

Latent Class Analysis

The discrete-data mixture model — EM, data-augmentation Gibbs and class-marginalised NUTS, with label switching, class-count selection, covariates, conditional dependence, diagnostic testing without a gold standard, and classes that move over time.

7 examples

Spatial Statistics

Spatial dependence from scratch — areal data on a neighbour graph with Moran's I and the CAR/BYM family, shared-component CAR for joint outcomes, SAR/SEM spillovers, geostatistical kriging as Gaussian-process regression, point processes, space-time CAR, and a national-scale application to the US disability belt.

7 examples

Machine Learning: Generative vs Discriminative

The foundations that open the arc — Naive Bayes and LDA modelling how the data were produced, logistic regression modelling only the answer, and the support vector machine modelling only the boundary. The convergence trade-off and the calibration ladder, both measured rather than asserted.

2 examples

Machine Learning: Trees and Ensembles

Tree methods from the split search up — CART with cost-complexity pruning, random forests where bagging meets the random subspace, gradient boosting, the production libraries (XGBoost, LightGBM, CatBoost), and BART, where the ensemble becomes a Bayesian model with a posterior.

5 examples

Machine Learning: Regularized & Kernel Learning

Penalties, kernels, and the Bayesian objects behind them — ridge, lasso and elastic net by coordinate descent; support vector machines and the kernel trick; Gaussian processes and splines as the Bayesian face of the same machinery; and two finance applications where p is genuinely large.

5 examples

Machine Learning: Neural Networks & Deep Learning

The core idea built by hand and then scaled — backpropagation derived and proved correct, convolutional networks for spatial structure, recurrent networks and LSTMs for temporal structure, transformers and attention, and Bayesian deep learning where the network reports its own uncertainty.

5 examples

Machine Learning: Time-Series — ML vs Econometrics

Do machine-learning forecasters actually beat classical time-series models? Tested head to head over multiple forecast origins — one clean seasonal series, a macro system, a panel of many series, and financial returns where the signal nearly vanishes.

4 examples

Machine Learning: Unsupervised Learning

Structure found without labels, where there is no held-out truth to be wrong against — k-means and Gaussian mixtures for market regimes, PCA and factor analysis on the cross-section of returns, autoencoders as a nonlinear generalisation of PCA, and t-SNE and UMAP for embedding.

4 examples

Machine Learning: Model Evaluation & Interpretability

The cross-cutting diagnostics — choosing complexity with cross-validation, information criteria and Bayesian LOO; attributing predictions with impurity, permutation and SHAP; checking whether predicted probabilities mean what they claim; and conformal prediction intervals that carry a guarantee.

4 examples

Machine Learning: Financial ML (López de Prado)

The methodology from Advances in Financial Machine Learning — purged and embargoed cross-validation for overlapping labels, fractional differentiation that preserves memory, triple-barrier labelling and meta-labelling, and the deflated Sharpe ratio and probability of backtest overfitting.

4 examples

Machine Learning: Arc Capstone

The whole toolkit on one problem — forecasting S&P realized volatility with the full model roster, engineered features including a fractionally-differenced price, four validation schemes, conformal and Bayesian intervals checked for coverage, and SHAP attribution.

1 example

Machine Learning: Operations Research

Forecasting judged by the decision it supports rather than by its error metric — a demand distribution feeding a newsvendor, two-stage stochastic programs for staffing and the power grid, queueing and survival models sizing capacity, and combinatorial routing and cost-sensitive fraud decisions where the objective, not the model, turns out to be the thing worth getting right.

7 examples

Causal Inference: The Arc

The fundamental problem — the counterfactual is missing by construction, so a causal effect is never observed, only estimated under assumptions. Why randomization comes first rather than last, the four books that supply the spine, and the ten-subsection order in which identification gets progressively harder to defend.

Overview

Causal Inference: Randomized Experiments

Identification by design — the one setting where a causal effect is recovered with almost no assumptions, because the researcher rather than nature decides who is treated. The Rubin causal model and Fisher’s exact randomization inference, covariate adjustment for precision, noncompliance and clustering, and the online A/B-testing machinery that inherits all of it.

9 examples

Causal Inference: Bayesian Analysis of Randomized Experiments

The same real experiments, re-analysed for what the frequentist version structurally cannot produce — a prior-sensitivity curve, a posterior on between-group variation, an effect for every one of seventy-nine schools, and compliance types as latent classes. Ordered by how much the prior can actually move the answer, from fifteen matched pairs to three hundred thousand voters.

5 examples

Causal Inference: Selection on Observables

Identification by assumption rather than by design. Unconfoundedness replaces randomization and cannot be tested, so the group is organised around the diagnostics that stand in for it — propensity scores, matching, weighting and doubly-robust estimation — and around how far each can actually be trusted.

3 examples

Causal Inference: Bayesian Selection on Observables

A second pass over the observational group, aimed at the one thing its diagnostics cannot reach. The priors here stand in for quantities the data cannot identify at all — the unmeasured confounder, and the response surface where treated and control units do not overlap.

3 examples

Causal Inference: Natural & Quasi-Experiments

Identification borrowed from the world — an instrument, a threshold, a policy date, a comparison region. Each is a place where something outside the study assigned treatment in a way that is arguably as good as random, and each is paired with the diagnostic literature that grew up to police it.

10 examples

Causal Inference: Causal Structure

Identification read off a graph rather than argued in prose. The back-door criterion turns out to be unconfoundedness drawn as a picture; the collider rule shows that adjusting for the wrong variable creates bias rather than removing it; and causal discovery marks how much of the graph data alone can supply — on the field’s own benchmark, under half of it. Then both methods again on national health-survey data, where the reader is the ground truth.

3 examples

Causal Inference: Frontier — ML & Dynamics

Identification granted, estimation flexible. Conditional effects rather than averages, orthogonalization so that machine learning does not poison the estimate, and the step from an estimate to a decision with a cost attached — then the two settings where time breaks the earlier machinery: censored outcomes, and confounders that respond to treatment.

6 examples