MatLab per le S erie S toriche Bernardi Mauro Sapienza, University of Rome MEMOTEF Department April 3rd, 2014 1 / 20 Sommario Simulazione di variabili aleatorie Simulazione di processi ARMA La verosimiglianza Stima di massima verosimiglianza Previsione 2 / 20 Simulazione di variabili aleatorie L’ambiente Matlab fornisce un vasto numero di funzioni in grado di generare valori da alcune tra le pi` u note funzioni di densit`a di probabilit`a, discrete, come ad esempio la distribuzione di Bernoulli, la distribuzione Binomiale o la distribuzione di Poisson, oppure continue come la distribuzione di Gauss (Normale), o la distribuzione Student–t (Gosset, W.S.), oppure la distribuzione Chi–quadrato, univariate o multivariate. Proviamo a simulare alcune variabili casuali. Fissiamo innanzitutto il numero di reputazioni indipendenti e identicamente distribuite che vogliamo simulare n = 1000. Simuliamo quindi n = 1000 realizzazioni dalle seguenti variabili casuali: Normale ε i ∼ N µ, σ2 , Student–t ε i ∼ T µ, σ2 , ν , Chi–quadrato ε i ∼ χ (α, β) e Gamma ε i ∼ G (α, β). >> >> >> >> >> >> % definisce il numero di realizzazioni n=1000; % Normale dMu = 0.0; dSigma2 = 5.0; vEps_1 = dMu + sqrt(dSigma2) * randn(n, 1); 3 / 20 Metodi di simulazione Cerchiamo di approfondire come `e stato possibile generare un numero casuale da una certa distribuzione di probabilit`a. Uno dei metodi pi` u noti `e il metodo della funzione di ripartizione inversa che consiste nel simulare un numero da una distribuzione uniforme u ∼ U[0,1] e nel trasformarlo utilizzando la funzione di ripartizione inversa, ovvero x = FX−1 (u ), dove FX (x ) `e la funzione di ripartizione della variabile aleatoria X . Example Consideriamo la distribuzione Esponenziale Y ∼ E (λ), con densit`a di probabilit`a fX (x ) = λe −λx e cdf FX (x ) = 1 − e −λx . La funzione di ripartizione inversa `e: x=− log (1 − u ) log (u ) =− , λ λ u ∼ U[0,1] . Ma come facciamo a generare una realizzazione da una variabile casuale la cui cdf non `e nota in forma esplicita e pertanto non invertibile? Ad esempio la Gaussiana. 4 / 20 Simulazione da una Gaussiana multivariata Consideriamo una variabile casuale Gaussiana multivariata di dimensione d, con media µ e matrici di varianze e covarianze Σ, ovvero X ∼ Nd (µ, Σ). Un semplice metodo per simulare da questa distribuzione multivariata consiste nel considerare la trasformazione seguente X = µ + ΩZ, Z ∼ Nd (0, Id ) (1) e la matrice Ω `e tale per cui ΩΩT = Σ. 5 / 20 Simulazione da una Gaussiana multivariata troncata Consideriamo una variabile casuale Gaussiana multivariata troncata di dimensione d, con media µ e matrici di varianze e covarianze Σ, ovvero X ∼ Nd (µ, Σ) IAx≤b (x), dove il sistema di disequazioni Ax ≤ b definisce il troncamento della variabile, ovvero la regione di valori ammissibili per X. In questo caso il metodo precedente per la simulazione da variabili casuali Normali multivariate non `e applicabile. Per descrivere il metodo che possiamo utilizzare nel caso di generazione da Normali troncate consideriamo un esempio bivaccato. Example X1 X2 ∼ N2 µ1 µ2 , σ12 ρσ1 σ2 ρσ1 σ2 σ22 IX1 ≤b1 ,X2 ≤b2 (x1 , x2 ) 6 / 20 Simulazione da una Gaussiana multivariata troncata In generale il teorema della Normal condizionata, ci fornisce la distribuzione delle variabili casuali X1 | X2 e X2 | X1 che sono X1 | X2 ∼ N1 µ1|2 , σ12|2 X2 | X1 ∼ N1 µ2|1 , σ22|1 (2) (3) con momenti µ 1|2 σ12|2 ρσ = µ1 + 1 (X2 − µ2 ) σ 2 2 = σ1 1 − ρ2 . (4) (5) Le distribuzioni condizionate ci forniscono un metodo semplice per simulare dalla distribuzione congiunta in particolare quando la variabili sono troncate. 7 / 20 Algoritmo Inizializziamo il contatore delle simulazioni i = 1, e simuliamo un valore accettabile dalla variabile casuale X1 . Successivamente, per i = 2, 3, . . . (i ) (i ) 1. simuliamo X2 ∼ N µ2|1 , σ2|1 IX2 ≤b2 (x2 ) (i ) µ 2|1 σ1|2 ρσ (i −1) − µ1 = µ2 + 2 X1 σ 1 2 = σ2 1 − ρ2 (i ) (i ) 2. simuliamo X1 ∼ N µ1|2 , σ1|2 IX1 ≤b1 (x1 ) (i ) µ 1|2 σ1|2 ρσ (i ) = µ1 + 1 X2 − µ2 σ 2 = σ12 1 − ρ2 (6) che completano uno step dell’algoritmo Gibbs sampler. 8 / 20 Simulare una Normale univariata troncata Un semplice metodo per simulare una distribuzione Normale troncata consiste nell’applicare il troncamento alla generazione della distribuzione Uniforme di partenza, come nell’esempio che segue. Example Supponiamo di voler simulare dalla seguente variabile casuale Normale X ∼ N1 µ, σ2 Ia≤X ≤b (x ). Sar`a sufficiente simulare una variabile u ∼ U[Φ−1 (a),Φ−1 (b )] e poi applicare il metodo descritto in precedenza. 9 / 20 Simulare un processo AR Consideriamo il semplice seguente provesso AR(1), yt = µ + φyt −1 + ε t , con ε t ∼ N 0, σε2 , per t = 1, 2, . . . Per simulare questo processo `e sufficiente definire un punto di partenza dell’equazione ricorsiva y0 e simulare i disturbi Gaussiani ε t , per t = 1, 2, . . . , T . Ad esempio consideriamo µ = 0, φ = 0.8, σε2 = 1 e T = 200. >> >> >> >> >> >> >> >> % definisce il numero di realizzazioni T=200; % parametri dMu = 0.0; dPhi=0.8; dSigma2=1.0; vY=zeros(T, 1); for it=1:T vY(it)=dMu+dPhi*vY(it-1)+\sqrt(dSigma2)*randn(1,1); end; >> plot(vY, ’r’); 10 / 20 Simulare un processo AR(p) Consideriamo il semplice seguente provesso AR(p), con p > 1 finito, yt = µ + ∑pj=1 φj yt −j + ε t , con ε t ∼ N 0, σε2 , per t = 1, 2, . . . Per simulare questo processo `e sufficiente definire una serie di punt di partenza dell’equazione ricorsiva y0 , y−1 , . . . , y−p +1 e simulare i disturbi Gaussiani ε t , per t = 1, 2, . . . , T . Ad esempio consideriamo un processo AR(2), quindi p = 2, con µ = 0, φ1 = 0.8, φ2 = −0.5, σε2 = 1 e T = 200. Per semplicit`a fissiamo le condizioni iniziali a zero (y0 = 0, y−1 = 0). 11 / 20 Simulare un processo MA(q) Consideriamo il semplice seguente provesso MA(q), con q ≥ 1 finito, yt = µ + ∑pj=1 θj ε t −j + ε t , con ε t ∼ N 0, σε2 , per t = 1, 2, . . . Per simulare questo processo `e sufficiente simulare ε 0 , ε −1 , . . . , ε −q +1 disturbi iniziali ciascuno da una distribuzione ε h ∼ N1 0, σε2 , per h = 0, −1, −2 . . . , −q + 1 e poi procedere ricorsivamente come nel caso del processo AR(p) definito in precedenza. Ad esempio consideriamo un processo AR(2), quindi p = 2, con µ = 0, φ1 = 0.8, φ2 = −0.5, σε2 = 1 e T = 200. Per semplicit`a fissiamo le condizioni iniziali a zero (y0 = 0, y−1 = 0). 12 / 20 ACF e PACF Dato un generico processo stocastico {Xt , t ∈ Z}, la funzione di autocovarianza al lag h misura la correlazione esistente tra la variabile casuale Xt e la stessa variabile ritardata di h periodi, con h = ±0, ±1, ±2, . . . , ovvero C (Xt , Xt −h ) p γ (h ) = Corr (Xt , Xt −h ) ≡ √ VXt VXt −h (7) mentre la funzione di autocorrelazione parziale misura la correlazione esistente tra la variabile casuale Xt e la stessa variabile ritardata di h periodi, al netto dell’effetto delle variabili intermedie {Xt −1 , Xt −2 , . . . , Xt −h+1 }, ovvero al netto della correlazione di (Xt , Xt −h ) con le variabili intermedie P (h ) = Corr (Xt , Xt −h | Xt −1 , Xt −2 , . . . , Xt −h+1 ) . (8) 13 / 20 Propriet`a della ACF Dato un generico processo stocastico {Xt , t ∈ Z} stazionario in covarianza, la funzione di autocovarianza al lag h γ (h ) = Corr (Xt , Xt −h ) = Ch C0 (9) e gode delle seguenti proprie`a: 14 / 20 Propriet`a della PACF Dato un generico processo stocastico {Xt , t ∈ Z} stazionario in covarianza, la funzione di autocorrelazione parziale al lag h si pu`o definire nel modo seguente: πh ≡ Corr (ε t , ε t −h ) (10) dove εt ε t −h = Xt − E (Xt | Xt −1 , Xt −2 , . . . , Xt −h+1 ) = Xt −h − E (Xt −h | Xt −1 , Xt −2 , . . . , Xt −h+1 ) (11) (12) e gode delle seguenti propriet`a: 15 / 20 Stima di ACF e PACF Dato un campione finito di osservazioni x1 , x2 , . . . , xT realizzazioni di un generico processo stocastico {Xt , t ∈ Z} supposto stazionario in covarianza, la funzione di autocorrelazione parziale al lag h si pu`o definire nel modo seguente: πh ≡ Corr (ε t , ε t −h ) (13) dove εt ε t −h = Xt − E (Xt | Xt −1 , Xt −2 , . . . , Xt −h+1 ) = Xt −h − E (Xt −h | Xt −1 , Xt −2 , . . . , Xt −h+1 ) (14) (15) e gode delle seguenti propriet`a: 16 / 20 La funzione di verosimiglianza di un processo AR(1) Consideriamo il semplice seguente provesso AR(1), yt = µ + φyt −1 + ε t , con ε t ∼ N 0, σε2 , per t = 1, 2, . . . La funzione di log–verosimiglianza condizionata del processo pu essere scritta nel seguente modo: ` (θ, y2:T ) = log f (y1 , y2 , . . . , yT , θ ) (16) T = ∑ log ft (yt | yt −1 , θ ) (17) " # T b2 1 εt 2 log σε + ∑ C− 2 2 t =2 σε (18) t =2 = dove θ = µ, φ, σε2 , C = − T2 log (2π ) e b ε t = (yt − µ − φyt −1 ), per t = 2, 3, . . . , T . 17 / 20 Maximum likelihood estimation Consideriamo il semplice seguente provesso autoregressivo di ordine 1 Gaussiano, Yt = µ + φYt −1 + ε t , con ε t ∼ N 0, σε2 , per t = 1, 2, . . . La stima di massima verosimiglianza dei parametri θ = µ, φ, σε2 si ottiene massimizzando la funzione di log–verosimiglianza condizionata rispetto a θ: arg max ` (θ, y2 , y3 , . . . , yT ) , (19) θ dove (y2 , . . . , yT ) `e un campione di realizzazioni del processo AR(1). 18 / 20 Previsione Example Consideriamo il seguente processo {Zt , t ≥ 1} 1 + θ1 L + θ2 L2 Zt = et (20) con θ1 = −1.8 e θ2 = 0.8, ovvero Zt = 1.8Zt −1 − 0.8Zt −2 + et . (21) La funzione di previsione (Difference Equation Form) al tempo t `e: = 1.8zt − 0.8zt −1 = 1.8ˆzt (1) − 0.8zt zˆt (k ) = 1.8ˆzt (k − 1) − 0.8ˆzt (k − 2) , zˆt (1) (22) zˆt (2) (23) ∀k = 3, 4, . . . (24) 19 / 20 Intervalli di confidenza della previsione Consideriamo l’esempio precedente. Vogliamo calcolare la varianza dell’errore di previsione k–steps ahead V (k ) = V [zt +k − zˆ (k )] ! k −1 = 1+ ∑ ψj2 σe2 , (25) (26) j =1 dove σe2 = V (ε t ) e i pesi ψj , j = 1, 2, . . . , k − 1 si ottengono risolvendo (27) 1 + θ1 L + θ2 L2 (1 + ψ1 L + ψ2 L + . . . ) = 1 e uguagliando i coefficienti di pari grado del polinomio in L otteniamo ψ0 ψ1 ψk = 1 = θ1 = −θ1 ψk −1 + θ2 ψk −2 (28) (29) ∀k = 2, 3, 4, . . . (30) 20 / 20
© Copyright 2024 Paperzz