Tietokoneharjoitus 7

              storage  display     value
variable name   type   format      label      variable label
-------------------------------------------------------------------------------
county          int    %9.0g                  county identifier
year            byte   %9.0g                  81 to 87
crmrte          float  %9.0g                  crimes committed per person
prbarr          float  %9.0g                  'probability' of arrest
prbconv         float  %9.0g                  'probability' of conviction
prbpris         float  %9.0g                  'probability' of prison sentenc
avgsen          float  %9.0g                  avg. sentence, days
polpc           float  %9.0g                  police per capita
density         float  %9.0g                  people per sq. mile
taxpc           float  %9.0g                  tax revenue per capita
west            byte   %9.0g                  =1 if in western N.C.
central         byte   %9.0g                  =1 if in central N.C.
urban           byte   %9.0g                  =1 if in SMSA
pctmin80        float  %9.0g                  perc. minority, 1980
wcon            float  %9.0g                  weekly wage, construction
wtuc            float  %9.0g                  wkly wge, trns, util, commun
wtrd            float  %9.0g                  wkly wge, whlesle, retail trade
wfir            float  %9.0g                  wkly wge, fin, ins, real est
wser            float  %9.0g                  wkly wge, service industry
wmfg            float  %9.0g                  wkly wge, manufacturing
wfed            float  %9.0g                  wkly wge, fed employees
wsta            float  %9.0g                  wkly wge, state employees
wloc            float  %9.0g                  wkly wge, local gov emps
mix             float  %9.0g                  offense mix: face-to-face/other
pctymle         float  %9.0g                  percent young male
d82             byte   %9.0g                  =1 if year == 82
d83             byte   %9.0g                  =1 if year == 83
d84             byte   %9.0g                  =1 if year == 84
d85             byte   %9.0g                  =1 if year == 85
d86             byte   %9.0g                  =1 if year == 86
d87             byte   %9.0g                  =1 if year == 87
lcrmrte         float  %9.0g                  log(crmrte)
lprbarr         float  %9.0g                  log(prbarr)
lprbconv        float  %9.0g                  log(prbconv)
lprbpris        float  %9.0g                  log(prbpris)
lavgsen         float  %9.0g                  log(avgsen)
lpolpc          float  %9.0g                  log(polpc)
ldensity        float  %9.0g                  log(density)
ltaxpc          float  %9.0g                  log(taxpc)
lwcon           float  %9.0g                  log(wcon)
lwtuc           float  %9.0g                  log(wtuc)
lwtrd           float  %9.0g                  log(wtrd)
lwfir           float  %9.0g                  log(wfir)
lwser           float  %9.0g                  log(wser)
lwmfg           float  %9.0g                  log(wmfg)
lwfed           float  %9.0g                  log(wfed)
lwsta           float  %9.0g                  log(wsta)
lwloc           float  %9.0g                  log(wloc)
lmix            float  %9.0g                  log(mix)
lpctymle        float  %9.0g                  log(pctymle)
lpctmin         float  %9.0g                  log(pctmin)
clcrmrte        float  %9.0g                  lcrmrte - lcrmrte[_n-1]
clprbarr        float  %9.0g                  lprbarr - lprbarr[_n-1]
clprbcon        float  %9.0g                  lprbconv - lprbconv[_n-1]
clprbpri        float  %9.0g                  lprbpri - lprbpri[t-1]
clavgsen        float  %9.0g                  lavgsen - lavgsen[t-1]
clpolpc         float  %9.0g                  lpolpc - lpolpc[t-1]
cltaxpc         float  %9.0g                  ltaxpc - ltaxpc[t-1]
clmix           float  %9.0g                  lmix - lmix[t-1]

Tehtävä 5a

Estimoi lineaarinen malli FE-estimaattorilla käyttäen kaikkia vuosia 81-87. Mallissa vastemuuttuja on log(crmrte) ja selittävät muuttujat ovat log(prbarr), log(prbconv), log(prbpris), log(avgsen) ja log(polpc).

file<-"http://cc.oulu.fi/~jklemela/panel/cornwell.raw"
data<-read.table(file=file)

# haetaan muuttujat
y<-log(data[,3])
x1<-log(data[,4])
x2<-log(data[,5])
x3<-log(data[,6])
x4<-log(data[,7])
x5<-log(data[,8])

# muunetaan data matriisimuotoon

y<-matrix(y,length(y),1)
K<-5
x<-matrix(1,length(y),K)
x[,1]<-x1
x[,2]<-x2
x[,3]<-x3
x[,4]<-x4
x[,5]<-x5

# tehdaan time demeaning

ydots<-y      # y 2 pistetta = y- aikakeskiarvot
xdots<-x      # x 2 pistetta = x- aikakeskiarvot

county<-data[,1]
year<-data[,2]
uc<-unique(county)
uy<-unique(year)
N<-length(uc)
T<-length(uy)

jT<-matrix(1,T,1)
QT<-diag(T)-jT%*%t(jT)/T
for (i in 1:N){
   now<-uc[i]
   ind<-(county==now)
   yi<-y[ind]
   xi<-x[ind,]
   ydots[ind]<-yi-mean(yi)
   #xdots[ind,]<-xi-t(matrix(colMeans(xi),K,T))
   xdots[ind,]<-QT%*%xi
} 

---------------------------------------------------
# lasketaan estimaattori

C<-t(xdots)%*%xdots
I<-diag(1,K)
D<-solve(C,I)
betahatFE<-D%*%t(xdots)%*%ydots
betahatFE

           [,1]
[1,] -0.38353400
[2,] -0.30597508
[3,] -0.19545208
[4,]  0.03566462
[5,]  0.41377048

--------------------------------------------------
# tehdaan t-testi: Robusti

A<-matrix(0,K,K)
B<-matrix(0,K,K)
for (i in 1:N){
   now<-uc[i]
   ind<-(county==now)
   yi<-ydots[ind]
   xi<-xdots[ind,]
   ui<-yi-xi%*%betahatFE
   A<-A+t(xi)%*%xi
   B<-B+t(xi)%*%ui%*%t(ui)%*%xi
}
I<-diag(1,K)
invA<-solve(A,I)
Avar<-invA%*%B%*%invA
Avar

              [,1]          [,2]          [,3]          [,4]          [,5]
[1,]  0.0035210340  0.0016180157  0.0011140222 -3.889292e-04 -1.634012e-03
[2,]  0.0016180157  0.0025620783  0.0002199664 -2.205612e-04 -1.803734e-03
[3,]  0.0011140222  0.0002199664  0.0019760221  4.590546e-04 -3.776503e-04
[4,] -0.0003889292 -0.0002205612  0.0004590546  1.040595e-03  9.444035e-05
[5,] -0.0016340121 -0.0018037338 -0.0003776503  9.444035e-05  7.243734e-03

sdhats<-matrix(0,K,1)
tstats<-matrix(0,K,1)
pvals<-matrix(0,K,1)
for (k in 1:K){
   sdhats[k]<-sqrt(Avar[k,k])
   tstats[k]<-betahatFE[k]/sdhats[k]
   pvals[k]<-2*(1-pnorm(abs(tstats[k])))
}
sdhats
tstats
pvals

> sdhats
           [,1]
[1,] 0.05933830
[2,] 0.05061698
[3,] 0.04445247
[4,] 0.03225826
[5,] 0.08511013
> tstats
          [,1]
[1,] -6.463515
[2,] -6.044910
[3,] -4.396878
[4,]  1.105597
[5,]  4.861589
> pvals
             [,1]
[1,] 1.022984e-10
[2,] 1.494933e-09
[3,] 1.098191e-05
[4,] 2.689011e-01
[5,] 1.164471e-06

--------------------------------------------------
# tehdaan t-testi: Epärobusti

A<-matrix(0,K,K)
sigma0<-0
for (i in 1:N){
   now<-uc[i]
   ind<-(county==now)
   yi<-ydots[ind]
   xi<-xdots[ind,]
   ui<-yi-xi%*%betahatFE
   A<-A+t(xi)%*%xi
   sigma0<-sigma0+sum(ui^2)
}
sigma2<-sigma0/(N*(T-1)-K)
sigma2.ols<-sigma0/(N*T-K)
I<-diag(1,K)
invA<-solve(A,I)
Avar<-sigma2*invA
sigma2
sigma2.ols
sqrt(sigma2)
sqrt(sigma2.ols)
Avar

> sigma2
[1] 0.0215554
> sigma2.ols
[1] 0.01845142
> sqrt(sigma2)
[1] 0.1468176
> sqrt(sigma2.ols)
[1] 0.135836
> Avar
              [,1]          [,2]          [,3]          [,4]          [,5]
[1,]  1.120042e-03  0.0004393709  2.924350e-04  3.766651e-05 -2.899575e-04
[2,]  4.393709e-04  0.0004777594  1.866242e-04  1.980380e-05 -3.087283e-04
[3,]  2.924350e-04  0.0001866242  1.113133e-03 -2.370097e-05 -1.122500e-04
[4,]  3.766651e-05  0.0000198038 -2.370097e-05  6.824951e-04  2.204673e-05
[5,] -2.899575e-04 -0.0003087283 -1.122500e-04  2.204673e-05  7.545205e-04

sdhats<-matrix(0,K,1)
tstats<-matrix(0,K,1)
pvals<-matrix(0,K,1)
for (k in 1:K){
   sdhats[k]<-sqrt(Avar[k,k])
   tstats[k]<-betahatFE[k]/sdhats[k]
   pvals[k]<-2*(1-pnorm(abs(tstats[k])))
}
sdhats
tstats
pvals

> sdhats
           [,1]
[1,] 0.03346702
[2,] 0.02185771
[3,] 0.03336365
[4,] 0.02612461
[5,] 0.02746854
> tstats
           [,1]
[1,] -11.460058
[2,] -13.998498
[3,]  -5.858233
[4,]   1.365174
[5,]  15.063434
> pvals
             [,1]
[1,] 0.000000e+00
[2,] 0.000000e+00
[3,] 4.678167e-09
[4,] 1.721985e-01
[5,] 0.000000e+00

---------------------------------------------
# kaytetaan lm-funktiota

reg.model<-lm(ydots ~ 0+xdots)

summary(reg.model)

Call:
lm(formula = ydots ~ 0 + xdots)

Residuals:
     Min       1Q   Median       3Q      Max 
-0.68349 -0.07548 -0.00337  0.07792  0.53094 

Coefficients:
       Estimate Std. Error t value Pr(>|t|)    
xdots1 -0.38353    0.03096 -12.387  < 2e-16 ***
xdots2 -0.30598    0.02022 -15.130  < 2e-16 ***
xdots3 -0.19545    0.03087  -6.332 4.63e-10 ***
xdots4  0.03566    0.02417   1.476    0.141    
xdots5  0.41377    0.02541  16.281  < 2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

Residual standard error: 0.1358 on 625 degrees of freedom
Multiple R-squared: 0.359,	Adjusted R-squared: 0.3539 
F-statistic: 70.01 on 5 and 625 DF,  p-value: < 2.2e-16 


Tehtävä 5

Estimoi lineaarinen regression kun indikaattorimuuttujat d1_i,...,dN_i ovat mukana.

file<-"http://cc.oulu.fi/~jklemela/panel/cornwell.raw"
data<-read.table(file=file)

county<-data[,1]
year<-data[,2]
uc<-unique(county)
uy<-unique(year)
N<-length(uc)
T<-length(uy)

y<-log(data[,3])
x1<-log(data[,4])
x2<-log(data[,5])
x3<-log(data[,6])
x4<-log(data[,7])
x5<-log(data[,8])

# muodostetaan dummy-muuttujat

dummy<-matrix(0,N*T,N-1)
for (i in 1:(N-1)){
    now<-uc[i]
    dummy[,i]<-as.numeric(county==now)
}

# lasketaan estimaatti

reg.model<-lm(y ~ x1+x2+x3+x4+x5+dummy)

summary(reg.model)

Call:
lm(formula = y ~ x1 + x2 + x3 + x4 + x5 + dummy)

Residuals:
     Min       1Q   Median       3Q      Max 
-0.68349 -0.07548 -0.00337  0.07792  0.53094 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) -2.29884    0.19533 -11.769  < 2e-16 ***
x1          -0.38353    0.03347 -11.460  < 2e-16 ***
x2          -0.30598    0.02186 -13.998  < 2e-16 ***
x3          -0.19545    0.03336  -5.858 8.18e-09 ***
x4           0.03566    0.02612   1.365 0.172772    
x5           0.41377    0.02747  15.063  < 2e-16 ***
dummy1       0.71877    0.08279   8.682  < 2e-16 ***
dummy2       0.20074    0.07987   2.513 0.012257 *  
dummy3      -0.12264    0.08403  -1.459 0.145015    
dummy4       0.45215    0.08210   5.507 5.66e-08 ***
dummy5       0.01904    0.08376   0.227 0.820253    
dummy6      -0.28616    0.08708  -3.286 0.001082 ** 
dummy7       0.72226    0.08100   8.916  < 2e-16 ***
dummy8       0.40550    0.08312   4.879 1.41e-06 ***
dummy9       0.33337    0.08180   4.076 5.29e-05 ***
dummy10     -0.03758    0.08036  -0.468 0.640283    
dummy11      0.56061    0.08476   6.614 9.09e-11 ***
dummy12      0.37061    0.08255   4.490 8.75e-06 ***
dummy13      0.55657    0.08309   6.698 5.35e-11 ***
dummy14      0.50751    0.08254   6.149 1.53e-09 ***
dummy15      0.37737    0.08175   4.616 4.90e-06 ***
dummy16      0.62482    0.08490   7.359 7.00e-13 ***
dummy17      0.23738    0.08041   2.952 0.003296 ** 
dummy18     -0.07266    0.07952  -0.914 0.361267    
dummy19      0.33432    0.08374   3.992 7.46e-05 ***
dummy20      0.63680    0.08153   7.811 3.02e-14 ***
dummy21      0.42068    0.08130   5.174 3.24e-07 ***
dummy22      0.58413    0.08160   7.159 2.70e-12 ***
dummy23      0.99676    0.08531  11.685  < 2e-16 ***
dummy24      0.07231    0.07935   0.911 0.362575    
dummy25      0.52989    0.09197   5.762 1.41e-08 ***
dummy26      0.51547    0.07996   6.447 2.56e-10 ***
dummy27      0.18807    0.07950   2.366 0.018350 *  
dummy28      0.30638    0.08092   3.786 0.000170 ***
dummy29      0.87921    0.08965   9.807  < 2e-16 ***
dummy30      1.05238    0.08186  12.855  < 2e-16 ***
dummy31      0.82415    0.08687   9.488  < 2e-16 ***
dummy32      0.16994    0.08197   2.073 0.038637 *  
dummy33      0.79746    0.08700   9.166  < 2e-16 ***
dummy34      0.54242    0.08355   6.492 1.94e-10 ***
dummy35      0.06023    0.08070   0.746 0.455808    
dummy36      0.78050    0.08844   8.825  < 2e-16 ***
dummy37      0.66854    0.08263   8.091 4.00e-15 ***
dummy38      0.74178    0.08134   9.119  < 2e-16 ***
dummy39      0.29362    0.08202   3.580 0.000375 ***
dummy40      0.48591    0.08036   6.047 2.77e-09 ***
dummy41      0.65052    0.08157   7.975 9.29e-15 ***
dummy42      0.78201    0.08089   9.667  < 2e-16 ***
dummy43      0.77688    0.08040   9.662  < 2e-16 ***
dummy44     -0.24379    0.08204  -2.971 0.003097 ** 
dummy45      0.63081    0.07991   7.894 1.67e-14 ***
dummy46      0.96522    0.08286  11.648  < 2e-16 ***
dummy47      0.78585    0.08295   9.474  < 2e-16 ***
dummy48      0.14479    0.07968   1.817 0.069749 .  
dummy49      0.20042    0.08017   2.500 0.012722 *  
dummy50     -0.61259    0.08534  -7.178 2.38e-12 ***
dummy51     -1.56860    0.11027 -14.225  < 2e-16 ***
dummy52      0.62097    0.08324   7.460 3.52e-13 ***
dummy53      1.12999    0.08818  12.815  < 2e-16 ***
dummy54      0.58878    0.08409   7.002 7.61e-12 ***
dummy55      0.35909    0.08163   4.399 1.31e-05 ***
dummy56      0.93649    0.08095  11.569  < 2e-16 ***
dummy57      1.12363    0.08513  13.200  < 2e-16 ***
dummy58      0.43654    0.08603   5.074 5.38e-07 ***
dummy59      0.73649    0.08271   8.905  < 2e-16 ***
dummy60      0.56242    0.09005   6.246 8.61e-10 ***
dummy61      0.17278    0.08015   2.156 0.031549 *  
dummy62      0.58196    0.08424   6.909 1.40e-11 ***
dummy63      0.78323    0.09087   8.619  < 2e-16 ***
dummy64      0.41371    0.08245   5.018 7.13e-07 ***
dummy65      0.56072    0.08166   6.867 1.83e-11 ***
dummy66      0.84451    0.08367  10.093  < 2e-16 ***
dummy67     -0.07902    0.08013  -0.986 0.324520    
dummy68      0.34919    0.08009   4.360 1.56e-05 ***
dummy69      0.73344    0.08122   9.031  < 2e-16 ***
dummy70      0.79528    0.08130   9.782  < 2e-16 ***
dummy71      0.49296    0.08245   5.979 4.11e-09 ***
dummy72      0.51435    0.08227   6.252 8.28e-10 ***
dummy73      0.31134    0.08158   3.816 0.000151 ***
dummy74      0.28536    0.08018   3.559 0.000405 ***
dummy75      0.97623    0.08225  11.869  < 2e-16 ***
dummy76      0.25042    0.08289   3.021 0.002637 ** 
dummy77      0.03507    0.08069   0.435 0.664033    
dummy78      0.28336    0.07996   3.544 0.000429 ***
dummy79     -0.83737    0.08805  -9.511  < 2e-16 ***
dummy80     -0.06260    0.08221  -0.761 0.446746    
dummy81      0.47113    0.08167   5.768 1.36e-08 ***
dummy82      1.01393    0.08264  12.269  < 2e-16 ***
dummy83      0.72637    0.08570   8.475 2.28e-16 ***
dummy84     -0.21126    0.09918  -2.130 0.033615 *  
dummy85      0.67601    0.07949   8.505  < 2e-16 ***
dummy86      0.08485    0.08562   0.991 0.322134    
dummy87      0.69076    0.08100   8.528  < 2e-16 ***
dummy88      0.39635    0.08118   4.883 1.38e-06 ***
dummy89      0.63100    0.08461   7.458 3.57e-13 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

Residual standard error: 0.1468 on 535 degrees of freedom
Multiple R-squared: 0.9441,	Adjusted R-squared: 0.9343 
F-statistic: 96.16 on 94 and 535 DF,  p-value: < 2.2e-16