cmis_correlacao: Faz analise Regressao/Correlacao automaticamente

Description Usage Arguments Details Value Author(s) References Examples

View source: R/CMISCorrelacao.R

Description

Faz an<c3><a1>lise Regress<c3><a3>o/Correla<c3><a7><c3><a3>o entre m<c3><a9>tricas explicativas e explicadas automaticamente pelo m<c3><a9>todo do melhor conjunto de modelos, por<c3><a9>m utilizando an<c3><a1>lises de multicolinearidade, redu<c3><a7><c3><a3>o por CrossValidation e LASSO para selecionar as melhores vari<c3><a1>veis do conjunto de dados.

Usage

1
2
3
cmis_correlacao(dados, n_passos_frente = 1, freq, nvif = 100, nfolds = 5, nmod = 10,
	r2 = 0.5, residteste = 0.8, sig = 0.15, prefixo.expl = "neg", prefixo.resp = "hdw",
	verbose = FALSE, saida_geral = FALSE, regsimples = TRUE, ...)

Arguments

dados

Conjunto de dados com a primeira sendo a DATA no formato DD/MM/AAAA HH:MM:SS e outras vari<c3><a1>veis de neg<c3><b3>cio, infra, etc. m<c3><ad>nimo duas covari<c3><a1>veis

n_passos_frente

N<c3><ba>mero que indica o orizonte de proje<c3><a7><c3><a3>o. M<c3><a9>trica mensal, a proje<c3><a7><c3><a3>o m<c3><a1>xima <c3><a9> de 18 meses (3 anos); M<c3><a9>trica di<c3><a1>ria, a proje<c3><a7><c3><a3>o m<c3><a1>xima <c3><a9> de 180 dias (6 meses) M<c3><a9>trica <c3><a9> por hora, a proje<c3><a7><c3><a3>o m<c3><a1>xima <c3><a9> de 336 dias (14 dias).

freq

Frequ<c3><aa>ncia da m<c3><a9>trica, di<c3><a1>ria <c3><a9> 7, mensal <c3><a9> 12 e hor<c3><a1>ria <c3><a9> 24.

nvif

Para modelos de regress<c3><a3>o m<c3><ba>ltipla, faz a escolhas das melhores m<c3><a9>tricas utilizando o crit<c3><a9>rio de multicolinearidade. Quanto menor for melhor. A literatura pede 10 como <c3><b3>timo, por<c3><a9>m nos dados de s<c3><a9>ries temporais certa flexibilidade foi imposta, deixando fixo em 300 para evitar perda de boas covari<c3><a1>veis j<c3><a1> que outras abordagem <c3><a9> realizada em conjunto na redu<c3><a7><c3><a3>o e escolha das m<c3><a9>tricas.

nfolds

Representa o n<c3><ba>mero de reamostragens a ser realizada para cada modelo a fim de decidir sobre a capacidade de predi<c3><a7><c3><a3>o do mesmo. Padr<c3><a3>o <c3><a9> 5 reamostragens.

nmod

Em modelos de regress<c3><a3>o m<c3><ba>ltipa indica o total de modelos a serem retornados por m<c3><a9>trica. Padr<c3><a3>o <c3><a9> 5.

r2

<c3><89> o threshold padr<c3><a3>o para o coeficiente de deternina<c3><a7><c3><a3>o. 0.5 <c3><a9> o m<c3><ad>nimo padr<c3><a3>o. Quanto maior melhor.

residteste

Threshold para decis<c3><a3>o de escolha baseada na qualidade da an<c3><a1>lise de res<c3><ad>duos. Seis testes s<c3><a3>o aplicados e um indice de 1 a 10 <c3><a9> definido. Tomando-se o inverso deste n<c3><ba>mero, quanto mais pr<c3><b3>ximo de 0,10 melhor.

sig

Alpha de signific<c3><a2>ncia para escolha dos betas estimados nas regress<c3><b5>es via teste estat<c3><ad>stico de Wald. O padr<c3><a3>o <c3><a9> 0,10.

prefixo.expl

<c3><89> o prefixo das vari<c3><a1>veis explicativas. Serve para qualquer combina<c3><a7><c3><a3>o de tr<c3><aa>s letras desde que as m<c3><a9>tricas do data frame de entrada sejam renomeadas, com exce<c3><a7><c3><a3>o da m<c3><a9>tricas de data, que deve ficar sempre com este nome. Padr<c3><a3>o <c3><a9> "neg", neg<c3><b3>cio.

prefixo.resp

<c3><89> o prefixo das vari<c3><a1>veis resposta. Serve para qualquer combina<c3><a7><c3><a3>o de tr<c3><aa>s letras desde que as m<c3><a9>tricas do data frame de entrada sejam renomeadas, com exce<c3><a7><c3><a3>o da m<c3><a9>tricas de data, que deve ficar sempre com este nome. Padr<c3><a3>o <c3><a9> "hdw", infraestrutura.

verbose

Se TRUE exibe o progresso de escolha dos melhores modelos na tela. O tempo de processamento aumenta devido <c3><a0>s impress<c3><b5>es.

saida_geral

Se TRUE retorna uma lista aninhada, onde o primeiro elemento <c3><a9> o data.frame dos resultados no formato para o banco de dados SQL e o outro <c3><a9> uma lista dos modelos escolhidos no formato do R que podem ser manipulados com rotinas de loop do tipo sapply, ou lappy para an<c3><a1>lises diversas. Padr<c3><a3>o <c3><a9> FALSE.

regsimples

Se TRUE faz modelagem apenas para regress<c3><a3>o simples do tipo y = beta_0 + beta_1*X, caso contr<c3><a1>rio faz estima<c3><a7><c3><a3>o de todas as combina<c3><a7><c3><b5>es de modelos de regress<c3><a3>o linear sem itera<c3><a7><c3><a3>o, inclu<c3><ad>ndo simples e multipla. Padr<c3><a3>o <c3><a9> FALSE.

...

Argumentos opcionais para chamadas internas

Details

O processo de modelagem pela fun<c3><a7><c3><a3>o cmis_correlacao envolve muita estat<c3><ad>stica e muitos detalhes te<c3><b3>ricos e computacionais. O tratamento inicial dos dados <c3><a9> feito pelas mesmas fun<c3><a7><c3><b5>es utilizadas para a parte do cmis_forecast que envolve tratamento de outliers, missing, m<c3><a9>tricas pobres de dados dentre outras. Em rela<c3><a7><c3><a3>o <c3><a0> modelagem, conceitos como redu<c3><a7><c3><a3>o de vari<c3><a1>veis via ANOVA tipo II, an<c3><a1>lise de CrossValidation e redu<c3><a7><c3><a3>o pela metodologia LASSO s<c3><a3>o empregadas em busca da melhor combina<c3><a7><c3><a3>o de t<c3><a9>cnicas para ajustes de modelos de forma mais inteligente evitando regress<c3><b5>es esp<c3><ba>rias e modelos estat<c3><ad>sticamente fracos. Em termos de decis<c3><a3>o, entram em cena as estat<c3><ad>sticas F, coeficiante de determina<c3><a7><c3><a3>o, estat<c3><ad>stica PRESS, ranking de res<c3><ad>duos e an<c3><a1>lise de AIC.

Os modelos abordados na an<c3><a1>lise de regress<c3><a3>o est<c3><a3>o divididos em duas classes: Modelos de Regress<c3><a3>o Linear Simples (MRLS) e Modelos de Regress<c3><a3>o Linear M<c3><ba>ltiplos (MRLM).

Quando o argumento de regress<c3><a3>o simples <c3><a9> verdadeiro, todas as possibilidades de modelos de regress<c3><a3>o simples para os dados s<c3><a3>o testadas e n<c3><a3>o h<c3><a1> redu<c3><a7><c3><a3>o de vari<c3><a1>veis, neste caso os modelos s<c3><a3>o checados por reamostragens internas via CrossValidation. Se os modelos s<c3><a3>o bons segundo a qualidade de seus res<c3><ad>duos e do coeficiente de determina<c3><a7><c3><a3>o, passa-se para a etapa de an<c3><a1>lise dos coeficientes estiamdos via estat<c3><ad>stcia Wald. No caso de modelos m<c3><ba>ltiplos uma verifica<c3><a7><c3><a3>o pr<c3><a9>via <c3><a9> feita nas covari<c3><a1>veis em busca de problemas de multicolinearidade que podem levar a modelos mal estimados e/ou regress<c3><b5>es esp<c3><ba>rias. Se alguma m<c3><a9>trica apresentar problemas de multicolinearidade ela <c3><a9> ent<c3><a3>o removida do modelo e o mesmo <c3><a9> reestimado e passa pela CrossValidation para um filtro mais sofisticado.

Em virtude de anomalias nos dados, os chamados pontos discrepantes e tamb<c3><a9>m valores faltantes (missing values), em muitas an<c3><a1>lises tais casos s<c3><a3>o tratados como exe<c3><a7><c3><a3>o e, em muitas situa<c3><a7><c3><b5>es, t<c3><a9>cnicas adequadas de tratamento devem ser utilizadas visando contornar sem deturpar o comportamento real dos dados. Diversas t<c3><a9>cnicas de detec<c3><a7><c3><a3>o de outliers s<c3><a3>o utilizadas na literatuta atual, contudo esta quest<c3><a3>o <c3><a9> delicada em fun<c3><a7><c3><a3>o do tipo de dado envolvido e de fatores inesperados como cat<c3><a1>strofes, por exemplo. A abordagem de tratamento de outliers no CMIS <c3><a9> feita em duas frentes que suporta dois tipos de situa<c3><a7><c3><b5>es suportadas pela abordagem de Hyndman.

I. Dados n<c3><a3>o sazonais com ou sem missing: nestes casos interpola<c3><a7><c3><a3>o linear <c3><a9> empregada. Nesta abordagem, um modelo linear <c3><a9> ajustado com base no hist<c3><b3>rico e val<c3><b5>es estimados deste modelo s<c3><a3>o ent<c3><a3>o inseridos para completar a s<c3><a9>rie;

II. Dados sazonais com ou sem missing: <c3><a9> feita uma decomposi<c3><a7><c3><a3>o da s<c3><a9>rie via stl(Seazonal Trend Loess ), que usa regress<c3><a3>o polinomial na s<c3><a9>rie dessazonalizada e em seguida resazonalisa a mesma com base na proje<c3><a7><c3><a3>o desta no per<c3><ad>do anterior. Embora complicada, esta t<c3><a9>cnica permite capturar comportamentos sazonais e evita a perda de informa<c3><a7><c3><a3>o da s<c3><a9>rie real.

Value

list[[1]]

Um data.frame com as estat<c3><ad>sticas dos melhores modelos escolhidos pelo algoritimo no formato de tabela expandida para o servidor receber e levar para a tela do CMIS. As colunas do objeto s<c3><a3>o:

v.resposta

Vari<c3><a1>vel resposta

explicativa

Vari<c3><a1>vel (eis) explicativa (s)

coeficiente

Coeficiente ou beta estimado

ic_2.5

Intervalo de confian<c3><a7>a inferior de 0.05 de signific<c3><a2>ncia para o beta estimado

ic_97.5

Intervalo de confian<c3><a7>a superior de 0.05 de signific<c3><a2>ncia para o beta estimado

p.valor

valor p para cada beta estimado

aic

Crit<c3><a9>rio de informa<c3><a7><c3><a3>o de Akaike do modelo

r2

Coeficiente de determina<c3><a7><c3><a3>o do modelo

parcial.r2

Coeficiente de determina<c3><a7><c3><a3>o parcial para modelos de regress<c3><a3>o linear multipla

rmse

Ra<c3><ad>z do erro quadr<c3><a1>tico m<c3><a9>dio

resid.test

Resultado do teste de res<c3><ad>duos

f.test

Estat<c3><ad>stica F do modelo completo

press

Estat<c3><ad>stica PRESS (PREdicted Residual Sum of Squares)

press.r2

Coeficiente de determina<c3><a7><c3><a3>o do modelo segundo a estat<c3><ad>stica PRESS. Esta estat<c3><ad>stica serve para medir a capacidade preditiva do modelo para novas observa<c3><a7><c3><b5>es passadas no mesmo.

Id

ID de ordena<c3><a7><c3><a3>o dos modelos, deve ser <c3><ba>nico por modelos, para evitar problemas de manipula<c3><a7><c3><a3>o dos modelos no servidor SQL.

list[[2]]

Se saida_geral igual = TRUE, cont<c3><a9>m a lista completa dos melhores modelos escolhidos no formato de lista aninhada do R. Cada elemento da lista possui um ou mais objetos de modelos (lm), simples ou m<c3><ba>ltiplos e pode ser acessada para fins investigativos somente pelo R.

Author(s)

LOPES, J. L.

References

R Core Team (2014). R: A language and environment for statistical computing. R Foundation for Statistical Computing, Vienna, Austria. URL http://www.R-project.org/.

Texts, Forecasting: principles and practice, < http://robjhyndman.com/talks/uwa/ >, acesso em 30/10/2014.

Hyndman, R.J. and Khandakar, Y. (2008) "Automatic time series forecasting: The forecast package for R", Journal of Statistical Software, 26(3).

Hyndman, R.J., Koehler, A.B., Snyder, R.D., and Grose, S. (2002) "A state space framework for automatic forecasting using exponential smoothing methods",International J. Forecasting, 18(3), 439-454.

Hyndman, R.J., Akram, Md., and Archibald, B. (2008) "The admissible parameter space for exponential smoothing models". Annals of Statistical Mathematics, 60(2), 407-426.

Hyndman, R.J., Koehler, A.B., Ord, J.K., and Snyder, R.D. (2008) Forecasting with exponential smoothing: the state space approach, Springer-Verlag.http://www.exponentialsmoothing.net.

Box, G. E. P., G. M. Jenkins and G. C. Reinsel (2008). Time series analysis: forecasting and control. 4th. Hoboken, NJ: John Wiley & Sons.

Brockwell, P. J. and R. A. Davis (2002). Introduction to time series and forecasting. 2nd ed. New York: Springer.

Chatfield, C. (2000). Time-series forecasting. Boca Raton: Chapman & Hall/CRC. Pena, D., G.C. Tiao and R.S. Tsay, eds. (2001). A course in time series analysis. New York: John Wiley & Sons.

Shumway, R. H. and D. S. Stoffer (2011). Time series analysis and its applications: with R examples. 3rd ed. New York: Springer.

Alan Miller "Subset Selection in Regression" Chapman \& Hall

Friedman, J., Hastie, T. and Tibshirani, R. (2008) Regularization Paths for Generalized Linear Models via Coordinate Descent, http://www.stanford.edu/~hastie/Papers/glmnet.pdf

Journal of Statistical Software, Vol. 33(1), 1-22 Feb 2010 http://www.jstatsoft.org/v33/i01/

Simon, N., Friedman, J., Hastie, T., Tibshirani, R. (2011) Regularization Paths for Cox's Proportional Hazards Model via Coordinate Descent, Journal of Statistical Software, Vol. 39(5) 1-13 http://www.jstatsoft.org/v39/i05/

Buckland (1997) Model Selection: an Integral Part of Inference. Biometrics 10:41

Burnham & Anderson (2002) Model Selection and Multimodel Inference: an Information Theoretic Approach Calcagno \& de Mazancourt 2010 J. Stat. Soft. v34 i12. See http://www.jstatsoft.org/v34/i12

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
data(mensal)
data(diario)

# Apenas regress<c3><b5>es simples com sa<c3><ad>da geral
fit0 <- cmis_correlacao(mensal, n_passos_frente = 1, freq = 12, nvif = 100, nfolds = 5, 
    nmod = 5, r2 = 0.5, residteste = 0.5, sig = 0.1, prefixo.expl = "neg", 
    prefixo.resp = "hdw", verbose = FALSE, saida_geral = TRUE, regsimples = TRUE) 
#fit0[[1]]
#fit0[[2]]

# Regress<c3><b5>es simples e multiplas com sa<c3><ad>da geral 
fit1 <- cmis_correlacao(diario, n_passos_frente = 1, freq = 7, nvif = 100, nfolds = 5, 
    nmod = 5, r2 = 0.5, residteste = 0.5, sig = 0.1, prefixo.expl = "neg", 
    prefixo.resp = "hdw", verbose = FALSE, saida_geral = TRUE, regsimples = FALSE)     
#fit1[[1]]
#fit1[[2]]    

evandeilton/RTFC documentation built on May 29, 2019, 10:37 a.m.