Essa é uma revisão anterior do documento!
Tabela de conteúdos
Participantes
- Flaviane Peccin, Graduanda (UFPR)
- Christine Cardozo de Araujo, Graduanda (UFPR)
- 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
- Aplicar métodos de clusterização
- Aplicar métodos de classificação
- Comparar os métodos de classificação
- 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
Links de Interesse
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