Difficulty
Your best score
N/A
Planeta σ67 este terorizată constant de descărcări seismice dezastruoase.
65536 de senzori seismici sunt amplasați pe o suprafață de de unități. Pentru simplitate, datele acestora sunt codificate sub forma unor matrice de numere întregi. La fiecare eveniment, senzorii produc o serie temporală de T = 16 cadre. Două cadre consecutive reprezintă două măsurători ale aceluiași eveniment, luate la intervale egale de timp.
Pentru a transmite datele într-un mod eficient (și a optimiza pentru compresie în viitor), inginerul Dorel decide ca fiecare matrice să fie transmisă sub forma unui stream secvențial de valori, a căror ordine exactă (deși identică pentru toate transmisiile) este non-trivială și știută doar de el.
Transmisia este zgomotoasă și o parte din pachete ajung distorsionate sau corupte. Unele valori se pierd complet și apar în stream ca 0.
Dorel, leneș din fire, a codat sistemul cu LLM-uri, inclusiv ordinea transmiterii datelor, pe care acum nu și-o mai amintește.
Ce-ai făcut, Dorele... :(
Din fericire, au fost găsite măsurători pentru care se cunosc atât streamul transmis, cât și datele originale ale senzorilor, intacte. Mai mult, pentru datele de antrenare se cunoaște și masca valorilor pierdute.
Dorel vă roagă să-l ajutați să dea unscramble la noile date primite, recuperând cât mai fidel măsurătorile senzorilor. Ca răsplată, el vă oferă puncte :)
Fișierele disponibile sunt:
train_inputs.npz
train_targets.npz
test_inputs.npz
Setul de antrenare conține 8 serii:
train_inputs.npz: stream [8, 16, 65536] float32 mask [8, 16, 65536] uint8 case_id [8]train_targets.npz: target [8, 16, 256, 256] float32 case_id [8]mask = 0 simbolizează o valoare lipsă.
Setul de test conține 24 serii:
test_inputs.npz: stream [24, 16, 65536] float32 case_id [24]Trimiteți un fișier .npz cu exact un tablou: reconstruction [24, 16, 256, 256].
Ordinea seriilor trebuie să fie aceeași ca în test_inputs.npz.
Evaluarea se face peste toate seriile, cadrele și celulele.
Fie Y câmpul corect și P reconstrucția trimisă, , iar este scorul Pearson dintre P și Y.
Pentru consistență temporală, definim D(X)[t] = X[t] - X[t-1]:
Cele două scoruri se combină astfel:
Scorul final se obține prin interpolare liniară fixă:
score = np.interp( Q, [0.00, 0.80, 0.85, 1.00], [5.00, 85.0, 100., 100.],)Submisiile invalide primesc 0.
Scorul public (vizibil în timpul concursului) se calculează în funcție de 30% din datele de test.
Good luck!