[R-br] Modelo linear com autocorrelação

Cesar Rabak cesar.rabak em gmail.com
Segunda Janeiro 2 17:32:47 BRST 2017


OK Paulo,

Fico feliz que você se "reconciliou" com a diferença dos coeficientes entre
as modelagens.

Sua abordagem, seria então preparar um modelo retendo uma parte dos dados
para teste e usar o restante para um "treinamento" como se faz em certas
abordagens mais exploratórias?

SE eu entendi corretamente suas variáveis explicativas (SM, PIB) e
 dependente (rendimentos) talvez você pudesse fazer alguma redução com uma
PCA e usar a variável obtida por combinação linear como explicativa (com
apenas duas a combinação linear deve ser fácil de explicar em termos do seu
problema)...

HTH
--
Cesar Rabak


2017-01-02 9:30 GMT-02:00 Paulo Dick <paulopcdick em gmail.com>:

> Cesar,
>
> Agradeço pela contribuição.
>
> Sobre a diferença que estranhei a priori, foi puro "achismo". Não esperava
> que a diferença nos coeficientes fosse grande, mesmo sendo duas modelagens
> distintas. Pensando melhor, já que espero que o termo AR(1) seja
> responsável por parte da "aparente correlação" entre os dados, me parece
> normal que os coeficientes sejam menores.
>
> A necessidade ao final é quantificar a associação entre as variáveis que
> estou usando, e posteriormente comparar os resultados obtidos utilizando
> este conjunto e outro similar. A correlação temporal proposta seria a forma
> de evitar cair uma uma análise "ingênua", já que minha hipótese de
> independência não é satisfeita.
>
>
> *Paulo Dick*
> Estatístico / Epidemiologia em Saúde Pública
> Tel.: (55 21) 99591-2716
>
> Em 21 de dezembro de 2016 19:52, Cesar Rabak <cesar.rabak em gmail.com>
> escreveu:
>
>> Paulo,
>>
>> Considerando que você está com duas modelagens de processos completamente
>> diferentes, qual é o seu racional para aferir a « . . . diferença
>> relativamente grande nos coeficientes estimados do modelo a partir da
>> inclusão. »?
>>
>> Além da questão mais matemática da análise estatística que você está
>> encetando, você está tentando detectar uma correlação temporal nos seus
>> dados a partir de duas medidas derivadas de indicadores econômicos e
>> entende que a variação trimestral é apropriada para elas?
>>
>> --
>> Cesar Rabak
>>
>>
>>
>>
>> 2016-12-21 17:39 GMT-02:00 Paulo Dick via R-br <r-br em listas.c3sl.ufpr.br>
>> :
>>
>>> Caros colegas,
>>>
>>> Gostaria da ajuda de vocês com um problema, que tem um pouco de novidade
>>> para mim.
>>>
>>> Possuo uma série de 19 resultados agregados por trimestre, para os quais
>>> espero que haja uma estrutura de correlação temporal. Gostaria de fazer um
>>> modelo linear que relacione a variável y (média de rendimentos) às
>>> variáveis x1 (medida derivada do salário mínimo) e x2 (medida derivada do
>>> PIB). Pensei em fazer um autorregressivo de ordem 1, de acordo com a
>>> estrutura a seguir (omiti algumas passagens das saídas):
>>>
>>> dados <- structure(list(periodo = structure(1:19, .Label = c("2012_01", "2012_02",
>>> "2012_03", "2012_04", "2013_01", "2013_02", "2013_03", "2013_04",
>>> "2014_01", "2014_02", "2014_03", "2014_04", "2015_01",
>>> "2015_02", "2015_03", "2015_04", "2016_01", "2016_02", "2016_03"),
>>> class = "factor"), y = c(733.384601, 744.827647, 753.5034207, 753.1709712,
>>> 768.7507878, 777.6006481, 791.1782806, 791.9151729,
>>> 811.0964066, 780.0872518, 767.3666407, 793.1892722, 812.0534955, 797.8992735,
>>> 786.6962087 <(786)%20696-2087>, 776.6167214, 781.8815115
>>> <(781)%20881-5115>, 778.9038465 <(778)%20903-8465>, 783.0461686), x1 =
>>> c(8.569195652, 8.466388156, 8.389005478, 8.243063605,
>>> 8.786043379, 8.665048836, 8.619304392, 8.494686625, 8.877923393, 8.69843061,
>>> 8.641290323, 8.512972168, 8.971745386, 8.727847168, 8.587190411,
>>> 8.386888367, 9.078997556, 8.915777833, 8.8), x2 = c(163.19,
>>> 167.97, 173.63, 171.91, 167.62, 174.71, 178.42, 176.29, 173.51, 174.02,
>>> 177.27, 175.74, 170.41, 168.87, 169.24, 165.62, 161.17, 162.82,
>>> 164.38)), .Names = c("periodo", "y", "x1", "x2"), row.names = c(NA,
>>> -19L), class = "data.frame")
>>>
>>> > # Modelo sem correlacao
>>> *> summary(lm(log(y) ~ x1 + x2, data = dados))*
>>>
>>> [...]
>>> Coefficients:
>>>              Estimate Std. Error t value Pr(>|t|)
>>> (Intercept) 5.4405431  0.3047514  17.852 5.47e-12 ***
>>> x1          0.0884444  0.0234849   3.766  0.00169 **
>>> x2          0.0026444  0.0009688   2.730  0.01484 *
>>> ---
>>> Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
>>>
>>> > # Modelo com correlacao
>>> *> summary(gls(log(y) ~ x1 + x2, data = dados, correlation =
>>> corARMA(p=1)))*
>>> [...]
>>> Correlation Structure: AR(1)
>>>  Formula: ~1
>>>  Parameter estimate(s):
>>>       Phi
>>> 0.8897408
>>>
>>> Coefficients:
>>>                Value Std.Error   t-value p-value
>>> (Intercept) 6.025572 0.3182184 18.935334  0.0000
>>> x1          0.042154 0.0168588  2.500400  0.0237
>>> x2          0.001515 0.0012822  1.181606  0.2546
>>>
>>>
>>> Estranhei a diferença relativamente grande nos coeficientes estimados do
>>> modelo a partir da inclusão. Graficamente, testei fazer apenas com x1 e o
>>> modelo pareceu não ter ajuste "bom".
>>> plot(log(y) ~ x1, dados); abline(gls(log(y) ~ x1, data = dados,
>>> correlation = corARMA(p=1)), col="blue")
>>>
>>> Ficou então a dúvida se procedi corretamente na sintaxe do modelo (ou na
>>> definição do modelo?). O que acham?
>>>
>>> Agradeço desde já.
>>>
>>> Abraços
>>>
>>> *Paulo Dick*
>>> Estatístico / Epidemiologia em Saúde Pública
>>> Tel.: (55 21) 99591-2716
>>>
>>> _______________________________________________
>>> R-br mailing list
>>> R-br em listas.c3sl.ufpr.br
>>> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
>>> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
>>> código mínimo reproduzível.
>>>
>>
>>
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20170102/92929393/attachment.html>


Mais detalhes sobre a lista de discussão R-br