The Matrix-Vector Product and the SVD

The singular value decomposition (SVD) allows one to re-write a given matrix as a sum of rank one matrices. Specifically, using the SVD, one may re-write a given matrix A as follows:

\mathbf{A}=\mathbf{U}\mathbf{\Sigma}\mathbf{V}^T = \sum\limits_{i=1}^{n}{\mathbf{U}_i\mathbf{\Sigma}_{ii}\mathbf{V}_i^T} ,

where \mathbf{V}_i^T is the transpose of the i-th column of V. Further, the Eckart-Young-Mirsky theorem proves that the best rank k approximation to the matrix A is found by summing only the first k elements of the right-hand sum.
Read more

Cause of Death in the USA: 1959-2020

This post takes another look at Mortality Multiple Cause-of-Death records from the U.S. Division of Vital Statistics. Previous posts have analyzed records for the year 2016 and also deaths due to Influenza & Pneumonia in 2017. In this post, records from 1959 to the 2020, the latest year currently available, are analyzed.
Read more

On The Importance of Centering in PCA

The previous post presents methods for efficiently performing principal component analysis (PCA) on certain rectangular sparse matrices. Since routines for performing the singular value decomposition (SVD) on sparse matrices are readily available (e.g. svds and TruncatedSVD), it is reasonable to investigate the influence centering has on the resulting transformation.
Read more

Weighted Sparse PCA for Rectangular Matrices

Consider a sparse mxn rectangular matrix \mathbf{X}, where either m >> n or m << n. Performing a principal component analysis (PCA) on \mathbf{X} involves computing the eigenvectors of its covariance matrix. This is often accomplished using the singular value decomposition (SVD) of the centered matrix \mathbf{X}-\mathbf{U}. But, with large sparse matrices, this centering step is frequently intractable. If it is tractable, however, to compute the eigendecomposition of either an mxm or an nxn dense matrix in memory, other approaches are possible.

Read more

Weighted PCA

Consider an m by n matrix \mathbf{A} and an m by 1 vector of integers \mathbf{w}. Now, consider the matrix \mathbf{R}, where \mathbf{R} is formed by taking \mathbf{A_i}, that is the i-th row of \mathbf{A}, and repeating it \mathbf{w_i} times. This new matrix \mathbf{R} has dimension s by n, where

s = \sum_{i=1}^{m}{\mathbf{w_i}} .

If s >> m, then it is undesirable to compute the full matrix \mathbf{R} and perform principal component analysis (PCA) on it. Instead, the highly structured form of \mathbf{R}, suggests there should be a more efficient method to perform this decomposition. This method is known as weighted PCA and is the topic of this post.

Read more

ICP In Practice

This post explores the iterative constrained pathways rule ensemble (ICPRE) method introduced in an earlier post using the Titanic dataset popularized by Kaggle [1]. The purpose of the text is to introduce the features and explore the behavior of the library.

Some of the code snippets in this post are shortened for brevity sake. To obtain the full source and data, please see the ICPExamples GitHub page [2].
Read more

The Iterative Constrained Pathways Optimizer

Many optimization methods seek an optimal parameter set with regard to error or likelihood. Such a solution is most desirable in many regards. However, when the broader context of a problem is included, the indisputable superiority of the optimum frequently becomes less clear. This context often includes other guidelines and restrictions that may limit the usefulness of solutions lacking certain properties. Unfortunately, typical loss criteria can rarely take these into account.

This blog post presents a method that abandons the quest for optimality and instead focuses on better satisfying the broader context of a problem. It describes a method that does not attempt to find the minimum, but instead simply tries to get closer to it while respecting imposed constraints. This blog post describes the iterative constrained pathways optimizer.
Read more