setwd("C:/Users/marcogeovanni/Desktop/Modern Guide To Econometrics/Chapter 7")
library(readstata13)
CreditRatings <-read.dta13("credit.dta")
attach(CreditRatings)
summary(CreditRatings)
##     booklev            ebit             invgrade         logsales     
##  Min.   :0.0000   Min.   :-0.38417   Min.   :0.0000   Min.   : 1.100  
##  1st Qu.:0.1698   1st Qu.: 0.05120   1st Qu.:0.0000   1st Qu.: 6.970  
##  Median :0.2640   Median : 0.09044   Median :0.0000   Median : 7.884  
##  Mean   :0.2932   Mean   : 0.09389   Mean   :0.4723   Mean   : 7.996  
##  3rd Qu.:0.3877   3rd Qu.: 0.13599   3rd Qu.:1.0000   3rd Qu.: 8.950  
##  Max.   :0.9992   Max.   : 0.65151   Max.   :1.0000   Max.   :12.701  
##     marklev           rating           reta               wka          
##  Min.   :0.0000   Min.   :1.000   Min.   :-0.99589   Min.   :-0.41208  
##  1st Qu.:0.1091   1st Qu.:3.000   1st Qu.: 0.01108   1st Qu.: 0.02905  
##  Median :0.2112   Median :3.000   Median : 0.18048   Median : 0.12284  
##  Mean   :0.2547   Mean   :3.499   Mean   : 0.15699   Mean   : 0.14041  
##  3rd Qu.:0.3477   3rd Qu.:4.000   3rd Qu.: 0.35084   3rd Qu.: 0.23462  
##  Max.   :0.9649   Max.   :7.000   Max.   : 0.97992   Max.   : 0.74802
library(MASS)
## Warning: package 'MASS' was built under R version 3.2.3
library(erer)
## Warning: package 'erer' was built under R version 3.2.3
## Loading required package: lmtest
## Warning: package 'lmtest' was built under R version 3.2.3
## Loading required package: zoo
## 
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
## 
##     as.Date, as.Date.numeric
Logit <- glm(invgrade~booklev + ebit + logsales + reta + wka, family = binomial(link= "logit"))
summary(Logit)
## 
## Call:
## glm(formula = invgrade ~ booklev + ebit + logsales + reta + wka, 
##     family = binomial(link = "logit"))
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -2.5840  -0.5411  -0.0491   0.5286   3.4210  
## 
## Coefficients:
##             Estimate Std. Error z value Pr(>|z|)    
## (Intercept) -8.21432    0.86685  -9.476  < 2e-16 ***
## booklev     -4.42727    0.77142  -5.739 9.52e-09 ***
## ebit         4.35474    1.43992   3.024  0.00249 ** 
## logsales     1.08159    0.09568  11.304  < 2e-16 ***
## reta         4.11611    0.48851   8.426  < 2e-16 ***
## wka         -4.01249    0.74791  -5.365 8.10e-08 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 1273.95  on 920  degrees of freedom
## Residual deviance:  682.16  on 915  degrees of freedom
## AIC: 694.16
## 
## Number of Fisher Scoring iterations: 6
LogisticDensityFunction <- mean(dlogis(predict(Logit, type= "link")))
LogisticDensityFunction
## [1] 0.1184878
LogisticDensityFunction*coef(Logit)
## (Intercept)     booklev        ebit    logsales        reta         wka 
##  -0.9732966  -0.5245769   0.5159829   0.1281555   0.4877085  -0.4754313
Logit0 <- update(Logit, formula = invgrade~1 )
Mcfadden <-1-(logLik(Logit)/logLik(Logit0))
print(Mcfadden)
## 'log Lik.' 0.464536 (df=6)
plot(rating)

ratingfactor <-factor(rating)
OrderedLogit <- polr(ratingfactor~booklev + ebit + logsales + reta + wka)
summary(OrderedLogit)
## 
## Re-fitting to get Hessian
## Call:
## polr(formula = ratingfactor ~ booklev + ebit + logsales + reta + 
##     wka)
## 
## Coefficients:
##            Value Std. Error t value
## booklev  -2.7517    0.47730  -5.765
## ebit      4.7313    0.94476   5.008
## logsales  0.9406    0.05884  15.984
## reta      3.5600    0.30229  11.777
## wka      -2.5802    0.48263  -5.346
## 
## Intercepts:
##     Value   Std. Error t value
## 1|2 -0.3696  0.6332    -0.5837
## 2|3  4.8805  0.5208     9.3709
## 3|4  7.6259  0.5512    13.8361
## 4|5  9.8849  0.5916    16.7078
## 5|6 12.8829  0.6734    19.1315
## 6|7 14.7825  0.7841    18.8527
## 
## Residual Deviance: 1930.614 
## AIC: 1952.614
OrderedLogit0 <- update(OrderedLogit, formula = ratingfactor~1)
print(OrderedLogit)
## Call:
## polr(formula = ratingfactor ~ booklev + ebit + logsales + reta + 
##     wka)
## 
## Coefficients:
##    booklev       ebit   logsales       reta        wka 
## -2.7516633  4.7313154  0.9405506  3.5599921 -2.5801607 
## 
## Intercepts:
##        1|2        2|3        3|4        4|5        5|6        6|7 
## -0.3696357  4.8805454  7.6258969  9.8849375 12.8828577 14.7825479 
## 
## Residual Deviance: 1930.614 
## AIC: 1952.614
ocME(OrderedLogit)
## 
## Re-fitting to get Hessian
##          effect.1 effect.2 effect.3 effect.4 effect.5 effect.6 effect.7
## booklev     0.001    0.196    0.478   -0.487   -0.177   -0.009   -0.002
## ebit       -0.002   -0.337   -0.822    0.838    0.305    0.016    0.003
## logsales    0.000   -0.067   -0.163    0.167    0.061    0.003    0.001
## reta       -0.002   -0.254   -0.619    0.631    0.229    0.012    0.002
## wka         0.001    0.184    0.448   -0.457   -0.166   -0.009   -0.002
McfaddenOrdered <-1-logLik(OrderedLogit)/logLik(OrderedLogit0)
print(McfaddenOrdered)
## 'log Lik.' 0.3088874 (df=11)