Description Usage Arguments Details Value Author(s) References Examples
View source: R/CMISCorrelacao.R
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.
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, ...)
|
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 |
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.
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. |
LOPES, J. L.
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
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]]
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.