Files
EquationMiner/docs/output.md
T
davideandClaude Sonnet 5.5 f28bddc5a2 Documentazione completa in docs/: assunzioni, algoritmi, moduli, configurazione, output, test, limiti
- 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>
2026-10-29 10:44:41 +01:00

5.4 KiB
Raw Blame History

Output

Ogni analisi scrive in output/<nome del csv>/ (la cartella output/ è ignorata da git). Ogni passo ha la sua sottocartella, numerata nell'ordine di esecuzione. Chi produce cosa: moduli.md (uscita.py).

output/gen_1/
├── 01_domini/               passo 1 — suddivisione dei dati
│   ├── domini.png             dati grezzi con i domini (colore per tipo, numerati) + zoom sui gradini
│   └── domini.toml            domini usati, modificabili a mano ([uso.md](uso.md))
├── 02_sovrapposizione/      passo 2 — dati grezzi contro le equazioni trovate
│   ├── sovrapposizione_<serie>.png   serie intera con le equazioni a tratti, residui e zoom
│   └── dominio<k>_<serie>.png        un dominio: dati, modello scelto, altri modelli validi, residui
└── 03_report/               passo 3
    ├── report.md              report completo, immagini incorporate, formule in LaTeX
    └── risultati.json         tutti i fit con tutte le metriche (schema in moduli.md)

fitseg domini scrive solo 01_domini/; fitseg analizza scrive tutto.

Colori

Dominio Colore
riposo grigio
riscaldamento rosso (i suoi campioni sono evidenziati con pallini, perché la fascia è sottile)
raffreddamento un colore diverso per ognuno, in ordine: blu, verde, viola, arancio, ciano (poi si ricomincia)

Le fasce sono numerate come nelle tabelle (il numero compare solo se la fascia è abbastanza larga per il grafico). Il raffreddamento k-esimo ha lo stesso colore in tutti i grafici.

01_domini/domini.png

Una riga per serie. A sinistra l'intero segnale con le fasce dei domini; a destra lo zoom sulla zona dei gradini (da 2 s prima del primo riscaldamento a 8 s dopo l'ultimo), dove 7 domini in pochi secondi si distinguono. Serve a controllare la suddivisione prima di fidarsi delle equazioni: se è sbagliata si corregge domini.toml e si rilancia (uso.md §3).

02_sovrapposizione/sovrapposizione_<serie>.png

Sopra: dati grezzi (punti grigi), fasce dei domini e curva dell'equazione scelta per ogni dominio nel colore del dominio. Sotto: residui y - \hat y dei soli campioni usati nel fit (i campioni esclusi all'inizio dei raffreddamenti non compaiono, per non schiacciare la scala). A destra lo stesso con lo zoom. Il riscaldamento non ha curva (non si fitta) e i suoi campioni sono i pallini rossi.

Come leggere i residui: attorno a zero e senza struttura = modello adeguato; ondulazioni o code verso il basso = scarti casuali del sensore non descritti dal modello (A14), non un errore del fit.

02_sovrapposizione/dominio<k>_<serie>.png

  • Riposo e raffreddamento: punti grigi = campioni esclusi dal fit; punti neri = campioni usati; linea continua = modello scelto (nel colore del dominio, con \mathrm{RMSE} in legenda); tratteggiate = gli altri modelli validi (confronto); sotto i residui del modello scelto.
  • Riscaldamento: la salita (pallini rossi) con 8 campioni di contesto prima e dopo, e nel titolo \Delta, numero di campioni e durata. Nessuna curva.
  • Dominio indeterminato: solo i dati, con «indeterminato» nel titolo.

03_report/report.md

Le immagini sono link relativi (../01_domini/domini.png); le grandezze matematiche sono in LaTeX ($…$ nel testo, $$…$$ per l'equazione scelta con i valori sostituiti): servono un visualizzatore Markdown con supporto matematico (GitHub, VS Code, Obsidian). Struttura:

Sezione Contenuto
intestazione nome del CSV, data, serie, definizione t' = t - t_0, livello degli intervalli (95 %)
1. Suddivisione in domini domini.png e tabella (#, tipo, t_0, t_1, campioni)
2. Equazioni trovate criterio di scelta con le soglie correnti; tabella (dominio, tipo, serie, modello, equazione e parametri ± IC) con una riga per dominio e serie; i riscaldamenti hanno il salto
3. Sovrapposizione dati–equazioni un grafico per serie
4. Dettaglio per dominio per ogni dominio e serie: grafico, modello scelto, equazione con i valori (…), parametri ± IC, \sigma_\text{rumore}, \mathrm{RMSE}, R^2, \rho_1, motivo, tabella di tutti i modelli provati (k, RMSE, AICc, BIC, \rho_1, valido)

Come leggere i messaggi

Messaggio Significato Cosa fare
salto (riscaldamento) salita rapida descritta, non fittata (A23) niente: \Delta è per difetto
(fisso) accanto a un parametro tenuto costante al valore del raffreddamento finale (A8); l'IC di A è condizionato (A18) niente; per disattivarlo vedi configurazione.md
modello non adeguato (\mathrm{RMSE} > 1.3\,\sigma) il modello scelto è il migliore tra quelli validi ma non spiega tutta la varianza guarda \rho_1 e i residui: tipicamente scarti casuali (A14)
Indeterminato nessun modello valido, o meno di n_min_punti campioni verifica la suddivisione (domini troppo corti?)
«valido: no» in tabella fit non convergente, \tau al limite o non identificabile (algoritmi.md §5.6) un modello più semplice può essere preferito

03_report/risultati.json

Lista di domini con tutti i fit e tutte le metriche, anche dei modelli scartati. Schema dei campi: moduli.md, «Strutture dati comuni». È JSON valido (i campi non applicabili, come sigma del riscaldamento, sono null), adatto a elaborazioni successive (confronti tra analisi, tabelle).