Strumenti Utente

Strumenti Sito


informazione_mutua_puntuale

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Entrambe le parti precedenti la revisione Revisione precedente
Prossima revisione
Revisione precedente
informazione_mutua_puntuale [2021/06/03 16:43]
31.156.199.251
informazione_mutua_puntuale [2026/04/30 08:44] (versione attuale)
admin
Linea 27: Linea 27:
 5b)\hspace{4pt} IMP\hspace{4pt}=\hspace{4pt} 5b)\hspace{4pt} IMP\hspace{4pt}=\hspace{4pt}
 log_{2}\hspace{4pt}\frac{1}{P(x=a)}\hspace{4pt}+\hspace{4pt}log_{2}\hspace{4pt}\frac{1}{P(x=b)}\hspace{4pt} log_{2}\hspace{4pt}\frac{1}{P(x=a)}\hspace{4pt}+\hspace{4pt}log_{2}\hspace{4pt}\frac{1}{P(x=b)}\hspace{4pt}
-+\hspace{4pt} log_{2}\hspace{4pt} P(x_{t}=a,\hspace{4pt}x_{t+1}=b)  \hspace{4pt} = \hspace{4pt} ++\hspace{4pt} log_{2}\hspace{4pt} P(x_{t}=a,\hspace{4pt}x_{t+1}=b)  \hspace{4pt} =$$ 
 +$$= \hspace{4pt} 
  
 I(x=a)+I(x=b)-I(x_{t}=a,\hspace{4pt}x_{t+1}=b) I(x=a)+I(x=b)-I(x_{t}=a,\hspace{4pt}x_{t+1}=b)
 $$ $$
  
-$$ 
-5b)\hspace{4pt} IMP\hspace{4pt}=\hspace{4pt} 
-log_{2}\hspace{4pt}\frac{1}{P(x=a)}\hspace{4pt}+\hspace{4pt}log_{2}\hspace{4pt}\frac{1}{P(x=b)}\hspace{4pt} 
-+\hspace{4pt} log_{2}\hspace{4pt} P(x_{t}=a,\hspace{4pt}x_{t+1}=b)  \hspace{4pt} = \hspace{4pt}  
- 
-I(x=a)+I(x=b)-I(x_{t}=a,\hspace{4pt}x_{t+1}=b) 
-$$ 
 ===== Comportamento dell'informazione mutua puntuale ===== ===== Comportamento dell'informazione mutua puntuale =====
 Se le probabilità dei due elementi del bigramma sono perfettamente indipendenti l'una dall'altra allora: Se le probabilità dei due elementi del bigramma sono perfettamente indipendenti l'una dall'altra allora:
Linea 59: Linea 53:
 ====== Funzioni in python ====== ====== Funzioni in python ======
 <code python imp.py> <code python imp.py>
 +import re
 +from numpy import log2
 +
 +#preparazione del testo "Pinocchio"
 +f=open('collodi_pinocchio.txt', mode='r', encoding='iso-8859-1')
 +testo=f.read()
 +testo=testo[1704:]
 +testo=re.sub("'","' ", testo)
 +testo=re.sub('[.,;:\-?!]','',testo)
 +testo=testo.lower()
 +testo=testo.split()
 +
 +#funzioni
 +def NGRAMMI (n, testo):
 +    return [tuple(testo[i:i+n]) for i in range(len(testo)+1-n)]
 +def I (x, testo):
 +    return -log2(testo.count(x)/len(testo))  
 +def P (x, testo):
 +    return testo.count(x)/len(testo)   
 +def IMP (a,b,testo):
 +    bigrammi = NGRAMMI(2,testo)
 +    return log2(P((a,b),bigrammi)/(P(a,testo)*P(b,testo)))
 +    #return I(a,testo) + I(b,testo)-I((a,b),bigrammi)
 +    
 +#test
 +print("IMP di 'il burattino'")
 +print(IMP('il', 'burattino', testo))
 +print("\n")
 +
 +print("IMP di 'capelli turchini'")
 +print(IMP('capelli', 'turchini', testo))
 +print("\n")
 +
 +print("IMP di 'è di'")
 +print(IMP('è', 'di', testo))
 +print("\n")
 +</code>
 +
 +
 +
 +<code python imp-old.py>
 import re import re
 from numpy import log2 from numpy import log2
informazione_mutua_puntuale.1622738621.txt.gz · Ultima modifica: 2021/06/03 16:43 da 31.156.199.251