SAS/IML käyttö ekonometristen mallien tilastollisessa päättelyssä Antti Suoperä 16.11.2009
SAS/IML käyttö ekonometristen mallien tilastollisessa päättelyssä: Matriisi ja vektori laskennan ohjelmisto edellyttää lineaarialgebran hallintaa Useimmissa ekonometrian perus oppikirjoissa esitellään matriisilaskennan perusasiat esim. Rao: Linear statistical Inference W.H. Greene: Econometric Analysis kappale 2. 16.11.2009 2
SAS/IML datojen luonti: Tehdään SAS -datat valmiiksi ja luetaan ne IML käyttöön Tiedosto X on tavallinen SAS tiedosto, jossa esimerkiksi K muuttujaa proc iml; use X; read all var _num_ into X; /* _num_ sis. numeeriset muuttujat */ Yläpuolinen lause lukee tiedoston X matriisiksi X. Matriisi X sisältää vain lukuja (esim. muuttujien nimiä ei ole. Ne merkitään matriisissa X nimillä col1,col2,,colk). 16.11.2009 3
SAS/IML laskenta: Esimerkkejä laskukaavoista: Matriisi X sisältää regressiomallin selittävät muuttujat. X on kertalukua N*K. N=NROW(X); /* Matriisin X havaintojen lkm */ K=NCOL(X); /* Matriisin X sarakkeiden lkm */ Keskiarvojen laskenta IML:ssä. I on (N*1) vektori, jonka alkiot ovat kaikki ykkösiä. Y on (N*1) vektori ja X on (N*K) matriisi. IT=I`; IPI=I`*I; IPII=INV(IPI); P=IPII*IT; /* = (I I) -1 I on (1*N) vektori, jonka alkiot ovat kaikki 1/N */ MY=P*Y; /* Muuttujan Y keskiarvo = (I I) -1 I Y */ MX=P*X; /* Matriisin X muuttujien keskiarvot = (I I) -1 I X */ 16.11.2009 4
SAS/IML ja PNS: Regressiomallin tuntemattomien parametrien estimointi PNS - menetelmällä: y=xb+e, jossa b on tuntematon parametrivektori XPX=X`*X; XPY=X`*Y; XPXI=INV(XPX); B=XPXI*XPY; Tulosumma selittävistä muuttujista Tulosumma x-muuttujien ja y-muuttujan välillä Matriisin kääntäminen PNS -estimaattien vektori B = (X X) -1 X y IML ohjelmalla voidaan helposti laskea kaikki keskeiset regressiomallin tunnusluvut: Parametrien keskivirheet, residuaalien neliösummat, selitysasteet, keskineliövirheet,... 16.11.2009 5
Lopuksi IML lasketut vektorit ja matriisit luetaan SAS datoiksi ja lopetetaan IML -ohjelma: Luetaan esimerkiksi parametrivektori SAS -dataksi B=B`; create B from B; append from B; Lopetetaan IML ajo komentoon quit; 16.11.2009 6
Lopuksi kerätään kaikki estimoidut tiedot yhteen vektoriin T ja annetaan sen alkioille nimet: proc iml; use T; read all var _num_ into T; create H from H; append from H; quit; H=T`; DATA H (keep=statistics Kunta); LENGTH STATISTICS $ 20 Kunta $ 8 ; SET H; LENGTH STATISTICS $ 20; Kunta=COL1; APU=_N_; A1='( A2=') IF APU=1 THEN STATISTICS= Year IF APU=2 THEN STATISTICS='Observations IF APU=3 THEN STATISTICS='Equations IF APU=4 THEN STATISTICS= Micro classes ; IF APU=5 THEN STATISTICS=' Adj. R 2 IF APU=6 THEN STATISTICS= RMSE IF APU=7 THEN STATISTICS='SSE IF APU=8 THEN STATISTICS='Constant (*) IF APU=9 THEN STATISTICS= sd. 16.11.2009 7
Minkä takia IML eikä esimerkiksi PROC REG? Tarkastellaan palkkojen määräytymistä ammateittain kunnan, valtion ja yksityisen sektorin työmarkkinoilla. Ammattikohtaiset palkkamallit sisältävät osituksen (esim. työnantajan ja työtehtävän karteesinen tulo). Koska palkkamalleja satoja ja ositteita kymmeniä tuhansia, PROC REG ohjelmalla estimoituja tuloksia valtava määrä. Miten tulokset voitaisiin tiivistää yhdellä estimointituloksia esittävällä taulukon sarakkeella? Vastaus on IML:llä! 16.11.2009 8
Palkkamallit (j=1,..,j yhtälöä) ovat seuraavaa muotoa (ns. FE -malli): y ijt α jkt x ijt β jt ε ijt 16.11.2009 9
Estimoidaan kaikki yhtälöt PROC REG ohjelmalla ja yhdistetään kaikki estimoidut yhtälöt yhteen yhtälöön ja saadaan y ijt αˆ * t x ijt β ˆ t * αˆ jkt αˆ t xijt β β eijt ˆ jt ˆ t 16.11.2009 10
Spesifioidaan kilpailevia palkkamalleja: 1) Poistetaan ositus ja poikkileikkaus heterogeenisuus. 2) Lisätään ositus ja poistetaan poikkileikkaus heterogeenisuus. 3) Lisätään ositus ja estimoidaan palkkamallit ISCO - ammattien pääryhmätasolla (so. Johtajat, erityisasiantuntijat, asiantuintijat, yhteensä 9 yhtälöä). 4) Lisätään ositus ja lukumääräisesti isoille ISCO - ammateille omat erillisesti estimoitavat palkkayhtälöt. 5) Lisätään ositus ja estimoidaan palkkayhtälöt vielä hienojakoisemmassa ISCO -ammattiluokituksessa. 16.11.2009 11