Post on 21-Apr-2015
Uma Visão de Análise de Dados Simbólicos
Byron Leite Dantas Bezerra
Sérgio Ricardo de Melo Queiroz
RoteiroIdéia básica
Objetos de Primeira e Segunda ordens
A Entrada de Análise de Dados SimbólicosTabela de Dados Simbólicos
Origens dos Dados SimbólicosPrincipais Saídas dos Algoritmos de Análise de Dados Simbólicos
Descrições SimbólicasObjetos Simbólicos
SODASPrincipais passos para a Análise de Dados SimbólicosExemplos de funçõesVisão Estrutural e Componentes
A Idéia Básica
Aristotle Organon (IV B.C.) separou claramente:
indivíduos de primeira ordem (como um cavalo ou uma pessoa quaisquer), cada qual correspondendo a um único indivíduo do mundo;de indivíduos de segunda ordem (como o cavalo ou a pessoa, de forma geral), correspondendo a uma classe de indivíduos do mundo.
Exemplo de Indivíduos de Primeira Ordem
Indivíduo Classes
ID RegiãoQtd de Camas
Qtd de Salas de
Jantar
Classe Social
1 Norte 2 1 12 Norte 2 1 33 Norte 1 3 34 Leste 1 3 35 Leste 2 2 16 Leste 1 2 3
Variáveis Descritivas das Unidades
Obtendo os Indivíduos de Segunda Ordem
Classes
RegiõesQtd de Camas
Qtd de Salas de
Jantar
Classe Social
Norte 2 1 1Norte 2 1 3Norte 1 3 3Leste 1 3 3Leste 2 2 1Leste 1 2 3
Variáveis Descritivas das Unidades
Classes
Regiões Qtd de CamasQtd de Salas de
JantarClasse Social
Norte (1/3) 1, (2/3) 2 (2/3) 1, (1/3) 3 (1/3) 1, (2/3) 3Leste (2/3) 1, (1/3) 2 (2/3) 2, (1/3) 3 (1/3) 1, (2/3) 3
Variáveis Descritivas das Unidades
Tabela de Dados Simbólicos“Distributions are the numbers of the future.” (Schweitzer, 1984)As células podem conter dados complexos
Valores ponderadosValores associados a regrasTaxonomiasIntervalosDistribuições
SDA
Exemplo de Tabela de Dados Simbólicos
QuantitativoSimples, contínuo, intervalar, multivalorado
CategóricoOrdinal ou não, Multivalorado, Histograma
TaxonomiaDependência hierárquicaDependência lógica
Produto Altura Cidade CorP1 3,5 Londres { R ; G ; B }P2 [ 3 ; 8 ] { Paris ; Londres }P3 { P ; M ; G ; GG } { (0.3) W ; (0.7) B }P4 [ (1/3) [2;3] ; (2/3) [4;5] ]
Envolvem conhecimento a
priori
Fontes de Dados SimbólicosA partir de variáveis categóricas
Como tipo do empregadoObtido por clusterização
De bancos de dadosConsultas originando novas variáveis
Do conhecimento do especialistaDe dados confidenciais
Para esconder informações privadas. Ex: IBGEDe dados estocásticos
Distribuição de probabilidadeDe séries temporais
Descrevendo intervalos de tempo
Principais Saídas dos Algoritmos SDAs
SDA Objeto Simbólico
Descrição Idade Tipo de OcupaçãoD1 { 12 ; 20 ; 28 } { Contratante ; Funcionário }D2 [ 15 ; 33 ] { Professor ; Agricultor }
Descrições Simbólicas
Modelam conceitos ou “entidades físicas” do mundo realUm conceito é definido por
uma Intenção = que são as características inerentes do objeto simbólicouma Extensão = que é o conjunto de indivíduos que possuem essas características
Exemplo:
a(w) = [idade(w) [30, 35] ] [número de filhos(w) 2]
Objetos Simbólicos
S = ( a , R , dC )
Objetos Simbólicos
dC
w
y
dR
É um animal(w)
= 99% sim
a(w) = [y(w) R dC]
Objetos Simbólicos
Mundo Real Mundo Modelado
Indivíduos - Indivíduos -
ConceitosConceitos
DescriçõesDescrições
Objetos SimbólicosObjetos Simbólicos
w dw
dCT
estrelasvermelhas
S = (a,R,dC)
Ext(S)
y
R
Objetos Simbólicos
S = ( a, R, d )
R é uma relação. Ex: , , , , , d é uma descrição
a é um mapeamento de L L dependente de R e d, onde é o conjunto de indivíduos e L L é {true, false} ou [0,1].
Objetos Simbólicos BooleanosL L = {0,1}, ou seja, [y(w) R d] L = {true, false}As variáveis simbólicas podem ser apenas:
quantitativa simples, intervalares, categóricas ou multivaloradas.Exemplo
a(w) = [y(w) R d] com R definida por • [ d’ R d ] = i =1, 2 [ d’i Ri di ]• e Ri =
y(w) = (cor(w), altura(w))d = ({R, B, Y}, [10,15] )Indivíduo u = ({R, Y}, {21})a(u) = [cor(u) {R, B, Y}][altura(u) [10,15]]
= true false = true.
Objetos Simbólicos ModaisL L = [0,1], ou seja, [y(w) R d] L = [0,1]As variáveis simbólicas podem ser complexasExemplo
a(w) = [y(w) R d] onde R é definida por• [ d’ R d ] = Max i =1, 2 [ d’i Ri di ] = i =1, 2 [ d’i Ri di ]
Seja duas distribuições de probabilidade discretas d’i = r e di = q de k valores, a comparação entre duas distribuições é definida por
• r Ri q = j=1,k rj qj exp (rj - min (rj, qj))
y(w) = (idade(w), categoria(w))d = ({(0.2)12, (0.8) [20 ,28]},
{(0.4) contratante, (0.6) funcionário})a(u) = [idade(u) R1{(0.2)12, (0.8) [20 ,28]}] *
[SPC(u) R2{(0.4) contratante, (0.6) funcionário}]
Extensão de um Objeto Simbólico
Caso BooleanoEXT(a) = {w / a(w) = true}
Caso ModalEXT (S) = {w / a(w) }.
SODAS – Symbolic Official Data Analysis System
Protótipo disponível gratuitamentehttp://www.ceremade.dauphine.fr/~touati/sodas-pagegarde.htm
FuncionalidadesConstrução de tabelas de dados simbólicos a partir de BD’s tradicionaisDescrição de regras e hierarquiasAnálise dos através de métodos de análise de dados simbólicos
• Estatística descritiva• Análise Fatorial• Agrupamento• Árvore de Decisão• ...
Interface do SODAS
Barra de menus
Métodos de análise
disponíveis
Aplicação dos métodos
Análise de dados com o SODAS
1° Passo:Possuir os dados em um BD relacional
Exemplo:• Dados sobre os filmes indicados ao Oscar.
Nome do filme, ator principal, diretor, ano, local de produção....
Oscars
Oscars_MinOscars_MaxOscars_Ecart
Age_Réalisateur
Age_MinAge_MaxTranche_Age
Pays_Réalisateur
PK Pays_id
PaysI1 Continent_id
Budget_Ecart
Budget_Min(K)Budget_Max(K)Budget_Ecart(K)
Réalisateur
PK N°_Réalisateur
NomPrénom
FK1,I1 Région_idNationalitéAgeNombre_FilmsNombre_Oscars
Continent_Réalisateur
PK,FK1,I1 Continent_id
Continent
Continent_Tournage
PK Cotinent_Tournage_id
Continent_Tournage
Film
PK,I3 N°_Film
TitreGenreGenre 2Pays
FK2,I2 N°_RéalisateurActeur_PrincipalDuréeAnnéeNombre_Oscars
FK1,I1 Lieu_Tournage_idBudget(K)Revenu(K)Bénéfice(K)
Région_Réalisateur
PK Région_id
RégionFK1,I1 Pays_id
Revenu_Ecart
Revenu_Min(K)Revenu_Max(K)Revenu_Ecart(K)
Lieu_Tournage
PK Lieu_Tournage_id
Lieu_TournageFK1 Continent_Tournage_id
BD
de Film
es: E
squ
em
a R
ela
cion
al
Oscars
Oscars_MinOscars_MaxOscars_Ecart
Age_Réalisateur
Age_MinAge_MaxTranche_Age
Pays_Réalisateur
PK Pays_id: 2
Pays: USAI1 Continent_id: 1
Budget_Ecart
Budget_Min(K)Budget_Max(K)Budget_Ecart(K)
Réalisateur
PK N°_Réalisateur: 18
Nom: ZemeckisPrénom: Robert
FK1,I1 Région_id: 12Nationalité: AméricaineAge: 49Nombre_Films: 12Nombre_Oscars: 1
Continent_Réalisateur
PK,FK1,I1 Continent_id: 1
Continent: Amérique
Continent_Tournage
PK Cotinent_Tournage_id: 1
Continent_Tournage: Amérique du Nord
Film
PK,I3 N°_Film: 26
Titre: Forrest GumpGenre: Comédie dramatiqueGenre 2: Comédie dramatiquePays: USA
FK2,I2 N°_Réalisateur: 18Acteur_Principal: Tom HanksDurée: 140Année: 1994Nombre_Oscars: 6
FK1,I1 Lieu_Tournage_id: 2Budget(K): 55000Revenu(K): 673800Bénéfice(K): 618800
Région_Réalisateur
PK Région_id: 12
Région: ChicagoFK1,I1 Pays_id: 2
Revenu_Ecart
Revenu_Min(K)Revenu_Max(K)Revenu_Ecart(K)
Lieu_Tournage
PK Lieu_Tournage_id: 2
Lieu_Tournage: USAFK1 Continent_Tournage_id: 1
Exem
plo
de in
div
ídu
o: Fo
rrest G
um
p
Definição do contexto
Indivíduos que deseja-se estudar:Categorias de filmes
• Cada gênero de filme representa uma categoria: Drama, Ficção científica, Ação, Western, ...
A descrição de cada classe será obtida através da generalização de seus membros de 1a. Ordem
Generalização dos dadosNome do filme. Será desprezado
Gênero. Variável que identifica a classe
Outras variáveis. Usadas para descrever as classes.
Obtendo a tabela de dados simbólicos
(1)
(2)
Importando os dados
(1)
(2)
(3)
Visualizando os dados importados
os "Science-fiction"(10) =
[Année = [1968:1999]]
^[Acteur_Principal = {"Arnold Schwarzenneger"(0.3), "Casper Van Dien"(0.1), (...)]
^[Lieu_Tournage = {"Mexique"(0.1), "USA"(0.1), "Tunisie"(0.1), "Californie"(0.4), "Londres"(0.3)}]
^[Continent_Tournage = {"Amérique du Nord"(0.5), "Amérique du Sud"(0.1), "Europe"(0.3), "Afrique"(0.1)}]
^[Nombre_Oscars = [0:6]]
^[Budget(K) = [6400:115000]]
^[Revenu(K) = [55000:922379]]
^[Oscars_Ecart = {"2-3"(0.1), "+ de 6"(0.1), "0-1"(0.8)}]
^[Budget_Ecart(K) = {"50001-100000"(0.5), "100001-150000"(0.1), "0-50000"(0.4)}]
^[Revenu_Ecart(K) = {"400001-500000"(0.1), "100001-200000"(0.3), "200001-300000"(0.1),
"50001-100000"(0.2), "+ de 500001"(0.3)}]
^[Nom_Réalisateur = {"Kubrick"(0.1), "Lucas"(0.2), "Emmerich"(0.2),(...)}]
^[R_Région = {"South Shields"(0.1), "Stuttgart"(0.2), "Amsterdam"(0.2), (...)}]
^[R_Pays = {"Canada"(0.2), "USA"(0.3), "Pays-Bas"(0.2), "Angleterre"(0.1), "Allemagne"(0.2)}]
^[R_Age = [46:71]]
^[R_Tranche_Age = {"65-74"(0.1), "45-54"(0.4), "55-64"(0.5)}]
Adicionando Variáveis de Classe
Dados já disponíveis sobre as classesTotal de oscars
Custo médio de um filme
Arrecadação média
Adicionando Variáveis de Classe
Adicionando taxonomiasPays-Bas
AmsterdamUSA
Californie, Chicago, Colorado, Maine, Michigan, New-York, Ohio, Oklahoma, Wisconsin
ChineGuangzhou
InglaterraLondres, Ryde, South Shields, Stockton
AustráliaNew South Walles
CanadaOntario
AllemagneStuttgart
Adicionando taxonomias
Visualizando taxonomias
Exportando a tabela no formato SODAS
Aplicando métodos de análise de dados simbólicos
Tabela de dados simbólicos pronta
Finalmente podemos passar para a análise
Inserindo um método
Arrastar o método desejado
SOE – Symbolic Object Editor
Visualização da tabela de objetos simbólicos
Visualização gráfica de cada objeto simbólico2D
3D
SOE
STAT – Estatística Elementar para Objetos Simbólicos
Freqüências relativasVariáveis intervalares
Variáveis modais
Capacidades max/min/médiaVariáveis modais
BiplotVariáveis intervalares
DIV – Divisive Clustering
Método de agrupamento hierárquico
Divisivo
Usuário informa número de classes desejado
PARTITION IN 5 CLUSTERS :
-------------------------:
Cluster 1 (n=2) :
"Western" "Espionnage"
Cluster 2 (n=4) :
"Science-fiction" "Fantastique"
"Comédie fantastique" "Film de guerre"
Cluster 3 (n=1) :
"Catastrophe"
Cluster 4 (n=9) :
"Suspense" "Comédie dramatique"
"Film historique" "Policier"
"Action" "Animation"
"Comédie" "Aventure" "Comédie musicale"
Cluster 5 (n=1) :
"Drame"
Explicated inertia : 93.120786
THE CLUSTERING TREE :
---------------------
- the number noted at each node indicates
the order of the divisions
- Ng <-> yes and Nd <-> no
+---- Classe 1 (Ng=2)
!
!----3- [Budget(K) <= 15800.000000]
! !
! +---- Classe 4 (Nd=9)
!
!----1- [Budget(K) <= 59100.000000]
!
! +---- Classe 2 (Ng=4)
! !
! !----4- [Budget(K) <= 89700.000000]
! ! !
! ! +---- Classe 5 (Nd=1)
! !
!----2- [Budget(K) <= 120200.000000]
!
+---- Classe 3 (Nd=1)
TREE – Árvores de decisão
Fuzzy ou “Hard”
Variável identificadora de classeNominal
Variáveis descritorasTodos os tipos
================================== | EDITION OF DECISION TREE |
==================================
PARAMETERS :
Learning Set : 17
Number of variables : 2
Max. number of nodes: 11
Soft Assign : ( 1 ) FUZZY
Criterion coding : ( 3 ) LOG-LIKELIHOOD
Min. number of object by node : 5
Min. size of no-majority classes : 2
Min. size of descendant nodes : 1.00
Frequency of test set : 0.00
+ --- IF ASSERTION IS TRUE (up)
!
--- x [ ASSERTION ]
!
+ --- IF ASSERTION IS FALSE (down)
+---- [ 4 ]Catastrophe
!
!----2[ Nombre_Oscars <= 0.000000]
! !
! ! +---- [ 10 ]Action
! ! !
! !----5[ Nombre_Oscars <= 1.000000]
! !
! +---- [ 11 ]Western
!
!----1[ Nombre_Oscars <= 1.000000]
!
! +---- [ 12 ]Western
! !
! !----6[ Nombre_Oscars <= 2.000000]
! ! !
! ! +---- [ 13 ]Comédie musicale
! !
!----3[ Budget(K) <= 76000.000000]
!
+---- [ 7 ]Drame
SODAS: Resumo
ConclusãoAnálise de dados simbólicos
Extensão da análise de dados tradicionaisDados mais complexos
• Estruturados, probabilísticos, intervalares, multinomiaisAnálise de dados tradicional
• Normalmente um caso especial da análise de dados simbólicos
SODASImplementa métodos de análise
• Existentes para dados tradicionais Árvores de decisão, clustering, estatística descritiva
• Extendendo-os para dados simbólicosFerramenta disponível gratuitamente
• Porém ainda “imatura”.