[R-br] Regressão por mínimos quadrados parciais para dados categóricos

ASANTOS alexandresantosbr em yahoo.com.br
Quinta Julho 10 14:59:50 BRT 2014


Boa tarde pessoal,

         Estou estudando o ajuste de regressões por mínimos quadrados 
parciais (PLSR) para dados categóricos, usando o pacote psl. Me deparei 
com um problema de predição, se tenho os níveis de "infestado", 
representado por 1 e "sadio" representado por 0, como os valores de 
predição não são inteiros, posso utilizar round para saber a qual nível 
pertente um novo conjunto de variáveis resposta testados?

Segue CRM:

require(pls)

#Dados artificiais

T<-as.factor(sort(rep(c("infestado", "sadio"), 100)))

y1 <- c(rnorm(100,1,0.1),rnorm(100,1,0.1))
y2 <- c(rnorm(100,10,0.3),rnorm(100,10,0.6))
y3 <- c(rnorm(100,10,2.3),rnorm(100,11,2.6))
y4 <- c(rnorm(100,5,0.5),rnorm(100,7,0.5))
y5 <- c(rnorm(100,0,0.1),rnorm(100,0,0.1))

#Cria o data frame
avaliacao <- as.numeric(T)
espectro <- cbind(y1,y2,y3,y4,y5)
dados <- data.frame(avaliacao = I(as.matrix(avaliacao)), bands = 
I(as.matrix(espectro)))

#Ajuste da regressão
taumato <- plsr(avaliacao ~ bands, ncomp = 5, validation = "LOO", 
data=dados)
summary(taumato)

#Gráfico de componentes
plot(taumato, plottype = "scores", comps = 1:5)


#Vaidação cruzada
taumato.cv <- crossval(taumato, segments = 10)
plot(MSEP(taumato.cv), legendpos = "topright")
summary(taumato.cv, what = "validation")
plot(taumato, xlab ="medição", ylab="predição", ncomp = 3, asp = 1, 
main=" ", line = TRUE)


#Predição para 3 componentes principais
T<-as.factor(sort(rep(c("infestado", "sadio"), 50)))

y1 <- c(rnorm(100,1,0.1),rnorm(100,1,0.1))
y2 <- c(rnorm(100,10,0.3),rnorm(100,10,0.6))
y3 <- c(rnorm(100,10,2.3),rnorm(100,11,2.6))
y4 <- c(rnorm(100,5,0.5),rnorm(100,7,0.5))
y5 <- c(rnorm(100,0,0.1),rnorm(100,0,0.1))

espectro2 <- cbind(y1,y2,y3,y4,y5)
new.dados <- data.frame(bands = I(as.matrix(espectro2)))
round(predict(taumato, ncomp = 3, newdata = new.dados))##Arredondando 
para ver a qual nível pertence


Obrigado,



-- 
======================================================================
Alexandre dos Santos
Proteção Florestal
IFMT - Instituto Federal de Educação, Ciência e Tecnologia de Mato Grosso
Campus Cáceres
Caixa Postal 244
Avenida dos Ramires, s/n
Bairro: Distrito Industrial
Cáceres - MT                      CEP: 78.200-000
Fone: (+55) 65 8132-8112 (TIM)   (+55) 65 9686-6970 (VIVO)
e-mails:alexandresantosbr em yahoo.com.br
         alexandre.santos em cas.ifmt.edu.br
Lattes: http://lattes.cnpq.br/1360403201088680
======================================================================



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