Pular para o conteúdo principal

Econometria Não-paramétrica no "R"

Sei que o que postarei é algo simples, e passível de conter algum erro, por isso peço desculpas aos mais avançados e motivação aos iniciantes "como eu".

O que segue abaixo é uma rotina simples no R, onde vou gerar duas variáveis e ajustar uma linha usando métodos não-paramétricos

em MAIUSCULO são feitos comentários que não fazem parte da rotina, apenas explicam o que está sendo realizado. Então, se você quer acompanhar o procedimento, copie o que está em "minusculo" e cole no programa "R"

Devemos primeiro carregar o pacote, em “pacotes”, “carregar pacote....”, “KernSmooth”

n = 200
NUMERO DE OBSERVAÇÕES

d = 0.1
DESVIO

e = rnorm(n,0,d)
ERRO, DISTRIBUIÇÃO RANDOMICA, MÉDIA ZERO E VARIÂNCIA DADA CONSTANTE = O.1

x = seq(1,10,length=n)
VARIÁVEL MONTADA ATRAVÉS DE UMA SEQUENCIA DE VALORES DE 1 A 10, DE TAMANHO N (200)

y = sin(x) + e
VARIÁVEL MONTADA COM UMA FUNÇÃO SENO DA ANTERIOR MAIS UM TERMO DE ERRO

plot(x,y)
FUNÇÃO PARA GERAR O GRÁFICO DAS DUAS VARIÁVEIS, PERCEBA O FORMATO “SENÓIDE” DESSE PLOT, DEVIDO AOS VALORES DE Y.

lines(locpoly(x,y,band=0.008),col="black")
LOCPOLY É A FUNÇÃO USADA PELO PACOTE KERNSMOOTH, BAND É O TAMANHO DA JANELA, COL = A COR DA LINHA. PERCEBA QUE A JANELA É MUITO PEQUENA, A LINHA QUE LIGA OS PONTOS NÃO APRESENTA UM FORMATO “SUAVE” ADAPTADO A FORMA QUE OS DADOS ESTÃO DISPOSTOS.

ABAIXO GRÁFICO, VALORES SIMULADOS SÃO OS PONTOS, ESTIMAÇÃO É A LINHA



lines(locpoly(x,y,band=0.5),col="blue")
COM O AUMENTO DA JANELA (DE 0.008 P/ O.5) A LINHA AJUSTA-SE DE MELHOR MANEIRA AOS DADOS.



lines(locpoly(x,y,band=0.3),col="yellow")
PERCEBA QUE COM A Diminuiçã DA JANELA A LINHA AJUSTA-SE AOS DADOS DE UMA FORMA "bOA" TAMB.



lines(locpoly(x,y,band=0.1),col="blue")
MAIS UMA DIMINUIÇÃO DA JANELA E A LINHA AJUSTA-SE DE UMA MANEIRA RUIM, POIS FICA "DEFORMADA". O QUE SUGERE QUE OS VALORES DE BOM AJUSTE ESTÃO ENTRE OS ANTERIORES ACIMA.




____________ESCOLHA DA JANELA - H____________

*QUANDO H VAI PARA INFINITO POLINÔMIO LOCAL IGUAL A AJUSTE LOCAL (EXEMPLO DA RETA)
EXEMPLO: PARA RETA, COM JANELA GRANDE
lines(locpoly(x,y,degree=1,band=10000),col="black")
CASO SEJA USADO UM POLINÔMIO DE GRAU DOIS E UMA JANELA GRANDE O GLOBAL SERIA UM POLINÔMIO E SEGUNDO GRAU, EXEMPLO:
lines(locpoly(x,y,degree=2,band=10000),col="red")
_______DEGREE É O GRAU DO POLINÔMIO QUE VAI SE AJUSTAR..

_____É POSSÍVEL INCLUIR OUTRO GRAU QUE NÃO O AUTOMÁTICO.....FICANDO, POR EXEMPLO, ASSIM:
lines(locpoly(x,y,degree=7,band=0.4),col="black")

Comentários

  1. Grande Julio!!

    Cara, como voce está iniciando os estudos de econometria nao parametrica ai, vale a pena ler esse livro: Nonparametric Econometrics: Theory and Practice, do Qi Li & Jeffrey Scott Racine.

    É muito bom!

    Acho que um passo importante é entender bem a teoria! Como exemplo aplicado ao seu post, existe uma vasta literatura sobre a escolha otima do bandwidth. Tenho certeza que existe um comando no R para isso.

    Fica a dica.
    Grande abraço!

    ResponderExcluir
  2. Obrigado Pedro,

    No post quis apenas mostrar algum uso, sem me preocupar com a parte teórica ou até mesmo escolha da janela ótima. Puramente de efeito ilustrativo e iniciante.
    Agradeço a indicação de literatura (lerei com certeza) e o comentário.
    Sobre a escolha de janela ótima, acredito que tenha algo implementado no "R" sim, no exemplo do post quis mostrar que "é possivel trabalhar e como ficam os resultados com a mudaça de janela".
    Começo o curso de econometria não-paramétrica agora em março....pretendo daí elaborar posts com mais fundamento teórico aliados a prática.

    Abrcs

    PS: Tu estás na Espanha não é? Gostaria de trocar uma idéia contigo sobre os estudos aí
    meu e-mail é julio_economia@yahoo.com.br

    ResponderExcluir
  3. Parabéns Julio!!!
    Achei muito bom este teu post!
    Pra mim que não sei nada de R é muito didático!
    Um abração e espero ver outros posts assim!

    ResponderExcluir
  4. Gabrielito,

    A idéia do post é ser didático mesmo....
    Nos próximos dias postarei algo sobre MCMC e também sobre bootstrap, com algum exemplo fácil de aplicar ou meramente ilustrativo como o acima.

    Abrcs

    ResponderExcluir

Postar um comentário

Postagens mais visitadas deste blog

LISTA FONTES DE PESQUISA ÚTEIS E CONFIÁVEIS

http://novo.periodicos.capes.gov.br/?option=com_pnews&component=NewsShow&view=pnewsnewsshow&cid=128&mn=0 (Novo portal periódicos CAPES) http://www.enap.gov.br/index.php?option=com_content&task=view&id=252&Itemid=65 (ENAP - Escola Nacional de Administração Pública) http://www.scielo.br/scielo.php?lng=pt (BASE DE DADOS SCIELO) http://www.periodicos.capes.gov.br/portugues/index.jsp (PERIÓDICOS CAPES) http://acessolivre.capes.gov.br/ http://www.dominiopublico.gov.br/pesquisa/PesquisaObraForm.jsp (DOMÍNIO PÚBLICO) www.ufrgs.br http://www.ea.ufrgs.br/ www.culturaacademica.com.br (UNESP) http://www.armazemmemoria.com. br/AjudaArmazem. aspx (história) http://www.4shared. com/dir/18704839 /b1b64358/ anthropology. html www.bvce.org (esse dá acesso a várias bibliotecas virtuais) http://bibliotecadearqueologia.blogspot.com/ http://www.ufgd.edu.br/historiaemreflexao/julho_dez_2008/edicoes-anteriores

Leitura da madrugada - Métodos para modelos aditivos não-paramétricos

O título é "Finite sample performance of kernel-based regression methods for non-parametric additive models under common bandwidth selection criterion" de CARLOS MARTINS-FILHO e KEYANG, preciso ler o artigo,para além do conhecimento, responder uma questão da lista de exercícios de econometria não-paramétrica.

Exemplo de estimação de VAR no "R"

A idéia nesse post é "ajudar" na estimativa de um Vetor auto-regressivo usando o programa "R"....OBS: os comandos estão escritos em vermelho. Os dados utilizados foram coletados no sistema de gerenciador de séries temporais do Bacen (link barra lateral) e no Ipeadata (link barra lateral). Para facilitar o exercício salvei o documento em minha conta no google docs, é só clicar a baixar a tabela pro teste, o nome do arquivo é "macro". A períodicidade é mensal, de jan de 2000 a dez 2010....as variáveis já estão estacionárias (para PIB, SELIC (dessazonalizado) e CÂMBIO aplicamos a primeira diferença), IBOVESPA (Ibovespa - variação percentual mensal) e IGP-M são estacionãrias em nível. O primeiro passo é importar os dados para o programa.....eu sempre tenho costume de, dentro do R, ir em "Arquivo" - "Mudar dir.." e escolher a pasta para importar os dados salvos.....no meu caso, salvo sempre dentro da própria pasta do R....em "