Oi Edimeire,

On 13/07/16 23:24, Edimeire Alexandra Pinto wrote:
analisar pressupostos, por exemplo, multicolinearidade, outliers, etc.

Há várias controvércias em testar normalidade em grandes conjuntos de dados. Veja este exemplo:
http://stats.stackexchange.com/questions/2492/is-normality-testing-essentially-useless

Ainda sobre matriz de covariancia, veja uma "saída":
http://stackoverflow.com/questions/12670972/doing-pca-on-very-large-data-set-in-r

Porém, gostaria de sugerir dar uma olhada no livro "Elementos de aprendizado estatístico" cujo pdf está disponível free na página do segundo autor em
http://statweb.stanford.edu/~tibs/ElemStatLearn/

Esse livro aborda desde regressão, classificação até técnicas mais comums em "Aprendizado de máquina". Se alguém quiser uma introdução à redes neurais, por exemplo, sobre a ótica estatística, essa é uma boa referência.

Os autores desenvolveram um pacote no R (o 'glmnet') que implementa de forma muito eficiente a técnica de 'elastic net' e LASSO (regressão regularizada). Só para ter uma idéia dessa eficiência considere o caso de uma regressão com matriz X esparsa. Consegui fazer um teste com 15milhões de linhas e 1 milhão de colunas em 13 segundos (mas a matriz X era realmente muito esparsa tendo "apenas" ~60milhões de não zeros). Notar que os autores estimaram uma rede elástica com (100 regressões) com 54 milhões de dados e 7 milhões de preditores em 2 horas! ver isso no slide 17 (pág. 40) em http://web.stanford.edu/~hastie/TALKS/SLBD_new.pdf

Olha abaixo um exemplo (matriz não esparsa) e note que é mais rápido fazer 100 regressões que criar a matriz!

> ### tamanhos
> n = 1e6

> k = 200

> ### matriz de covariaveis
> system.time(x <- matrix(rnorm(n*k), n, k))
   user  system elapsed
 13.757   0.152  13.932

> print(object.size(x), unit='Mb')
1525.9 Mb

> ### resposta: 2 grupos
> g2 = sample(1:2, n, replace=TRUE)

> ### LDA
> require(MASS)

> system.time(l2 <- lda(x=x, grouping=g2)) ### 4 cores: 7.55gb
   user  system elapsed
156.564   9.146  69.960

> ### regressao logistica regularizada
> require(glmnet)

> system.time(fit2 <- glmnet(x, g2, family="binomial")) ### 1 core 3.4Gb
   user  system elapsed
  3.796   0.053   3.855

Note a grande diferença em eficiencia (com as opções default glmnet faz 100 regressões!). A vantagem da rede elástica é que a seleção de variáveis importantes é feita automaticamente.

Elias
_______________________________________________
R-br mailing list
[email protected]
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 fornea cdigo mnimo 
reproduzvel.

Responder a