Local case-control sampling
In machine learning, local case-control sampling  is an algorithm used to reduce the complexity of training a logistic regression classifier. The algorithm reduces the training complexity by selecting a small subsample of the original dataset for training. It assumes the availability of a (unreliable) pilot estimation of the parameters. It then performs a single pass over the entire dataset using the pilot estimation to identify the most "surprising" samples. In practice, the pilot may come from prior knowledge or training using a subsample of the dataset. The algorithm is most effective when the underlying dataset is imbalanced. It exploits the structures of conditional imbalanced datasets more efficiently than alternative methods, such as case control sampling and weighted case control sampling.
In classification, a dataset is a set of N data points , where is a feature vector, is a label. Intuitively, a dataset is imbalanced when certain important statistical patterns are rare. The lack of observations of certain patterns does not always imply their irrelevance. For example, in medical studies of rare diseases, the small number of infected patients (cases) conveys the most valuable information for diagnosis and treatments.
Formally, an imbalanced dataset exhibits one or more of the following properties:
- Marginal Imbalance. A dataset is marginally imbalanced if one class is rare compared to the other class. In other words, .
- Conditional Imbalance. A dataset is conditionally imbalanced when it is easy to predict the correct labels in most cases. For example, if , the dataset is conditionally imbalanced if and .
In logistic regression, given the model , the prediction is made according to . The local-case control sampling algorithm assumes the availability of a pilot model . Given the pilot model, the algorithm performs a single pass over the entire dataset to select the subset of samples to include in training the logistic regression model. For a sample , define the acceptance probability as . The algorithm proceeds as follows:
- Generate independent for .
- Fit a logistic regression model to the subsample , obtaining the unadjusted estimates .
- The output model is , where and .
The algorithm can be understood as selecting samples that surprises the pilot model. Intuitively these samples are closer to the decision boundary of the classifier and is thus more informative.
Obtaining the pilot model
In practice, for cases where a pilot model is naturally available, the algorithm can be applied directly to reduce the complexity of training. In cases where a natural pilot is nonexistent, an estimate using a subsample selected through another sampling technique can be used instead. In the original paper describing the algorithm, the authors propose to use weighted case-control sampling with half the assigned sampling budget. For example, if the objective is to use a subsample with size , first estimate a model using samples from weighted case control sampling, then collect another samples using local case-control sampling.
Larger or smaller sample size
It is possible to control the sample size by multiplying the acceptance probability with a constant . For a larger sample size, pick and adjust the acceptance probability to . For a smaller sample size, the same strategy applies. In cases where the number of samples desired is precise, a convenient alternative method is to uniformly downsample from a larger subsample selected by local case-control sampling.
The algorithm has the following properties. When the pilot is consistent, the estimates using the samples from local case-control sampling is consistent even under model misspecification. If the model is correct then the algorithm has exactly twice the asymptotic variance of logistic regression on the full data set. For a larger sample size with , the factor 2 is improved to .