lectures: complete notes.md

This commit is contained in:
Giù Marcer 2020-05-31 16:02:52 +02:00 committed by rnhmjoj
parent d0d03d521e
commit 5331587f71

View File

@ -319,9 +319,9 @@ Vediamo un po' di metodi.
sceglie un terzo punto x', per esempio tra a e x: se f(x') > f(x), allora
tengo l'intervallo [x', b], altrimenti tengo [a, x] (cioè devono sempre
esserci tre punti dentro, compresi gli estremi).
- Se si uilizza il `rapporto aureo` (3 - √5)/2, allora la convergenza è
- Se si utilizza il `rapporto aureo` (3 - √5)/2, allora la convergenza è
ottimale. È una convergenza lineare, nel senso che il numero di cifre
significative che si ottengno del minimo cresce linearmente col numero
significative che si ottengo del minimo cresce linearmente col numero
di iterazioni.
- Se la funzione è particolarmente semplice, si può usare il `metodo della
parabola`: si fittano i tre punti con una parabola e si trova il minimo
@ -351,9 +351,9 @@ alcune funzioni di test patologiche.
@8 ----------------------------------------------------------------------------
# Tecniche MonteCarlo
# Tecniche Monte Carlo
Una tecnica MonteCarlo è una qualsiasi tecnica che preveda la generazione di
Una tecnica Monte Carlo è una qualsiasi tecnica che preveda la generazione di
numeri casuali.
Si possono usare per stimare il valore dell'integrale e la convergenza è
dell'ordine 1/√N. Il vantaggio rispetto alle tecniche numeriche è che la
@ -377,7 +377,7 @@ covarianza perché i punti sono stati generati in modo correlato.
# Numeri casuali e pseudocasuali
Generare numeri veramente casuali è molto più compelsso di generare `numeri
Generare numeri veramente casuali è molto più complesso di generare `numeri
pseudocasuali`. Infatti il computer, per generarli, utilizza una formula ben
precisa che ha lo scopo di rendere dei numeri apparentemente casuali. In
realtà hanno anche un periodo. I generatori attualmente usati sono
@ -402,25 +402,25 @@ su dei piani (o su iperpiani in N-dimensioni).
# Numeri casuali secondo pdf generiche
Se si disponde di un generatore di numeri casuali uniformi, esistono tre
Se si dispone di un generatore di numeri casuali uniformi, esistono tre
metodi per generare numeri secondo una pdf generica:
- Reverse sampling:
- `Reverse sampling`:
Consideriamo la cdf F(x) di una variabile x distribuita secondo f(x) come
una variabile casuale a sua volta. Si può facilmente dimostrare che la pdf
di questa variabile è uniforme.
Si possono quindi pescare numeri uniformemente tra 0 e 1 e poi calcolarne
la quantile (cioè l'inversa della F(x): si ottengono puntidistribuiti come
la quantile (cioè l'inversa della F(x): si ottengono punti distribuiti come
f(x)).
- Metodo di composizione:
- `Metodo di composizione`:
Si suddivide la pdf nella somma di due o più pdf (ognuna delle quali deve
risultare normalizzata e quindi avrà il suo opportuno coefficiente
moltiplicativo). I coefficienti moltiplicativi verranno utilizzati per
decidere quando pescare secondo una o l'altra pdf pescando un primo numero
random. Un secondo numero random verrà poi usato tramite reverse sampling.
- Metodo hit-miss:
- `Metodo hit-miss`:
Si pescano numeri a caso in un'area che contiene la funzione e poi si
tengono se sono sotto alla funzione e si scartano se sono sopra.
@ -432,20 +432,139 @@ modifiche alle strumentazioni sperimentali oppure no.
@9 ----------------------------------------------------------------------------
# Tecniche di unfolding
# Tecniche di deconvoluzione
Esistono diverse tecniche di unfolding dei dati.
Esistono diverse tecniche di deconvoluzione dei dati.
- Matrice di correzione:
Si suppone che i dati osservati derivino da quelli veri in questo modo:
- `Matrice di correzione`:
Si suppone che i dati osservati derivino da quelli veri in questo modo:
ν = R * μ + β → ν_i = R_ij μ_j + β_i
ν = R * μ + β → νi = Rij μj + βi
dove β è un eventuale fondo e R è la matrice di correzione.
Notare che Σj di R_ij dà l'efficienza con cui il segnale μ_j viene
trasformato in segnale osservato.
dove β è un eventuale fondo e R è la matrice di correzione.
Notare che Σj di R_ij dà l'efficienza con cui il segnale μ_j viene
trasformato in segnale osservato.
In realtà i segnali osservati sono n_i, ognuno dei quali appartiene ad una
poissoniana di media ν_i. Si può massimizzare la Likelihood per trovare i
parametri ν_i e poi invertire la matrice e sottrarre il fondo.
In realtà i segnali osservati sono n_i, ognuno dei quali appartiene ad una
poissoniana di media ν_i. Si può massimizzare la likelihood per trovare i
parametri ν_i e poi invertire la matrice e sottrarre il fondo.
μj = (νi - βi) Rij^-1 ~ (ni - βi) Rij^-1
Massimizzando la Likelihood, si ottengono stimatori unbias e con varianza
minima n_i = ν_i. Se si fa così, però, non assomigliano affatto a quelli
corretti. Si deve accettare di minimizzare la varianza: `procedura di
unfolding generalizzata`.
- `Metodo dei fattori di correzione`:
I valori veri vengono stimati come:
μi = Ci (ni - βi)
dove Ci può essere stimato tramite simulazioni MC come:
μi = Ci νi → Ci = μi/νi
dove μi e νi sono creati attraverso due simulazioni MC:i primi simulando
solo la fisica del sistema e i secondi simulando anche la risposta della
strumentazione utilizzata (ma senza simulare il fondo).
In pratica, il fattore Ci ci dice quanta parte di quanto osservato nel bin
i-esimo appartiene effettivamente al bin i-esimo.
Questo metodo funziona bene se non c'è molta migrazione tra bin e bin: è
valido per dare una prima idea.
- `Unfolding generalizzato`:
In questo caso si cerca sempre uno stimatore bias con varianza maggiore ma
si cerca di ottenere una soluzione più liscia: lo si fa ponendo un limite Δ
alla differenza tra L_max e L(μ) usato:
L(μ) >= Lmax - ΔL
Dove L(μ) = Lmax se è soddisfatta la soluzione ML.
Tra le soluzioni che soddisfano questa equazione, si prende quella con la
maggiore smoothness. La smoothness è definita tramite una funzione S(μ)
chiamata funzione di regolarizzazione. Bisogna cioè massimizzare la
funzione:
f(μ) = αL(μ) + S(μ)
Per cominciare si fissa α, considerando che:
- per α = 0 si ottiene la soluzione più smooth che però ignora i dati;
- per α → ∞ la soluzione non è smooth, perché massimizzare f(μ) equivale
semplicemente a scegliere L(μ) = Lmax.
Poi si massimizza per μ, imponendo anche il constraint:
Σi νi = Σij Rij μj = Ntot
E quindi ci ri riduce al metodo dei moltiplicatori di Laplace, ovvero si
deve massimizzare:
f(μ) = αL(μ) + S(μ) + λ[Ntot - Σij Rij μj]
Esistono poi diversi metodi per scegliere α e S(μ).
- `Regolarizzazione di Tikhonov`:
Si prende come S(h) l'opposto della rms della derivata k-esima della
'funzione' μ, dove il segno meno è messo perché così, più la derivata
tende a 0, più la funzione è liscia. Chiaramente, trattandosi di dati
discreti, si fa la derivata numerica tra bin consecutivi.
- `Regolarizzazione col Max Ent`:
Si usa la definizione di entropia per un set di probabilità pi:
H = - Σi pi ln(pi)
e l'entropia è massima se tutte le probabilità sono uguali ed è minima
se una è unitaria e le altre sono tutte zero. L'idea è di usare H come
funzione di regolarizzazione, dove:
pi = μi/Ntot
Per quanto riguarda la scelta di α, in genere lo si sceglie minimizzando
la matrice di covarianza, cioè il χ².
@10 ---------------------------------------------------------------------------
# Catena di acquisizione
La grandezza da misurare viene convertita in segnale elettronico da un
trasduttore (per esempio un fotomoltiplicatore che converte l'energia di un
fotone in tensione); dopodiché il segnale viene digitalizzato da un ADC
(Analogical to Digital Converter) ed elaborato (per esempio con filtri e
amplificatori) e infine i dati vengono acquisiti da un'unità di acquisizione
dati, il DAQ (DAta acQuisition), e memorizzati.
Un sistema di acquisizione può influenzare i dati stessi se è implementato
un sistema di feedback nel circuito di amplificazione.
L'ADC comincia a registrare i dati dopo un segnale di `triggering`, ovvero
quando una certa soglia è stata superata, indicando che un segnale è stato
rilevato.
In un pc, i dati vengono salvati in formato binario. Mentre per i numeri la
conversione è immediata, per il linguaggio alfanumerico sono state inventate
delle `codifiche` come per esempio il codice ASCII o l'UTF8. La tabella unicode
contiene tutti codepoint e descrive come eventualmente si fondono.
Il `bus` è l'insieme delle linee elettriche che collega vari dispositivi,
ognuno dei quali è identificato univocamente da un indirizzo. I dispositivi
possono essere masters o slaves o entrambe le cose. Gli slaves possono solo
rispondere, mentre i masters possono decidere di mandare cose a chi vogliano.
Gli `ADC` possono essere peak-sensing (digitalizzano il valore di picco del
segnale) o flesh (campionando la forma del segnale). Alcuni parametri
caratterizzano un ADC:
- risoluzione: quantità di bit a disposizione;
- tempi di conversione: tempo impiegato a digitalizzare un segnale;
- precisione di conversione (derive termiche, ecc).
Il `trigger` determina che il segnale arrivato sia effettivamente segnale e
non fondo. È possibile che ci siano diversi parametri che devono essere
soddisfatti affinché il segnale possa essere ritenuto valido e ci vuole del
tempo per verificarli tutti. Questi diversi trigger sono dunque affiancati da
dei buffer che immagazzinano momentaneamente la grande quantità di segnali in
arrivo.
Ogni processore, infatti, ha un deadtime, cioè un tempo in cui non è in grado
di cominciare a processare altri segnali perché sta processando l'ultimo
arrivato. Quindi anche il processore finale, che è il vero collo di bottiglia,
ha un buffer.
-------------------------------------------------------------------------------