Gaussian processes (GPs) are a flexible class of nonparametric machine learning models commonly used for modeling spatial and time series data. A common application of GPs is regression. For example, given incomplete geographical weather data, such as temperature or humidity, how can one recover values at unobserved locations? If one has good reason to believe the data is normally distributed, then a using a GP model could be a judicious choice. In what follows, we introduce the mechanics behind the GP model and then illustrate its use in recovering missing data.

Formally, a GP is a stochastic process, or a…

The Kelly criterion is a well-known strategy for sizing bets to maximize long-run expected log wealth. It is widely applied to sports betting and casino gambling. Most sources provide coverage only for the single-asset case, however. We discuss the Kelly criterion for balancing a portfolio with *multiple assets *— taking into account yield rates and incorporation of risky and non-risky assets — and apply the strategy to a basket of popular cryptocurrencies.

The central object of study in classical Markowitz portfolio theory is the so-called efficient frontier. Points on the frontier (corresponding to portfolio allocations) are optimal in the sense…

**Ordinary least squares** regression is a standard technique everyone should be familiar with. We motivate the **linear model** from the perspective of the **Gauss-Markov Theorem, **discern between the **overdetermined **and **underdetermined **cases, and apply OLS regression to a wine quality dataset.

- The Linear Model
- The Gauss Markov Theorem
- The Underdetermined and Overdetermined Case
- Analyzing the Red Wines Dataset
- Summary

The linear model assumes the following ansatz:

Whether you use scripting languages like Matlab and R, or high-level languages like Python, Java, or C++, optimizing for performance is a must. We review tricks for speeding up your program that every coder should know.

Parallelization is one of the most common, but oft-forgotten ways to increase the throughput of your program. Depending on the number of cores or logical processors your machine has, parallelizing your code can yield tangible to substantial computational savings. …

Julia is one of my all-time favorite programming languages. Not only is it easy to pick up like Python, but it also has the speed of C. It is said, however, that Julia users come for the performance and stay for multiple dispatch. But what is this curious feature, and what makes it appealing for newcomers and veterans alike?

We begin by recollecting what Julia’s dynamic type system looks like. Julia types can be classified as concrete or abstract (there’s also composite and parametric, but let’s forget about those for the time being). …

PhD student in data and information science. Interested in software systems and technical computing.