Art of DS

Appearance

Palette
Theme
Unlock $20 one time
Sign in, or create an account

Sign in to Art of DSCreate your Art of DS account

We email you a link and a six-digit code. Either one signs you in; there is no password.Enter your email. We send a link and a six-digit code to confirm it — no password to remember. The account is free.

  • You come back to this page, right where you were.
  • Already have an account? The same email simply signs you in.

By continuing you accept the Terms and the Privacy policy.

Your account

Free accountLifetime access

difficulty 3/5

Missing data

Definition

Whether dropping or filling missing values biases your answer depends on why the values are missing — and on which answer you wanted. One of those two questions is usually unanswerable.

Formula
MCAR ⁣:P(M)MAR ⁣:P(M∣Xobs)MNAR ⁣:P(M∣Xobs,Xmiss)\text{MCAR} \colon P(M) \qquad \text{MAR} \colon P(M \mid X_{\text{obs}}) \qquad \text{MNAR} \colon P(M \mid X_{\text{obs}}, X_{\text{miss}})

Intuition

Every real dataset has holes. The question is never whether to handle them — dropping the rows is a handling decision too — but whether the handling changes the answer, and in which direction.

That turns on something you usually cannot observe: why the values are missing. A sensor that fails at random and a sensor that fails when the reading is high leave exactly the same kind of gap in the file, and the second one will quietly bias every number you compute.

scikit-learn frames the basic trade-off plainly: discarding incomplete rows "comes at the price of losing data which may be valuable (even though incomplete)", and the alternative is to impute — "to infer them from the known part of the data" [2, §8.4]. What neither option can do is invent information that was never recorded.

Formal definition

How it works

Where it's used

Why & when

Worked example

Pitfalls

Check yourself

3 questions

The questions on this page come with access. They are graded on the server, so the answers stay there until you have given yours.

Unlock all quizzes

On the cheat sheet: Missing data and outliers →

Sources

  1. Yoon, Jordon, van der Schaar. GAIN: Missing Data Imputation using Generative Adversarial Nets (2018)paperhttps://ar5iv.labs.arxiv.org/html/1806.02920
  2. scikit-learn User Guide — Imputation of missing valuesdocs · retrieved 2026-09-13https://scikit-learn.org/stable/modules/impute.html
  3. Downey. Think Stats, 2nd ed.book · retrieved 2026-09-13https://greenteapress.com/thinkstats2/html/index.html

Have a promo code?

A code that takes 100% off unlocks everything at once. A smaller one takes its share off the price in the payment window: enter the same code there.

Write to support

A question, a problem with access, a refund? Write to us and we answer by email.

What is it about?

Your address is used only to answer you.

Message sent

Thank you. We will reply to the address you gave, by email.

Or write to us directly

support@artofds.com

Message sent Thank you. We will reply to the address you gave, by email.

Check the email address: we need it to reply.

That is our own address. Enter yours, so the reply reaches you.

This address cannot receive email. Check it for a typo.

Write a little more: at least 10 characters.

Too many messages in a short time. Try again in a few minutes.

The message could not be sent. Please write to us directly: support@artofds.com