Research

My research focus is on modeling and solving large-scale optimization problems and on finding and exploiting structure in high dimensional data, with applications in marketing, finance, demographic modeling, and medical informatics.

This page collects papers, slides, talks, and high quality software implementations for a few of the projects I've worked on.

low rank models

Generalized low rank models (GLRMs) extend the idea behind principal components analysis (PCA) to embed tabular data sets with heterogeneous (numerical, Boolean, categorical, and ordinal) types into a low dimensional space, providing a coherent framework for compressing, denoising, and imputing missing entries.

papers

applications

code

  • julia (fully featured, serial or shared memory parallel)

  • H2O (fully featured, distributed memory parallel)

  • python (prototype, serial)

  • spark (prototype, distributed memory parallel)

talks and slides

convex.jl

Convex.jl is a Julia package for Disciplined Convex Programming (DCP). Convex.jl makes it easy to describe optimization problems in a natural, mathematical syntax, and to solve those problems using a variety of different (commercial and open-source) solvers. Convex.jl is one of the top ten packages in the Julia language for technical computing, and is a member of the JuliaOpt organization, which curates high quality optimization software.

paper

code

talks and slides