Seatbelts is a balanced panel from 50 U.S. States, plus the District of Columbia, for the years 1983-1997. These data were provided by Professor Liran Einav of Stanford University and were used in his paper with Alma Cohen ``The Effects of Mandatory Seat Belt Laws on Driving Behavior and Traffic Fatalities,'' The Review of Economics and Statistics, 2003, Vol. 85, No. 4, pp 828-843.
Artikkeli loytyy osoitteesta http://www.stanford.edu/~leinav/pubs/RESTAT2003.pdf
file<-"http://cc.oulu.fi/~jklemela/econometrics/SeatBelts.csv" data<-read.table(file,skip=1,sep=",")
FILENAME myurl URL 'http://cc.oulu.fi/~jklemela/econometrics/SeatBelts.txt'; DATA SeatBelts; INFILE myurl firstobs=2; INPUT year fips vmt fatalityrate sb_usage speed65 speed70 drinkage21 ba08 income age primary secondary; RUN;
Valitse FatalityRate y-muuttujaksi ja sb_usage, speed65, speed70, drinkage21, ba08, log(income) ja age x-muuttujiksi. Suorita OLS-regressio ja luettele kertoimien pienimmän neliösumman estimaatit. Suorita t-testit ja F-testi.
file<-"http://cc.oulu.fi/~jklemela/econometrics/SeatBelts.csv" data<-read.table(file,skip=1,sep=",") y<-data[,5] sp.usage<-data[,6] speed65<-data[,7] speed70<-data[,8] drinkage21<-data[,9] ba08<-data[,10] log.income<-log(data[,11]) age<-data[,12] reg.model<-lm(y ~ sp.usage+speed65+speed70+drinkage21+ba08+log.income+age) summary(reg.model) plot(reg.model)
Saadaan tulos
Call: lm(formula = y ~ sp.usage + speed65 + speed70 + drinkage21 + ba08 + log.income + age) Residuals: Min 1Q Median 3Q Max -0.0109890 -0.0025729 -0.0002924 0.0027982 0.0132925 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 0.2008411 0.0104949 19.137 < 2e-16 *** sp.usage 0.0039306 0.0015512 2.534 0.011557 * speed65 0.0001167 0.0005145 0.227 0.820618 speed70 0.0023957 0.0006527 3.670 0.000266 *** drinkage21 0.0012843 0.0011180 1.149 0.251131 ba08 -0.0013994 0.0005679 -2.464 0.014047 * log.income -0.0182520 0.0011886 -15.356 < 2e-16 *** age -0.0001334 0.0001391 -0.959 0.337916 --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 0.004339 on 548 degrees of freedom (209 observations deleted due to missingness) Multiple R-squared: 0.4279, Adjusted R-squared: 0.4206 F-statistic: 58.56 on 7 and 548 DF, p-value: < 2.2e-16
Kokeillaan laskea omalla koodilla
ota<-!is.na(sp.usage) K<-8 y<-data[ota,5] n<-length(y) x<-matrix(0,n,K) x[,1]<-1 x[,2]<-sp.usage[ota] x[,3]<-speed65[ota] x[,4]<-speed70[ota] x[,5]<-drinkage21[ota] x[,6]<-ba08[ota] x[,7]<-log.income[ota] x[,8]<-age[ota] A<-t(x)%*%x invA<-solve(A,diag(1,K)) b<-invA%*%t(x)%*%y b [1,] 0.2008410835 [2,] 0.0039306452 [3,] 0.0001167195 [4,] 0.0023956645 [5,] 0.0012843398 [6,] -0.0013993839 [7,] -0.0182519776 [8,] -0.0001333946
Vertaillaan p-arvoja:
sp_usage_estimate<-0.0039306 sp_usage_standard_error<-0.0015512 df<-548 #degrees of freedom t_statistics<-sp_usage_estimate/sp_usage_standard_error t_statistics #[1] 2.533909 #Pr(>|t|) # t-jakauma 2*(1-pt(t_statistics,df=548)) #[1] 0.01155724 # normaalijakauma 2*(1-pnorm(t_statistics)) #[1] 0.01127979 2*(1-pt(t_statistics,df=54)) #[1] 0.01421385 # F-statistic: 58.56 on 7 and 548 DF, p-value: < 2.2e-16 F<-58.56 1-pf(F, df1=7, df2=548) #[1] 0 Q<-7 W<-Q*F 1-pchisq(W, df=7) #[1] 0
Kokeillaan SAS:ia.
FILENAME myurl URL 'http://cc.oulu.fi/~jklemela/econometrics/SeatBelts.txt'; DATA SeatBelts; INFILE myurl firstobs=2; INPUT number $ year fips vmt fatalityrate sb_usage speed65 speed70 drinkage21 ba08 income age primary secondary; logincome=log(income); RUN; PROC reg data=SeatBelts; model fatalityrate = sb_usage speed65 speed70 drinkage21 ba08 logincome age; RUN;
Saadaan tulokset
Parameter Estimates Parameter Standard Variable DF Estimate Error t Value Pr > |t| Intercept 1 0.20084 0.01049 19.14 <.0001 sb_usage 1 0.00393 0.00155 2.53 0.0116 speed65 1 0.00011672 0.00051450 0.23 0.8206 speed70 1 0.00240 0.00065274 3.67 0.0003 drinkage21 1 0.00128 0.00112 1.15 0.2511 ba08 1 -0.00140 0.00056794 -2.46 0.0140 logincome 1 -0.01825 0.00119 -15.36 <.0001 age 1 -0.00013339 0.00013908 -0.96 0.3379