# PUNTO 5 ------------------------------------------------
HW 04 - MLE, informazione di Fisher e approssimazione quadratica
Data di consegna: giovedì 7 maggio 2026
Introduzione
In questo compito utilizzerai le regole e i comandi utili per:
- ricavare la stima di massima verosimiglianza e l’informazione osservata di Fisher per il modello di Poisson
- costruire l’approssimazione quadratica della log-verosimiglianza attorno allo stimatore MLE
- lavorare con la funzione di verosimiglianza e log-verosimiglianza relative
- visualizzare come cambia il profilo di log-verosimiglianza e la sua approssimazione quadratica al variare di \(n\) e di \(\lambda\)
Obiettivi di apprendimento
Lo svolgimento di questo compito ti permetterà di:
- derivare analiticamente \(\hat{\lambda}_{MLE}\) e l’informazione osservata di Fisher \(j(\hat{\lambda})\) per il modello di Poisson
- costruire l’approssimazione quadratica della log-verosimiglianza e interpretarla geometricamente
- lavorare con la log-verosimiglianza relativa per rendere confrontabili profili ottenuti da campioni diversi
- implementare in R funzioni modulari per la log-verosimiglianza, la sua approssimazione quadratica e la verosimiglianza relativa
Istruzioni per l’uso
Esercizi carta e penna
Rispondi ai vari punti su un foglio in cui scrivi chiaramente cognome, nome e matricola e numero del compito: ad esempio nel mio caso sarebbe Vistocco Domenico, matricola 123456, soluzione compito
#04Per rispondere ad ogni punto scrivi chiaramente il punto cui stai rispondendo. Ad esempio, per rispondere al punto 1 del compito, scrivi
RISPOSTA PUNTO 1
Esercizi in R
Rispondi ai vari punti salvando le risposte in un file R con il nome “hw04_cognome_nome.R”: ad esempio nel mio caso il nome del file sarebbe “hw04_vistocco_domenico.R”.
Per rispondere ad ogni punto inserisci un’etichetta di sezione (che puoi inserire nello script usando la combinazione di tasti CTRL/CMD + SHIFT + R) utilizzando il punto cui stai rispondendo. Ad esempio, per rispondere al punto 5 del compito, usa un’etichetta di sezione:
Utilizza i commenti per rispondere alle domande in cui viene chiesta un’interpretazione da parte tua: lo script deve cioè essere funzionante quando si eseguono tutti i comandi con il pulsante Source.
Lo script viene valutato sia in base alla correttezza del codice che in base alla qualità (stile utilizzato per rendere lo script leggibile ed ordinato).
Esercizi
Parte 1: esercizi carta e penna
Sia \(\mathbf{x} = (x_1, \ldots, x_n)\) un campione casuale estratto da un DGP poissoniano con parametro \(\lambda > 0\), dove \(P(X = x) = \frac{e^{-\lambda}\lambda^x}{x!}\).
Scrivi la funzione di log-verosimiglianza \(\ell(\lambda \mid \mathbf{x})\) per il modello di Poisson (puoi riprendere il risultato dell’HW 02, Esercizio 2d).
Calcola la derivata prima \(\ell'(\lambda \mid \mathbf{x})\), ponila uguale a zero e ricava lo stimatore di massima verosimiglianza \(\hat{\lambda}\). Verifica con la derivata seconda che si tratti di un massimo.
Calcola la derivata seconda \(\ell''(\lambda \mid \mathbf{x})\) e ricava l’informazione osservata di Fisher: \[j(\hat{\lambda}) = -\ell''(\hat{\lambda} \mid \mathbf{x})\] Esprimi \(j(\hat{\lambda})\) in funzione di \(n\) e di \(\hat{\lambda}\) e commenta: come varia la quantità di informazione al crescere di \(n\)? E al crescere di \(\hat{\lambda}\)?
Scrivi l’approssimazione quadratica della log-verosimiglianza attorno a \(\hat{\lambda}\), usando lo sviluppo di Taylor al secondo ordine: \[\ell(\lambda \mid \mathbf{x}) \approx \ell(\hat{\lambda} \mid \mathbf{x}) - \frac{1}{2}\, j(\hat{\lambda})\,(\lambda - \hat{\lambda})^2\] Osserva la forma di questa espressione in \(\lambda\): di che tipo di funzione si tratta? Qual è il suo vertice? Qual è il ruolo di \(j(\hat{\lambda})\) nel determinare la “larghezza” della curva attorno al massimo?
Scrivi la funzione di log-verosimiglianza relativa \(\tilde{\ell}(\lambda \mid \mathbf{x}) = \ell(\lambda \mid \mathbf{x}) - \ell(\hat{\lambda} \mid \mathbf{x})\) e la corrispondente approssimazione quadratica relativa. Qual è il valore di \(\tilde{\ell}\) nel punto \(\lambda = \hat{\lambda}\)? Perché lavorare sulla scala relativa facilita il confronto tra campioni diversi?
Il seguente campione è stato osservato in un contesto in cui si assume un DGP poissoniano: \[\mathbf{x} = (2,\; 0,\; 1,\; 3,\; 2,\; 4,\; 1,\; 2,\; 0,\; 3)\]
Calcola a mano \(\hat{\lambda}\) e \(j(\hat{\lambda})\) per questo campione usando le formule ricavate nell’Esercizio 1.
Scrivi esplicitamente l’approssimazione quadratica relativa della log-verosimiglianza per questo campione, sostituendo i valori numerici calcolati al punto (a).
Valuta l’approssimazione quadratica relativa nei punti \(\lambda = 1{,}5\) e \(\lambda = 2{,}5\) e confronta i valori ottenuti con quelli della log-verosimiglianza relativa esatta (puoi usare R per il calcolo della log-verosimiglianza esatta se preferisci).
Parte 2: esercizi in R
Costruisci in R una libreria di funzioni modulari per lavorare con la verosimiglianza del modello di Poisson.
Scrivi le seguenti tre funzioni:
loglik_poisson(x, lambda): log-verosimiglianza del modello di Poisson (puoi riprendere quella scritta nell’HW 02).loglik_rel_poisson(x, lambda): log-verosimiglianza relativa, ottenuta sottraendo il valore nel massimo. Deve restituire 0 quandolambda = mean(x).quadr_approx_poisson(x, lambda): approssimazione quadratica relativa della log-verosimiglianza, basata sulla formula ricavata nell’Esercizio 1.
Verifica le tre funzioni sul campione dell’Esercizio 2: calcola i valori nei punti \(\lambda \in \{1{,}5,\; \hat{\lambda},\; 2{,}5\}\) e controlla che i risultati siano coerenti con quelli ottenuti a mano.
Usando le funzioni costruite nell’Esercizio 3, studia come cambia il profilo di log-verosimiglianza relativa e la sua approssimazione quadratica al crescere di \(n\), tenendo fisso il valore del parametro vero.
Genera quattro campioni da una \(\text{Poisson}(\lambda = 2)\) con numerosità crescente, fissando i semi indicati:
set.seed(1); x10 <- rpois(10, lambda = 2) set.seed(1); x50 <- rpois(50, lambda = 2) set.seed(1); x150 <- rpois(150, lambda = 2) set.seed(1); x500 <- rpois(500, lambda = 2)Per ciascun campione, rappresenta in un grafico diviso in quattro pannelli (\(2 \times 2\)):
- il profilo di log-verosimiglianza relativa su una griglia \(\lambda \in (0{,}5,\; 5)\) (linea continua nera)
- la corrispondente approssimazione quadratica relativa (linea tratteggiata rossa)
- una linea orizzontale tratteggiata grigia in corrispondenza di \(\tilde{\ell} = -2\) (soglia di riferimento utile per la stima per intervallo)
Fissa l’asse \(y\) nello stesso intervallo per tutti e quattro i pannelli (ad esempio
ylim = c(-10, 0.5)) per favorire il confronto. Aggiungi a ogni pannello il titolo con il valore di \(n\) e di \(\hat{\lambda}\).Commenta: come cambia la precisione dell’approssimazione quadratica al crescere di \(n\)? In quale pannello l’approssimazione è più fedele e perché?
Usa map_dbl per valutare le funzioni sulla griglia e par(mfrow = c(2, 2)) per il layout a pannelli. Ricorda di aggiungere lines(...) per sovrapporre la curva dell’approssimazione quadratica al grafico della log-verosimiglianza relativa.
Studia ora come cambia il profilo di log-verosimiglianza relativa e la sua approssimazione quadratica al variare di \(\lambda\), tenendo fisso \(n\).
Fissa \(n = 30\) e genera quattro campioni da distribuzioni di Poisson con parametri diversi, fissando i semi indicati:
set.seed(42); x_l1 <- rpois(30, lambda = 0.5) set.seed(42); x_l2 <- rpois(30, lambda = 2) set.seed(42); x_l3 <- rpois(30, lambda = 5) set.seed(42); x_l4 <- rpois(30, lambda = 10)Per ciascun campione, costruisci un grafico diviso in quattro pannelli con lo stesso contenuto descritto nell’Esercizio 4b. Adatta la griglia di valori \(\lambda\) a ciascun pannello in modo che copra una regione significativa attorno a \(\hat{\lambda}\). Mantieni lo stesso intervallo sull’asse \(y\) per tutti i pannelli (
ylim = c(-10, 0.5)).Commenta: come cambia la forma del profilo di log-verosimiglianza relativa al variare di \(\lambda\)? L’approssimazione quadratica è ugualmente accurata per tutti i valori di \(\lambda\)? Come si collega questo risultato al valore dell’informazione osservata di Fisher ricavata nell’Esercizio 1c?
Per costruire una griglia adattiva attorno a \(\hat{\lambda}\) puoi usare:
lambda_hat <- mean(x)
lambda_grid <- seq(max(0.01, lambda_hat - 4 * sqrt(lambda_hat / n)),
lambda_hat + 4 * sqrt(lambda_hat / n),
length.out = 500)dove \(\sqrt{\hat{\lambda}/n}\) è un’approssimazione della deviazione standard di \(\hat{\lambda}\).
Consegna
Puoi inviare la tua soluzione scannerizzando i fogli relativi agli esercizi carta e penna, comprimendo il file ottenuto insieme al file
.Rin un file.zipe caricando il file in risposta al compito assegnato su Teams.Puoi consegnare al docente il compito svolto in aula durante la lezione del martedì, stampando il file
.Re consegnandolo insieme alle soluzioni agli esercizi numerici. In questo caso, in risposta al compito assegnato su Teams carica un file di testo o MS-Word scrivendo semplicementeconsegnato in aula.
Valutazione
Totale punti disponibili: 110 punti
| Componente | Punti |
|---|---|
| Es 1 - 5 | 100 |
| Workflow & formattazione | 101 |
Footnotes
La valutazione al “Workflow & formattazione” tiene conto:
- per gli esercizicarta e penna, dell’ordine con cui svolgi gli esercizi e delle argomentazioni date alle risposte aperte
- per gli esercizi suR, del principio di riproducibilità del codice: lo script caricato deve funzionare senza errori su qualunque PC dando gli stessi risultati↩︎