20
+ 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 [email protected] - [email protected]

Estatística - Aula 5

Embed Size (px)

Citation preview

Page 1: Estatística - Aula 5

+

Bioestatística - Universidade Católica de BrasíliaDesenho experimental para predição

Prof. Dr. Gabriel da Rocha FernandesUniversidade Católica de Brasília

[email protected] - [email protected]

Page 2: Estatística - Aula 5

+Construindo uma predição

2

nUsar os dados corretos

nDefinir a taxa de erros

nSeparar os dados: Treino, Teste, e Validação.

nSelecionar as características no seu conjunto treino.

nSe não tiver validação, aplique seu modelo ao conjunto teste apenas uma vez.

nSe tiver validação, aplique, e refine seu resultado.

Page 3: Estatística - Aula 5

+Escolha os dados corretamente

nTenha dados pra responder a pergunta que tem.

nEm alguns casos é fácil.

nOu mais difícil: expressão de um gene => doença.

nMais dados levam a melhores modelos.

nSaiba como avaliar a performance (bench mark)

3

Page 4: Estatística - Aula 5

+Definindo termos

nPositivo = identificado / Negativo = rejeitado

nTrue Positive = corretamente identificado

nFalse Positive = incorretamente identificado

nTrue Negative = corretamente rejeitado

nFalse Negative = incorretamente rejeitado

nExemplo 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ável

4

Page 5: Estatística - Aula 5

+Definindo erros

nTipo I: quando diz que é algo que não é (Falso Positivo)

nTipo II: quando diz que não é, algo que é (Falso Negativo)

5

Page 6: Estatística - Aula 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

Page 7: Estatística - Aula 5

+Medidas de erros

nMean squared errorn Dados contínuos, sensível a outliers

nMedian absolute deviationn Dados contínuos, mais robusto

nSensibilidaden Se você quer perder poucos positivos

nEspecificidaden Se você quer poucos negativos sendo classificados como positivos

nAcurácian Leva em conta falsos positivos e falsos negativos igualmente

7

Page 8: Estatística - Aula 5

+Cross validation

nSub amostrar os dados para treino

nEvitar sobreajuste

nFazer previsões generalizáveis.

8

Page 9: Estatística - Aula 5

+Sobreajuste

9

Page 10: Estatística - Aula 5

+Classificador

n-0.2<y<0.6

10

Page 11: Estatística - Aula 5

+Novos dados

11

Page 12: Estatística - Aula 5

+Abordagem

nUse um conjunto treino

nDivida em conjuntos treino e teste

nConstrua um modelo com o conjunto de treino

nAvalie com o conjunto de teste

nUsado 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

Page 13: Estatística - Aula 5

+Subamostragem aleatória

13

Page 14: Estatística - Aula 5

+K-fold

14

Page 15: Estatística - Aula 5

+Exemplo

15

Page 16: Estatística - Aula 5

+Predizendo com modelos de regressão

nCarregando os dadosn data(faithful)

nCriando conjunto teste/treinon set.seed(333)n trainSamples <- sample(1:272,size=(272/2),replace=F)n trainFaith <- faithful[trainSamples,]n testFaith <- faithful[-trainSamples,]

nVisão geraln plot(trainFaith$waiting,trainFaith

$eruptions,pch=19,col="blue",xlab="Waiting",ylab="Duration")

16

Page 17: Estatística - Aula 5

+Modelo linear

17

Page 18: Estatística - Aula 5

+Predizer um novo valor

ncoef(lm1)[1] + coef(lm1)[2]*80

nnewdata = data.frame(waiting=80)

npredict(lm1, newdata)

nplot(trainFaith$waiting,trainFaith$eruptions,pch=19,col="blue",xlab="Waiting",ylab="Duration");lines(trainFaith$waiting,predict(lm1),lwd=3)

nplot(testFaith$waiting,testFaith$eruptions,pch=19,col="blue",xlab="Waiting",ylab="Duration"); lines(testFaith$waiting,predict(lm1,newdata=testFaith),lwd=3)

18

Page 19: Estatística - Aula 5

+Calculando os erros

nCalculando o Root Mean Squared Error do treinon sqrt(sum((lm1$fitted-trainFaith$eruptions)^2))

nCalculando para o testen sqrt(sum((predict(lm1,newdata=testFaith)-testFaith$eruptions)^2))

nIntervalos 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

Page 20: Estatística - Aula 5

+Exemplos binários

nRavens datan load("/var/www/fileserver/ravensData.rda")

nRegressã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