Imitando una salida completa de MCO en R

Consideramos que las salidas de regresión de eviews son de las más completas del mercado de software econométricos. Tampoco podemos olvidar a Limdep. Si embargo cuando elaboramos una regresión en R nos saldrá una salida como la siguiente:

Para que se se vea como generamos las variables

q1 <-  c(1,2,2,3,4,5,5,4)
q2 <- c(1,1,2,1,5,4,3,5)
q3 <- c(5,4,4,6,2,5,4,5)
q4 <- c(1,1,3,3,4,5,4,5)

Ahora pues aplico la regresión:


> summary(lm(q4 ~ q1 + q2 + q3))
Call: lm(formula = q4 ~ q1 + q2 + q3) Residuals: 1 2 3 4 5 6 7 8 -0.40545 -0.50454 0.91649 0.27318 -0.01861 -0.03632 -0.08295 -0.14180 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) -1.5190 1.1379 -1.335 0.2528 q1 0.4735 0.2300 2.058 0.1086 q2 0.5790 0.2140 2.705 0.0538 . q3 0.3744 0.2147 1.743 0.1562 --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 0.5836 on 4 degrees of freedom Multiple R-squared: 0.9222, Adjusted R-squared: 0.8638 F-statistic: 15.8 on 3 and 4 DF, p-value: 0.01106
>

De seguro que al pasarse a R va a extrañar algunos estimadores para eso he construido una función que nos calculará algunos estimadores que extrañamos de Eviews cuando nos pasamos a R:

La programación de creación es la siguiente:
eviews.mco <- function(x)
{
  require(lmtest)
  modelo.reg <- lm(x)
  salida.modelo<-summary(modelo.reg)
  tabla.anova <- anova.lm(modelo.reg)
  log.likelihood <- logLik(modelo.reg)
  criterio.informacion.akaike <- AIC(modelo.reg)
  criterio.bayesiano.schwarz <- BIC(modelo.reg)
  durbin.watson <- dwtest(modelo.reg)
  coeficientes <- coefficients(modelo.reg)
  intervalos.confianza <- confint(modelo.reg,level = 0.95)
  list( salida.modelo=salida.modelo,
  tabla.anova=tabla.anova,
  log.likelihood=log.likelihood,
  criterio.informacion.akaike=criterio.informacion.akaike,
  criterio.bayesiano.schwarz=criterio.bayesiano.schwarz,
  durbin.watson=durbin.watson,
  coeficientes=coeficientes,
  intervalos.confianza.95=intervalos.confianza)
}


Mi nueva función es eviews.mco(). Puedo hacer uso de esta de la siguiente forma después que haya corrido toda la programación para crearla:

> eviews.mco(q4 ~ q1+q2+q3)

Cuya salida será:

Loading required package: lmtest
Loading required package: zoo

Attaching package: ‘zoo’

The following object(s) are masked from ‘package:base’:

    as.Date, as.Date.numeric

$salida.modelo

Call:
lm(formula = x)

Residuals:
       1        2        3        4        5        6        7        8 
-0.40545 -0.50454  0.91649  0.27318 -0.01861 -0.03632 -0.08295 -0.14180 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)  
(Intercept)  -1.5190     1.1379  -1.335   0.2528  
q1            0.4735     0.2300   2.058   0.1086  
q2            0.5790     0.2140   2.705   0.0538 .
q3            0.3744     0.2147   1.743   0.1562  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

Residual standard error: 0.5836 on 4 degrees of freedom
Multiple R-squared: 0.9222, Adjusted R-squared: 0.8638 
F-statistic:  15.8 on 3 and 4 DF,  p-value: 0.01106 


$tabla.anova
Analysis of Variance Table

Response: q4
          Df  Sum Sq Mean Sq F value   Pr(>F)   
q1         1 13.5645 13.5645 39.8318 0.003223 **
q2         1  1.5381  1.5381  4.5167 0.100745   
q3         1  1.0352  1.0352  3.0398 0.156200   
Residuals  4  1.3622  0.3405                    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

$log.likelihood
'log Lik.' -4.270085 (df=5)

$criterio.informacion.akaike
[1] 18.54017

$criterio.bayesiano.schwarz
[1] 18.93738

$durbin.watson

 Durbin-Watson test

data:  modelo.reg 
DW = 1.8603, p-value = 0.4323
alternative hypothesis: true autocorrelation is greater than 0 


$coeficientes
(Intercept)          q1          q2          q3 
 -1.5190001   0.4734895   0.5789710   0.3743975 

$intervalos.confianza.95
                  2.5 %    97.5 %
(Intercept) -4.67820762 1.6402074
q1          -0.16514303 1.1121221
q2          -0.01526654 1.1732085
q3          -0.22181752 0.9706125

>



Reconoceremos pues algunos estimadores que nos hemos acostumbrado a leer en Eviews.

Considerando que existe una gran comunidad mundial de grupos R acepto sugerencias y aportes es este tema.

Saludos.

Deybi Morales León
Economista Aplicado
morales.economia@gmail.com

Comentarios

Envíanos un mensaje

Nombre

Correo electrónico *

Mensaje *