Estatística - Aula 5

339 views

Published on

  • Be the first to comment

  • Be the first to like this

Estatística - Aula 5

  1. 1. +Bioestatística - Universidade Católica de BrasíliaDesenho experimental para prediçãoProf. Dr. Gabriel da Rocha FernandesUniversidade Católica de Brasíliagabrielf@ucb.br - fernandes.gabriel@gmail.com
  2. 2. +Construindo uma predição2nUsar os dados corretosnDefinir a taxa de errosn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 testeapenas uma vez.nSe tiver validação, aplique, e refine seu resultado.
  3. 3. +Escolha os dados corretamenten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. 4. +Definindo termosnPositivo = identificado / Negativo = rejeitadonTrue Positive = corretamente identificadonFalse Positive = incorretamente identificadonTrue Negative = corretamente rejeitadonFalse Negative = incorretamente rejeitadonExemplo médicon True Positive = pessoa doente identificada como doenten False Positive = pessoa saudável identificada como doenten True Negative = pessoa saudável identificada como tal.n False Negative = pessoa doente identificada como saudável4
  5. 5. +Definindo errosn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. 6. +Exemplon Sensibilidade: Identificamos 67% dos casos em que a pessoa temcancer.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 queaquele resultado esteja correton PNV: Se o teste diz que você é saudável, existe 99.5% de ele estar certo.6
  7. 7. +Medidas de errosnMean squared errorn Dados contínuos, sensível a outliersnMedian absolute deviationn Dados contínuos, mais robustonSensibilidaden Se você quer perder poucos positivosnEspecificidaden Se você quer poucos negativos sendo classificados como positivosnAcurácian Leva em conta falsos positivos e falsos negativos igualmente7
  8. 8. +Cross validationnSub amostrar os dados para treinonEvitar sobreajustenFazer previsões generalizáveis.8
  9. 9. +Sobreajuste9
  10. 10. +Classificadorn-0.2<y<0.610
  11. 11. +Novos dados11
  12. 12. +AbordagemnUse um conjunto treinonDivida em conjuntos treino e testenConstrua um modelo com o conjunto de treinonAvalie com o conjunto de testenUsado paran Escolher variáveis para incluir a um modelon Escolher o tipo de função de predição a usarn Escolher os parâmetrosn Comparar diferentes preditores.12
  13. 13. +Subamostragem aleatória13
  14. 14. +K-fold14
  15. 15. +Exemplo15
  16. 16. +Predizendo com modelos deregressãonCarregando os dadosn data(faithful)nCriando conjunto teste/treinon set.seed(333)n trainSamples <- sample(1:272,size=(272/2),replace=F)n trainFaith <- faithful[trainSamples,]n testFaith <- faithful[-trainSamples,]nVisão geraln plot(trainFaith$waiting,trainFaith$eruptions,pch=19,col="blue",xlab="Waiting",ylab="Duration")16
  17. 17. +Modelo linear17
  18. 18. +Predizer um novo valorncoef(lm1)[1] + coef(lm1)[2]*80n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. 19. +Calculando os errosnCalculando o Root Mean Squared Error do treinon sqrt(sum((lm1$fitted-trainFaith$eruptions)^2))nCalculando para o testen sqrt(sum((predict(lm1,newdata=testFaith)-testFaith$eruptions)^2))nIntervalos de prediçãon 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. 20. +Exemplos bináriosnRavens datan load("/var/www/fileserver/ravensData.rda")nRegressão logístican 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

×