Project DelphiTensors Workshop

Error: rango 3 en la hora significa que solo sobreviven tres horas

«Tucker con rango 3 en la hora conserva tres de las 24 horas y descarta el resto.»

T = rng.random((24, 40)) U, s, Vt = np.linalg.svd(T, full_matrices=False) U3 = U[:, :3] assert U3.shape == (24, 3) recon = U3 @ np.diag(s[:3]) @ Vt[:3] assert recon.shape == (24, 40) assert len(np.unique(recon.round(6), axis=0)) == 24

La base de la hora tiene una fila por hora real y una columna por dirección aprendida: U3 es (24, 3), y los 24 perfiles horarios reconstruidos siguen siendo distintos.

El rango 3 compra tres direcciones para describir la variación a lo largo de las 24 horas. Un rango es un presupuesto, no un subconjunto.