- docs/SPEC.md sostituito da un file per argomento (indice in docs/README.md) - assunzioni A1-A24 con dove nel codice e cosa succede se false - formule in LaTeX corrette (nessuno spazio prima del dollaro di chiusura), simboli e chiavi in tabella - diagrammi Mermaid per il flusso degli algoritmi e le dipendenze dei moduli - figura dei domini sul seed 1 (docs/img/domini_esempio.png) - README ridotto a indice con avvio rapido; CLAUDE.md e docstring allineati Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
3.8 KiB
3.8 KiB
Limiti noti ed estensioni
Limiti noti
| Limite | Perché | Effetto | Dove |
|---|---|---|---|
Residui autocorrelati nei raffreddamenti ($\rho_1 \approx 0.5$–0.7, \mathrm{RMSE} 1.5–3 volte \sigma) |
scarti casuali (±4 °C) e deriva lenta non sono nel modello (A14) | i parametri sono buoni (\tau entro pochi % dal valore nominale), ma gli intervalli di confidenza sono troppo stretti nonostante la correzione AR(1) (A17) e i domini risultano «non adeguati» |
assunzioni.md A14, A17 |
Il \sigma stimato ignora la parte lenta del rumore |
la derivata seconda elimina la deriva (A13) | \sigma sottostimata → «non adeguato» più frequente |
A13 |
| Il riscaldamento non è fittato | 2–3 campioni, meno dei parametri utili (A23) | si riporta solo il salto \Delta, che sottostima l'ampiezza reale del gradino perché parte della salita cade sul campione precedente |
algoritmi.md §7 |
| Incertezze condizionate nei raffreddamenti intermedi | c e \tau sono fissi, la loro incertezza non si propaga (A18) |
gli intervalli di A sono troppo stretti |
A18 |
| Nessun vincolo di continuità | ogni dominio è indipendente (A11) | gli intermedi non sono vincolati a combaciare col gradino | A11 |
| Un solo esponenziale per raffreddamento | modello esp_decad (A7) |
un raffreddamento con due processi (conduzione e convezione) non è descritto bene | A7 |
| Gradini cercati su una sola serie | serie_riferimento (A4) |
serie con gradini diversi richiedono due analisi | A4 |
| Soglia dei gradini fissa | soglia_gradino_c in config (A5) |
va adattata a gradini più piccoli o scarti più grandi | configurazione.md |
| Provato su pochi dati | 3 seed di gen_data con la configurazione d'esempio |
nessuna validazione su dati reali o su rumore molto diverso | test.md |
Estensioni possibili (non presenti)
| Estensione | Cosa servirebbe |
|---|---|
| Modello a due esponenziali per il raffreddamento | voce in modelli.MODELLI con 5 parametri, partenza su griglia a due \tau, ordinamento \tau_1 < \tau_2, nome nelle liste di modelli_per_tipo (moduli.md) |
| Modelli di transizione liscia (logistica) o polinomi superiori | stessa procedura; limitare il centro della logistica al dominio per evitare che degeneri in esponenziale |
| Fit congiunto con continuità tra domini | un unico problema ai minimi quadrati con penalità sul salto residuo ai confini |
| Fit del riscaldamento | richiede più campioni (sensore più lento o campionamento più fitto) |
| Scelta dei modelli guidata da un agente (Claude Code) | era nel progetto iniziale e è stata tolta: la regola automatica (algoritmi.md §6) basta per questi dati |
| Rumore colorato nel fit (minimi quadrati generalizzati) | modello AR(1) dei residui per correggere intervalli e pesi invece del solo fattore \sqrt{(1+\rho_1)/(1-\rho_1)} |
Scelte progettuali già fatte
| Scelta | Alternativa scartata | Motivo |
|---|---|---|
Domini dai gradini di T_C |
PELT + fusione per BIC | i regimi qui sono determinati dai gradini; PELT con costo quadratico spezzerebbe gli esponenziali lisci |
| Riscaldamento non fittato, descritto come salto | fit su 2–3 punti | parametri non identificabili |
c e \tau fissati negli intermedi |
\tau libero ovunque |
\tau non identificabile con 12–25 campioni e scarti casuali |
Partenza per griglia su \tau (proiezione delle variabili) |
partenze casuali | deterministico e più robusto per \tau |
Perdita robusta soft_l1 |
minimi quadrati | gli scarti casuali sono outlier |
| Output per CSV in sottocartelle numerate | cartella piatta | ogni passo è ispezionabile separatamente |
| Un modulo per responsabilità, CLI a due comandi | script per fase, pacchetti motore/ e uscita/ |
meno codice, nessuna duplicazione |