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
soglia_gradino_c = 20.0 # salto positivo tra due campioni consecutivi che segna un gradino di riscaldamento
soglia_bordo_sigma = 6.0 # il gradino si estende ai campioni adiacenti con salto > soglia × sigma robusta dei salti
distanza_min_salti_campioni = 3 # rilevazioni più vicine di così sono lo stesso gradino
n_min_punti = 6 # campioni minimi per dominio (sotto: "indeterminato")
2026-10-29 10:28:00 +01:00
scarta_dopo_salto_n = 1 # campioni esclusi all'inizio di ogni raffreddamento (sicurezza dopo la salita)
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
rmse_vs_rumore_max = 1.3 # RMSE <= valore × sigma rumore => modello adeguato
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>/