Econometria progredita homeworks (consegna 18/11/2010) 1 Utilizzo del pacchetto R Gli esercizi di questo compito vanno scritti in un file di puro testo, nominati nomegruppo.R, che indirizzerete alla mia casella di posta. I file devono essere di questo tipo ################################################ #### Nome1 Cognome1, (Nome2, Cognome2, ecc. se più di uno) #### matricola1, (matricola2) #### Data ################################################ # Esercizio 1 # un po’ di commenti sull’esercizio (da 1 a 3 righe) tipo # definisco n il numero ecc. ecc. x la variabile che..., # devo trovare,... n <- 100 x <- seq(0,1,lenght=n) # eventuale spiegazione # adesso calcolo ecc. ecc. risultato <- t(x)%*%x # che è il risultato dell’esercizio. # Esercizio 2 ecc. ecc. 1 2 Esercizi di base con R 1. Scrivere un programma (1, 2 righe di codice) che calcoli la tabellina del 10, ovvero creare una matrice cosiffatta: [1,] [2,] [3,] [4,] [5,] [6,] [7,] [8,] [9,] [10,] [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] 1 2 3 4 5 6 7 8 9 10 2 4 6 8 10 12 14 16 18 20 3 6 9 12 15 18 21 24 27 30 4 8 12 16 20 24 28 32 36 40 5 10 15 20 25 30 35 40 45 50 6 12 18 24 30 36 42 48 54 60 7 14 21 28 35 42 49 56 63 70 8 16 24 32 40 48 56 64 72 80 9 18 27 36 45 54 63 72 81 90 10 20 30 40 50 60 70 80 90 100 suggerimento: usate il prodotto vettoriale %*% oppure la funzione outer (digitate ?outer per vedere l’help) 2. Sia x <- matrix(1:100,ncol=5) scrivere un funzione che calcoli il minimo e il massimo di ogni riga e ogni colonna. 3. Disegnare la funzione y= sin(x) x tra -1 e 1. 4. Sia x <- rnorm(10), (a) visualizzare x; (b) visualizzare x>0 e spiegarne il risultato; (c) visualizzare x[x>0] e spiegarne il risultato; (d) visualizzare which(x[x>0]) e spiegarne il risultato; (e) visualizzare sia x[x>0] e spiegarne il risultato; (f) visualizzare (x> -.5 & x<.5) e spiegarne il risultato; (g) visualizzare (x< -.5 | x>.5) e spiegarne il risultato; (h) definire y <- 0:9 (i) visualizzare y[(x< -.5 | x>.5)] e spiegarne il risultato; (j) visualizzare y[(x< -.5 | x>.5)] e spiegarne il risultato; (k) visualizzare cbind(x,y) e spiegarne il risultato; (l) visualizzare sort(x) e spiegarne il risultato; (m) visualizzare cbind(x,y,x+y)[order(x),] e spiegarne il risultato. 2 3 Esercizi con variabili aleatorie 1. Rifare gli esercizi 1, 2 e 3 del compito h3.pdf utilizzando R. Per ogni esercizio suggerisco di definire due vettori uno il vettore del supporto della variabile aleatoria e uno i relativi valori di probabilità. Ad esempio nell’esercizio 1, definire: x <- 0:3 px <- c(0.10,0.25,0.40,0.25) Il grafico di fX è plot(x,px,type=’h’,col=’red’) Usarli per calcolare i valori attesi, per esempio E(X): Ex <- sum(x*px) Per costruire le funzioni di ripartizione cercate nella guida la funzione cumsum; qui vi riporto un esempio > x <- c(.1,.5,.4) > cumsum(x) [1] 0.1 0.6 1.0 2. Rifare gli esercizi del compito h4.pdf , paragrafo intitolato “Variabili Aleatorie Discrete”, utilizzando R cercano di scrivere il minor numero di comandi possibile. 3. Sia X ∼ N (µ = 1, σ 2 = 3) in R: (a) disegnare la funzione di densità e la funzione di ripartizione di X; (b) calcolare la probabilità P (X ≤ 5); (c) calcolare la probabilità P (X > 0.1); (d) calcolare la probabilità P (0 < X ≤ 5); (e) disegnare in un grafico la funzione g1 (x) = P (X ≤ x), in funzione di x; (f) disegnare in un grafico la funzione g2 (x) = P (X > x), in funzione di x; (g) disegnare in un grafico la funzione g3 (x) = P (|X| ≤ |x|), in funzione di x; (h) trovare x∗ quel valore tale che P (X ≤ x∗ ) = 0.67; (i) trovare x∗∗ quel valore tale che P (X > x∗∗ ) = 0.67; (j) confrontare la relazione tra x∗ e x∗∗ con i valori di µ e σ; (k) trovare quel valor x∗ tale che P (x∗ < X ≤ 2) = 0.5; (l) ricalcolare tutti i punti precedenti (tranne i punti 3g e 3j) quando X ∼ Exp(λ), ovvero con funzione di densità: fX (x; λ) = λe−λx per λ = 1.5. Nota la densità della distribuzione esponenziale è calcolata dalla funzione dexp (digitate ?Exponential per vedere l’help) 3 4. Siano X1 , ..., Xn n VA IID, Xi ∼ Pois(λ = 3). Posti Sn = X1 + ... + Xn , X̄ = Sn . n Posto n = 25, simulare, con N = 1000 simulazioni, il teorema centrale del limite per Sn e per X̄, come esemplificato nello script presentato a lezione http://www.economia.unimore.it/frederic_patrizio/ecoprogr/R-intro.html 5. Rifare l’esercizio precedente dove Xi ∼ Exp(λ), con λ = 2. 6. Sia X una VA continua con supporto SX = [0, +∞) con funzione di densità: 1 fX (x; λ) = λ3 x2 exp(−λx), 2 dove λ > 0 è il parametro del modello. (a) Scrivere la funzione fX in R e disegnarla per diversi valori di λ. (b) Per la lode Trovare la funzione di ripartizione di fX . Z x f (t; λ)dt FX (x; λ) = 0 scrivere la funzione in R e disegnarla per diversi valori λ. (c) Guardate la funzione dgamma nell’help e osservate che dgamma(x,shape,rate) dipende da due parametri shape e rate. Disegnate la densità dgamma per diversi valori di shape e rate. suggerimento: consultate wikipedia per vedere la forma della distribuzione gamma (d) Osservare graficamente che dgamma(x,3,λ) coincide con fX (x; λ) suggerimento: disegnare sullo stesso grafico: fX al variare di alcuni valori di λ e dgamma(x,3,λ) di colore diverso osservando la coincidenza delle curve 4