Advertisement
VRonin

Stata Assignment 1 Econometria

Mar 21st, 2012
190
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 21.20 KB | None | 0 0
  1. /***************************************************************************\
  2. * *
  3. * Corso di laurea in "Discipline Economiche e Sociali" *
  4. * Classe 19 *
  5. * Corso 20203: Analisi Econometrica *
  6. * Assignment 1 *
  7. * Gruppo 2: *
  8. * Baudo Riccardo - 1347293 *
  9. * Belardinelli Paolo - 1610476 *
  10. * Beldì Luca - 1351030 *
  11. * *
  12. \***************************************************************************/
  13.  
  14.  
  15.  
  16. set more off
  17. set linesize 125
  18. use assignment.dta, clear
  19. quietly capture log close
  20. quietly log using assignment_log, replace
  21.  
  22.  
  23. //Question 1:
  24. summarize
  25. /***************************************************************************\
  26. * *
  27. * Il dataset presenta 5 variabili: *
  28. * 1) y - Indica l'output di ogni impresa *
  29. * 2) x1 - Indica il primo fattore produttivo usato dall'impresa *
  30. * 3) x2 - Indica il secondo fattore produttivo *
  31. * 4) z - Rappresenta la diagonale della matrice proporzionale alla *
  32. * varianza dei residui nel modello GLS *
  33. * 5) sector - è una variabile indicatrice del settore di appartenenza di *
  34. * ciascuna impresa *
  35. * *
  36. \***************************************************************************/
  37.  
  38.  
  39.  
  40. //Question 2 (a):
  41.  
  42. gen ln_y= ln(y)
  43. gen ln_x1= ln(x2)
  44. gen ln_x2= ln(x1)
  45. /***************************************************************************\
  46. * *
  47. * Effettuiamo una trasformazione logaritmica delle variabili. Ci siamo *
  48. * ricondotti alla costruzione di un modello Cobb-Douglas in cui i *
  49. * coefficienti beta possono essere interpretati come elasticitˆ dell'output *
  50. * ad un fattore produttivo. *
  51. * Es: il coefficiente di ln_x2 indicherà che a una variazione dell'1% del *
  52. * secondo fattore produttivo corrisponderà una variazione % *
  53. * dell'output pari al coefficiente di ln_x2 stesso. *
  54. * *
  55. \***************************************************************************/
  56.  
  57.  
  58.  
  59. // Question 2 (b):
  60. regress ln_y ln_x1 ln_x2
  61. /***************************************************************************\
  62. * *
  63. * Avendo incluso la variabile nel modello, possiamo considerare il *
  64. * coefficente R^2 come una misura della capacita' esplicativa del modello *
  65. * e appare essere particolarmente alto (81.68%). *
  66. * I test di significatività sui parametri portano a rifiutare l'ipotesi *
  67. * di mancata significatività sia congiunta sia individuale dei parametri *
  68. * ad ogni ragionevole livello di significatività. *
  69. * *
  70. \***************************************************************************/
  71.  
  72.  
  73.  
  74. //Question 3:
  75. test ln_x1 + ln_x2 = 1
  76. /***************************************************************************\
  77. * *
  78. * Il test non porta a rifiutare l'ipotesi di rendimenti di scala costanti *
  79. * a nessun ragionevole livello di significatività. *
  80. * Si può affermare che l'output aumenta in misura pari a quella *
  81. * dell'aumento congiunto dei fattori produttivi. *
  82. * Ad esempio il raddoppio di entrambi gli input comporta il raddoppio *
  83. * dell'output *
  84. * *
  85. \***************************************************************************/
  86.  
  87.  
  88.  
  89. //Question 4:
  90. /***************************************************************************\
  91. * *
  92. * 1) All'equazione che descrive il modello generale: *
  93. * ln_y = b0 + ln_x1*b1 + ln_x2*b2 + e *
  94. * 2) Applichiamo il vincolo b2 = 1 - b1 *
  95. * 3) Ottenendo la seguente riparametrizzazione: *
  96. * ln_y = b0 + ln_x1*b1 + ln_x2(1-b1) + e *
  97. * ln_y = b0 + ln_x1*b1 + ln_x2 - ln_x2*b1 + e *
  98. * ln_y = b0 + (ln_x1-ln_x2)b1 + ln_x2 + e *
  99. * 4) Sottraiamo x_2 a entrambi i membri *
  100. * ln_y - ln_x2 = b0 + (ln_x1-ln_x2)b1 + e *
  101. * 5) Stimiamo i coefficienti OLS del modello *
  102. * ln_y - ln_x2 = b0 + (ln_x1-ln_x2)b1 + ln_x2*b3 + e *
  103. * 6) Eseguiamo il test di esclusione relativo a b3 *
  104. * *
  105. \***************************************************************************/
  106. generate ln_x3=ln_x1-ln_x2
  107. generate ln_y3=ln_y-ln_x2
  108. regress ln_y3 ln_x3 ln_x2
  109. test ln_x2=0
  110. /***************************************************************************\
  111. * *
  112. * Senza alcuna sorpresa il test fornisce gli stessi risultati del *
  113. * precedente (Question 3) *
  114. * *
  115. \***************************************************************************/
  116.  
  117.  
  118.  
  119. //Question 5 (a):
  120. quietly capture do "http://fmwww.bc.edu/repec/bocode/w/whitetst.ado"
  121. whitetst
  122. /***************************************************************************\
  123. * *
  124. * Il test ci porta a rifiutare l'ipotesi nulla di omoschedasticità *
  125. * anche per livelli di significatività molto bassi. *
  126. * Possiamo affermare che il campione *
  127. * mostra segni di eteroschedasticità di tipo White. Gli stimatori della *
  128. * matrice varianza-covarianza dei coefficienti OLS sono quindi distorti e, *
  129. * di conseguenza, anche i test di significatività degli stessi parametri *
  130. * *
  131. \***************************************************************************/
  132.  
  133. //Question 5 (b):
  134. regress ln_y ln_x1 ln_x2, vce(robust)
  135. /***************************************************************************\
  136. * *
  137. * La stima robusta della matrice di varianza-covarianza dei residui porta a *
  138. * stime delle deviazioni standard dei coefficienti OLS relativi ai fattori *
  139. * produttivi più elevate che nel caso precedente, ma i test di *
  140. * significatività sui parametri ci portano alle stesse conclusioni del *
  141. * caso precedente *
  142. * *
  143. \***************************************************************************/
  144. test ln_x1 + ln_x2 = 1
  145. regress ln_y3 ln_x3 ln_x2, vce(robust)
  146. test ln_x2
  147. /***************************************************************************\
  148. * *
  149. * L'ipotesi di rendimenti di scala costanti, come nel caso precedente, *
  150. * non viene rifiutata *
  151. * *
  152. \***************************************************************************/
  153.  
  154.  
  155.  
  156. //Question 6:
  157. /***************************************************************************\
  158. * *
  159. * Prepariamo le variabili pesandole per la radice quadrata di z *
  160. * *
  161. \***************************************************************************/
  162. generate wei_y=ln_y/sqrt(z)
  163. generate wei_x1=ln_x1/sqrt(z)
  164. generate wei_x2=ln_x2/sqrt(z)
  165. generate unity=1
  166. generate wei_unity= unity/sqrt(z)
  167. /***************************************************************************\
  168. * *
  169. * Ora procediamo alla regressione della variabile dipendente pesata sui *
  170. * logaritmi dei fattori produttivi pesati *
  171. * *
  172. \***************************************************************************/
  173. regress wei_y wei_unity wei_x1 wei_x2, noconstant
  174. test wei_x1 + wei_x2 = 1
  175. /***************************************************************************\
  176. * *
  177. * L'ipotesi di rendimenti di scala costanti, ancora una volta, non può *
  178. * essere rifiutata *
  179. * *
  180. \***************************************************************************/
  181. quietly regress
  182. /***************************************************************************\
  183. * *
  184. * Essendo Var(e/sqrt(z))=sigma^2 *
  185. * Lo stimatore per sigma^2 è dato dalla somma degli errori pesati divisi *
  186. * per i loro gradi di libertà (403), da cui la stima pari a *
  187. * *
  188. \***************************************************************************/
  189.  
  190. display e(rmse)^2
  191.  
  192. //Question 7:
  193. /***************************************************************************\
  194. * *
  195. * Definito il bias come "E(b_omitted)-beta" procediamo alla costruzione di *
  196. * uno stimatore di tale quantità utilizzando due metodi: *
  197. * *
  198. * Metodo 1: *
  199. * 1) Si può dimostrare che il bias dovuto all'omissione di ln_x2 equivale *
  200. * al vettore dei coefficienti OLS stimati derivanti dalla regressione *
  201. * di ln_x2*b_2 su ln_x1 e la costante, dove b_2 è il coefficiente OLS *
  202. * (quindi non distorto) per beta_2. *
  203. * 2) Procediamo alla costruzione della variabile ln_x2*b_2. *
  204. * 3) Regrediamo ln_x2*b_2 su ln_x1 e una costante. *
  205. * 4) I coefficienti ottenuti corrisponderanno alle rispettive distorsioni *
  206. * dovute alla variabile omessa. *
  207. * *
  208. * Metodo 2: *
  209. * 1) Sostituiamo a beta, in "E(b_omitted)-beta", un suo stimatore non *
  210. * distorto, in questo caso lo stimatore OLS della regressione completa.*
  211. * Lo stimatore così costruito gode della proprietà di non distorsione *
  212. * in quanto E(E(b_omitted)-b_ols)=E(b_omitted)-beta. *
  213. * 2) Per procedere alla stima costruiamo la regressione OLS senza omis- *
  214. * -sione della variabile ln_x2 e ne salviamo i coefficienti b stimati. *
  215. * 3) Successivamente procediamo alla stima dei coefficienti OLS per il *
  216. * modello che prevede l'esclusione della variabile ln_x2. *
  217. * 4) Infine si procede alla stima del bias semplicemente sottraendo alla *
  218. * stima dei coefficienti della seconda regressione quelli della prima *
  219. * regressione. *
  220. * *
  221. * L'operazione viene quindi ripetuta per il modello WLS *
  222. * *
  223. \***************************************************************************/
  224.  
  225.  
  226. ***************************************************************************
  227. //Question 7(a): OLS
  228. ////////////////////////////////// METODO 1
  229. quietly regress ln_y ln_x1 ln_x2 //Procedo alla regressione senza omissione di variabile
  230. mat b_ols_m1=e(b)
  231. svmat double b_ols_m1, names(matcol) //Salvo i coefficienti OLS non distorti per i beta
  232. generate b_vec_ols_lnx2= b_ols_m1ln_x2[1] //Creo un vettore con componenti tutte uguali a b_olsln_x2
  233. generate z_ols_omit=ln_x2*b_vec_ols_lnx2 //Creo la variabile ln_x2*b_olsln_x2
  234. quietly regress z_ols_omit ln_x1 //Regredisco la nuova variabile su ln_x1 e costante
  235.  
  236. //Mostro i coefficienti stimati dell'ultima regressione (ln_x2)
  237. matrix list e(b) //che corrispondono al bias dovuto a omitted variable
  238. ////////////////////////////////// METODO 2
  239. quietly regress ln_y ln_x1 ln_x2 //Procedo alla regressione senza omissione di variabile
  240. mat b_ols_m2=e(b)
  241. svmat double b_ols_m2, names(matcol) //Salvo i coefficienti OLS non distorti per i beta
  242. quietly regress ln_y ln_x1 //Procedo alla regressione con omissione di variabile
  243. mat b_ols_bias=e(b)
  244. svmat double b_ols_bias, names(matcol) //Salvo i coefficienti OLS distorti per i beta
  245. display b_ols_biasln_x1 - b_ols_m2ln_x1 //Bias per b1[OLS]
  246. display b_ols_bias_cons - b_ols_m2_cons //Bias per b0[OLS]
  247. ***************************************************************************
  248. //Question 7 (b): WLS
  249. ////////////////////////////////// METODO 1
  250. quietly regress wei_y wei_unity wei_x1 wei_x2, noconstant //Procedo alla regressione senza omissione di variabile
  251. mat b_wls_m1=e(b)
  252. svmat double b_wls_m1, names(matcol) //Salvo i coefficienti WLS non distorti per i beta
  253. generate b_vec_wls_weix2= b_wls_m1wei_x2[1] //Creo un vettore con componenti tutte uguali a b_olsln_x2
  254. generate z_wls_omit=wei_x2*b_vec_wls_weix2 //Creo la variabile wei_x2*b_olswei_x2
  255. quietly regress z_wls_omit wei_x1 wei_unity, noconstant //regredisco la nuova variabile su wei_x1 e costante
  256. matrix list e(b)
  257.  
  258.  
  259. ////////////////////////////////// METODO 2
  260. quietly regress wei_y wei_unity wei_x1 wei_x2, noconstant //Procedo alla regressione senza omissione di variabile
  261. mat beta_wls=e(b)
  262. svmat double beta_wls, names(matcol) //Salvo i coefficienti WLS non distorti per i beta
  263. quietly regress wei_y wei_unity wei_x1, noconstant //Procedo alla regressione con omissione di variabile
  264. mat beta_wls_bias=e(b)
  265. svmat double beta_wls_bias, names(matcol) //Salvo i coefficienti WLS distorti per i beta
  266. display beta_wls_biaswei_x1 - beta_wlswei_x1 //Bias for b1[WLS]
  267. display beta_wls_biaswei_unity - beta_wlswei_unity //Bias per b0[WLS]
  268. ***************************************************************************
  269.  
  270.  
  271.  
  272. //Question 8:
  273. /***************************************************************************\
  274. * *
  275. * Procediamo all'implementazione del test classico di Chow. Esso è un test *
  276. * di invarianza dei parametri. Viene qui applicato per testare l'invarianza *
  277. * dei parametri tra i due settori d'imprese considerati. *
  278. * *
  279. * Facciamo un esempio esplicativo: *
  280. *
  281. * Hps] *
  282. * 1) la funzione di produzione delle imprese ripartite tra i due settori *
  283. * è per convenzione una Cobb-Douglas: cioè Y=(L)^a*(K)^b (dove *
  284. * Y=output; L =lavoro=x1; K=capitale=x2.) *
  285. * 2) Facendo la trasformazione logaritmica, richiesta alla question 2(a) *
  286. * abbiamo ottenuto la seguente funzione di produzione *
  287. * -> lnY = a*lnL + b*lnK (dove a=impatto marginale percentuale *
  288. * (l'elasticità) del lavoro sull'output; b=impatto marginale *
  289. * percentuale (elasticità) del capitale sull'output) *
  290. * *
  291. * Ts] Essendo le 406 imprese (# osservazioni) ripartite tra due *
  292. * settori (1 e 2) utilizziamo il Chow test classico per testare se *
  293. * c'è invarianza dei parametri a e b nei 2 settori. *
  294. * *
  295. * Il precedente test potrebbe far rifiutare l'ipotesi nulla, non *
  296. * necessariamente a causa dell'effettiva eterogeneità dei parametri, *
  297. * ma a causa della presenza di fenomeni di eteroschedasticità di tipo *
  298. * White nei dati. *
  299. * Per ovviare a tale possibilità procederemo a rendere robusta la stima *
  300. * della matrice delle varianze-covarianze del modello *
  301. * *
  302. * Procedimento: *
  303. * 1) Generiamo la dummy variable relativa al settore 2. *
  304. * 2) Tramite quest'ultima creiamo le variabili specifiche per le imprese *
  305. * del secondo settore. *
  306. * 3) Regrediamo la variabile dipendente sui regressori ln_x1, ln_x2 e *
  307. * quelli peculiari al secondo settore *
  308. * 4) Implementiamo il test Chow classico verificando che i coefficienti *
  309. * relativi solamente al secondo settore (dummy inclusa) siano *
  310. * congiuntamente non statisticamente diversi da 0 *
  311. * *
  312. * Ripetiamo quindi il procedimento con stimatori per gli *
  313. * standard error robusti. *
  314. * *
  315. \***************************************************************************/
  316.  
  317.  
  318. generate d2=sector-1 //Genero la variabile dummy per il settore 2
  319. //Genero la variabile relativa al primo output
  320. generate ln_x1_2=ln_x1*d2 //pertinente alle imprese del secondo settore
  321. generate ln_x2_2=ln_x2*d2 //Genero la variabile relativa al secondo output
  322. //pertinente alle imprese del secondo settore
  323.  
  324.  
  325. //CLASSIC CHOW TEST ASSUMENDO OMOSCHEDASTICITA':
  326.  
  327. //Regredisco l'output sui 2 input e sulle 3 variabili
  328. regress ln_y ln_x1 ln_x2 ln_x1_2 ln_x2_2 d2 //appena generate
  329. //Implementiamo il test di Chow classico con
  330. test ln_x1_2 ln_x2_2 d2 //l'assunzione di omoschedasticitˆ
  331.  
  332.  
  333.  
  334.  
  335. //CHOW TEST ROBUST TO ETEROSCHEDASTICITY:
  336.  
  337. //Eseguo la regressione precedente, rendendo il modello
  338. regress ln_y ln_x1 ln_x2 ln_x1_2 ln_x2_2 d2, vce(robust) //robusto
  339. //Implementiamo il test di Chow classico con
  340. test ln_x1_2 ln_x2_2 d2 //senza l'assunzione di omoschedasticità
  341. quietly log close
  342. exit
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement