Não foi possível enviar o arquivo. Será algum problema com as permissões?

Essa é uma revisão anterior do documento!


Participantes

Participantes

  1. Flaviane Peccin, Graduanda (UFPR)
  2. Christine Cardozo de Araujo, Graduanda (UFPR)
  3. Joel Maurício Corrêa da Rosa , Prof. Dr. (UFPR)

Objetivos

Geral : Aplicar técnicas multivariadas para encontrar possíveis fatores de risco para idosas hipertensas.

Específicos

  1. Aplicar métodos de clusterização
  2. Aplicar métodos de classificação
  3. Comparar os métodos de classificação
  4. Avaliar a importância das variáveis explicativas

Metodologia

Métodos Multivariados.

  • Regressão Logística
  • Clusterização
  • Análise Linear Discriminante
  • Árvores de Decisão
  • Redes Neurais Artificiais

Análise de Cluster

Análise de Cluster é um conjunto de técnicas utilizadas na identificação de padrões de comportamento em bancos de dados através da formação de grupos homogêneos. (SEAGRO) O objetivo da analise de cluster é agrupar as observações semelhantes de forma que cada grupo seja homogêneo internamente e sejam diferentes entre si. O primeiro passo da analise de cluster é encontrar as medidas de similaridade. Em seguida deve-se decidir qual a técnica de clusterização será utilizada (hierárquica ou não hierárquica). O terceiro passo é decidir o método de clusterização para a técnica que já foi selecionada (exemplo: método do centróide para a técnica hierárquica de clusterização). Quarto, a decisão considerando o número de clusters serão feitos. Finalmente, a solução dos clusters é interpretada.

3.2.1 Medidas de similaridade

Cada objeto é representado por um ponto no espaço n-dimensional e, portanto, pode ser agrupado com outros que estejam próximos e mais se assemelham a ele. Dois critérios de melhor associação podem ser utilizados.

1. Covariância e Correlação

Partindo da matriz de dados D (mxn), obtém-se a matriz de covariância C, onde seus elementos são dados por:

ckl é grande e positivo quando, para a maior parte das amostras, os valores das variáveis k e l desviam da média na mesma direção. Portanto, a covariância de duas variáveis é uma medida de sua associação. Para cada elemento da matriz de covariância pode ser calculado o coeficiente de correlação, consequentemente a matriz de covariância pode ser transformada numa matriz de correlação R, onde seus elementos são dados por:

onde sk e s1 são os desvios padrões das variáveis K e 1 Os valores de rkl são uma covariância padronizada entre -1 e +1.

2. Medidas de distâncias

Na análise de agrupamentos (cluster analysis) a similaridade entre duas amostras pode ser expressa como uma função da distância entre os dois pontos representativos destas amostras no espaço n-dimensional. Existem várias formas de de calcular a distância entre dois pontos a e b no espaço n-dimensional:

 Distancia Euclidiana É a maneira mais usual de calcular a distância entre dois pontos (xab). É uma medida invariante a translações, porém assume covariâncias iguais entre as classes e em geral não é invariante a transformações lineares (Costa, 1999). É dada por:

 Distância de Mahalanobis: Considera que as superfícies de cada classe são elipsóides centradas na média. No caso especial em que a covariância é zero e a variância é a mesma para todas as variáveis, as superfícies são esferas e a distancia de Mahalanobis fica equivalente a distancia euclidiana. Pode ser utilizada para medir a distância entre classes de padrões. Isso pode ser feito através da soma ou da média da distância entre todos os padrões de duas classes diferentes.

 Distancia de Manhattan ou “city-block” A distancia de manhattan é uma simplificação da distancia euclidiana, por isso é mais simples e sua emplementação é mais fácil. É mais eficiente para aplicações em tempo real devido a sua simplicidade (Kugler, 2003).

Árvores de Decisão

Árvores de Decisão são extremamente úteis para revelar de forma simples, estruturas que são extremamente complexas. O pacote R dispõe de duas funções para o ajuste de árvores de decisão: tree e rpart.

Pela função rpart é possível construir árvores de decisão no mesmo espírito descrito em Breiman et al. (1984) na monografia CART (Classification and Regression Trees).

Regressão Logística

Este problema envolve um grande número de covariáveis e, portanto, uma das maiores dificuldades está na seleção do conjunto de preditoras. Métodos do tipo stepwise, embora sejam atraentes na prática podem conduzir à modelos enganosos.

A tarefa aqui, é integrar à construção do modelo a intervenção dos especialistas na área. Então um passo no processo iterativo de seleção de variáveis é retirar preditoras selecionadas automaticamente que não tenham sentido, de acordo com opinião especializada.

Análise Linear Discriminante

Neste trabalho será realizada somente a análise linear discriminante (LDA). Outros tipos de análise discriminante são: QDA(Quadratic Discriminant Analysis), FDA(Flexible Discriminant Analysis), PDA(Penalized Discriminant Analysis) e MDA(Mixture Discriminant Analysis). A função lda() presente no pacote MASS do R realiza análise linear discriminante. É importante notar que para a construção da função linear discriminante os preditores devem ser quantitativos e assume-se matrizes de covariância iguais nos grupos.

Redes Neurais Artificiais

Apesar de todo mito que envolve o uso de Redes Neurais Artificiais, o que está por trás desta técnica é a utilização de modelos não-lineares. Redes Neurais Artificiais para classificação estão implementadas no pacote nnet() presente na biblioteca MASS do R. A construção de uma rede neural associa-se a definição de sua topologia que no caso das redes do tipo feed-forward envolve a definição de 3 ou mais camadas. A primeira camada, chamada de camada de entrada necessita de tantos neurônios quanto forem o número de variáveis independentes, enquanto a última camada, denominada camada de saída, apresenta tantos neurônios quantas forem as variáveis resposta. Entre estas duas camadas podem existir uma ou mais camadas intermediárias, chamadas de camadas escondidas. O Teorema de Kolmogorov garante que uma camada escondida é suficiente para aproximar qualquer relação não-linear entre a resposta e as variáveis independentes, desde que satisfeitas algumas condições.

Avaliação de Capacidade Preditiva

Os desempenhos de diferentes métodos para a classificação são usualmente comparados por intermédio de experimentos de validação cruzada com 10-dobras. Estes consistem em utilizar 90% dos dados para treinamento e 10% para teste. Os métodos passam por aprendizado supervisionado utilizando a chamada amostra de treinamento composta pelos dados selecionados com esta finalidade e o ajuste final é testado na amostra de teste.

Resultados e Discussão

Banco de Dados e Outros

Outros Materiais

Funções do R

Scripts do R

# pacotes necessarios
require(MASS)
require(tree)# arvores de decisao
require(rpart)# arvores de decisao

# Leitura do conjunto de dados
dados<-read.csv2('http://www.leg.ufpr.br/~joel/dados/hiipertensao.csv',na.strings="")

# Re-expressão das variáveis
dados<-transform(dados,sexo=factor(sexo,labels=c('feminino','masculino')))

Organizando o Banco de Dados para os Estudos

#Descritivo dos dados originais
summary(dados)
sapply(dados,class)
names(dados)

#Separação por sexo
dad <- split(dados , dados$sexo)
dadfem <- dad[["feminino"]]

#Eliminação do NA
dadf <- na.omit(dadfem)

#Verificação
summary (dados$sexo)
summary (dadfem$sexo)
summary (dadf$sexo)
sapply(dadf,class)

#Verificar os nomes das variáveis
names(dadf)

#Substituições necessárias devido erro de digitação 
dadf$tabag[92]<-NA #era 2
dadf$tabag[713]<-NA #era 8

#Eliminação do NA
dadff <- na.omit(dadf)
 
#Verificação
summary (dados$sexo)
summary (dadfem$sexo)
summary (dadf$sexo)
summary (dadff$sexo)

#Arrumando classe de dados
dadff$inst <- as.factor(dadff$inst)
dadff$tabag <- as.factor(dadff$tabag)
dadff$dcv <- as.factor(dadff$dcv)
dadff$peso <- as.numeric(dadff$peso)
dadff$estat <- as.numeric(dadff$estat)
dadff$pasis <- as.numeric(dadff$pasis)
dadff$padias <- as.numeric(dadff$padias)
dadff$ccint <- as.numeric(dadff$ccint)
dadff$cabd <- as.numeric(dadff$cabd)
dadff$cquad <- as.numeric(dadff$cquad)
dadff$ccoxa <- as.numeric(dadff$ccoxa)
dadff$dcabd <- as.numeric(dadff$dcabd)
dadff$dcsupra <- as.numeric(dadff$dcsupra)
dadff$dctric <- as.numeric(dadff$dctric)
dadff$dccoxa <- as.numeric(dadff$dccoxa)
dadff$fa30 <- as.numeric(dadff$fa30)
dadff$lc30 <- as.numeric(dadff$lc30)
dadff$tc6x <- as.numeric(dadff$tc6x)
dadff$tc6f <- as.factor(dadff$tc6f)
dadff$Idade <- as.numeric(dadff$Idade)
dadff$imc <- as.numeric(dadff$imc)
dadff$rcq <- as.numeric(dadff$rcq)
dadff$nsecon <- as.factor(dadff$nsecon)
dadff$exerc <- as.numeric(dadff$exerc)
dadff$hipertensao <- as.factor(dadff$hipertensao)
dadff$diabete <- as.factor(dadff$diabete)
dadff$regi <- as.factor(dadff$regi)
dadff$hipaf <- as.factor(dadff$hipaf)
dadff$somadc <- as.numeric(dadff$somadc)
#Verificação
sapply(dadff,class)

Criação de Vetor de Índices

# Criacao de vetor de indices
> ind<-1:150
#  90% dos dados
> 0.9*150
[1] 135
# Indices para treinamento
> ind.train<-sample(ind,135)
> ind.train
  [1]  77 103  89  57 122  75  41  81 147  94 144 117 128   6  55   7  52   5
 [19] 118  96  98 125 104 115  30  80  35  17  20  95  50  27  56  40   9 109
 [37]  87  82 100  39 135 142  48  78  63  16  73 120  18  71 137 150 138  85
 [55]  13  23 136  12   8  72  61  68 112  93  83  76 140 146  26  43  62 134
 [73]  53  65  11 102  79 121  49 141  45  54  47 149 131  99  21  15 110 124
 [91]  22 113  74  88 129  42   1  51  10 145   3  86  28  25  29 114  33  37
[109]  58 126  97  46 116  64 111 108  66  34 105  14  60  59 101  92 107   4
[127] 130 119 127 132  91  90  84 133  24
# Selecao do conjunto de treinamento
> iris.train<-iris[ind.train,]
# Selecao do conjunto de teste
> iris.test<-iris[-ind.train,]
# Ajuste da arvore de classificacao
> tr.rp<-rpart(Species~.,data=iris.train)
# Grafico da arvore
> plot(tr.rp);text(tr.rp)
# Armazenando os valores preditos
> preditos<-predict(tr.rp,newdata=iris.test)
> preditos
    setosa versicolor  virginica
2        1 0.00000000 0.00000000
19       1 0.00000000 0.00000000
31       1 0.00000000 0.00000000
32       1 0.00000000 0.00000000
36       1 0.00000000 0.00000000
38       1 0.00000000 0.00000000
44       1 0.00000000 0.00000000
67       0 0.90196078 0.09803922
69       0 0.90196078 0.09803922
70       0 0.90196078 0.09803922
106      0 0.02439024 0.97560976
123      0 0.02439024 0.97560976
139      0 0.02439024 0.97560976
143      0 0.02439024 0.97560976
148      0 0.02439024 0.97560976
# Conjunto de teste
> iris.test
    Sepal.Length Sepal.Width Petal.Length Petal.Width    Species
2            4.9         3.0          1.4         0.2     setosa
19           5.7         3.8          1.7         0.3     setosa
31           4.8         3.1          1.6         0.2     setosa
32           5.4         3.4          1.5         0.4     setosa
36           5.0         3.2          1.2         0.2     setosa
38           4.9         3.6          1.4         0.1     setosa
44           5.0         3.5          1.6         0.6     setosa
67           5.6         3.0          4.5         1.5 versicolor
69           6.2         2.2          4.5         1.5 versicolor
70           5.6         2.5          3.9         1.1 versicolor
106          7.6         3.0          6.6         2.1  virginica
123          7.7         2.8          6.7         2.0  virginica
139          6.0         3.0          4.8         1.8  virginica
143          5.8         2.7          5.1         1.9  virginica
148          6.5         3.0          5.2         2.0  virginica
> help(predict)
> help(predict.rpart)
# Classes preditas (type ="class")
> preditos<-predict(tr.rp,newdata=iris.test,type="class")
> preditos
         2         19         31         32         36         38         44
    setosa     setosa     setosa     setosa     setosa     setosa     setosa
        67         69         70        106        123        139        143
versicolor versicolor versicolor  virginica  virginica  virginica  virginica
       148
 virginica
Levels: setosa versicolor virginica
> table(iris.test$Species,preditos)
            preditos
             setosa versicolor virginica
  setosa          7          0         0
  versicolor      0          3         0
  virginica       0          0         5

Criação das Bases de Desenvolvimento e de Validação

<echo=F,results=hide>>=
ind<-1:989 # Criacao de vetor de indices
ind.trein<-sample(ind,890)# Indices para treinamento
ind.trein
dados.trein<-dadff[ind.trein,] # Selecao do conjunto de treinamento
dados.test<-dadff[-ind.trein,] # Selecao do conjunto de teste
@ 

dadostrein<-read.table("http://www.leg.ufpr.br/~joel/dados/dadostrein.txt",h=T)
dadostest<-read.table("http://www.leg.ufpr.br/~joel/dados/dadostest.txt",h=T)

Bibliografias

[1998, book]
Johnson, R. A., & Wichern, D. W. (1998). Applied Multivariate Statistical Analysis Prentice Hall.

[2002, book]
Venables, W. N., & Ripley. (2002). Modern Applied Statistic with S. Springer.

[1976, book]
Rothenberg, R. E. (1976). Enciclopédia Médica ilustrada para uso no lar – Vol 1. São Paulo: Editora Abril.

[2006, article | www]
Zaitune, M. P. A., de Barros, M. B. A., César, C. L. G., Carandina, L., & Goldbaum, M. (2006). {Hipertensão arterial em idosos: prevalência, fatores associados e práticas de controle no Município de Campinas, São Paulo, Brasil}. {Cadernos de Saúde Pública}, 22, 285-294.

[1998, article | www]
Pessuto, J., & de Carvalho, E. C. (1998). {Fatores de risco em indivíduos com hipertensão arterial}. {Revista Latino-Americana de Enfermagem}, 6, 33-39.

[1993, article | www]
Lolio, C. A., Pereira, J. C. R., Lotufo, P. A., & de Souza, J. M. P. (1993). {Hipertensão arterial e possíveis fatores de risco}. {Revista de Saúde Pública}, 27, 357-362.

{{projetos:obesidade:rnalogistichepatite.pdf|RNA e Regressão Logística na Hepatite}}

Laboratórios de Estatística

== ==== Flaviane Peccin ==== ==

Artigo: Fatores de Hipertensão usando Redes Neurais Kohonen

Apresentação: 05/09/2007 - Grupo II

Apresentação 2: 24/10/2007 - Grupo II

== ==== Christine Cardozo de Araujo ==== ==

Artigo: Projeto Bambuí-MG

Apresentação 1: 05/09/2007 - Grupo I

Apresentação 2: 24/10/2007 - Grupo I

Modelos para Redação do TCC


QR Code
QR Code projetos:hipertensao (generated for current page)