2026-10-29 09:51:33 +01:00
# config.toml — UNICA fonte dei valori di fitseg. Suffissi: _s secondi, _c gradi C, _rel frazione.
# Nessun default nel codice: chiave mancante = errore (exit 3).
[ dati ]
colonna_tempo = "t_ms"
unita_tempo = "ms" # "ms" | "s"
serie = [ "T_C" , "dT_C" ] # colonne da approssimare
separatore = ","
2026-10-29 10:28:00 +01:00
[ domini ] # riconoscimento di riposo / riscaldamento (salita rapida) / raffreddamento (decadimento)
2026-10-29 09:51:33 +01:00
serie_riferimento = "T_C" # serie su cui si cercano i gradini di riscaldamento
2026-10-29 11:54:09 +01:00
soglia_gradino_c = 20.0 # salita complessiva (somma dei campioni consecutivi in salita) che segna un gradino di riscaldamento
soglia_bordo_sigma = 6.0 # un campione è "in salita" se il salto verso il successivo supera soglia × sigma robusta dei salti
distanza_min_salti_campioni = 3 # campioni in salita più vicini di così (in indici) appartengono alla stessa salita
n_min_punti = 6 # campioni minimi per fittare un dominio con parametri liberi (sotto: "indeterminato")
n_min_punti_parametri_fissi = 4 # campioni minimi quando c e tau sono fissi e si stima solo A (raffreddamenti intermedi corti)
scarta_dopo_salto_n = 0 # campioni esclusi all'inizio di ogni raffreddamento (0: la salita è già nel dominio di riscaldamento)
2026-10-29 09:51:33 +01:00
[ fit ]
2026-10-29 10:28:00 +01:00
raffreddamento_intermedio_fissa_da_finale = [ "c" , "tau" ] # i raffreddamenti tra due gradini (corti) fissano questi parametri a quelli del raffreddamento finale ([] = liberi)
2026-10-29 09:51:33 +01:00
perdita = "soft_l1" # "linear" | "soft_l1" | "huber" (robusta agli outlier)
scala_perdita_sigma = 3.0 # scala della perdita robusta, in unità di sigma rumore
tau_min_rel = 0.05 # limite inferiore di tau, come frazione della durata del dominio
tau_max_rel = 50.0 # limite superiore di tau, come frazione della durata del dominio
n_griglia_tau = 40 # punti della griglia log-spaziata su tau (proiezione delle variabili)
soglia_condizione = 1.0 e8 # numero di condizione (jacobiano normalizzato) oltre cui i parametri sono "non identificabili"
correggi_autocorrelazione = true # allarga gli intervalli di confidenza se ACF1 dei residui > soglia_acf
soglia_acf = 0.3
soglia_delta_aicc = 2.0 # entro questa differenza vince il modello con meno parametri
2026-10-29 11:54:09 +01:00
scala_residui_vs_rumore_max = 1.5 # scala robusta dei residui (1.4826·MAD) <= valore × sigma rumore => modello adeguato
2026-10-29 09:51:33 +01:00
2026-10-29 10:28:00 +01:00
[ fit . modelli_per_tipo ] # modelli provati per tipo di dominio; il riscaldamento (2-3 campioni) non si fitta: è descritto come salto
2026-10-29 09:58:53 +01:00
riposo = [ "costante" , "lineare" , "esp_decad" ]
raffreddamento = [ "esp_decad" ]
2026-10-29 09:51:33 +01:00
[ output ]
2026-10-29 10:18:12 +01:00
cartella_output = "output" # i file di ogni analisi vanno in output/<nome csv>/