Modelos de Regressão para Dados Binários


\[\mathbf{Lineu\ Alberto\ Cavazani\ de\ Freitas}\]

\[\mathbf{Prof.\ Cesar\ Augusto\ Taconeli}\]

\[\mathbf{Modelos\ Lineares\ Generalizados\ (CE225)}\]

\[\mathbf{Outubro/2017}\]


Base de dados de câncer de mama de Wisconsin


1. Dados


Exemplo disponível em Bennett, K.,P., and Mangasarian, O.L., 1992


Os dados provêm de um estudo de câncer de mama em Wisconsin. São 681 casos de tumores potencialmente cancerosos, dos quais 238 são realmente malignos.

As variáveis explicativas disponíveis dizem respeito a características observadas nos tumores sob estudo.

Os valores das variáveis preditoras foram determinados por um médico observando as células e classificando-as em uma escala de 1 (normal) a 10 (mais anormal) em relação a cada característica avaliada.

Variáveis:

  1. Class - classificação do tumor: 0 maligno, 1 benigno (resposta)
  2. Adhes - adesão marginal
  3. BNucl - nucléolos nus
  4. Chrom - cromatina branda
  5. Epith - tamanho da célula epitelial
  6. Mitos - mitose
  7. NNucl - nucléolo normal
  8. Thick - espessura do aglomerado
  9. UShap - uniformidade da forma da célula
  10. USize - uniformidade do tamanho da célula

O objetivo da análise foi modelar a probabilidade de do tumor sob investigação ser maligno.

Os dados estão disponíveis no pacote de Julian Faraway (2016). O pacote fornece a documentação dos dados. Verifique!

library(faraway)

data(wbca)

dados <- wbca

Verificando a quantidade de tumores benignos na base (Class = 1):

sum(dados$Class==1)
## [1] 443

Vamos redefinir os níveis da variável classe de forma a modelar a probabilidade de tumor maligno:

dados$Class <- ifelse(dados$Class == 0, 1, 0)

Outras opções para a conversão são as funções levelse relevel.

E agora sim, os 238 tumores malignos estão codificados como 1, enquanto os benignos estão codificados como 0.

sum(dados$Class==1)
## [1] 238

As primeiras 6 linhas da base de dados têm a seguinte forma:

head(dados)
##   Class Adhes BNucl Chrom Epith Mitos NNucl Thick UShap USize
## 1     0     1     1     3     2     1     1     5     1     1
## 2     0     5    10     3     7     1     2     5     4     4
## 3     0     1     2     3     2     1     1     3     1     1
## 4     0     1     4     3     3     1     7     6     8     8
## 5     0     3     1     3     2     1     1     4     1     1
## 6     1     8    10     9     7     1     7     8    10    10

Com os ajustes realizados, pode-se fazer a análise descritiva da base de dados:


2. Análise Descritiva

Vamos realizar uma breve análise descritiva dos dados.


2.1 Medidas Resumo

Usando a função summary vamos verificar o mínimo, o máximo, a mediana e os quartis das variáveis explicativas em estudo:

summary(dados[ , 2:10])
##      Adhes            BNucl            Chrom            Epith       
##  Min.   : 1.000   Min.   : 1.000   Min.   : 1.000   Min.   : 1.000  
##  1st Qu.: 1.000   1st Qu.: 1.000   1st Qu.: 2.000   1st Qu.: 2.000  
##  Median : 1.000   Median : 1.000   Median : 3.000   Median : 2.000  
##  Mean   : 2.816   Mean   : 3.542   Mean   : 3.433   Mean   : 3.231  
##  3rd Qu.: 4.000   3rd Qu.: 6.000   3rd Qu.: 5.000   3rd Qu.: 4.000  
##  Max.   :10.000   Max.   :10.000   Max.   :10.000   Max.   :10.000  
##      Mitos            NNucl            Thick            UShap       
##  Min.   : 1.000   Min.   : 1.000   Min.   : 1.000   Min.   : 1.000  
##  1st Qu.: 1.000   1st Qu.: 1.000   1st Qu.: 2.000   1st Qu.: 1.000  
##  Median : 1.000   Median : 1.000   Median : 4.000   Median : 1.000  
##  Mean   : 1.604   Mean   : 2.859   Mean   : 4.436   Mean   : 3.204  
##  3rd Qu.: 1.000   3rd Qu.: 4.000   3rd Qu.: 6.000   3rd Qu.: 5.000  
##  Max.   :10.000   Max.   :10.000   Max.   :10.000   Max.   :10.000  
##      USize      
##  Min.   : 1.00  
##  1st Qu.: 1.00  
##  Median : 1.00  
##  Mean   : 3.14  
##  3rd Qu.: 5.00  
##  Max.   :10.00

Nota-se pelas medidas resumo a predominância de tumores com células classificadas como normais já que os valores das médias são, em sua maioria, baixos, distantes do valor máximo (10) considerado anormal.


2.2 Boxplots

O boxplot é uma alternativa de análise descritiva para avaliação da distribuição dos dados.

par(mfrow=c(2,5))
boxplot(dados$Adhes, xlab = '', ylab = '', main = 'Adhes', las=1)
boxplot(dados$BNucl, xlab = '', ylab = '', main = 'BNucl', las=1)
boxplot(dados$Chrom, xlab = '', ylab = '', main = 'Chrom', las=1)
boxplot(dados$Epith, xlab = '', ylab = '', main = 'Epith', las=1)
boxplot(dados$Mitos, xlab = '', ylab = '', main = 'Mitos', las=1)
boxplot(dados$NNucl, xlab = '', ylab = '', main = 'NNucl', las=1)
boxplot(dados$Thick, xlab = '', ylab = '', main = 'Thick', las=1)
boxplot(dados$UShap, xlab = '', ylab = '', main = 'UShap', las=1)
boxplot(dados$USize, xlab = '', ylab = '', main = 'USize', las=1)

mtext(side=2,cex=1.3,line=-1.5,text="Nota na Avaliação Médica",outer=TRUE)