Download as pdf or txt
Download as pdf or txt
You are on page 1of 5

Econometria II - Detecció d’heteroscedasticitat

Marina Fuentes

28 observacions corresponents a països en 1994.

• COUNTRY: Nom del país


• MANU: Producció manufacturera (US$ milions)
• GDP: Producte Inetrior Brut PIB (US$ milions)
• POP: Població (milions)

1. Estima el model per MQO i detecta si hi ha heteroscedasticitat.


M AN U = β0 + β1 GDP + U

Lectura de l’arxiu de dades en format excel

library(readxl)

## Warning: package ’readxl’ was built under R version 4.0.5

mydata <- read_xls("C:/Users/admin/Desktop/Práctica 11/UNIDO94.xls")


mydata

## # A tibble: 28 x 4
## Country MANU GDP POP
## <chr> <dbl> <dbl> <dbl>
## 1 Belgium 44517 232006 10.1
## 2 Canada 112617 547203 29.1
## 3 Chile 13096 50919 14.0
## 4 Denmark 25927 151266 5.21
## 5 Finland 21581 97624 5.08
## 6 France 256316 1330998 57.9
## 7 Greece 9392 98861 10.4
## 8 Hong Kong 11758 130823 6.04
## 9 Hungary 7227 41506 10.2
## 10 Ireland 17572 52662 3.54
## # ... with 18 more rows

Estimació del model

attach(mydata)
Model1 <- lm(MANU ~ GDP)

summary(Model1)

1
##
## Call:
## lm(formula = MANU ~ GDP)
##
## Residuals:
## Min 1Q Median 3Q Max
## -52439 -7057 -1221 4189 86952
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 6.039e+02 5.700e+03 0.106 0.916
## GDP 1.937e-01 1.334e-02 14.517 5.53e-14 ***
## ---
## Signif. codes: 0 ’***’ 0.001 ’**’ 0.01 ’*’ 0.05 ’.’ 0.1 ’ ’ 1
##
## Residual standard error: 23460 on 26 degrees of freedom
## Multiple R-squared: 0.8902, Adjusted R-squared: 0.8859
## F-statistic: 210.7 on 1 and 26 DF, p-value: 5.532e-14

Detecció de l’heteroscedasticitat

Representació grafica

plot(mydata$GDP, Model1$residuals**2, pch=20, col="red", main = "Residus al quadrat vs. PIB")

Residus al quadrat vs. PIB


6e+09
Model1$residuals^2

4e+09
2e+09
0e+00

0 200000 400000 600000 800000 1200000

mydata$GDP

2
Contrast de White

white <- lm((Model1$residuals)ˆ2 ~ GDP + I(GDPˆ2) , data=mydata)


summary(white)

##
## Call:
## lm(formula = (Model1$residuals)^2 ~ GDP + I(GDP^2), data = mydata)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.742e+09 -6.343e+08 -7.297e+07 1.737e+08 6.190e+09
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -4.214e+08 4.513e+08 -0.934 0.3593
## GDP 6.272e+03 2.758e+03 2.274 0.0318 *
## I(GDP^2) -4.115e-03 2.263e-03 -1.819 0.0809 .
## ---
## Signif. codes: 0 ’***’ 0.001 ’**’ 0.01 ’*’ 0.05 ’.’ 0.1 ’ ’ 1
##
## Residual standard error: 1.403e+09 on 25 degrees of freedom
## Multiple R-squared: 0.2114, Adjusted R-squared: 0.1483
## F-statistic: 3.351 on 2 and 25 DF, p-value: 0.05138

R2w <- summary(white)$r.squared


twhite = length(Model1$residuals) * R2w # White = N * R2 (de la regressió auxiliar)
twhite

## [1] 5.918941

1-pchisq(twhite, df=2)

## [1] 0.05184637

Contrast de Breusch-Pagan (variable causant GDP)

library(lmtest)

## Warning: package ’lmtest’ was built under R version 4.0.5

## Loading required package: zoo

## Warning: package ’zoo’ was built under R version 4.0.5

##
## Attaching package: ’zoo’

## The following objects are masked from ’package:base’:


##
## as.Date, as.Date.numeric

3
bptest(Model1, varformula= ~ GDP, studentize = TRUE, data = mydata)

##
## studentized Breusch-Pagan test
##
## data: Model1
## BP = 2.9968, df = 1, p-value = 0.08343

Contrast de Golfeld-Quandt (variable causant GDP)

sort_mydata <- mydata[order(mydata$GDP), ]

# P = 28/3 = 9
mydata1 <- sort_mydata[1:10,]
mydata2 <- sort_mydata[19:28,]

gq01 <- lm(MANU ~ GDP, data=mydata1)


summary(gq01)

##
## Call:
## lm(formula = MANU ~ GDP, data = mydata1)
##
## Residuals:
## Min 1Q Median 3Q Max
## -6568 -2005 1160 2224 5690
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -1.419e+03 3.194e+03 -0.444 0.66865
## GDP 2.526e-01 6.275e-02 4.025 0.00381 **
## ---
## Signif. codes: 0 ’***’ 0.001 ’**’ 0.01 ’*’ 0.05 ’.’ 0.1 ’ ’ 1
##
## Residual standard error: 4301 on 8 degrees of freedom
## Multiple R-squared: 0.6694, Adjusted R-squared: 0.6281
## F-statistic: 16.2 on 1 and 8 DF, p-value: 0.003815

gq02 <- lm(MANU ~ GDP, data=mydata2)


summary(gq02)

##
## Call:
## lm(formula = MANU ~ GDP, data = mydata2)
##
## Residuals:
## Min 1Q Median 3Q Max
## -50990 -21771 -4412 2693 81396
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.036e+04 2.519e+04 0.411 0.691773
## GDP 1.827e-01 3.583e-02 5.098 0.000932 ***
## ---
## Signif. codes: 0 ’***’ 0.001 ’**’ 0.01 ’*’ 0.05 ’.’ 0.1 ’ ’ 1

4
##
## Residual standard error: 40930 on 8 degrees of freedom
## Multiple R-squared: 0.7646, Adjusted R-squared: 0.7352
## F-statistic: 25.99 on 1 and 8 DF, p-value: 0.0009322

gq2 <- sum(gq02$residualsˆ2)


gq1 <- sum(gq01$residualsˆ2)

gq <- ifelse(gq2<gq1,sum(gq01$residualsˆ2)/sum(gq02$residualsˆ2),sum(gq02$residualsˆ2)/sum(gq01$residualsˆ2))
gq

## [1] 90.57449

1-pf(gq, gq01$df, gq02$df)

## [1] 4.847771e-07

2. Transforma les variables en termes per càpita. Estima el model per


MQO i detecta si hi ha heteroscedasticitat.
M AN U 1 GDP
= β0 + β1 +V
P OP P OP P OP

3. Transforma les variables dividint per GDP. Estima el model per MQO i
detecta si hi ha heteroscedasticitat.
M AN U 1
= β0 + β1 + W
GDP GDP

4. Transforma les variables en logaritmes. Estima el model per MQO i


detecta si hi ha heteroscedasticitat.
ln(M AN U ) = β0 GDP + β1 ln(GDP ) + T

5. Compara els resultats entre els diversos models.

You might also like