\[\begin{eqnarray*} \ln C_t=\beta_1+\beta_2\ln I_t+\beta_3 \ln L_t+\beta_4 H_t+\beta_5 A_t+\mu_t \end{eqnarray*}\]
em que, \(C=\) média de 12 meses do preço interno do cobre (em centavos de dólar por librapeso); \(PNB=\) PNB anual (em bilhões de US\(\$\)); \(I=\) Índice de produção industrial (média de 12 meses); \(L=\) Preço médio de 12 meses do cobre na bolsa de metais de Londres (libras esterlinas); \(H=\) Número de prédios construídos por ano (milhões de unidades); \(A=\) Preço médio de 12 meses do alumínio (em centavos de dólar por libra-peso).
Pelo software R obtém-se:
rm(list=ls())
dados<-read.table("C:\\Users\\os\\Documents\\est 744\\dados.txt",h=T,sep="\t")
head(dados)
## Ano C PNB I L H A
## 1 1951 21.89 330.2 45.1 220.4 1491 19.00
## 2 1952 22.29 347.2 50.9 259.5 1504 19.41
## 3 1953 19.63 366.1 53.3 256.3 1438 20.93
## 4 1954 22.85 366.3 53.6 249.3 1551 21.78
## 5 1955 33.77 399.3 54.6 352.3 1646 23.68
## 6 1956 39.18 420.7 61.1 329.1 1349 26.01
dados$I<-log(dados$I,base=exp(1))
dados$L<-log(dados$L,base=exp(1))
dados$H<-log(dados$H,base=exp(1))
dados$A<-log(dados$A,base=exp(1))
dados$C<-log(dados$C,base=exp(1))
head(dados)
## Ano C PNB I L H A
## 1 1951 3.086030 330.2 3.808882 5.395444 7.307202 2.944439
## 2 1952 3.104138 347.2 3.929863 5.558757 7.315884 2.965788
## 3 1953 2.977059 366.1 3.975936 5.546349 7.271009 3.041184
## 4 1954 3.128951 366.3 3.981549 5.518657 7.346655 3.080992
## 5 1955 3.519573 399.3 4.000034 5.864483 7.406103 3.164631
## 6 1956 3.668166 420.7 4.112512 5.796362 7.207119 3.258481
summary(lm(C~I+L+H+A,data=dados))
##
## Call:
## lm(formula = C ~ I + L + H + A, data = dados)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.23624 -0.06926 0.03014 0.07209 0.22490
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -1.500441 1.003020 -1.496 0.147192
## I 0.467509 0.165987 2.817 0.009340 **
## L 0.279443 0.114726 2.436 0.022328 *
## H -0.005152 0.142947 -0.036 0.971538
## A 0.441449 0.106508 4.145 0.000341 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.1217 on 25 degrees of freedom
## Multiple R-squared: 0.9361, Adjusted R-squared: 0.9259
## F-statistic: 91.54 on 4 and 25 DF, p-value: 1.491e-14
Portanto,
\[\begin{eqnarray*} \ln C_t=-1,5004+0,4675\ln(I_t)+0,2794\ln(L_t)-0,0051\ln(H_t)+0,4414\ln(A_t) \end{eqnarray*}\]
Os resíduos são dados por:
rm(list=ls())
dados<-read.table("C:\\Users\\os\\Documents\\est 744\\dados.txt",h=T,sep="\t")
dados$I<-log(dados$I,base=exp(1))
dados$L<-log(dados$L,base=exp(1))
dados$H<-log(dados$H,base=exp(1))
dados$A<-log(dados$A,base=exp(1))
dados$C<-log(dados$C,base=exp(1))
model<-lm(C~I+L+H+A,data=dados)
# Resíduos
model$residuals
## 1 2 3 4 5 6
## 0.03589324 -0.05757447 -0.23624026 -0.09641769 0.15230774 0.22489774
## 7 8 9 10 11 12
## 0.05863286 -0.06876685 0.03147403 0.04922001 0.02752004 0.03986442
## 13 14 15 16 17 18
## 0.03685954 -0.06815048 -0.12805313 -0.18339971 -0.06942614 -0.08228995
## 19 20 21 22 23 24
## -0.04986678 0.14940341 0.10506920 0.09664564 0.08280250 0.16086444
## 25 26 27 28 29 30
## 0.07658090 -0.03037358 -0.14707747 -0.18933948 0.05012670 0.02881360
E os resíduos padronizados:
rm(list=ls())
dados<-read.table("C:\\Users\\os\\Documents\\est 744\\dados.txt",h=T,sep="\t")
dados$I<-log(dados$I,base=exp(1))
dados$L<-log(dados$L,base=exp(1))
dados$H<-log(dados$H,base=exp(1))
dados$A<-log(dados$A,base=exp(1))
dados$C<-log(dados$C,base=exp(1))
model<-lm(C~I+L+H+A,data=dados)
# Resíduos padronizados
model$residuals/sd(model$residuals)
## 1 2 3 4 5 6 7
## 0.3175228 -0.5093217 -2.0898550 -0.8529409 1.3473617 1.9895155 0.5186845
## 8 9 10 11 12 13 14
## -0.6083330 0.2784291 0.4354156 0.2434509 0.3526531 0.3260710 -0.6028804
## 15 16 17 18 19 20 21
## -1.1327979 -1.6224110 -0.6141653 -0.7279625 -0.4411371 1.3216691 0.9294749
## 22 23 24 25 26 27 28
## 0.8549575 0.7324967 1.4230570 0.6774585 -0.2686941 -1.3010932 -1.6749561
## 29 30
## 0.4434364 0.2548941
O gráfico dos resíduos:
rm(list=ls())
dados<-read.table("C:\\Users\\os\\Documents\\est 744\\dados.txt",h=T,sep="\t")
dados$I<-log(dados$I,base=exp(1))
dados$L<-log(dados$L,base=exp(1))
dados$H<-log(dados$H,base=exp(1))
dados$A<-log(dados$A,base=exp(1))
dados$C<-log(dados$C,base=exp(1))
model<-lm(C~I+L+H+A,data=dados)
# Resíduos padronizados
suppressWarnings(library(ggplot2))
ggplot()+geom_point(aes(x=dados$Ano,y=model$residuals),size=3,
color=ifelse(model$residuals>0,"blue","red"))+
theme_minimal()+
labs(x="Ano",y="Resíduos")+
geom_hline(yintercept = 0,linetype=1)
O gráfico dos resíduos padronizados:
rm(list=ls())
dados<-read.table("C:\\Users\\os\\Documents\\est 744\\dados.txt",h=T,sep="\t")
dados$I<-log(dados$I,base=exp(1))
dados$L<-log(dados$L,base=exp(1))
dados$H<-log(dados$H,base=exp(1))
dados$A<-log(dados$A,base=exp(1))
dados$C<-log(dados$C,base=exp(1))
model<-lm(C~I+L+H+A,data=dados)
# Resíduos padronizados
library(ggplot2)
ggplot()+geom_point(aes(x=dados$Ano,y=model$residuals/sd(model$residuals)),size=3,
color=ifelse(model$residuals>0,"blue","red"))+
theme_minimal()+
labs(x="Ano",y="Resíduos padronizados")+
geom_hline(yintercept = 0,linetype=1)
Parece não existir autocorrelação nos resíduos pelo fato da ausência de qualquer tipo de padrão nos gráficos.
A estatística d de Durbin-Watson é obtida pelo software R por:
rm(list=ls())
dados<-read.table("C:\\Users\\os\\Documents\\est 744\\dados.txt",h=T,sep="\t")
dados$I<-log(dados$I,base=exp(1))
dados$L<-log(dados$L,base=exp(1))
dados$H<-log(dados$H,base=exp(1))
dados$A<-log(dados$A,base=exp(1))
dados$C<-log(dados$C,base=exp(1))
model<-lm(C~I+L+H+A,data=dados)
suppressPackageStartupMessages(library(lmtest))
## Warning: package 'zoo' was built under R version 4.1.3
dwtest(model)
##
## Durbin-Watson test
##
## data: model
## DW = 0.95494, p-value = 6.388e-05
## alternative hypothesis: true autocorrelation is greater than 0
Como \(p-valor<0,05\), então podemos concluir que os resíduos não apresentam autocorrelação pelo teste de Durbin-Watson ao nível de significância de 5\(\%\) de probabilidade.
Estimando os parâmetros do modelo pelo procedimento de Cochrane-Orcutt:
rm(list=ls())
dados<-read.table("C:\\Users\\os\\Documents\\est 744\\dados.txt",h=T,sep="\t")
library(orcutt)
## Warning: package 'orcutt' was built under R version 4.1.3
dados$I<-log(dados$I,base=exp(1))
dados$L<-log(dados$L,base=exp(1))
dados$H<-log(dados$H,base=exp(1))
dados$A<-log(dados$A,base=exp(1))
dados$C<-log(dados$C,base=exp(1))
model<-lm(C~I+L+H+A,data=dados)
model1<-cochrane.orcutt(model)
summary(model1)
## Call:
## lm(formula = C ~ I + L + H + A, data = dados)
##
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -1.24947 1.09532 -1.141 0.265237
## I 0.39147 0.23459 1.669 0.108173
## L 0.34242 0.11358 3.015 0.005991 **
## H -0.05186 0.14288 -0.363 0.719802
## A 0.45622 0.15626 2.920 0.007503 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.1046 on 24 degrees of freedom
## Multiple R-squared: 0.8281 , Adjusted R-squared: 0.7995
## F-statistic: 28.9 on 4 and 24 DF, p-value: < 7.261e-09
##
## Durbin-Watson statistic
## (original): 0.95494 , p-value: 6.388e-05
## (transformed): 1.47744 , p-value: 2.98e-02
As estimativas obtidas pelo procedimento de Cochrane-Orcutt são:
\[\begin{eqnarray*} \ln C_t=-1,2494+0,3914\ln(I_t)+0,3424\ln(L_t)-0,05186\ln(H_t)+0,4562\ln(A_t) \end{eqnarray*}\]
Estimando os parâmetros do modelo pelo procedimento do MQG:
rm(list=ls())
dados<-read.table("C:\\Users\\os\\Documents\\est 744\\dados.txt",h=T,sep="\t")
library(nlme)
dados$I<-log(dados$I,base=exp(1))
dados$L<-log(dados$L,base=exp(1))
dados$H<-log(dados$H,base=exp(1))
dados$A<-log(dados$A,base=exp(1))
dados$C<-log(dados$C,base=exp(1))
model<-gls(C~I+L+H+A,data=dados,correlation=corARMA(p=1),method='ML')
summary(model)
## Generalized least squares fit by maximum likelihood
## Model: C ~ I + L + H + A
## Data: dados
## AIC BIC logLik
## -42.58815 -32.77977 28.29408
##
## Correlation Structure: AR(1)
## Formula: ~1
## Parameter estimate(s):
## Phi
## 0.5365428
##
## Coefficients:
## Value Std.Error t-value p-value
## (Intercept) -1.2197390 1.0530230 -1.158321 0.2577
## I 0.3730978 0.2000610 1.864920 0.0740
## L 0.3457890 0.1086496 3.182606 0.0039
## H -0.0471637 0.1387131 -0.340009 0.7367
## A 0.4565030 0.1505485 3.032266 0.0056
##
## Correlation:
## (Intr) I L H
## I 0.178
## L -0.202 -0.669
## H -0.909 -0.369 0.177
## A -0.303 -0.525 -0.047 0.303
##
## Standardized residuals:
## Min Q1 Med Q3 Max
## -2.2504655 -0.6664047 0.2559493 0.6120968 1.8160085
##
## Residual standard error: 0.1110272
## Degrees of freedom: 30 total; 25 residual
As estimativas obtidas pelo procedimento do MQG são:
\[\begin{eqnarray*} \ln C_t=-1,2197+0,3730\ln(I_t)+0,3457\ln(L_t)-0,04716\ln(H_t)+0,4565\ln(A_t) \end{eqnarray*}\]
Os valores obtidos pelos métodos do MQG e do Cochrane-Orcutt são muitos próximos entre si.