SlideShare una empresa de Scribd logo
1 de 20
Descargar para leer sin conexión
+
Bioestatística - Universidade Católica de Brasília
Desenho experimental para predição
Prof. Dr. Gabriel da Rocha Fernandes
Universidade Católica de Brasília
gabrielf@ucb.br - fernandes.gabriel@gmail.com
+
Construindo uma predição
2
nUsar os dados corretos
nDefinir a taxa de erros
nSeparar os dados:Treino,Teste, e Validação.
nSelecionar as características no seu conjunto treino.
nSe não tiver validação, aplique seu modelo ao conjunto teste
apenas uma vez.
nSe tiver validação, aplique, e refine seu resultado.
+
Escolha os dados corretamente
nTenha dados pra responder a pergunta que tem.
nEm alguns casos é fácil.
nOu mais difícil: expressão de um gene => doença.
nMais dados levam a melhores modelos.
nSaiba como avaliar a performance (bench mark)
3
+
Definindo termos
nPositivo = identificado / Negativo = rejeitado
nTrue Positive = corretamente identificado
nFalse Positive = incorretamente identificado
nTrue Negative = corretamente rejeitado
nFalse Negative = incorretamente rejeitado
nExemplo médico
n True Positive = pessoa doente identificada como doente
n False Positive = pessoa saudável identificada como doente
n True Negative = pessoa saudável identificada como tal.
n False Negative = pessoa doente identificada como saudável
4
+
Definindo erros
nTipo I: quando diz que é algo que não é (Falso Positivo)
nTipo II: quando diz que não é, algo que é (Falso Negativo)
5
+
Exemplo
n Sensibilidade: Identificamos 67% dos casos em que a pessoa tem
cancer.
n Especificidade: Em 91% das vezes em que for saudável, o teste diz que
é saudável.
n PPV: Se você tem um resultado positivo, existe 10% de chance que
aquele resultado esteja correto
n PNV: Se o teste diz que você é saudável, existe 99.5% de ele estar certo.
6
+
Medidas de erros
nMean squared error
n Dados contínuos, sensível a outliers
nMedian absolute deviation
n Dados contínuos, mais robusto
nSensibilidade
n Se você quer perder poucos positivos
nEspecificidade
n Se você quer poucos negativos sendo classificados como positivos
nAcurácia
n Leva em conta falsos positivos e falsos negativos igualmente
7
+
Cross validation
nSub amostrar os dados para treino
nEvitar sobreajuste
nFazer previsões generalizáveis.
8
+
Sobreajuste
9
+
Classificador
n-0.2<y<0.6
10
+
Novos dados
11
+
Abordagem
nUse um conjunto treino
nDivida em conjuntos treino e teste
nConstrua um modelo com o conjunto de treino
nAvalie com o conjunto de teste
nUsado para
n Escolher variáveis para incluir a um modelo
n Escolher o tipo de função de predição a usar
n Escolher os parâmetros
n Comparar diferentes preditores.
12
+
Subamostragem aleatória
13
+
K-fold
14
+
Exemplo
15
+
Predizendo com modelos de
regressão
nCarregando os dados
n data(faithful)
nCriando conjunto teste/treino
n set.seed(333)
n trainSamples <- sample(1:272,size=(272/2),replace=F)
n trainFaith <- faithful[trainSamples,]
n testFaith <- faithful[-trainSamples,]
nVisão geral
n plot(trainFaith$waiting,trainFaith
$eruptions,pch=19,col="blue",xlab="Waiting",ylab="Duration")
16
+
Modelo linear
17
+
Predizer um novo valor
ncoef(lm1)[1] + coef(lm1)[2]*80
nnewdata = data.frame(waiting=80)
npredict(lm1, newdata)
nplot(trainFaith$waiting,trainFaith
$eruptions,pch=19,col="blue",xlab="Waiting",ylab="Duration"
);lines(trainFaith$waiting,predict(lm1),lwd=3)
nplot(testFaith$waiting,testFaith
$eruptions,pch=19,col="blue",xlab="Waiting",ylab="Duration"
); lines(testFaith
$waiting,predict(lm1,newdata=testFaith),lwd=3)
18
+
Calculando os erros
nCalculando o Root Mean Squared Error do treino
n sqrt(sum((lm1$fitted-trainFaith$eruptions)^2))
nCalculando para o teste
n sqrt(sum((predict(lm1,newdata=testFaith)-testFaith$eruptions)^2))
nIntervalos de predição
n pred1 <- predict(lm1,newdata=testFaith,interval="prediction")
n ord <- order(testFaith$waiting)
n plot(testFaith$waiting,testFaith$eruptions,pch=19,col="blue")
n matlines(testFaith$waiting[ord],pred1[ord,],type="l",,col=c(1,2,2),lty =
c(1,1,1), lwd=3)
19
+
Exemplos binários
nRavens data
n load("/var/www/fileserver/ravensData.rda")
nRegressão logística
n glm1 <- glm(ravenWinNum ~
ravenScore,family="binomial",data=ravensData)
n boxplot(predict(glm1) ~ ravensData$ravenWinNum,col="blue")
n boxplot(predict(glm1,type="response") ~ ravensData
$ravenWinNum,col="blue")
20

Más contenido relacionado

Similar a Estatística - Aula 5

EQUIPAMENTO MÉDICO PORTÁTIL PARA ACOMPANHAMENTO DO COMPROMETIMENTO MOTOR EM P...
EQUIPAMENTO MÉDICO PORTÁTIL PARA ACOMPANHAMENTO DO COMPROMETIMENTO MOTOR EM P...EQUIPAMENTO MÉDICO PORTÁTIL PARA ACOMPANHAMENTO DO COMPROMETIMENTO MOTOR EM P...
EQUIPAMENTO MÉDICO PORTÁTIL PARA ACOMPANHAMENTO DO COMPROMETIMENTO MOTOR EM P...
Vic Fernandes
 

Similar a Estatística - Aula 5 (12)

Aula Teste Diagnostico - Mestrado PPGMS nov2013
Aula Teste Diagnostico - Mestrado PPGMS nov2013Aula Teste Diagnostico - Mestrado PPGMS nov2013
Aula Teste Diagnostico - Mestrado PPGMS nov2013
 
Testes diagnósticos
Testes diagnósticosTestes diagnósticos
Testes diagnósticos
 
Testesdiagnóstcos22 05
Testesdiagnóstcos22 05Testesdiagnóstcos22 05
Testesdiagnóstcos22 05
 
Utilidade dos testes diagnosticos para decisões em saúde
Utilidade dos testes diagnosticos para decisões em saúde Utilidade dos testes diagnosticos para decisões em saúde
Utilidade dos testes diagnosticos para decisões em saúde
 
Critérios de Validação
Critérios de ValidaçãoCritérios de Validação
Critérios de Validação
 
Hep 141
Hep 141Hep 141
Hep 141
 
Validação de Testes Diagnósticos (aula 9)
Validação de Testes Diagnósticos (aula 9)Validação de Testes Diagnósticos (aula 9)
Validação de Testes Diagnósticos (aula 9)
 
estatisitica basica para saude aula 03
estatisitica basica para saude aula 03 estatisitica basica para saude aula 03
estatisitica basica para saude aula 03
 
ICSA17 Imunologia (Prática) - Critérios de validação de ensaios de diagnóstico
ICSA17 Imunologia (Prática) - Critérios de validação de ensaios de diagnóstico ICSA17 Imunologia (Prática) - Critérios de validação de ensaios de diagnóstico
ICSA17 Imunologia (Prática) - Critérios de validação de ensaios de diagnóstico
 
EQUIPAMENTO MÉDICO PORTÁTIL PARA ACOMPANHAMENTO DO COMPROMETIMENTO MOTOR EM P...
EQUIPAMENTO MÉDICO PORTÁTIL PARA ACOMPANHAMENTO DO COMPROMETIMENTO MOTOR EM P...EQUIPAMENTO MÉDICO PORTÁTIL PARA ACOMPANHAMENTO DO COMPROMETIMENTO MOTOR EM P...
EQUIPAMENTO MÉDICO PORTÁTIL PARA ACOMPANHAMENTO DO COMPROMETIMENTO MOTOR EM P...
 
ICSA29 Imunodiagnostico - Criterios de validacao
ICSA29 Imunodiagnostico - Criterios de validacaoICSA29 Imunodiagnostico - Criterios de validacao
ICSA29 Imunodiagnostico - Criterios de validacao
 
C R I T E R I O S D E V A L I D A Ç Ã O
C R I T E R I O S  D E  V A L I D A Ç Ã OC R I T E R I O S  D E  V A L I D A Ç Ã O
C R I T E R I O S D E V A L I D A Ç Ã O
 

Estatística - Aula 5

  • 1. + Bioestatística - Universidade Católica de Brasília Desenho experimental para predição Prof. Dr. Gabriel da Rocha Fernandes Universidade Católica de Brasília gabrielf@ucb.br - fernandes.gabriel@gmail.com
  • 2. + Construindo uma predição 2 nUsar os dados corretos nDefinir a taxa de erros nSeparar os dados:Treino,Teste, e Validação. nSelecionar as características no seu conjunto treino. nSe não tiver validação, aplique seu modelo ao conjunto teste apenas uma vez. nSe tiver validação, aplique, e refine seu resultado.
  • 3. + Escolha os dados corretamente nTenha dados pra responder a pergunta que tem. nEm alguns casos é fácil. nOu mais difícil: expressão de um gene => doença. nMais dados levam a melhores modelos. nSaiba como avaliar a performance (bench mark) 3
  • 4. + Definindo termos nPositivo = identificado / Negativo = rejeitado nTrue Positive = corretamente identificado nFalse Positive = incorretamente identificado nTrue Negative = corretamente rejeitado nFalse Negative = incorretamente rejeitado nExemplo médico n True Positive = pessoa doente identificada como doente n False Positive = pessoa saudável identificada como doente n True Negative = pessoa saudável identificada como tal. n False Negative = pessoa doente identificada como saudável 4
  • 5. + Definindo erros nTipo I: quando diz que é algo que não é (Falso Positivo) nTipo II: quando diz que não é, algo que é (Falso Negativo) 5
  • 6. + Exemplo n Sensibilidade: Identificamos 67% dos casos em que a pessoa tem cancer. n Especificidade: Em 91% das vezes em que for saudável, o teste diz que é saudável. n PPV: Se você tem um resultado positivo, existe 10% de chance que aquele resultado esteja correto n PNV: Se o teste diz que você é saudável, existe 99.5% de ele estar certo. 6
  • 7. + Medidas de erros nMean squared error n Dados contínuos, sensível a outliers nMedian absolute deviation n Dados contínuos, mais robusto nSensibilidade n Se você quer perder poucos positivos nEspecificidade n Se você quer poucos negativos sendo classificados como positivos nAcurácia n Leva em conta falsos positivos e falsos negativos igualmente 7
  • 8. + Cross validation nSub amostrar os dados para treino nEvitar sobreajuste nFazer previsões generalizáveis. 8
  • 12. + Abordagem nUse um conjunto treino nDivida em conjuntos treino e teste nConstrua um modelo com o conjunto de treino nAvalie com o conjunto de teste nUsado para n Escolher variáveis para incluir a um modelo n Escolher o tipo de função de predição a usar n Escolher os parâmetros n Comparar diferentes preditores. 12
  • 16. + Predizendo com modelos de regressão nCarregando os dados n data(faithful) nCriando conjunto teste/treino n set.seed(333) n trainSamples <- sample(1:272,size=(272/2),replace=F) n trainFaith <- faithful[trainSamples,] n testFaith <- faithful[-trainSamples,] nVisão geral n plot(trainFaith$waiting,trainFaith $eruptions,pch=19,col="blue",xlab="Waiting",ylab="Duration") 16
  • 18. + Predizer um novo valor ncoef(lm1)[1] + coef(lm1)[2]*80 nnewdata = data.frame(waiting=80) npredict(lm1, newdata) nplot(trainFaith$waiting,trainFaith $eruptions,pch=19,col="blue",xlab="Waiting",ylab="Duration" );lines(trainFaith$waiting,predict(lm1),lwd=3) nplot(testFaith$waiting,testFaith $eruptions,pch=19,col="blue",xlab="Waiting",ylab="Duration" ); lines(testFaith $waiting,predict(lm1,newdata=testFaith),lwd=3) 18
  • 19. + Calculando os erros nCalculando o Root Mean Squared Error do treino n sqrt(sum((lm1$fitted-trainFaith$eruptions)^2)) nCalculando para o teste n sqrt(sum((predict(lm1,newdata=testFaith)-testFaith$eruptions)^2)) nIntervalos de predição n pred1 <- predict(lm1,newdata=testFaith,interval="prediction") n ord <- order(testFaith$waiting) n plot(testFaith$waiting,testFaith$eruptions,pch=19,col="blue") n matlines(testFaith$waiting[ord],pred1[ord,],type="l",,col=c(1,2,2),lty = c(1,1,1), lwd=3) 19
  • 20. + Exemplos binários nRavens data n load("/var/www/fileserver/ravensData.rda") nRegressão logística n glm1 <- glm(ravenWinNum ~ ravenScore,family="binomial",data=ravensData) n boxplot(predict(glm1) ~ ravensData$ravenWinNum,col="blue") n boxplot(predict(glm1,type="response") ~ ravensData $ravenWinNum,col="blue") 20