Estatística - Aula 5

  • 247 views
Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
247
On Slideshare
0
From Embeds
0
Number of Embeds
5

Actions

Shares
Downloads
0
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 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. +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. +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. +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. +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. +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. +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. +Cross validationnSub amostrar os dados para treinonEvitar sobreajustenFazer previsões generalizáveis.8
  • 9. +Sobreajuste9
  • 10. +Classificadorn-0.2<y<0.610
  • 11. +Novos dados11
  • 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. +Subamostragem aleatória13
  • 14. +K-fold14
  • 15. +Exemplo15
  • 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. +Modelo linear17
  • 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. +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. +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