Project DelphiTensors Workshop

Missing data: the term you do not add

A missing count is not a zero, and zero is a measurement. Read one as the other and nothing fails — the missing cell just adds m² to the objective, most where the model was most confident. In the notebook’s animation, three missing cells contribute 25, 16 and 36, so 77 of the 81 total is invented.

The fix is to sum only over Ω, the cells actually measured. In code it is one elementwise multiplication by a 0/1 mask, in the value and the gradient. Nothing is imputed.

The model still predicts every cell, masked ones included — which is how the same change turns a decomposition into a recommender. Kolda’s pyttb takes it as a mask= argument to gcp_opt.