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]
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
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