# Processo markoviano

Si definisce processo stocastico markoviano (o di Markov), un processo aleatorio in cui la probabilità di transizione che determina il passaggio a uno stato di sistema dipende solo dallo stato del sistema immediatamente precedente (proprietà di Markov) e non da come si è giunti a questo stato. Viceversa si dice processo non markoviano un processo aleatorio per cui non vale la proprietà di Markov. Prende il nome dal matematico russo Andrej Andreevič Markov che per primo ne sviluppò la teoria. Modelli di tipo markoviano vengono utilizzati nella progettazione di reti di telecomunicazioni: la teoria delle code che ne consegue trova applicazione in molti ambiti, dalla fila agli sportelli ai pacchetti dati in coda in un router.
Un processo di Markov può essere descritto per mezzo dell'enunciazione della proprietà di Markov, o condizione di "assenza di memoria", che può essere scritta come:
    $P{\bigX(t_{n+1})=x_{n+1}{\big |}X(t_{n})=x_{n},X(t_{n-1})=x_{n-1},\ldots ,X(t_{0})=x_{0}{\big )}=P{\bigX(t_{n+1})=x_{n+1}{\big |}X(t_{n})=x_{n}{\big )}$

## Catene di Markov

Una catena di Markov è un processo di Markov con spazio degli stati discreto, quindi è un processo stocastico che assume valori in uno spazio discreto e che gode della proprietà di Markov. L'insieme $S$ di spazio degli stati può essere finito o infinito numerabile. Nel primo caso si parla di catena di Markov a stati finiti. Una catena di Markov può essere tempo-continua o tempo-discreta, in base all'insieme $T$ di appartenenza della variabile tempo (continuo o discreto).
Formalmente una catena di Markov è un processo stocastico Markoviano caratterizzato da un parametro $t_{i}\in T$, da un insieme $S$ di stati e da una funzione probabilità di transizione $P:S\times S\times T\mapsto [0,1]$.
Essendo un processo Markoviano, $P$ gode della proprietà di Markov:
    $P(X(t_{n+1})=x_{n+1}|X(t_{n})=x_{n},X(t_{n-1})=x_{n-1},\ldots ,X(t_{0})=x_{0})=P(X(t_{n+1})=x_{n+1}|X(t_{n})=x_{n})$
Nel caso di catena di Markov a tempo discreto, cioè con l'insieme $T$ discreto, la notazione si semplifica:
    $P(X_{n+1}=x_{n+1}|X_{n},X_{n-1},\ldots ,X_{0})=P(X_{n+1}=x_{n+1}|X_{n}).\,$

### Catene di Markov omogenee

Una catena di Markov omogenea è un processo markoviano in cui la probabilità di transizione al tempo $t_{i}$ non dipende dal tempo stesso, ma soltanto dallo stato del sistema al tempo immediatamente precedente $S(t_{i-1})$. In altre parole, la probabilità di transizione è indipendente dall'origine dell'asse dei tempi e quindi dipende soltanto dalla distanza tra i due istanti temporali.
Per le catene omogenee vale la condizione
    $P(X_{n+1}=x|X_{n}=y)=\ P(X_{n}=x|X_{n-1}=y)$
Più in generale si dimostra che in una catena di Markov omogenea la probabilità di transizione da uno stato a un altro in $n$ passi è costante nel tempo:
    $P(X_{i+n}=x|X_{i}=y)=\ P(X_{i-1+n}=x|X_{i-1}=y)\ \ \ \ \ \forall i=\ 1,2,\ldots$
I sistemi reali che possono essere modellati con catene di Markov omogenee sono rari: è sufficiente pensare al sistema "tempo atmosferico" per capire come la probabilità di transizione da uno stato (per esempio "sole") a un altro stato (per esempio "pioggia") dipende dalla stagione, quindi non è possibile modellare questo sistema come catena di Markov omogenea. Tuttavia restringendo l'analisi del sistema a un determinato intervallo di tempo si può considerare il comportamento omogeneo: in questo caso l'intervallo di tempo potrebbe essere una singola stagione.

### Matrice di transizione

Una catena di Markov omogenea a stati finiti in cui l'insieme $S$ degli stati del sistema è finito e ha $N$ elementi può essere rappresentata mediante una matrice di transizione $A\in \mathbb {R} ^{N\times N}$ e un vettore di probabilità iniziale ${\tilde {\pi }}_{0}\in \mathbb {R} ^{N}$.
Gli elementi di $A$ rappresentano le probabilità di transizione tra gli stati della catena: una catena che si trova nello stato $i$ ha probabilità $a_{ij}$ di passare allo stato j nel passo immediatamente successivo. In particolare gli elementi $a_{ii}$ sulla diagonale principale di $A$ indicano le probabilità di rimanere nello stesso stato $i$. Il vettore ${\tilde {\pi }}_{0}$ definisce le probabilità che inizialmente la catena di Markov si trovi in ciascuno degli $N$ stati. Una catena di Markov omogenea è univocamente definita dalla coppia $(A,{\tilde {\pi }}_{0})$.
Se al tempo $t_{0}$ ha la distribuzione di probabilità ${\tilde {\pi }}_{0}$ allora le probabilità ${\tilde {\pi }}_{n}$ che a un tempo $t_{n}$ il sistema si trovi in ciascuno degli $N$ stati sono date dal vettore così definito:
    $({\tilde {\pi }}_{n})^{T}=({\tilde {\pi }}_{0})^{T}\cdot A^{n}$
dove $({\tilde {\pi }}_{n})^{T}$ indica la trasposta del vettore ${\tilde {\pi }}_{n}$.
Dalla definizione assiomatica della probabilità discendono le seguenti proprietà per la matrice $A$:
* $a_{ij}\geq 0,\forall i,j\in \{1\ldots N\}$
* $\sum _{j=1}^{N}a_{ij}=1,\forall i\in \{1\ldots N\}$.
La seconda proprietà equivale a richiedere che la somma degli elementi su ciascuna riga sia uguale a 1, nel qual caso la matrice si dice anche stocastica.
Per esempio, $A$ e ${\tilde {\pi }}_{0}$ possono essere i seguenti:
    $A={\begin{pmatrix}0.3&0.5&0.2\\0.1&0.8&0.1\\0.5&0.5&0\end{pmatrix}},\quad {\tilde {\pi }}_{0}={\begin{pmatrix}0.4\\0.3\\0.3\end{pmatrix}}$
Nel caso di una catena di Markov omogenea a stati discreti si può adottare la notazione sintetica:
    $P_{ij}^{(n)}\equiv P\left(X_{m+n}=s_{j}|X_{m}=s_{i}\right)=P\left(X_{n}=s_{j}|X_{0}=s_{i}\right)$
dove (n) non è un esponente bensì è un indice.
Si ha quindi $({\tilde {\pi }}_{n})_{j}=\sum _{i\in S}({\tilde {\pi }}_{0})_{i}(P^{(n)})_{ij}$.
Si hanno le seguenti proprietà:
* $P_{ij}\geq 0\ \ \forall i,j\in S$
* $\sum _{j\in S}P_{ij}=1$.

### Catene di Markov aperiodiche

Il periodo di uno stato $s_{i}\in S$ di una catena di Markov a stati discreti, con $S$ finito o infinito numerabile, è definito come il minimo numero di passi temporali affinché vi sia una probabilità diversa da zero di tornare sullo stesso stato, partendo dallo stato $s_{i}$ al tempo $t_{m}$. Formalmente il periodo $d(s_{i})$ è definito come segue:
    $d(s_{i},t_{m})=MCD\{n\geq 1:P\left(X_{m+n}=s_{i}|X_{m}=s_{i}\right)>0\}$
dove MCD indica il massimo comune divisore.
Nel caso di una catena di Markov omogenea a stati finiti con numero di stati $N$, rappresentabile quindi con una matrice $A\in \mathbb {R} ^{N}$, si può riformulare la definizione così:
    $d(s_{i})=MCD\{n\geq 1:(A^{n})_{ii}>0\}$.
Lo stato $s_{i}$ è detto aperiodico se il suo periodo è uguale a 1.
Una catena di Markov è detta aperiodica se tutti i suoi stati sono aperiodici, altrimenti è detta periodica.

### Catene di Markov irriducibili

Una catena di Markov a stati discreti è detta irriducibile se partendo da ogni stato $s_{i}$ c'è una probabilità maggiore di zero di raggiungere ogni altro stato $s_{j}$. Formalmente una catena di Markov è irriducibile se:
    $\forall s_{i},s_{j}\in S,\forall m\in \mathbb {N} ,\exists n\in \mathbb {N} :P\left(X_{m+n}=s_{j}|X_{m}=s_{i}\right)>0$.

### Stati ricorrenti positivi

Sia
    $T_{i}={\begin{cases}\min\{n\geq 1\ {\text{t.c}},\ X_{n}=s_{i}\}&{\text{se}}\ X_{n}=s_{i}\ {\text{per qualche}}\ n\geq 1\\+\infty &{\text{altrimenti}}\end{cases}}$
lo stato $s_{i}\in S$ si dice ricorrente positivo se $E(T_{i}|X_{0}=s_{i})=\mu _{i}<+\infty .$
Se una catena è irriducibile e un suo stato è ricorrente positivo allora tutti i suoi stati sono ricorrenti positivi, in tale caso la catena si dice ricorrente positiva.

### Distribuzioni stazionarie

Data una catena di Markov omogenea a stati discreti, una sua distribuzione stazionaria di probabilità, detta anche distribuzione di equilibrio, $\pi =\{\pi _{1}\ldots \pi _{n}\ldots \}$ è una distribuzione discreta di probabilità che soddisfa le seguenti:
* $\forall i\in S,\pi _{i}\geq 0$
* $\sum _{i\in S}\pi _{i}=1$
* $\forall j\in S,\sum _{i\in S}\pi _{i}P_{ij}=\pi _{j}$.
Informalmente una distribuzione stazionaria è una distribuzione di probabilità che si mantiene costante all'evolversi nel tempo della catena di Markov.
L'importanza delle distribuzioni stazionarie per le catene di Markov omogenee a stati discreti è data dai seguenti teoremi:
* Il teorema di esistenza e unicità afferma che data una catena di Markov omogenea a stati discreti con probabilità di transizione $P_{ij}$ e spazio degli stati $S$, se la catena di Markov è irriducibile e ricorrente positiva allora esiste un'unica distribuzione stazionaria $\pi$ per la catena di Markov.
* Il teorema della convergenza afferma che data una catena di Markov omogenea a stati discreti con probabilità di transizione $P_{ij}$ e spazio degli stati $S$, se la catena di Markov è irriducibile, aperiodica e ricorrente positiva allora la distribuzione di probabilità ${\tilde {\pi }}_{n}$ al tempo $t_{n}$, converge alla distribuzione stazionaria $\pi$ per ogni distribuzione iniziale di probabilità ${\tilde {\pi }}_{0}$ scelta. Si ha cioè
    $\forall {\tilde {\pi }}_{0},\forall i,j\in S,\lim _{n\to \infty }\sum _{i\in S}({\tilde {\pi }}_{0})_{i}(P^{(n)})_{ij}=\pi _{j}$.
La convergenza di una catena di Markov a una distribuzione stazionaria e la possibilità di costruire una catena con una distribuzione stazionaria scelta sono alla base del funzionamento dell'algoritmo di Metropolis-Hastings.

### Catene di Markov ergodiche

Una catena di Markov si definisce ergodica se e solo se per ogni istante iniziale $t_{0}$ e per ogni condizione iniziale di probabilità ${\tilde {\pi }}(t_{0})$ esiste ed è indipendente da $t_{0}$ e da ${\tilde {\pi }}(t_{0})$ il limite della probabilità per tempi infiniti
    $P=\lim _{t\to \infty }{\tilde {\pi }}(t)$.

## Applicazioni

* Molti algoritmi di Link Analysis Ranking si basano sulla teoria di processi markoviani. Ad esempio il PageRank inferito da Google si basa sulla frequenza a posteriori di transizione degli utenti da un sito web A a un sito B tramite i link che da A conducono a B e non sul semplice numero e tipo di collegamenti da A a B, in modo da rispecchiare la popolarità del legame per gli utenti e non l'importanza per il creatore del sito. Cioè la frequenza di un sito è un valore nell'intervallo [0,1] corrispondente alla quantità media di tempo spesa sul sito da un gran numero di utenti dopo un tempo abbastanza elevato: la frequenza, opportunamente riscalata, costituisce il Page Rank del sito. Dato che la frequenza di transizione approssima la probabilità di transizione si può stimare la distribuzione stazionaria di probabilità della catena di Markov formata da tutti i siti web, costruendo una matrice di transizione.
* Fa uso di modelli statistici markoviani anche un filone di modellistica del linguaggio naturale. Ad esempio nell'ambito della sintesi vocale lo CSELT è stato tra i precursori di questo filone, in particolare per la lingua italiana e le lingue latine.
* Diversi algoritmi previsionali in ambito economico, finanziario e di dinamica dei sistemi fanno uso dei processi markoviani.
Anche gran parte della modellistica di serie temporali in finanza si basa su processi stocastici generati da catene di Markov.

## Software

* In R, una libreria abbastanza completa è il pacchetto markovchain
* Una lista di pacchetti Python può essere trovata qui
* Mathematica ha sviluppato funzionalità ad hoc per le catene di Markov, a partire dalla versione 9.