Sunteți pe pagina 1din 90

Construo de redes usando estatstica

clssica e Bayesiana - uma comparao


Lina Dornelas Thomas

Dissertao apresentada
ao
Instituto de Matemtica e Estatstica
da
Universidade de So Paulo
para
obteno do ttulo
de
Mestre em Cincias
Programa: Estatstica
Orientador: Prof. Dr. Anatoli Iambartsev

Durante o desenvolvimento deste trabalho o autor recebeu auxlio


nanceiro do CNPq

So Paulo, maio de 2012

Construo de redes usando estatstica


clssica e Bayesiana - uma comparao

Esta tese/dissertao contm as correes e alteraes


sugeridas pela Comisso Julgadora durante a defesa
realizada por Lina Dornelas Thomas em 13/03/2012.
O original encontra-se disponvel no Instituto de
Matemtica e Estatstica da Universidade de So Paulo.

Comisso Julgadora:

Prof. Dr. Anatoly Yambartsev (orientador) - IME-USP

Profa. Dra. Florncia Graciela Leonardi - IME-USP

Prof.

Dr.

Cambridge

Iouri Soukhov - DPMMS/CMS-University of

Agradecimentos
Gostaria de agradecer especialmente ao meu orientador, Anatoli Iambartsev,
por todos os ensinamentos, pacincia, dedicao e interesse pelo trabalho.
Agradeo tambm a minha me, Regina Andrade Dornelas, por seu incentivo emocional e nanceiro e aos meus familiares que sempre me deram
apoio incondicional.
Durante esses dois anos no instituto, contei com vrios amigos para estudar para provas, fazer trabalhos e tirar dvidas.

Agradeo a cada uma

dessas pessoas. Em particular, gostaria de agradecer a Victor Fossaluza, um


colega e amigo que forneceu ideias e bastante suporte no estudo de Estatstica Bayesiana, e a Renata Stella Khouri, pelas guras do Captulo 7. E
por ltimo, a Manuel Gonzlez, que sempre demonstrou curiosidade pela
pesquisa e, dessa forma, ajudou a manter minha motivao!

ii

Resumo
Construo de redes usando estatstica clssica e Bayesiana uma comparao
Nesta pesquisa, estudamos e comparamos duas maneiras de se construir
redes. O principal objetivo do nosso estudo encontrar uma forma efetiva
de se construir redes, especialmente quando temos menos observaes do que
variveis. A construo das redes realizada atravs da estimao do coeciente de correlao parcial com base na estatstica clssica (inverse method)
e na Bayesiana (priori conjugada Normal - Wishart invertida). No presente
trabalho, para resolver o problema de se ter menos observaes do que variveis, propomos uma nova metodologia, a qual chamamos correlao parcial

local, que consiste em selecionar, para cada par de variveis, as demais variveis que apresentam maior coeciente de correlao com o par. Aplicamos

essas metodologias em dados simulados e as comparamos traando curvas


ROC. O resultado mais atrativo foi que, mesmo com custo computacional
alto, usar inferncia Bayesiana melhor quando temos menos observaes
do que variveis. Em outros casos, ambas abordagens apresentam resultados
satisfatrios.

Palavras-chave:

redes, correlao parcial, mtodo inverso, estatstica Baye-

siana.

iii

iv

Abstract
Building complex networks through classical and Bayesian
statistics - a comparison
This research is about studying and comparing two dierent ways of building complex networks. The main goal of our study is to nd an eective way
to build networks, particularly when we have fewer observations than variables. We construct networks estimating the partial correlation coecient
on Classic Statistics (Inverse Method) and on Bayesian Statistics (Normal
- Invese Wishart conjugate prior).

In this current work, in order to solve

the problem of having less observations than variables, we propose a new


methodology called

local

partial correlation, which consists of selecting, for

each pair of variables, the other variables most correlated to the pair. We
applied these methods on simulated data and compared them through ROC
curves. The most atractive result is that, even though it has high computational costs, to use Bayesian inference is better when we have less observations
than variables. In other cases, both approaches present satisfactory results.

Keywords:

complex networks, partial correlation, inverse method, Bayesian

statistics.

vi

Sumrio
1 Introduo

1.1

Motivao . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.2

Objetivos

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.3

Organizao do texto . . . . . . . . . . . . . . . . . . . . . . .

2 Conceitos Bsicos

2.1

Coeciente de Correlaao

. . . . . . . . . . . . . . . . . . . .

2.2

Independncia Condicional . . . . . . . . . . . . . . . . . . . .

2.3

Redes

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.4

Dados

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.5

Teorema de Bayes

. . . . . . . . . . . . . . . . . . . . . . . .

2.6

Matriz Positiva Denida . . . . . . . . . . . . . . . . . . . . .

3 Distribuio Normal Multivariada e Wishart invertida

3.1

Multivariada Normal . . . . . . . . . . . . . . . . . . . . . . .

3.2

Distribuio Wishart . . . . . . . . . . . . . . . . . . . . . . .

11

3.3

Distribuio Wishart-invertida

12

. . . . . . . . . . . . . . . . .

4 Independncia Condicional
4.1

4.2

Correlao Parcial

15

. . . . . . . . . . . . . . . . . . . . . . . .

15

4.1.1

Regresso Linear . . . . . . . . . . . . . . . . . . . . .

16

4.1.2

Mtodo Inverso . . . . . . . . . . . . . . . . . . . . . .

17

4.1.3

Covarincia Parcial . . . . . . . . . . . . . . . . . . . .

17

Correlao Condicional . . . . . . . . . . . . . . . . . . . . . .

18

5 Estatstica Bayesiana

19

5.1

Distribuio a Priori

. . . . . . . . . . . . . . . . . . . . . . .

19

5.2

Distribuio a Posteriori . . . . . . . . . . . . . . . . . . . . .

19

5.3

Distribuies a Priori Conjugadas . . . . . . . . . . . . . . . .

20

Multivariada Normal- Wishart Invertida . . . . . . . .

20

5.4

Full Bayesian Statistics Test . . . . . . . . . . . . . . . . . . .

21

5.3.1

vii

viii

SUMRIO

6 Medidas de Diagnstico

23

6.1

Teste de Hipteses

. . . . . . . . . . . . . . . . . . . . . . . .

23

6.2

Sensibilidade X Especicidade . . . . . . . . . . . . . . . . . .

23

6.3

Curva ROC . . . . . . . . . . . . . . . . . . . . . . . . . . . .

24

7 Simulaes
7.1

7.2

7.3

27

Algoritmos

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

7.1.1

rvores

7.1.2

Redes Mistas

. . . . . . . . . . . . . . . . . . . . . . . . . .

29
29

. . . . . . . . . . . . . . . . . . . . . . .

29

Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . .

32

7.2.1

Estatstica Clssica . . . . . . . . . . . . . . . . . . . .

32

7.2.2

Estatstica Bayesiana . . . . . . . . . . . . . . . . . . .

32

7.2.3

Correlao Parcial Local . . . . . . . . . . . . . . . . .

Estudo das curvas ROC


7.3.1

. . . . . . . . . . . . . . . . . . . . .

34
34

Comparao das Curvas ROC da Estatstica clssica


com a Bayesiana

. . . . . . . . . . . . . . . . . . . . .

A Demonstraes

37

39

A.1

Demonstrao da frmula (4.1) no caso unidimensional . . . .

A.2

Equivalncia do mtodo inverso com a denio de correlao

A.3

Equivalncia do mtodo da covarincia parcial com a denio

parcial no caso unidimencional

. . . . . . . . . . . . . . . . .

de correlao parcial no caso unidimencional . . . . . . . . . .

39
40
41

B Grcos

43

C Scripts em R

47

C.1

Gerador de rvores . . . . . . . . . . . . . . . . . . . . . . . .

C.2

Gerador de redes mistas

C.3

Gerador de redes mistas piloto

C.4

Correlao parcial - mtodo inverso . . . . . . . . . . . . . . .

53

C.5

Correlao parcial - Bayesiana . . . . . . . . . . . . . . . . . .

55

C.6

Correlao parcial local - mtodo inverso . . . . . . . . . . . .

59

C.7

Correlao parcial local- Bayesiana . . . . . . . . . . . . . . .

62

C.8

Mdia das curvas ROC . . . . . . . . . . . . . . . . . . . . . .

70

. . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .

47
49
52

Lista de Figuras
2.1

Representao de um grafo. Os cculos desempenham o papel


de vrtices, enquanto as linhas retas entre os vrtices representam as ligaes entre os mesmos. esquerda apresentamos
um grafo no direcionado, enquanto direita temos um grafo
direcionado e com peso.

. . . . . . . . . . . . . . . . . . . . .

6.1

Exemplo de curva ROC

. . . . . . . . . . . . . . . . . . . . .

25

7.1

Exemplo de rvores . . . . . . . . . . . . . . . . . . . . . . . .

28

7.2

Exemplo de redes mistas . . . . . . . . . . . . . . . . . . . . .

28

7.3

Grco do nmero mximo de variveis no clculo da correlao parcial local pela rea das curvas ROC de 5 rvores (
esquerda) e 5 redes ( direita).

7.4

. . . . . . . . . . . . . . . . .

34

Comparao da mdia ( esquerda) e mediana( direita) das


curvas ROC das rvores com 50, 250, 500 e 1000 observaes
na viso clssica.

7.5

. . . . . . . . . . . . . . . . . . . . . . . . .

35

Comparao da mdia ( esquerda) e mediana( direita) das


curvas ROC das rvores com 50, 250, 500 e 1000 observaes
na viso Bayesiana. . . . . . . . . . . . . . . . . . . . . . . . .

7.6

36

Comparao da mdia ( esquerda) e mediana( direita) das


curvas ROC das redes mistas com 50, 250, 500 e 1000 observaes na viso clssica.

7.7

. . . . . . . . . . . . . . . . . . . . .

36

Comparao da mdia ( esquerda) e mediana( direita) das


curvas ROC das redes mistas com 50, 250 e 500 observaes
na viso Bayesiana. . . . . . . . . . . . . . . . . . . . . . . . .

7.8

37

Comparao entre as curvas ROC provenientes da estatstica


clssica e bayesiana para rvores com 50 ( esq), 250, 500 e
1000 obs ( dir) . . . . . . . . . . . . . . . . . . . . . . . . . .

7.9

clssica e bayesiana para redes mistas com 50, 250 e 500 obs)
B.1

38

Comparao entre as curvas ROC provenientes da estatstica


38

Quartil 1 (0.25), mdia, mediana e quartil 3 (0.75) das curvas


ROC das rvores com 50, 250, 500 e 1000 observaes na viso
clssica.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ix

43

LISTA DE FIGURAS

B.2

Quartil 1 (0.25), mdia, mediana e quartil 3 (0.75) das curvas


ROC das rvores com 50, 250, 500 e 1000 observaes na viso
Bayesiana. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

B.3

44

Quartil 1 (0.25), mdia, mediana e quartil 3 (0.75) das curvas


ROC das redes mistas com 50, 250, 500 e 1000 observaes na
viso clssica. . . . . . . . . . . . . . . . . . . . . . . . . . . .

B.4

45

Quartil 1 (0.25), mdia, mediana e quartil 3 (0.75) das curvas


ROC das redes mistas com 50, 250 e 500 observaes na viso
Bayesiana. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

46

Captulo 1

Introduo
1.1 Motivao
A construo de redes um tema cada vez mais presente entre os pesquisadores. Elas podem representar inmeras situaes dentre os mais variados
temas. Como exemplo podemos citar a internet, redes sociais de parentesco
ou outra caracterstica que conecta indivduos, redes organizacionais ou de
relaes entre empresas, redes neurais, cadeia alimentar, logstica, redes de
referncias entre artigos.
A maior motivao deste trabalho foi o artigo [11], onde redes regulatrias
foram construdas. Os dados foram tirados de uma base de um estudo casocontrole sobre cncer colo-uterino. A m de construir uma rede de expresso
gnica, os autores usaram o mtodo inverso para calcular o coeciente de
correlao parcial.
Contudo, nos estudos de

microarray, comum termos milhares de genes

versus dezenas de observaes, como acontece em [11]. Isso gera problema


de identicabilidade, j que no temos informao suciente para fazer inferncia sobre os dados. Estatisticamente, quanto mais conhecimento temos a
respeito dos dados, mais realista so os resultados do estudo. Para estudar
dados com mais variveis do que observaes, necessrio a elaborao de
novas metodologias.
Embora nosso objetivo neste estudo no seja encontrar a melhor metodologia dentre as j existentes, vimos que h diferentes maneiras para enfrentar
essa situao. Em [13] a correlao parcial foi estimada atravs de regresso
linear em conjuntos esparsos. Na literatura, encontramos outras referncias
com aplicaes em dados oriundos de

microarray.

correlao foi calculado sobre clusters de genes.


[22] e [18], modelos grcos Gaussianos (

Em [8], o coeciente de
J nos artigos [20], [21],

Graphical Gaussian Models)

usados para construo de redes regulatrias.

foram

Em [20] tambm foi usada

anlise de cluster, enquanto que em [18] foi usado o lasso ponderado nos
modelos grcos Gaussianos. Conjuntos de genes foram usados em [7] para
1

CAPTULO 1.

INTRODUO

a obtenao de redes de expresso gnica.

1.2 Objetivos
Os objetivos desse trabalho, utilizando dados simulados, so:
1. Estudar e comparar a construo de redes usando o coeciente de correlao parcial atravs de duas metodologias. A primeira por meio
da estatstica clssica. Para a estimao do coeciente de correlao
parcial, utilizaremos o mtodo inverso, como em [11], e, para o teste
de hipteses, o valor-p calculado pela transformada-z de Fisher. A segunda metodologia embasada na escola Bayesiana. Estimaremos a
matriz de covarincia parcial e usaremos as entradas dessa matriz para
o clculo do coeciente de correlao parcial. Testaremos as hipteses
com o valor-e vindo do FBST [14].
2. Estudar e comparar a construo de redes quando temos mais variveis
do que observaes utilizando o que chamamos de correlao parcial
local.

Dizemos local porque, para cada par de variveis, escolhemos

apenas um subconjunto de variveis correlacionadas com o par para


calcular o coeciente de correlao parcial.

Esse estudo tambm

feito usando as duas metodologias descritas no item anterior.

1.3 Organizao do texto


No Captulo 2 recordaremos alguns conceitos bsicos que sero utilizados no
decorrer do texto. As denies, densidades e propriedades das distribuies
empregadas nas estimaes encontram-se no Captulo 3. J o Captulo 4 fala
sobre a denio de coeciente de correlao parcial e outras duas possveis
maneiras de obt-lo. Noes bsicas de estatstica Bayesiana so introduzidas
no Captulo 5. As metodologias so comparadas atravs da curva ROC, a
qual foi especicada no Captulo 6. Finalmente, no Captulo 7, estudaremos
as simulaes e discutiremos seus resultados.

Captulo 2

Conceitos Bsicos
Neste captulo vamos introduzir algumas noes bsicas, as quais sero usadas ao longo desse trabalho. Iniciaremos com os conceitos relacionados com
a construo de grafos: coeciente de correlao de Pearson, independncia
condicional, grafos e dados. Depois introduziremos dois teoremas bastante
conhecidos (lei da probabilidade total e teorema de Bayes) que sero usados no Captulo 5, onde falaremos um pouco sobre Estatstica Bayesiana.
Tambm apresentaremos a denio e algumas propriedades de matrizes positivas denidas, essenciais nas distribuies Wishart e Wishart invertida, as
quais sero tratadas no Captulo 3.

2.1 Coeciente de Correlaao


A correlao, tambm chamada coeciente de correlao, entre duas variveis
aleatrias,

Y,

uma das medidas de dependncia mais usadas e bem

conhecidas na literaratura cientca. Ela indica a fora e a direo da relao


linear entre essas variveis. A frmula de maior uso comum o coeciente
de correlao de Pearson.

Uma de suas vantagens que esse coeciente

adimensional e pode ser usado para comparar variveis, pois padronizado


pelos desvios padres.

Denio 2.1.1 (Coeciente de Correlaao de Pearson).

Sejam

duas

variveis aleatrias unidimensionais. O coeciente de correlao de Pearson

(X, Y )

entre

denida por

Cov(X, Y )
(X, Y ) = p
.
V ar(X)V ar(Y )
|(X, Y )| 1.
(X, Y ) = 0, e que

Pela desigualdade de Cauchy-Schwartz podemos ver que

Note que se X e Y forem no correlacionadas, ento


|(X, Y )| = 1 se e somente se Y = X , 6= 0. Outra observao que mostra
como a correlao mede a relao linear entre as variveis que, quando
3

CAPTULO 2.

(X, Y ) (1, 1),


Cov(Y, ) = 0.

Denio 2.1.2

Y = X + ,

podemos escrever

(Matriz de Correlao)

atrias unidimensionais.

CONCEITOS BSICOS

Sejam

V ar() 6= 0

em que

X1 , , Xp

variveis ale-

A matriz de correlao simplesmente a matriz

cujos elementos so os coecientes de correlao entre cada par de variveis


aleatrias

(Xi , Xj ), i, j = 1 p, ou seja,

(X1 , X1 )

.
.
(X1 , , Xp ) =
.
(Xp , X1 )

em que

(X1 , Xp )

.
.
.

.
.
.

,
(Xp , Xp )

(Xi , Xi ) = 1, i = 1, , p

Para saber mais sobre aspectos histricos do coeciente de correlao e


sobre medidas de dependncia consulte [17] e [19] respectivamente.

2.2 Independncia Condicional


Sejam

X eY

variveis aleatrias denidas no espao de probabilidade

com funo densidade de probabilidade (f.d.p.)

fX (x)

fY (y)

(, A, P),

respectiva-

mente.

Denio 2.2.1 (Independncia). Dizemos que as variveis aleatrias X e Y


so independentes e denotamos por

X
Y

se sua f.d.p. conjunta

fX,Y (x, y)

pode ser escrita como o produto das densidades marginais:

fX,Y (x, y) = fX (x)fY (y),


ou, analogamente, se a densidade de

dado

X =x

no depende de

x,

ou

seja,

fY |X (y | x) = fY (y).

Denio 2.2.2 (Independncia Condicional).

Agora considere duas vari-

X , Y e um vetor aleatrio Z = (Z1 , , Zp ). Seja fX|Y,Z (x |


y, z), z = (z1 , , zp ), a f.d.p.de X condicional a Y e a Z, e fX|Z (x | z) a
f.d.p.de X condicional somente a Z. Dizemos que X e Y so condicionalmente independentes dado Z e denotamos por X
Y | Z se, para cada valor
de z, a seguinte equao vlida:
veis aleatrias

fX|Y,Z (x | y, z) = fX|Z (x | z).


Outra forma de denir a independncia condicional, encontrada em [3],
se podemos fatorar a densidade conjunta
de duas funes, uma que no envolve

fX,Y,Z (x, y, z)

como um produto

e uma no envolve

fX,Y,Z (x, y, z) = h(x, z)k(y, z).

y,

isto ,

2.3.

REDES

Figura 2.1: Representao de um grafo. Os cculos desempenham o papel


de vrtices, enquanto as linhas retas entre os vrtices representam as ligaes entre os mesmos. esquerda apresentamos um grafo no direcionado,
enquanto direita temos um grafo direcionado e com peso.

2.3 Redes
Vamos introduzir algumas denies relacionadas a redes, as quais utilizaremos mais adiante.

Denio 2.3.1

de

vrtices, ou ns, que conectam-se entre si atravs de ligaes ou elos.

(Grafo)

Uma rede (ou grafo) um conjunto nito

conjunto de elos em uma rede denotado por

E.

mais conhecida como grafo no meio matemtico, por

Denotamos uma rede,

G = (V, E).

Usaremos

X acompanhado de um ndice para denotar os vrtices, por exemplo, Xi ,


i = 1, , p, p N, em que p o nmero total de vrtices em um grafo. As
ligaes entre Xi e Xj sero escritas das seguintes formas: [Xi Xj ] ou [Xj Xi ].
A Figura 2.1 mostra um diagrama exemplicando alguns tipos de redes.
Os elos podem ter pesos, por exemplo, a correlao entre dois genes, e
tambm estar apontados para uma nica direo, isto , direcionados. Grafos
contendo elos direcionados so chamados grafos direcionados, ou digrafos

digraphs).

Um diagrama de um grafo direcionado e com peso pode ser

encontrado na Figura 2.1.

Denio 2.3.2

Xi , Xj V so adjacentes,
Xi Xj , se existe uma ligao entre eles, isto , [Xi Xj ] E. Representamos
todos os pares adjacentes atravs da matriz de adjacncia App , em que seus
elementos aij recebem 1 quando existe a ligao entre Xi e Xj e 0, caso
(Adjacncia)

Dizemos que

CAPTULO 2.

contrrio. No caso da rede direcionada,

Xi

e vai em direo a

Xj ,

apenas em um sentido, de

Denio 2.3.3
um subgrafo de

indica que a ligao sai de

ou seja, a seta aponta para

Xi

(Subgrafo)

G.

aij = 1

CONCEITOS BSICOS

para

Xj ,

ento

Xj .

Se a direo for

aji = 0.

Qualquer subconjunto de vrtices

Denotaremos

Gu = (u, H),

sendo

uV

as ligaes em

quais ambos os vrtices de cada uma das ligaes pertencem a

gera

as

u.

2.4 Dados
Os conjuntos de dados estudados neste trabalho so da seguinte forma:

Xnp

x1p
x2p

. ,
.
.
xnp

x11 x12
x21 x22

= .
.
.
.
.
..
.
.
xn1 xn2

que so amostras de um vetor multidimensional e cada entrada da matrix

xij , i = 1 n, j = 1 p

i-sima

observao da varivel

Xj .

Essas

observaes podem ser altura ou peso de um indivduo, expresso gnica,

disparos neuronais ( pikes), etc.


Assumimos que as variveis

X1 , X2 , Xp

seguem uma distribuio com

funo densidade de probabilidade conjunta

f (x1 , x2 , , xp ),

em que

simboliza parmetros desconhecidos. Os dados so obtidos de um

experimento no qual
guindo

observaes so amostradas independentemente se-

f .

Nosso objetivo trabalhar com modelos atravs de redes. Como descrito


em

??, construimos um grafo G = (V, E), em que V o conjunto de variveis

no modelo e

so os elos entre os pares de variveis. Mas como estabelecer

as ligaes? Para cada par de variveis

Xij

Xi

Xj ,

se

Xi
Xj | Xij ,

em que

aloca todas as demais variveis do modelo, ento no h ligao entre

elas. Entretanto, se as variveis no forem condicionalmente independentes,


dado

Xij ,

ento existe um elo entre elas. Essa construo de grafo co-

nhecida como propriedade de Markov por par (

pairwise Markov property ).

u
v | w vlida para quaisquer conjuntos u, v e w V,
u e v no grafo de independncia. Portanto, todas as inde-

Se a condio
ento

separa

pendncias condicionais e marginais podem ser diretamente obtidas do grafo


(perfeio de Markov).
Outras propriedades de grafos podem ser encontradas em [5] e [12].

2.5.

TEOREMA DE BAYES

2.5 Teorema de Bayes


Teorema 2.5.1

(Lei da Probabilidade Total). Suponha que os eventos A1 ,


A2 , , Ap em (, F, P ) formam uma partio de e P (Ai ) > 0, i =
1, 2, , n. Ento, para qualquer evento B

P (B) =

n
X

P (B | Ai )P (Ai )

i=1

Teorema 2.5.2 (Teorema de Bayes). Suponha que os eventos A1 , A2 , , An


esto em (, F, P ), formam uma partio de e P (Ai ) > 0, i = 1, 2, , n.
Seja A um evento qualquer com P (B) > 0. Ento, i = 1, 2, , n, temos
P (B | Ai )P (Ai )
P (Ai | B) = Pn
.
j=1 P (B | Aj )P (Aj )

(2.1)

2.6 Matriz Positiva Denida


Denio 2.6.1

(Matriz Positiva Denida)

Uma matriz

uT Au > 0 para todos os vetores u no nulos


(u Rn ), em que uT denota o vetor transposto de u.

denida se

dita positiva

com entradas reais

Alm da denio, existem vrias condies que caracterizam quando


uma matriz

positiva denida (A

> 0)

ou semipositiva denida (A

Listaremos algumas delas. Para isso, considere


a matriz transposta conjugada de
1.

2.

A0
A>0

A 0

A for Hermitiana,
se i > 0, i

se e somente se

os auto-valores de

0).

e A

A.

se e somente se
se e somente

ou seja,

A = A ,

i 0, i.

for Hermitiana e todos os seus menores

principais forem no negativos.

A>0

se e somente se todos os seus

menores principais forem positivos.


3.

A0

se e somente se

somente se
4.

A 0

A = BB

para alguma matriz

B. A > 0

se e

for no singular.

A = T T para alguma matriz triangular


T pode ser formada por nmeros
no negativos. Se A > 0, ento T nica. Essa a decomposio de
Cholesky de A. A > 0 se e somente se T for no singular.
se e somente se

superior. Mais ainda, a diagonal de

5.

A 0
nica.

se e somente se

A>0

B2

para alguma matriz

se e somente se

B.

Essa matriz

B > 0.

Um estudo mais detalhado sobre matrizes positivas denidas pode ser


encontrado em [2].

CAPTULO 2.

CONCEITOS BSICOS

Captulo 3

Distribuio Normal
Multivariada e Wishart
invertida
Neste captulo falaremos um pouco sobre as distribuies consideradas neste
trabalho e suas propriedades. Assumiremos que os dados seguem uma distribuio Multivariada Normal. A Wishart-invertida utilizada nas distribuies a priori e posteriori, na Estatstica Bayesiana (Captulo 5). Citaremos a
distribuio Wishart j que ela d origem distribuio Wishart-invertida.

3.1 Multivariada Normal


Nos estudos realizados em anlise multivariada comum que o pesquisador
assuma que os vetores aleatrios sigam uma distribuio normal multivaridada. Abaixo listamos alguns motivos para tal procedimento.

A distribuio Normal univariada pode ser facilmente generalizada


atravs da distribuio Normal multivariada, alm de a anlise desta
ser semelhante do caso univariado.

A distribuio multivariada normal inteiramente denida pelo primeiro e segundo momento, o que implica uma menor quantidade de
parmetros quando comparada com outras distribuies, diminuindo,
assim, a diculdade dos problemas de estimao.

Correlao nula nesse tipo de distribuio implica independncia.

correlao nula dois a dois implica independncia total. A prova disso


pode ser encontrada em [10].

Mesmo quando os dados originais no so normais, podemos apelar


para o Teorema do Limite Central, se temos um nmero grande de
dados.
9

10CAPTULO 3. DISTRIBUIO NORMAL MULTIVARIADA E WISHART INVERTIDA

Denio 3.1.1.
Normal

p-variada

X = (X1 , , Xp ) segue uma distribuio


a = (a1 , , ap ) Rp , a varivel aT X
A distribuio Normal p-variada denotada da seguinte

Dizemos que

se e somente se,

Normal univariada.
forma:

X Np (, ),
em que

p1

a mdia do vetor

pp

a matriz de covarincia de

X.

Densidade
Sua f.d.p., quando

uma matriz positiva denida (

> 0),

tem a

seguinte forma:
1

T 1 (x)

f (X) = (2)p/2 ||1/2 e 2 (x)

(3.1)

Como j mencionamos anteriormente,

Esperana
E(X) =

Varincia
V ar(X) = .

Caractersticas e Propriedades
Teorema 3.1.1. Particionemos X em X = (X (1)T , X (2)T ) Np (, ), em
que particionada da seguinte forma:



11 12
=
21 22

A distribuio condicional de X (1)T dado X (2)T


X (1)T | X (2)T

Nr (2 + 21 1
11 (X 1 ), 22.1 ).

(3.2)

em que r o comprimento do vetor X2 e


22.1 = 22 21 1
11 12 .
A prova desse teorema pode ser encontrada em [10].

(3.3)

3.2.

DISTRIBUIO WISHART

11

3.2 Distribuio Wishart


A distribuio Wishart uma generalizao matricial da distribuio quiquadrado. uma famlia de distribuies denida sobre matrizes aleatrias
simtricas e positivas denidas.

Essas distribuies so de grande impor-

tncia na estimao de matrizes de covarincia na estatstica multivariada.


Na inferncia Bayesiana, assumindo que os dados seguem uma distribuio
Normal multivariada, ela a priori conjugada da matriz de preciso (matriz
de covarincia inversa).

Denio 3.2.1.

Suponha que

uma matriz

k p, com cada linha vindo


p-variada com mdia 0 e

independentemente de uma distribuio Normal


matriz de covarincia

S:

Xi = (Xi1 , Xi2 , Xip ) Np (0, S), i = 1, , k


A distribuio Wishart a distribuio de probabilidade de uma matrix

M = XT X,

aleatria

matrix).

scatter

tambm conhecida como matriz de disperso(

Notacionalmente:

M Wp (S, k)
em que

a matriz de escala,

S>0

representa os graus de liberdade,

k > 0.

Densidade
Seja

uma matriz simtrica

p p,

aleatria e positiva denida. Seja

p p. Quando
k p (vide Observao 3.2.1), M tem uma distribuio Wishart com matriz
de escala S e k graus de liberdade se tiver uma f.d.p. dada por

uma matriz constante tambm positiva denida de tamanho

f (M ) =
em que

|M |

|S|

|M |(kp1)/2 exp[ 21 tr(S 1 M )]



2kp/2 |S|k/2 p k2

so os determinantes de

respectivamente e

(3.4)

p ()

a funo gamma multivariada denida como

 


p
Y
k
n (1 j)
p(p1)/a
p
=

+
2
2
2

(3.5)

j=1

Observao

. Lembre que o posto (rank) de uma matriz Xkp o


k e p, ou seja, r(X) min(k, p). Lembre tambm que
r(X T X) = min(r(X T ), r(X)) min(k, p). Se k < p, ento r(M ) < p.
Logo, a matriz M no ter posto completo e, portanto, ser singular, isto ,
3.2.1

mnimo entre

ser no invertvel.

12CAPTULO 3. DISTRIBUIO NORMAL MULTIVARIADA E WISHART INVERTIDA

Esperana
E(M ) = E(XT X) =

k
X

E(Xi XTi ) = kS.

i=1

Varincia
V ar(M )ij = k(s2ij + sii sjj ),
com

i, j = 1, , p

sij

ij

representando os elementos

Caractersticas e Propriedades

da matriz

S.

W1 (s2 , k) dada por XT X,


2
em que os elementos de Xk1 so variveis iid N (0, s ), isto , a distribuio
2
2 2
Wishart W1 (s , k) a mesma que a distribuio s k .
Segundo [10], quando

A matriz de escala

s2 tem na distribuio

p = 1,

S tem
s2 2k .

a distribuio

a mesma funo na distribuio Wishart que

3.3 Distribuio Wishart-invertida


A distribuio Wishart-invertida (

inverse-Wishart)

a generalizao multi-

variada da distribuio Gamma-invertida (veja [16] para mais informaes).

M uma
M 1 segue a
Se

matriz que segue a distribuio Wishart, ento sua inversa,


distribuio Wishart-invertida.

Essa distribuio a priori

conjugada natural para a matriz de covarincia quando os dados seguem


uma distribuio multivariada Normal.

Densidade
Se M Wp (S, k), em que S > 0 e k p (vide Observao 3.2.1), ento
U = M 1 segue a distribuio Wishart-invertida IWp (, k), sendo = S 1 .
Sua f.d.p. dada por:

|U |(k+p+1)/2 exp[ 12 tr(U 1 )]



g(U ) =
2kp/2 ||k/2 p k2

(3.6)

Esperana
E[U ] =

kp1

(3.7)

Varincia
V ar(ii ) =

2ii2
, k p > 3,
(k p 1)2 (k p 3)

(3.8)

3.3.

DISTRIBUIO WISHART-INVERTIDA

ii jj +

V ar(ij ) =
em que

ij

o elemento

ij

13

kp+1 2
kp1 ij

(3.9)

(k p)(k p 1)(k p 3)

da matriz

Caractersticas e Propriedades

Teorema 3.3.1. Seja U

IWp (, k), > 0, p < k entao


U22.1 IWq (22.1 , k q),

(3.10)

1
em que U22.1 = U22 U21 U11
U12 .

Demonstrao.
U IWp (, k) U Wp (1 , k)
Agora, considere

particionada da seguinte forma:



U11 U12
U=
,
U21 U22
em que

U11

uma matriz

p p, U12 , p q, U12 : q p, U22 : q q .

Como podemos ver em [15]

M =U

em que

U 1

pode ser escrita da seguinte forma:


1
1
U12 U22.1 1
U11
U11.2
,
1
1
U21 U11.2 1
U22.1
U22


=

(3.11)

1
U11.2
= (U11 U12 U22 1U21 )1

Por teorema visto em [10], as matrizes diagonais de


uma distribuio Wishart, logo

(U 1 )22 W ((1 )22 , k)


ou seja,

1
U22.1
W (1
22.1 , k) U22.1 IW ((22.1 , k)

U 1

tambm seguem

14CAPTULO 3. DISTRIBUIO NORMAL MULTIVARIADA E WISHART INVERTIDA

Captulo 4

Independncia Condicional
Como j vimos no Captulo 2, independncia condicional fundamental na
modelagem grca, pois denimos um elo entre dois vrtices se e somente se
as variveis do modelo no forem condicionalmente independentes. Entretanto, apesar de ser baseada na teoria das probabilidades, seu clculo pode
ser bastante complexo. Por isso, na prtica, razovel substituir independncia condicional por correlao parcial igual a
igual a

0.

ou correlao condicional

Optamos por trabalhar com a correlao parcial nula, j que esta

mais fcil de ser calculada do que correlao condicional, a qual depende


da forma da distribuio.
Em [1] prova-se que correlao parcial idntica a correlao condicional se a correlao condicional independente da condio e tambm se a
esperana condicional linear.
Neste captulo deniremos correlao parcial e apresentaremos duas outras formas mais simples de calcul-la.

Provaremos que essas formas so

equivalentes denio original. Introduziremos tambm a noo de correlao condicional.

4.1 Correlao Parcial


Xi , n 1, e Xj , n 1,
Y = Xij , i, j = 1, p, i 6= j , especialmente atravs da correlao par-

Estamos interessados na independncia condicional de


dado

cial. Podemos calcular a correlao parcial por trs caminhos que acabam
gerando os mesmos resultados. O primeiro caminho atravs da denio
original usando regrasso linear.

O primeiro caminho o jeito mais tra-

balhoso, o segundo pelo Mtodo Inverso e o terceiro utiliza a covarincia


parcial.
15

16

CAPTULO 4.

4.1.1

INDEPENDNCIA CONDICIONAL

Regresso Linear

Denio 4.1.1
comprimento

(Correlao Parcial)

p2

correlacionado com

ciente de correlao entre

Xi

Xj ,

Y um
Xi e Xj .

Seja

vetor linha aleatrio de


Se calcularmos o coe-

provavelmente concluiremos que existe

uma certa correlao entre elas. Contudo, no sabemos se essa correlao

Y, ou se elas so realmente
Y. Se mantivermos Y constante, ser que
uma alterao de Xi inuenciar Xj ? A ideia principal dessa abordagem
justamente retirar o efeito de Y , examinando as correlaes entre os resduos
das projees de Xi e Xj no espao linear gerado por Y , ou seja, subtraindo
aquela parte da relao linear devido a Y . Matematicamente temos:

vem da correlao dessas duas variveis com


correlacionadas independente de

Xi = i + Yi + i
Xj = j + Yj + j ,
em que

i = (i1 , , i(p2) )T .

Atravs da regresso pelo mtodo dos mnimos quadrados, obtemos


e

j ,
X

que so os estimadores de

Xi

Xj

i
X

respectivamente, e seus resduos

dados por:

i
Resi = Xi X
j .
Resj = Xj X
Note que,

Resi e Resj

dncia linear com

Y.

Y e portanto a correlao (Resi , Resj )


Xi e Xj que no apresentam depen-

so ortogonais a

a correlao entre os componentes de

Portanto, a correlao parcial ser dada por

i , Xj X
j )
ij.Y = (Resi , Resj ) = (Xi X
Se

ij.Y 0,

ento

Xi

Xj

so no correlacionados se no levarmos

em considerao.

Lemma 4.1.1. Mantendo as notaes da Denio 4.1.1,


X X Xi Y Xj Y
(Resi , Resj ) = q i j
,
q
1 2Xi Y 1 2Xj Y

ou seja, o cculo da correlao parcial pode vir direto da frmula:


(Xi , Xj ) (Xi , Y)(Xj , Y)
p
ij.Y = p
,
1 (Xi , Y)2 1 (Xj , Y)2

(4.1)

4.1.

CORRELAO PARCIAL

17

A prova do Lema 4.1.1, considerando

uma varivel unidimensional,

pode ser encontrada no Apndice A.1. [19] prova para o caso multidimensional. Um exemplo desse caso quando

Y = (X1 , , Xi1 , Xi+1 , , Xj1 , Xj+1 , , Xp ),


como foi denotado na Seo 2.4.

Observao

4.1.1

Note que, em geral, a correlao parcial no o mesmo

que correlao condicional, embora na literatura exista um certo grau de


confuso sobre estes dois conceitos.

Isto se deve existncia de diferen-

tes denies de correlao condicional e tambm de casos para o qual a


correlao parcial e a condicional so equivalentes.

Notadamente, no caso

gaussiano, em que a correlao parcial nula indica independncia condicional, obtm-se os mesmos valores para as duas correlaes. Uma discusso
bastante interessante sobre as diferenas e condies de equivalncia entre
os dois conceitos pode ser encontrada em [1].

Para nalizar esta pequena

considerao, em geral, a palavra condicional reservada para quantidades


em que elas mesmas so variveis aleatrias, o que no o caso da correlao
parcial que sempre um valor no aleatrio. [19]

4.1.2

Mtodo Inverso

Existe outra abordagem que nos permite calcular todas as correlaes parci-

Xi e Xj , dado Y = Yij . Seja


a matriz de correlao R, em que rij = (Xi , Xj ) so os elementos da matriz
R. Se R invertvel, ento denimos P = R1 . A correlao parcial dada
ais entre qualquer par de varivies aleatrias

por:

ij.Y =

pij
pii pjj

(4.2)

n da matriz X for menor


p, ento R ser singular. Para
mtodo para fazer a matriz R nao

Note que, se o nmero de observaes (linhas)


que o nmero de variveis aleatrias (colunas)
obtermos

R1

necessrio ao menos um

singular, positiva denida.


A demonstrao da equivalncia do mtodo inverso com a denio original de correlao parcial pode ser encontrado no Apndice A.2

4.1.3

Covarincia Parcial

Xij = (Xi , Xj )

ii.Y
ij.Y
=
,
ji.Y
jj.Y

A matrix de covarincia parcial de

ij.Y

a qual pode ser calculada atravs da frmula

denotada por

18

CAPTULO 4.

INDEPENDNCIA CONDICIONAL

ij.Y = Xij Xij Y 1


Y YXij ,
particionando a matriz de covarincia de

(Xij , Y)


 
Xij
Xij
Cov
=
Y
YXij
Xij 2 2, Xij Y
(p 2) (p 2).
em que

(4.3)

em


Xij Y
,
Y

2 (p 2), YXij

(p 2) 2

A correlao parcial dada por

ij.Y
ij.Y =
.
ii.Y jj.Y

(4.4)

Observe que a frmula (4.3) igual frmula da varincia da distribuio


condicional da normal multivariada (3.2).
Atravs do Apndice A.3 podemos ver que essa ltima abordagem equivalente abordagem original, quando as variveis

Xi , i = 1, , p tm mdia

nula.

4.2 Correlao Condicional


Podemos calcular a correlao condicional de forma anloga correlao parcial utilizando a covarincia condicional. A matriz de covarincia condicional
de

Xi

Xj

dado

denida por

Cov(Xi , Xj | Y) = E




Xi E(Xi | Y) Xj E(Xj | Y) | Y = ij|Y .

A covarincia condicional ser denotada da seguinte forma:

XX|Y

= ii|Y
ji|Y

ij|Y
jj|Y

Calculamos a correlao condicional como segue.

ij|Y =

ij|Y
ii|Y jj|Y

Essa uma frmula comumente considerada para averiguar a independncia condicional, entretanto, em [1], prova-se que a correlao parcial igual
a

ou a correlao condicional igual a

no implica em independncia con-

dicional, exceto no caso da distribuio normal.

Captulo 5

Estatstica Bayesiana
Seja

X = (X1 , X2 , , Xp )

(, A, P ).
desconhecido

um vetor aleatrio denido em

a perspectiva baysiana, a incerteza sobre o parmetro

Sob
des-

crito em forma de probabilidade. Deste modo, atribui-se uma distribuio


de probabilidade para

usualmente chamada de distribuio a priori. De-

pois de observarmos os dados, obtemos uma distribuio de

condicional

informao trazida pela amostra, tambm conhecida como distribuio a


posteriori.

5.1 Distribuio a Priori


Considere os problemas em que as observaes vm de uma distribuio

f (x | ),

sendo

consideraremos

os parmetros com valores desconhecidos.


um vetor aleatrio denido em

antes que qualquer observao de

f (x | )

(, B, ).

Dessa forma,
Muitas vezes,

esteja disponvel, o experimen-

tador ou o estatstico conseguir resumir seu conhecimento e informao


anteriores sobre

por meio de uma distribuio de probabilidade para

Em outras palavras, antes que qualquer dado seja coletado ou observado,

a experincia e conhecimento do experimentador no passado vai lev-lo a


acreditar que mais provvel que

se encontre em certas regies de

do

que em outras.

5.2 Distribuio a Posteriori


A distribuio de

, condicional aos dados observados chamada distribuio

a posteriori de

O teorema de Bayes (2.5) nos revela como calcular a f.d.p

a posteriori

.
de

aps observarmos os dados.

Vamos rever o teorema de

Bayes usando a notao especca das distribuies a priori e a posteriori


dos parmetros.

X1 , , Xn sejam amostras aleatrias independentes de um


X = (X1 , , Xp ), que, condicionadas ao conhecimento de

Suponha que
vetor aleatrio

19

20

CAPTULO 5.

ESTATSTICA BAYESIANA

so i.i.d. A f.d.p. conjunta ser

f (x | ) = f (x1 , , xn | ) = fp (x1 | ) fp (xn | )

(5.1)

.
Seja

o espao paramtrico contendo

distribuio com f.d.p.


de

(),

Agora suponha que

siga a

a qual podemos chamar de distribuio a priori

Assim, usando a Lei da Probabilidade Total (2.5.1), podemos calcular

a f.d.p. conjunta de

(X1 , , Xn ) da seguinte forma:


Z
f (x | )()d
g(x) =

(5.2)

A distribuio a posteriori de

simplesmente a distribuio de

aps

X1 , , Xn serem observados, ou seja, a f.d.p. condicional de


X1 = x1 , , Xn = xn , denotada por ( | x). Utilizando o Teorema
Bayes (2.5.2), podemos escrever ( | x) como segue:

os valores de

dado

de

( | x) =

f (x | )()
g(x)

para

(5.3)

Como o denominador da equao (5.3) no uma funo de


conhecermos os valores de

x1 , , xn , g(x)

quando

ser uma constante. Logo, po-

demos reescrever (5.3) atravs da seguinte relao:

( | x) f (x | )().
Observe que

f (x | ),

quando em funo apenas de

funo de verossimilhana e denotada por

(5.4)

chamada de

Lx ().

5.3 Distribuies a Priori Conjugadas


Quando a distribuio a posteriori pertencer mesma famlia de distribuies
que a distribuio a priori, ento chamados essa famlia de famlia conjugada.
Normalmente, escolher uma priori que pertena a uma famlia conjugada
(priori conjugada), simplica os clculos da distribuio a posteriori.

5.3.1

Multivariada Normal- Wishart Invertida

Neste estudo, trabalharemos com a distribuio multivariada normal com


mdia,

e matriz de covarincia,

Suponhamos, a priori, que


com parmetros

k0

siga uma distribuio Wishart Invertida

| siga uma distribuio normal


v0 R um parmetro de escala, 0
p p e 0 um vetor com tamanho p. Usando

e tambm que

com mdia 0 , varincia


v0 , em que
uma matriz positiva denida
notao:

desconhecidas.

5.4.

FULL BAYESIAN STATISTICS TEST

21

IW (k0 , 0 )
| Normal(0 ,

1
)
v0

Fazendo os clculos, possvel ver que a posteriori teremos

IW (k1 , 1 )
| Normal(0 ,

1
),
v0

em que

nx + v0 0
,
n + v0
v1 = n + v0 ,

1 =

k1 = n + k0
1 = 0 +

n
X

(xi x)(xi x)T +

i=1
sendo

nv0
(x 0 )(x 0 )T ,
n + v0

a mdia amostral.

Os leitores interessados podem obter mais observaes em [4].

5.4 Full Bayesian Statistics Test


Para denir esse teste, vamos focar apenas no espao de probabilidade a

(, B, x ), em que o espao paramtrico e, nesse caso, o espao


amostral. B a -lgebra gerada por e x a medida de probabilidade
condicional em B dado o ponto amostral observado x, ou seja, x = ( | x).

Agora denimos ( | x) como o mximo da densidade a posteriori sobre


a hiptese nula, 0 , em que

posteriori

argmax0 ( | x).
Agora, considere o subconjunto de

em que

( | x) > ( | x),

T = { | ( | x) > ( | x)}
A credibilidade de

sua probabilidade a posteriori,

K =
em que

f ( | x) = f ( | x)

se

A medida de evidncia, ou
probabilidade do conjunto

T ,

Z
( | x)d,
T

f ( | x) > f ( | x) e 0 caso
e-valor, da hiptese nula o
ou seja,

contrrio.
complemento da

22

CAPTULO 5.

ESTATSTICA BAYESIANA

Ev(H) = 1 K .
Note que, quando

for grande, o espao paramtrico nulo encontra-se

em uma reagio de baixa probabilidade e a evidncia alta, ou seja, contra


a hiptese nula. Por outro lado, quando

for pequena, ento o espao

paramtrico nulo est em uma reagio de alta probabilidade e, portanto,


evidncia baixa, isto , a favor da hiptese nula.

Captulo 6

Medidas de Diagnstico
Agora que j conhecemos todos os mtodos, como escolher o melhor? Como
denir o modelo mais adequado aos dados?

As Medidas de Diagnstico

servem justamente para essa nalidade, pois medem a eccia do modelo.


Nesse captulo, apresentamos as medidas usadas neste trabalho.

6.1 Teste de Hipteses


Na modelagem grca segundo [5], como j mencionamos nos Captulos 2 e
4, um elo entre duas variveis s existe se essas variveis no so condicionalmente independentes. Devido a maior facilidade dos clculos, optamos
por usar a correlao parcial para substituir a independncia condicional.
Para isso, zemos o seguinte teste de hipteses para cada par de variveis

(Xi , Xj ):
H0 : ij.Y = 0
H1 : ij.Y 6= 0
Se rejeitarmos

H0 ,

ento traamos um elo entre as variveis.

6.2 Sensibilidade X Especicidade


Primeiramente vamos introduzir alguns conceitos para o nosso estudo.

Verdadeiros Positivos (VP): Pares corretamente classicados como correlacionados.

Falsos Positivos (FP): Pares incorretamente classicados como correlacionados.

Verdadeiros Negativos (VN): Pares corretamente classicados como


no correlacionados.
23

24

CAPTULO 6.

MEDIDAS DE DIAGNSTICO

Falsos Negativos (FN): Pares incorretamente classicados como no


correlacionados.

Calculamos a sensibilidade da seguinte forma:

#verdadeiros positivos
#verdadeiros positivos + #falsos

Sensitividade =

negativos

A sensitividade serve para relacionar a habilidade do teste de identicar


resultados positivos. Modelos com sensibilidade alta apresentam erro tipo 2
pequeno.
J a especicidade tem a seguinte frmula:

Especif icidade =

#verdadeiros
#verdadeiros

negativos

negativos

+ #falsos

positivos

A especicidade serve para relacionar a habilidade do teste de identicar


resultados negativos. Modelos com especicidade alta apresentam erro tipo
1 pequeno.
Podemos tambm calcular a acurcia do modelo:

Acuracia =

VP +VN
V P + V N + FP + FN

6.3 Curva ROC


A Curva ROC o grco da sensibilidade
conhecido como curva

(1 especicidade).

Receiving Operating Characteristics

Tambm

(ROC) porque

uma comparao de duas caractersticas operacionais (Sensibilidade e Especicidade) a medida que o critrio aumenta. Como critrio, usaremos o
valor-p da estatstica clssica ou o valor-e da estatstica Bayesiana. Veja um
exemplo na Figura 6.1.

6.3.

CURVA ROC

25

Figura 6.1: Exemplo de curva ROC

26

CAPTULO 6.

MEDIDAS DE DIAGNSTICO

Captulo 7

Simulaes
Nessa parte do trabalho, a m de conrmar a eccia da teoria descrita anteriormente e de constatarmos o melhor mtodo, simulamos 2 tipos de redes,
as quais chamamos rvores e redes mistas. Para cada tipo de rede, zemos
500 simulaes com 100 variveis, calculamos a correlao parcial, o p-valor e
o e-valor. No caso de termos mais variveis do que observaes, computamos
a correlao parcial local. Para averiguar a qualidade do modelo, traamos
a curva ROC nas vises clssica e Bayesiana para cada rvore, calculamos
a curva ROC mdia e depois comparamos a rea dessas curvas mdias. A
interpretao que quanto maior a rea, melhor o modelo. Isso foi feito para
nmeros de observaes diferentes:

50, 250, 500

1000.

rvores so redes em que cada n possui apenas um pai"e zero ou mais


lhos,exceto o primeiro n, o qual no possui pai. Um exemplo de uma
rvore pode ser encontrado na Figura 7.1.

A distribuio Lognormal(1,1)

foi escolhida para simular a quantidade de lhos (distribuio de sada).


J as redes mistas que apresentam distribuio de entrada (distribuio do
nmero de pais) e distribuio de sada. Como exemplo, temos a Figura
7.2. No nosso caso vamos trabalhar com redes mistas com distribuia de
sada igual a das rvores, ou seja, Lognormal(1,1) e distribuio de entrada
Geomtrica(0.6).
A escolha dessas distribuies de entrada e sada foram baseadas nos
resultados do trabalho [11], que concluem que as redes genticas possuem
distribuio de entrada prxima a uma Geomtrica(0.6) e distribuio de
sada com cauda pesada apresentando mdia e varincia prximas distribuio Lognormal(1,1).
Mas como denimos esse parentesco de pais e lhos? Simples. Os lhos
so uma combinao linear dos pais com um acrscimo de um rudo branco,
ou seja, uma perturbao seguindo uma distribuio normal com mdia 0 e
varincia bem pequena. No nosso caso, utilizamos varincia igual a
27

0, 01.

28

CAPTULO 7.

Figura 7.1: Exemplo de rvores

Figura 7.2: Exemplo de redes mistas

SIMULAES

7.1.

ALGORITMOS

29

7.1 Algoritmos
7.1.1

rvores

Como j descrevemos anteriormente, o nmero de lhos de cada n segue


uma distribuio lognomal(1,1).
A construo das rvores foi feita da seguinte maneira: Considerando
que estamos trabalhando com

Algorithm 7.1.1 (rvores).

vrtices,

1. A rvore comea com um vrtice na pri-

meira gerao.

2. Geramos o nmerod n1 de lhos de X1 com seguindo uma distribuio


Lognormal(1, 1), com a condiao que o primeiro vrtice tenha ao menos
um descendente.
3. Para cada vrtice da segunda gerao, (X2 , , X1+n1 ), geramos o nmero de lhos n2i , i = 1, , n1 , seguindo uma distribuio Lognormal(1,1), com a condio que a segunda gerao tenha ao menos um
descendente e 1 + n1 + n2 p, n2 = n21 + + n2n1 .
4. Para cada gerao seguinte, repetimos o item anterior at obtermos p
variveis.
Agora que j temos a estrutura de parentesco, precisamos simular os
dados.
1. Geramos a primeira varivel X1 seguindo uma distribuio Normal(0,1).
2. A relao entre pais e lhos vem de uma combinao linear. Geramos os p 1 coecientes de p 1 combinaes lineares seguindo uma
distribuio Uniform(0, 7; 2). Os sinais positivo e negativo dos coecientes seguem uma distribuio Bernoulli( 32 ), em que sucesso o sinal
positivo.

7.1.2

Redes Mistas

Como j descrevemos anteriormente, o nmero de lhos de cada n segue uma


distribuio Lognormal(1,1) e o nmero de pais segue uma Geomtrica(0.6).
A construo das rvores foi feita da seguinte maneira: Considerando
que estamos trabalhando com

vrtices,

Algorithm 7.1.2 (Redes Mistas).

1. Geramos o nmero de variveis na


primeira gerao, n1 , com uma distribuio Lognormal(1,1)

30

CAPTULO 7.

SIMULAES

2. Geramos o nmero de lhos dessas variveis seguindo a distribuio


Lognormal(1,1), com a restrio que a gerao tenha no mnimo 1
lho.

3. Para o primeiro vrtice da segunda gerao, geramos o nmero de pais


seguindo uma Geomtrica(0.6), com a restrio que esse vrtice tenha pelo menos um pai e no mximo a quantidade total de vrtices da
gerao anterior que tenha ao menos um lho.

4. Para especicar quem so os pais desse primeiro vrtice da segunda


gerao, usamos uma distribuio em que as probabilidades so os pesos
do nmero de lhos de cada vrtice da gerao anterior sobre o nmero
total de lhos dessa mesma gerao.

7.1.

ALGORITMOS

31

5. Como cada lho da gerao anterior conecta com um vrtice da gerao


em questo, vericamos se h ainda lhos desconectados. Se houver,
criamos mais um vrtice nessa gerao e geramos o nmero de pais
como no item anterior.

6. Para especicar quem so os pais desse novo vrtice, usamos uma distribuio em que as probabilidades so os pesos do nmero de lhos
desconectados de cada vrtice da gerao anterior sobre o nmero total
de lhos desconectados dessa mesma gerao.

7. Seguimos assim sucessivamente at conectarmos todos os lhos a um


vrtice da segunda gerao.
Agora que j temos a estrutura de parentesco, precisamos simular os
dados.
1. Geramos as variveis da primeira gerao com uma distribuio p1 variada Normal(0, Ip1 ).
2. A relao entre pais e lhos vem de uma combinao linear. Para
cada ligao entre pai e lho, geramos um coeciente seguindo uma

32

CAPTULO 7.

SIMULAES

distribuio uniforme entre 0, 7 e 2. Os sinais positivo e negativo dos


coecientes seguem uma distribuio Bernoulli( 32 ), em que sucesso o
sinal positivo.
3. Para cada vrtice a partir da segunda gerao, fazemos as combinaes
lineares do vrtice com seus pais e adicionamos um rudo branco.

7.2 Metodologia
7.2.1

Estatstica Clssica

O primeiro passo foi simular rvores e redes mistas como descrito nos algoritmos 7.1.1 e 7.1.1. Com os dados simulados, estimaremos a correlao
parcial atravs do mtodo inverso, equao (4.2).
Como estamos procurando correlaes parciais no nulas ou nulas para
denirmos se h ou no ligao entre cada par de vrtices, precisamos testar

Xi e Xj dado Y ser igual a 0, ou


HA : ij.Y =
6 0. Para isso, podemos

a hiptese nula da correlao parcial de


seja,

H0 : ij.Y = 0

contra a alternativa

usar a transformada-z de Fisher:

z(
ij.Y ) =

Rejeitamos

H0

1 + ij.Y
1
ln(
).
2
1 ij.Y

com nvel de signicncia

se:

p
n |Y | 3 |z(ij.Y )| > 1 (1 /2),
em que

()

a funo de distribuio acumulada da

(7.1)

N ormal(0, 2 )

nmero de observaes.
Para mais informaes veja [9] e [6].

7.2.2

Estatstica Bayesiana

Escolha da priori
Assim como j citamos no Captulo 5, assumimos que os dados seguem uma
distribuio Normal com mdia

e matriz de covarincia .

Devido maior

facilidade dos clculos, optamos por trabalhar com a priori conjugada, ou


seja,

IW (k0 , 0 )

| (0 , v10 ).

Mas, se no temos nenhuma informao sobre os parmetros, como devemos escolher os parmetros da distribuio a priori? Nessas situaes, um
pesquisador pode trabalhar com uma amostra piloto que vem da mesma populao que os dados do estudo e, a partir dela, fazer suas suposies sobre os

7.2.

METODOLOGIA

33

dados para a escolha da priori. Nesse trabalho, optamos por trabalhar com
amostras piloto com o mesmo nmero de observaes que os dados de estudo.

Com essa nalidade, simulamos duas rvores com a mesma matriz de


adjacncia e mesma dependncia linear. Uma funciona como amostra piloto
e a outra vista como os dados do estudo.
mistas. Denotaremos a matriz piloto por

Fizemos o mesmo para redes

e seus elementos, por

zij

Deveramos escolher uma priori com mdia prxima ao que esperamos,


mas com varincia grande. Lembre que, no caso da Wishart invertida,

0
, k0 p > 1.
k0 p 1

E() =

Se repararmos as frmulas das varincias (3.8) e (3.9), percebemos que


quanto menor for

k0 > p + 1,

k0 , maior ser a varincia.

Ento, como, para

E() existir,

escolhemos

k0 = p + 3.
0 = (k0 p 1) Q, tal que
. Por essa razo,
covarincia estimada de Z , ou seja,

Baseado na esperana, poderamos escolher

seja uma matriz prxima do que esperamos da matriz

optamos por trabalhar com a matriz de

Z.
0 = (k0 p 1)
Usamos o estimador de mxima verossimilhana da covarincia, ou seja,

1X
(zij zj )(zik zk ),

ij =
n
i=1

em que

ij

so as entradas da matriz

Z.

Utilizaremos a frmula (4.4), que vem da covarincia parcial (4.3) para


o clculo da correlao parcial.
Para testar a hiptese nula de correlo parcial igual a

0,

usaremos o

teste FBST que foi explicado na seo 5.4. Note que precisamos da distribuio da correlao parcial. Porm, o mais perto que conseguimos chegar
foi encontrar a distribuio da covarincia parcial, que tambm segue uma
Wishart invertida. Veja o Teorema 3.3.1.

Como no temos a distribuio da correlao parcial, simulamos a covarincia parcial


atravs da funo
do

e-valor.

1000

vezes e estimamos a densidade da correlao parcial

density do programa estatstico R, possibilitando o clculo

Para calcularmos a rea da densidade que nos fornecer o

utilizamos a aproximao pela rea dos retngulos.

e-valor,

34

CAPTULO 7.

7.2.3

SIMULAES

Correlao Parcial Local

J se sabe que, em modelos multivariados, quando o nmero de observaes


menor que a quantidade de variveis no modelo, as estatsticas envolvendo
todas as variveis so viesadas, e tambm no encontramos na literatura
como se calcula o valor-p para essas situaes.
Como alternativa, utilizamos o que chamamos de correlao parcial local.

Nesse clculo, para cada par de vrtices correlacionados, comeamos

considerando apenas os vrtices correlacionados com ao menos um dos elementos do par, os quais denominamos vizinhana do par. Se essa vizinhana
contiver mais vrtices do que observaes, ento selecionamos os
com as maiores correlaes no caso de rvores e

n
10 vrtices

n
2 vrtices no caso de redes

mistas. Esses valores foram selecionados de acordo com o nmero de vrtices


que geravam, para cada tipo de rede, a maior rea abaixo da curva ROC, Seo 6.3. Devido ao alto custo computacional da abordagem Bayesiana, esse
estudo foi feito apenas na abordagem clssica. Por conseguinte, utilizamos
o mesmo nmero de vrtices para o cculo da correlao parcial local em
ambas as abordagens.

Figura 7.3: Grco do nmero mximo de variveis no clculo da correlao


parcial local pela rea das curvas ROC de 5 rvores ( esquerda) e 5 redes
( direita).

7.3 Estudo das curvas ROC


A m de fazer uma anlise de diagnstico, zemos um estudo das curvas
ROC. Simulamos 500 redes de cada tipo e calculamos a sensibilidade e especicidade de cada rede com o nvel de signicncia

variando de

1.

Em

7.3.

ESTUDO DAS CURVAS ROC

seguida, para cada valor de

35

computamos as mdias, medianas, primeiro

quartil e terceiro quartil da sensibilidade e da especicidade e calculamos


uma curva ROC com cada uma dessas medies. No caso Bayesiano, como
o custo computacional alto, optamos por trabalhar com apenas 50 redes
para calcular a mdia das curvas ROC, com exceo da correlao parcial
local das redes mistas, em que foram usadas apenas 20 redes. Nesse ltimo
caso, tambm devido ao custo computacional alto, apenas zemos o estudo
para

50, 250

500

obs.

Se repararmos as Figuras 7.4, 7.5, 7.6 e 7.7, podemos ver que as reas
das curvas aumentam medida que o nmero de observaes aumenta, como
j era esperado. O que chama mais ateno que a rea da curva referente

50

observaes est consideravelmente prxima da curva de

250

obser-

vaes, especialmente no grco de rvores na viso Bayesiana, Figura 7.5.


Vale ressaltar que estamos trabalhando com redes compostas de

100

vari-

veis, ou seja, as curvas das redes com menos observaes que parmetros
se encontram relativamente prximas s curvas com mais observaes que
parmetros.

A m de conrmar que as curvas ROC apresentam pequena

disperso, o leitor encontrar grcos com a mdia, mediana, primeiro e


terceiro quartis no Apndice B.

Figura 7.4: Comparao da mdia ( esquerda) e mediana( direita) das curvas ROC das rvores com 50, 250, 500 e 1000 observaes na viso clssica.

36

Figura 7.5:

CAPTULO 7.

SIMULAES

Comparao da mdia ( esquerda) e mediana( direita) das

curvas ROC das rvores com 50, 250, 500 e 1000 observaes na viso Bayesiana.

Figura 7.6:

Comparao da mdia ( esquerda) e mediana( direita) das

curvas ROC das redes mistas com 50, 250, 500 e 1000 observaes na viso
clssica.

7.3.

ESTUDO DAS CURVAS ROC

37

Figura 7.7: Comparao da mdia ( esquerda) e mediana( direita) das curvas ROC das redes mistas com 50, 250 e 500 observaes na viso Bayesiana.

7.3.1

Comparao das Curvas ROC da Estatstica clssica


com a Bayesiana

Como podemos ver na Figura 7.8 direita, quando temos mais observaes

(250, 500, 1000)

do que variveis

(100),

as mdias das curvas ROC na abor-

dagem clssica e na Bayesiana cam sobrepostas, o que indica que ambas


apresentam resultados to bons quanto.

Em contrapartida, a curva ROC

na viso Bayesiana para rvores com apenas


rea bem maior que a curva ROC clssica.
para

50, 250

500

50

observaes apresenta uma

J no caso das redes mistas

observaes, as mdias das curvas ROC na abordagem

clssica e na Bayesiana cam sobrepostas. Concluimos que, em geral, melhor usarmos a estatstica clssica, pois esta apresenta resultados to bons
quanto da estatstica Bayesiana, mas possui um custo computacional mais
baixo. Entretanto, no caso de rvores com problema de identicabilidade,
apesar do custo computacional ser maior na estattica Bayesiana, o seu uso
aconselhvel.

38

Figura 7.8:

CAPTULO 7.

SIMULAES

Comparao entre as curvas ROC provenientes da estatstica

clssica e bayesiana para rvores com 50 ( esq), 250, 500 e 1000 obs ( dir)

Figura 7.9:

Comparao entre as curvas ROC provenientes da estatstica

clssica e bayesiana para redes mistas com 50, 250 e 500 obs)

Apndice A

Demonstraes
A.1 Demonstrao da frmula (4.1) no caso unidimensional
Demonstrao.
regresses de

Sejam

Xi

em

Xi , Xj , Y variveis aleatrias e i , j os erros


e de Xj em Y respectivamente. Por denio,
ij.Y

= (i , j )
Cov(i , j )
= p
V ar(i )V ar(j )

das

(A.1)

Observe que

Cov(i , j ) = Cov(i , Xj Y j j )
= Cov(i , Xj )
= Cov(Xi Y i i , Xj )
= Cov(Xi , Xj ) i Cov(Xj , Y ))

(A.2)

Por outro lado,

Cov(Xi , Y ) = Cov(i + i Y + i , Y )
= i V ar(Y )
i = Cov(Xi , Y )V ar(Y )1

(A.3)

Logo,

Cov(i , j ) = Cov(Xi , Xj )
39

Cov(Xi , Y )Cov(Xj , Y )
)
V ar(Y )

(A.4)

40

APNDICE A. DEMONSTRAES

Obtemos a varincia de

i

da seguinte maneira:

V ar(i ) = Cov(i , i )
= Cov(i , Xi i Y i )
= Cov(i , Xi )
= E(i Xi ) E(i )E(Xi )
Como, neste trabalho,

Xi

(A.5)

tem mdia 0,

V ar(i ) = E((Xi i Y i )Xi )


= E(Xi2 ) i E(Y Xi )
Cov(Xi , Y )2
= V ar(Xi )
V ar(Y )
A varincia de

j

(A.6)

segue de forma anloga. Substituindo (A.6) e (A.4) em

(A.1) temos

ij.Y

Cov(Xi , Xj )
q

V ar(Xi )

Cov(Xi ,Y )Cov(Xj ,Y )
V ar(Y )

Cov(Xi ,Y )2
V ar(Y )

q
V ar(Xj )

Cov(Xj ,Y )2
V ar(Y )

Cov(X ,Y )Cov(X ,Y )
Cov(Xi , Xj ) i j
V ar(Y ) V ar(Y )
r
r




Cov(Xj ,Y )2
Cov(Xi ,Y )2
V ar(Xi ) 1 V ar(X
V
ar(X
)
1

j
V ar(Xj )V ar(Y )
i )V ar(Y )

Cov(Xi ,Y )Cov(Xj ,Y )
Cov(Xi ,Xj )

V ar(Xi )V ar(Xj )
V ar(Xi )V ar(Y ) V ar(Xj )V ar(Y )
r
r

Cov(X ,Y )2
Cov(Xi ,Y )2
1 V ar(Xi )V ar(Y )
1 V ar(Xj )Vj ar(Y )

(Xi , Xj ) (Xi , Y )(Xj , Y )


p
(1 (Xi , Y )2 ) (1 (Xj , Y )2 )

A.2 Equivalncia do mtodo inverso com a denio de correlao parcial no caso unidimencional
Demonstrao.
relao de

Sejam

Xi , Xj

Y,

Xi , Xj

ou seja,

variveis aleatrias e

a matriz de cor-

A.3. EQUIVALNCIA DO MTODO DA COVARINCIA PARCIAL COM A DEFINIO DE CORREL

1
(Xi , Xj ) (Xi , Y )
1
(Xi , Xj ) (Xi , Y )
1
(Xj , Y ) = (Xi , Xj )
1
(Xj , Y )
Y = (Xj , Xi )
(Y, Xi ) (Y, Xj )
1
(Xi , Y ) (Xj , Y )
1

Uma das formas de obtermos a matriz inversa atravs da matriz adjunta

adj(R), que a transposta da matriz dos cofatores. Lembre que o cofator


Rij o determinante da matriz resultante de retirar de R a linha i e a coluna
j (isso , o determinante menor) multiplicado por (1)i+j .
P = R1 = |R|1 adj(R)
Pela frmula (4.2), vimos que

ij.Y =

(A.7)

p
piiijpjj , em que, de acordo com

(A.7)

pii = 1 (Xj , Y )2
pjj

= 1 (Xi , Y )2

pij

= (Xi , Xj ) (Xi , Y )(Xj , Y )

Portanto, substituindo, temos que

(Xi , Xj ) (Xi , Y )(Xj , Y )


ij.Y = p
(1 (Xi , Y )2 )(1 (Xj , Y )2 )

A.3 Equivalncia do mtodo da covarincia parcial


com a denio de correlao parcial no caso
unidimencional
Iniciaremos demonstrando a fmula da covarincia parcial.

Demonstrao.
Y

Sejam

Xi , i = 1, , p variveis aleatrias unidimensionais e

um vetor linha aleatrio (p-2)-dimensional.


Primeiro vamos provar que a varincia parcial de

Xi .Y

V ar(Xi .Y ) = V ar(Xi ) Cov(Xi , Y )V ar(Y )1 Cov(Y, Xi )


Seja

i

o erro da regresso de

Xi

em

Y.

Assim,

42

APNDICE A. DEMONSTRAES

Xi = i + Y i + i i = Xi i Y i

(A.8)

. Logo,
Lembre de (A.6) que

V ar(Xi .Y ) = V ar(i )
= E(i Xi ) E(i )E(Xi )
= E(Xi2 ) i E(Y Xi )

(A.9)

Como vimos em (A.3):

i = Cov(Xi , Y )V ar(Y )1

(A.10)

Substituindo (A.10) em (A.9) temos que

V ar(Xi .Y ) = E(Xi2 ) Cov(Xi , Y )V ar(Y )1 E(Y Xi )

(A.11)

Portanto,

V ar(Xi Y ) = V ar(Xi ) Cov(Xi , Y )V ar(Y )1 Cov(Y, Xi )

(A.12)

O clculo da covarincia parcial anlogo ao da varincia parcial:

Cov(Xi , Xj .Y ) = V ar(Xi : Xj ) Cov(Xi : Xj , Y )V ar(Y )1 Cov(Y, Xi : Xj )


Segundo (A.12),

V ar(Xi : Xj Y ) = V ar(Xi : Xj ) Cov(Xi : Xj , Y )V ar(Y )1 Cov(Y, Xi : Xj )


 2
 

i ij
iY (Y2 )1 Y i iY (Y2 )1 Y j
=

ji j2
jY (Y2 )1 Y i jY (Y2 )1 Y j
A continuao da prova da equivalncia do mtodo da covarincia parcial,
Seo 4.1.3, com a denio, Seo 4.1.1, para
ao Apndice A.1

unidimensional anloga

Apndice B

Grcos

Figura B.1: Quartil 1 (0.25), mdia, mediana e quartil 3 (0.75) das curvas
ROC das rvores com 50, 250, 500 e 1000 observaes na viso clssica.

43

44

APNDICE B. GRFICOS

Figura B.2: Quartil 1 (0.25), mdia, mediana e quartil 3 (0.75) das curvas
ROC das rvores com 50, 250, 500 e 1000 observaes na viso Bayesiana.

45

Figura B.3: Quartil 1 (0.25), mdia, mediana e quartil 3 (0.75) das curvas
ROC das redes mistas com 50, 250, 500 e 1000 observaes na viso clssica.

46

APNDICE B. GRFICOS

Figura B.4: Quartil 1 (0.25), mdia, mediana e quartil 3 (0.75) das curvas
ROC das redes mistas com 50, 250 e 500 observaes na viso Bayesiana.

Apndice C

Scripts em R
C.1 Gerador de rvores
# D i s t r i b u i o dos f i l h o s

dist=f u n c t i o n (n)
{
x=f l o o r ( rlnorm (n ,1 ,1))
return (x)
}

# p o nmero t o t a l de v r t i c e s
f o r (p in c (100))
{
f o r ( i1 in c (1))
{

# Nmero de o b s e r v a e s

n=5000

# C a l c u l a n d o os c o e f i c i e n t e s

coef1=c ( round ( r u n i f (p ,0.7 ,2) ,2))


sinal=sample ( c (1 , 1) ,p , r e p l a c e=TRUE, c (2 / 3 ,1 / 3))
coef1=coef1 sinal
# M a t r i z de a d j a c n c i a

A=matrix (0 , n c o l=p , nrow=p)

# M a t r i z com os dados

X=matrix ( , n c o l=p , nrow=n)


X[ ,1]= rnorm (n)

# L i s t a com nmero de f i l h o s de cada ramo por g e r a o

ger= l i s t ()

47

48

APNDICE C. SCRIPTS EM R

# Vetor com nmero de f i l h o s de cada g e r a o

f i l h o s=vector ()

# Gerando nmero de f i l h o s na 1a g e r a o e x i g i n d o que ao


# menos um f i l h o e r e s p e i t a n d o o nmero de v a r i v e i s p
repeat

ger [ [ 1 ] ] = dist (1)


i f ( ger [ [ 1 ] ] !=0 && ger [[1]] < p)

break

}
f i l h o s [1]= sum( ger [ [ 1 ] ] )
# C a l c u l a n d o as o b s e r v a e s da 1a g e r a o e as e n t r a d a s da
# m a t r i z de a d j a c n c i a

i=1
cont=i
while ( i<=ger [ [ 1 ] ] )
{
i=i+1
X[ , i ]= coef1 [ i ] X[ ,1]+ rnorm (n ,0 ,0.01)
A[1 , i ]=1
A[ i ,1]=1
}
k=2
cont2=1
while ( i<p)
{
#
#
#
#

Gerando , para cada g e r a o k , o nmero de f i l h o s


de cada ramo da g e r a o a n t e r i o r , r e s p e i t a n d o o
nmero de v a r i v e i s p e e x i g i n d o ao menos um f i l h o
em cada g e r a o k

repeat

ger [ [ k]]= dist (sum( ger [ [ k 1]]))


f i l h o s [ [ k]]= sum( ger [ [ k ] ] )
i f ( sum ( f i l h o s [ 1 : k])>=p)
{
soma=sum( f i l h o s [ 1 : k 1])
l=0
while (soma<p)
{
l=l+1

C.2.

GERADOR DE REDES MISTAS

49

soma=soma+ger [ [ k ] ] [ l ]
}
ger [ [ k ] ] [ l ]=ger [ [ k ] ] [ l ] (soma (p 1))
ger [ [ k ] ] [ l +1: length ( ger [ [ k ]])]=0
f i l h o s [ [ k]]= sum( ger [ [ k ] ] )

if

break
else

(sum( ger [ [ k ] ] ) !=0)

break

}
# Calculando , para cada g e r a o k , as o b s e r v a e s e
# as e n t r a d a s da m a t r i z a d j a c n c i a o r i g i n a l

( j in 1: length ( ger [ [ k ] ] ) )
( ger [ [ k ] ] [ j ] !=0)
{
cont=i
while ( i<cont+ger [ [ k ] ] [ j ] )
{
i=i+1
X[ , i ]= coef1 [ i ] X[ , cont2+j ]+
rnorm (n ,0 ,0.01)
A[ cont2+j , i ]=1
A[ i , cont2+j ]=1
}
}
cont2=cont2+sum( ger [ [ k 1]])
k=k+1
}
write . t a b l e (X, f i l e =paste ( "arvore" , i1 , "_" ,p , ".txt" ,
sep="" ))
write . t a b l e (A, f i l e =paste ( "original" , i1 , "_" ,p , ".txt" ,
sep="" ))
write . t a b l e ( coef1 , f i l e =paste ( " coeficientes " , i1 , "_" ,p , ".txt" ,
sep="" ))
}}
for
if

C.2 Gerador de redes mistas


require

(mnormt)

# D i s t r i b u i o do nmero de f i l h o s

dist . out=f u n c t i o n (n)

50

{
}

APNDICE C. SCRIPTS EM R

x=f l o o r ( rlnorm (n ,1 ,1))


return (x)

# D i s t r i b u i o do nmero de p a i s

dist . in=f u n c t i o n (n)


{
x=rgeom (n , 0 . 6 )
return (x)
}

# Nmero de o b s e r v a e s

n=10000
p=100
f o r ( i3 in 1:500)
{
X=matrix ( n c o l=p , nrow=n)
A=matrix (0 , n c o l=p , nrow=p)

# Nmero de v a r i v e i s

# Nmero de f i l h o s

nf= l i s t ()

# Nmero de p a i s

np= l i s t ()
pai . todos= l i s t ()

# pais
repeat

n1=dist . out (1)


i f (n1 !=0) break

}
pai . todos [ 1 : n1]=0
pai=vector ( length=n1)
X1=rmnorm(n , mean = rep (0 , n1 ) ,
X[ , 1 : n1 ] = X1

diag

(n1 ))

# Usando como d i s t r i b u i o de cauda pesada uma


# l o g normal
# Nmero de f i l h o s

n2=0
k=0

C.2.

GERADOR DE REDES MISTAS

while

51

(n1<p)
k=k+1
repeat
{
nf [ [ k]]= dist . out ( length ( pai ))
i f ( sum ( nf [ [ k ] ] ) !=0) break
}
temp=nf [ [ k ] ]
np [ [ k]]= vector ()
pai= l i s t ()
i=0
while ( sum (temp) !=0)
{
i=i+1
nmax=length (temp [ temp !=0])
np [ [ k ] ] [ i ]= min((1+ dist . in (1)) ,nmax)
prob=vector ()
f o r ( j in 1: length (temp ))
prob [ j ]=temp [ j ] /sum(temp)
pai [ [ i ]]= sample ( c (1: length (temp )) ,
np [ [ k ] ] [ i ] , r e p l a c e=FALSE,
prob )
temp [ pai [ [ i ]]]= temp [ pai [ [ i ]]] 1
i f ( i+n1<=p)
{
A[ i+n1 , n2+pai [ [ i ]]]=1
A[ n2+pai [ [ i ] ] , i+n1]=1
pai . todos [ [ i+n1]]=n2+pai [ [ i ] ]
}

}
n2=n1
n1=n1+length ( pai )

# Determinado os c o e f i c i e n t e s

= l i s t ()
( i in 1:p)
{
c o e f [ [ i ]]= c ( round ( r u n i f ( length (
coef
for

52

APNDICE C. SCRIPTS EM R

pai . todos [ [ i ] ] ) , 0 . 7 , 2 ) , 2 ) )
sinal=sample ( c (1 , 1) , length ( pai . todos [ [ i ] ] ) ,
r e p l a c e=TRUE, c (2 / 3 ,1 / 3))
c o e f [ [ i ]]= c o e f [ [ i ] ] sinal

# Combinaes L i n e a r e s

( i in 1:p)
i f ( sum ( pai . todos [ [ i ]])==0) X[ , i ]=X[ , i ] e l s e
i f ( length ( pai . todos [ [ i ]])==1)
X[ , i ]= X[ , pai . todos [ [ i ] ] ] c o e f [ [ i ]]+
rnorm (n ,0 ,0.01) e l s e
X[ , i ]=X[ , pai . todos [ [ i ] ] ]%%as . matrix (
c o e f [ [ i ]])+ rnorm (n ,0 ,0.01)
max . np=max ( sapply (np , f u n c t i o n (x) max (x )))
Coef=matrix (0 ,p , max . np)
f o r ( j in 1:p) Coef [ j , 1 : length ( pai . todos [ [ j ] ] )] =
coef [ [ j ] ]
write . t a b l e (X, f i l e =paste ( "arvore_inout_" , i3 , "_" ,p ,
".txt" , sep="" ))
write . t a b l e (A, f i l e =paste ( "original_inout_" , i3 , "_" ,p ,
".txt" , sep="" ))
write . t a b l e ( Coef , f i l e =paste ( " coeficientes_inout_" ,
i3 , "_" ,p , ".txt" , sep="" ))
for

C.3 Gerador de redes mistas piloto


require

(mnormt)

#Nmero de o b s e r v a e s

n=10000
f o r (p in 100)
f o r ( i3 in 2:500)
{
A=read . t a b l e ( paste ( "original_inout_" , i3 , "_" ,p ,
".txt" , sep="" ))
c o e f i c i e n t e s=read . t a b l e ( paste ( " coeficientes_
inout_" , i3 , "_" ,p , ".txt" , sep="" ))
pai . todos= l i s t ()
c o e f= l i s t ()

C.4.

CORRELAO PARCIAL - MTODO INVERSO

for

(k in 1: n c o l (A))
pai . todos [ [ k ] ] = which (A[ , k ] [ row (A)<k]==1)
c o e f [ [ k]]= t ( as . matrix ( c o e f i c i e n t e s [ k ,
1: length ( pai . todos [ [ k ] ] ) ] ) )

53

}
n1=0
f o r (k in 1: length ( pai . todos ))
{
i f ( sum ( ! i s . na ( pai . todos [ [ k]]))==1) break
n1=n1+1
}
X=matrix ( nrow=n , n c o l=p)
X1=rmnorm(n , mean = rep (0 , n1 ) , diag (n1 ))
X[ , 1 : n1 ] = X1
f o r ( i in 1:p)
i f ( sum ( pai . todos [ [ i ]])==0) X[ , i ]=X[ , i ] e l s e
i f ( length ( pai . todos [ [ i ]])==1) X[ , i ]=X[ , pai . todos [ [
i ] ] ] c o e f [ [ i ]]+ rnorm (n ,0 ,0.01) e l s e
X[ , i ]=X[ , pai . todos [ [ i ] ] ]%%as . matrix ( c o e f [ [
i ]])+ rnorm (n ,0 ,0.01)
write . t a b l e (X, paste ( "arvore_piloto_inout_" , i3 , "_" ,
p , "_.txt" , sep="" ))
}

C.4 Correlao parcial - mtodo inverso


require
require

( corpcor )
( igraph )

# Funo que c a l c u l a a c o r r e l a c a o e o p v a l o r
cor
< f u n c t i o n
nrow

R < cor
< row R
col R
< R
<

R
<
pf

. prob

(X, dfr =
(X) 2) {
(X)
above
( )< ( )
r2
[ above ]^2
Fstat
r2 dfr (1 r2 )
[ above ]
1
( Fstat , 1 , dfr )
R}

54

APNDICE C. SCRIPTS EM R

# Funo que c a l c u l a a m a t r i z com p v a l o r e s da c o r r e l a o


#
p a r c i a l o b t i d a a t r a v s do mtodo i n v e r s o

ginvmet2=f u n c t i o n (X, alpha1 )


{
p=n c o l (X)
# M a t r i z de c o v a r i a c i a

covX=cov (X)

# M a t r i z das c o r r e l a c o e s

corX=cor (X)

# P v a l o r a p a r t e t r i n g u l a r de cima da m a t r i z

pvalcor=cor . prob (X)

# S e l e c i o n a n d o os p a r e s s i g n i f i c a n t e m e n t e
# correlacionados

A=matrix (99 , n c o l=n c o l (X) , nrow=n c o l (X))


f o r ( i in 1:( n c o l (X) 1))
f o r ( j in ( i +1):( n c o l (X)))
{
A[ i , j ]= i f e l s e ( pvalcor [ i , j ]<alpha1 , corX [ i , j ] ,
0) A[ j , i ]=A[ i , j ]
}
diag (A)=0

# C a l c u l a n d o a c o r r e l a c a o p a r c i a l a t r a v e s do metodo
# inverso
pos<make
<
pos

corr .
. positive . d e f i n i t e (covX)
corr . inv cor2pcor ( corr . )

# C a l c u l a n d o o p v a l o r da c o r r e l a c a o p a r c i a l
<array
dim c

corr . inv . p
(99 , = (p , p))
f o r ( i in 1:( p 1))
f o r ( j in ( i +1):p)
i f (A[ i , j ] !=0)
corr . inv . p [ i , j ]<1pnorm ( abs ( s q r t (n
(p 2) 3) l o g ((1+ corr . inv [ i ,
j ] ) /(1 corr . inv [ i , j ] ) ) / 2))
l i s t a= l i s t (A, corr . inv . p)
return ( l i s t a )

}
p=100
f o r (n in c (250 ,500 ,1000))

C.5.

for

CORRELAO PARCIAL - BAYESIANA

55

( i1 in c (1:500))
# Lendo os dados

X=as . matrix ( read . t a b l e ( f i l e =paste ( "arvore_inout_" ,


i1 , "_" ,p , ".txt" , sep="" ) ) ) [ 1 : n , ]
colnames (X)= c ( seq (1: p))

#
#
#
#

Chamando a m a t r i z de p v a l o r do mtodo i n v e r s o para


cor parc . Esta funo d e v o l v e uma l i s t a . 1) m a t r i z
de a d j a c n c i a com as c o r r e l a e s s i g n i f i c a n t e s . 2)
m a t r i z com p v a l o r e s

A=ginvmet2 (X,0.01)
write . t a b l e (A[ [ 2 ] ] , f i l e =paste ( "pvalor_arvore_inout_"
, i1 , "_" ,p , "_" ,n , ".txt" , sep="" ))

C.5 Correlao parcial - Bayesiana


(mnormt)
(MCMCpack)
r e q u i r e ( corpcor )
r e q u i r e ( igraph )
r e q u i r e ( zoo )
require
require

# Funo r w i s h para c a s o s em que S nao p o s i t i v a d e f i n i d a no


# mtodo c h o l

riwish2=f u n c t i o n (v , S)
{
return ( s o l v e ( rwish2 (v , s o l v e (S ) ) ) )
}
rwish2=f u n c t i o n (v , S)
{
i f ( ! i s . matrix (S))
S < matrix (S)
i f ( nrow (S) != n c o l (S)) {
stop ( message = "S not square in rwish ().\n" )
}
i f (v < nrow (S)) {
stop ( message = "v is less than the dimension
rwish ().\n" )
}

of S in

56

APNDICE C. SCRIPTS EM R

p < nrow (S)


CC < c h o l (S , pivot=TRUE)
Z < matrix (0 , p , p)
diag (Z) < s q r t ( r c h i s q (p , v : ( v p + 1)))
i f (p > 1) {
pseq < 1:( p 1)
Z[ rep (p pseq , pseq ) + u n l i s t ( l a p p l y ( pseq ,
rnorm (p (p 1) / 2)
}
return ( crossprod (Z %% CC))

# Funo f b s t

fbst . area=f u n c t i o n (X, cte )


{
Y < d e n s i t y ( subset (X, subset =(X<1)))
i f ( min (Y$ x) >0|| max (Y$ x)<0) return (0)
else
{
x=min (Y$x [Y$x>cte ] )
i f (x==Inf ) x=max (Y$ x [Y$ x<cte ] )
xt < Y$x[5] Y$x [ 4 ]
yt < Y$y [Y$y<Y$y [Y$x==x ] ]
return ( sum ( xt yt ))
}
}
# Funo que c a l c u l a c o r r e l a o e p v a l o r
cor

. prob < f u n c t i o n (X, dfr = nrow (X) 2) {


R < cor (X)
above < row (R) < c o l (R)
r2 < R[ above ]^2
Fstat < r2 dfr / (1 r2 )
R [ above ] < 1 p f ( Fstat , 1 , dfr )
R

}
piloto=1
f o r (p in c (100))
f o r (n in c (1000))
f o r ( i1 in c (1:50))
{

# Lendo os dados

seq

))] =

C.5.

CORRELAO PARCIAL - BAYESIANA

57

X=as . matrix ( read . t a b l e ( f i l e =paste ( "arvore_inout_" , i1 ,


"_" ,p , ".txt" , sep="" ) ) ) [ 1 : n , ]
X. p=as . matrix ( read . t a b l e ( f i l e =paste ( "arvore_piloto_
inout_" , i1 , "_" ,p , "_.txt" , sep="" ) ) ) [ 1 : n , ]
colnames (X)= c ( seq (1: p))
Xoriginal=X
Xoriginal . p=X. p
covX=cov (X. p)
corX=cor (X)
pvalcor=cor . prob (X)
alpha =0.001
A=matrix ( , n c o l=n c o l (X) , nrow=n c o l (X))
f o r ( i in 1:( n c o l (X) 1))
f o r ( j in ( i +1):( n c o l (X)))
{
A[ i , j ]= i f e l s e ( pvalcor [ i , j ]<alpha , corX [ i , j ] ,0)
A[ j , i ]=A[ i , j ]
}
diag (A)=0
# Bayesiana
# Construindo a r e d e usando r w i s h 2
# A priori

mediaX=colMeans (X. p ,
lambda0=mediaX
k0=p+3
psi0=(k0p 1)covX
v0=1

na rm

= FALSE, dims = 1)

# A posteriori

k1=k0+n
soma=0
f o r ( i in 1:n)
soma=soma + (X[ i ,] mediaX)%%t (X[ i ,] mediaX)
psi1=psi0+soma+(n v0 / (n+v0 )) (mediaXlambda0)%%
t (mediaXlambda0)
covpar=matrix ()

58

APNDICE C. SCRIPTS EM R

corpar=vector ()
fbst=matrix ( rep (0 ,p^2) , n c o l=p , nrow=p)
f o r ( i in 1:( p 1))
f o r ( j in ( i +1):(p))
i f (A[ i , j ] !=0)
{
psi1 . i j=psi1 [ c ( i , j ) , c ( i , j )] psi1 [ c ( i , j ),
c ( i , j ) ]%%s o l v e ( psi1 [ c ( i , j ), c ( i ,
j ) ] )%%psi1 [ c ( i , j ) , c ( i , j ) ]
f o r (k2 in 1:1000)
{
i f ( i s . positive . d e f i n i t e ( s o l v e (
psi1 . i j ) , method="chol")==
TRUE)
{
covar=riwish (k1 , psi1 . i j )
} else
{
invcovar=rwish2 (k1 , psi1 . i j )
while ( i s . positive . d e f i n i t e (
invcovar)==FALSE)
invcovar=rwish2 (k1 ,
psi1 . i j )
covar=s o l v e ( invcovar )
}
covpar=covar
corpar [ k2]=( covpar [ 1 , 2 ] ) / s q r t (
covpar [1 ,1 ] covpar [ 2 , 2 ] )
}
fbst [ i , j ]= fbst . area ( corpar ,0)
fbst [ j , i ]= fbst [ i , j ]
}
write . t a b l e ( fbst , f i l e =paste ( "fbst_global_arvore_
piloto_inout_" , i1 , "_" ,p , "_" ,n , ".txt" , sep="" ))
}

C.6.

CORRELAO PARCIAL LOCAL - MTODO INVERSO

59

C.6 Correlao parcial local - mtodo inverso


(MCMCpack)
( corpcor )
r e q u i r e ( igraph )
cor . prob < f u n c t i o n (X, dfr = nrow (X) 2) {
R < cor (X)
above < row (R) < c o l (R)
r2 < R[ above ]^2
Fstat < r2 dfr / (1 r2 )
R [ above ] < 1 p f ( Fstat , 1 , dfr )
R
}
require
require

#v e t o r com o p c o e s de nmero de o b s e r v a e s
########l e n d o os dados

(p in c (100))
(n in 50)
f o r ( i3 in 1:50)
i f (p>=n)
{
for
for

#X=as . m a t r i x ( read . t a b l e ( f i l e =p a s t e (" a r v o r e_" , i3 , "_"


".txt"
""

,p ,

, sep= ) ) ) [ 1 : n , ]
X=as . matrix ( read . t a b l e ( f i l e =paste ( "arvore_inout_" ,
i3 , "_" ,p , ".txt" , sep="" ) ) ) [ 1 : n , ]
p=n c o l (X)
colnames (X)= c ( seq (1: n c o l (X)))
Xoriginal=X
covX=cov (X)
corX=cor (X)
pvalcor=cor . prob (X)
alpha =0.01
A=matrix ( , n c o l=p , nrow=p)
colnames (A)= c (1: p)
f o r ( i in 1:( p 1))
f o r ( j in ( i +1):p)
{
A[ i , j ]= i f e l s e ( pvalcor [ i , j ]<alpha , corX [ i , j ] ,0)

60

APNDICE C. SCRIPTS EM R

A[ j , i ]=A[ i , j ]
}
diag (A)=0
g1=graph . adjacency (A, mode=(" undirected " ) , weighted=
TRUE)
V( g1 ) $name < c ( seq (1: p))
# Acessando os e l o s

edges=get . a d j l i s t ( g1 )
Ap=matrix (99 , n c o l=n c o l (X) , nrow=n c o l (X))
Af=matrix ( rep (0 ,p^2) , n c o l=n c o l (X) , nrow=n c o l (X))
f o r (k in 1: n c o l (X))
{
vertices=edges [ [ k ] ]
i f ( sum ( ! i s . na ( vertices )) !=0)
f o r ( j in 1: length ( vertices ))
{
i f ( vertices [ j]+1>k && A[ k , vertices [ j ]+
1] !=0)
{
i1=as . c h a r a c te r (k)
j1=as . c h a r a c te r ( vertices [ j ]+
1)
v i z l i s t=graph . neighborhood (
g1 , 1 , nodes=c ( i1 , j1 ) ,
mode=c ( "all" ))
viz=s o r t ( as . i n t e g e r ( unique ( c (
V( v i z l i s t [ [ 1 ] ] ) $name ,V(
v i z l i s t [ [ 2 ] ] ) $name)) ,
decreasing=TRUE))
#Diminuindo a q u a n t i d a d e de v i z i n h o s , caso tenhamos
# mais v i z i n h o s do que o b s e r v a e s
if

( length ( viz)>=n)
posicao . i=vector ()
posicao . j=vector ()

# Pegando as n maiores c o r r e l a c o e s de cada v r t i c e do


# par

. maiores . i=s o r t (A[


viz , c (k)][ k ] ,
decreasing=TRUE) [ 1 : n ]
cor . maiores . j=s o r t (A[
cor

C.6.

CORRELAO PARCIAL LOCAL - MTODO INVERSO

61

viz , c ( vertices [ j ]+1)


][ ( vertices [ j ]+1)] ,
decreasing=TRUE) [ 1 : n ]
# Pegando as n4 maiores c o r r e l a e s g e r a i s

. maiores=s o r t ( abs (
( (
cor . maiores . j ,
cor . maiores . i ))) ,
decreasing=TRUE) [
1 : ( ( n/ 2 ) ) ]
cor . maiores . i=
cor . maiores . i [
abs ( cor . maiores . i )
%in%cor . maiores ]
cor . maiores . j=
cor . maiores . j [
abs ( cor . maiores . j )
%in%cor . maiores ]
cor

unique c

# Pegando os v r t i c e s c o r r e s p o n d e n t e s as n maiores
# c o r r e l a e s em cada v r t i c e do par

( i2 in 1: length (
. maiores . i ))
posicao . i [ i2 ]= which (A[ ,
c (k)]== cor . maiores . i [
i2 ] , useNames = TRUE)
f o r ( i2 in 1: length (
cor . maiores . j ))
posicao . j [ i2 ]= which (A[ ,
c ( vertices [ j ]+1)]==
cor . maiores . j [ i2 ] ,
useNames = TRUE)
for

cor

# Pegando os v e r t i c e s v i z i n h o s mais c o r r e l a c i o n a d o s
# do par , assim como o p r o p r i o par

viz=unique ( s o r t ( c (k ,
vertices [ j ]+1 ,
unique ( c ( posicao . i ,
posicao . j ) ) ) ) )

}
l c l<length ( viz )
Csub=covX [ viz , viz ]
corr . inv<cor2pcor (Csub)
rownames ( corr . inv)=viz
colnames ( corr . inv)=viz

62

APNDICE C. SCRIPTS EM R

corr . inv . p<1pnorm (


( sqrt (
n( lcl 2) 3) l o g ((1+ corr . inv [
i1 , j1 ] ) /(1 corr . inv [ i1 , j1 ] ) ) /
2))
Ap[ k , ( vertices [ j ]+1)]=
corr . inv . p
Ap[ ( vertices [ j ]+1) ,k]=
Ap[ k , ( vertices [ j ]+1)]
abs

}
write

. t a b l e (Ap, f i l e =paste ( "


pvalor_arvore_inout_local_" , i3 , "_" ,p , "_" ,
n , "_2. txt" , sep="" ))

C.7 Correlao parcial local- Bayesiana


#### c a r r e g a n d o b i b l i o t e c a s

(MCMCpack)
( corpcor )
r e q u i r e ( igraph )
r e q u i r e ( zoo )
require
require

##### f u n c o e s

riwish2=f u n c t i o n (v , S)
{
return ( s o l v e ( rwish2 (v , s o l v e (S ) ) ) )
}
rwish2=f u n c t i o n (v , S)
{
i f ( ! i s . matrix (S))
S < matrix (S)
i f ( nrow (S) != n c o l (S)) {
stop ( message = "S not square in
}
i f (v < nrow (S)) {

rwish ().\n" )

C.7.

CORRELAO PARCIAL LOCAL- BAYESIANA

stop

( message =

"v is less than the dimension


of S in rwish ().\n" )

}
p < nrow (S)
CC < c h o l (S , pivot=TRUE)
Z < matrix (0 , p , p)
diag (Z) < s q r t ( r c h i s q (p , v : ( v p + 1)))
i f (p > 1) {
pseq < 1:( p 1)
Z[ rep (p pseq , pseq ) + u n l i s t ( l a p p l y ( pseq ,
] = rnorm (p (p 1) / 2)
}
return ( crossprod (Z %% CC))

### funcao f b s t . area

fbst . area=f u n c t i o n (X, cte )


{
Y < d e n s i t y ( subset (X, subset =(X<1)))
i f ( min (Y$ x) >0|| max (Y$ x)<0) return (0)
else
{
x=min (Y$x [Y$x>cte ] )
i f (x==Inf ) x=max (Y$ x [Y$ x<cte ] )
#x t
#y t

xt
yt

<
<

d i f f (Y$ x [Y$ y<Y$ y [Y$ x==x ] ] )


r o l l m e a n (Y$ y [Y$ y<Y$ y [Y$ x==x ] ] , 2 )
$
$

Y x[5] Y x [ 4 ]
Y$y [Y$y<Y$y [Y$x==x ] ]
return ( sum ( xt yt ))
}
}
<
<

cor

63

. prob < f u n c t i o n (X, dfr = nrow (X) 2) {


R < cor (X)
above < row (R) < c o l (R)
r2 < R[ above ]^2
Fstat < r2 dfr / (1 r2 )
R [ above ] < 1 p f ( Fstat , 1 , dfr )
R

#### c a l c u l a n d o f b s t

seq

))

64

APNDICE C. SCRIPTS EM R

piloto=1
########l e n d o os dados

(p in c (100))
(n in c (50))
f o r ( i3 in c (47:22))
{
#marca a hora do i n i c i o
i n i c i o=Sys . time ()
for
for

#l e n d o os dados da a r v o r e

X=as . matrix ( read . t a b l e ( f i l e =paste ( "arvore_inout_" , i3 ,


"_" ,p , ".txt" , sep="" ) ) ) [ 1 : n , ]

## s e f o r t r a b a l h a r com a amostra p i l o t o para a p r i o r i


i f ( piloto == 1)
X. p=as . matrix ( read . t a b l e ( f i l e =paste ( "
arvore_piloto_inout_" , i3 , "_" ,p , "_.txt" , sep=""
)))[1:n,]

#dando nomes as c o l u n a s na a r v o r e

(X)= c ( seq (1: p))


Xoriginal=X
X. poriginal=X. p
colnames

##################

i f ( piloto==1) covX=cov (X. p)


corX=cor (X)

else

covX=cov (X)

#P v a l o r no t r i a n g u l o s u p e r i o r da m a t r i x e c o r r e l a c a o
# no t r i a n g u l o i n f e r i o r

pvalcor=cor . prob (X)


alpha =0.01

#Marcando os p a r e s que sao s i g n i c a t e m e n t e c o r r e l a c i o n a d o s

A=matrix ( , n c o l=n c o l (X) , nrow=n c o l (X))


f o r ( i in 1:( n c o l (X) 1))
f o r ( j in ( i +1):( n c o l (X)))
{
A[ i , j ]= i f e l s e ( pvalcor [ i , j ]<alpha , corX [ i , j ] ,0)
A[ j , i ]=A[ i , j ]
}

C.7.

diag

CORRELAO PARCIAL LOCAL- BAYESIANA

(A)=0

#g r a f o com as c o r r e l a c o e s

g1=graph . adjacency (A,


=(
V( g1 ) name
( (1: p))

mode
" undirected "
#nomeando os v e r t i c e s do g r a f o
$
< c seq

) , weighted=TRUE)

############# Acessando os e l o s
##### b a y e s i a n a
# Pegando , para cada v r t i c e , os demais v e r t i c e s que tem
# l i g a c a o com e s s e v r t i c e

edges=get . a d j l i s t ( g1 )
fbst=matrix ( , n c o l=p , nrow=p)
Ap=matrix ( , n c o l=p , nrow=p)
Af=matrix ( rep (0 ,p^2) , n c o l=p , nrow=p)
for

(k in 1:p)
#v e r t i c e s que fazem l i g a c a o com o v e r t i c e k

vertices=edges [ [ k ] ]
i f ( length ( vertices ) !=0)
{
i f ( length ( vertices )==1)
{
fbst [ k , ( vertices +1)]= pvalcor [ k ,
( vertices +1)]
fbst [ ( vertices +1),k]= fbst [ k , (
vertices +1)]
} else
{
f o r ( j in 1: length ( vertices ))
{

#
#
#
#

Condicao que c e r t i f i c a que so vamos p e g a r cada


par apenas uma n i c a v e z e so vamos c a l c u l a r a
c o r r e l a o p a r c i a l para p a r e s s i g n i f i c a n t e m e n t e
correlacionados
if

( vertices [ j]+1>k && A[ k ,


vertices [ j ]+1] !=0)
{
X=Xoriginal
X. p=X. poriginal
i1=as . c h a r a ct e r (k)
j1=as . c h a r a c te r ( vertices [ j ]+1)

65

66

APNDICE C. SCRIPTS EM R

#L i s t a com t o d o s os v i z i n h o s de cada v e r t i c e do par em


#q u e s t a o

v i z l i s t=graph . neighborhood (
g1 , 1 , nodes=c ( i1 , j1 ) ,
mode=c ( "all" ))

#t o d o s os v i z i n h o s dos d o i s v e r t i c e s do par ,
#i n c l u i n d o e l e s .

viz=s o r t ( as . i n t e g e r ( unique (
c (V( v i z l i s t [ [ 1 ] ] ) $ name ,
V( v i z l i s t [ [ 2 ] ] ) $name)) ,
decreasing=TRUE))
posicao . i=vector ()
posicao . j=vector ()

#diminuindo a q u a n t i d a d e de
#v i z i n h o s , caso tenhamos mais
#v i z i n h o s do que o b s e r v a c o e s
if

( length ( viz)>=n)

#pegando as n maiores
#c o r r e l a c o e s de cada
#v e r t i c e do par

. maiores . i=s o r t (A[


viz , c (k)][ k ] ,
decreasing=TRUE) [
1:n ]
cor . maiores . j=s o r t (A[
viz , c ( vertices [ j ]+1
)][ ( vertices [ j ]+1)] ,
decreasing=TRUE) [ 1 : n ]
cor

#pegando as n4 maiores
#c o r r e l a c o e s g e r a i s

. maiores=s o r t ( abs (
( (
cor . maiores . j ,
cor . maiores . i ))) ,
decreasing=TRUE) [
1:( n/ 2)]
cor . maiores . i=
cor . maiores . i [ abs (
cor . maiores . i ) %in%
cor . maiores ]
cor . maiores . j=
cor . maiores . j [ abs (
cor . maiores . j ) %in%
cor . maiores ]
cor

unique c

C.7.

CORRELAO PARCIAL LOCAL- BAYESIANA

67

# pegando os v e r t i c e s
#c o r r e s p o n d e n t e s as n
#maiores c o r r e l a c o e s em
#cada v e r t i c e do par

( i2 in 1: length (
. maiores . i ))
posicao . i [ i2 ]=
which (A[ , c (k)]==
cor . maiores . i [ i2 ] ,
useNames = TRUE)
f o r ( i2 in 1: length (
cor . maiores . j ))
posicao . j [ i2 ]=
which (A[ , c (
vertices [ j ]+1)]
==cor . maiores . j [
i2 ] , useNames =
TRUE)
for

cor

#Pegando os v e r t i c e s v i z i n h o s mais c o r r e l a c i o n a d o s do
#par , assim como o p r o p r i o par

viz=unique ( s o r t ( c (k ,
vertices [ j ]+1 ,
unique ( c ( posicao . i ,
posicao . j ) ) ) ) )

}
#Pegando os dados s i m u l a d o s apenas da v i z i n h a n a
#mais c o r r e l a c i o n a d a do par

# A priori

# A posteriori

X=X[ , viz ]
X. p=X. p [ , viz ]
l c l<n c o l (X)
mediaX=colMeans (X. p ,
na . rm = FALSE, dims = 1)
lambda0=mediaX
k0=l c l +3
psi0=(k0 lcl 1)cov (X. p)
v0=1
mediaX=colMeans (X,
na . rm = FALSE, dims = 1)
k1=k0+n
soma=0
f o r ( i in 1:n)
soma=soma + (X[ i ,]
mediaX)%%t (X[ i ,]

68

APNDICE C. SCRIPTS EM R

mediaX)
psi1=psi0+soma+(n v0 / (n+v0 ))
(mediaXlambda0)%%t (
mediaXlambda0)

# Estimando c o r r e l a c a o p a r c i a l usando l i s t a s

covpar=matrix ()
corpar=vector ()
# Posio do v e r t i c e k na v i z i n h a n a mais
# correlacionada

i2=which ( viz==k)

# Posicao do o u t r o v e r t i c e do par da i t e r a c a o na
# v i z i n h a n c a mias c o r r e l a c i o n a d a

j2=which ( viz==vertices [ j ]+1)

# C a l c u l a n d o a o paramentro da d i s t r i b u i c a o i n v e r s e
# w i s h a r t da c o v a r i a n c i a p a r c i a l

psi . i j=psi1 [ c ( i2 , j2 ) , c ( i2 , j2 ) ]
psi1 [ c ( i2 , j2 ), c ( i2 , j2 )]%
%s o l v e ( psi1 [ c ( i2 , j2 ), c (
i2 , j2 ) ] )%%psi1 [ c ( i2 , j2 ) ,
c ( i2 , j2 ) ]
i f ( i s . positive . d e f i n i t e (
psi . ij , method="chol")==
FALSE)
psi . i j=make . positive . d e f i n i t e (
psi . ij , tol=1e 20)
covpar=matrix ()
f o r (k2 in 1:1000)
{
i f ( i s . positive . d e f i n i t e (
s o l v e ( psi . ij , tol=
1e 20),method="chol"
)==TRUE){ covar=s o l v e (
rwish (k1 , s o l v e ( psi . ij ,
tol=1e 20)))} e l s e
{
invcovar=rwish2 (k1 ,
psi . i j )
while (
i s . positive . d e f i n i t e (
invcovar)==FALSE)
invcovar=rwish2 (k1 ,
psi . i j )
covar=s o l v e ( invcovar )

C.8.

MDIA DAS CURVAS ROC

69

}
#c o v p a r=c o v a r [ c ( i2 , j 2 ) ,
#c ( i2 , j 2 )] c o v a r [ c ( i2 , j 2 ) ,
#c ( i2 , j 2 ) ]%%s o l v e ( c o v a r [
#c ( i2 , j 2 ), c ( i2 , j 2 ) ] )%%
#c o v a r [ c ( i2 , j 2 ) , c ( i2 , j 2 ) ]

#f b s t para H0 :

covpar=covar
i f ( covpar [1 ,1] <0) covpar [1 ,1
]= covpar [1 ,1 ]
i f ( covpar [2 ,2] <0) covpar [2 ,2
]= covpar [2 ,2 ]
corpar [ k2]=( covpar [ 1 , 2 ] ) /
s q r t ( covpar [1 , 1 ]
covpar [ 2 , 2 ] )
}
corpar=subset ( corpar , subset =(corpar !=
"NaN" ))
correlacao parcial = 0
fbst [ k , ( vertices [ j ]+1)]=
fbst . area ( corpar ,0)
fbst [ ( vertices [ j ]+1) ,k]=
fbst [ k , ( vertices [ j ]+1)]
}

. t a b l e ( fbst , f i l e =paste ( "fbst_local_arvore_inout_" ,


i3 , "_" ,p , "_" ,n , "_2. txt" , sep="" ))
fim=Sys . time ()
fim i n i c i o
}
write

op ; l

C.8 Mdia das curvas ROC

70

APNDICE C. SCRIPTS EM R

####################### comeca a q u i
require

( igraph )

# funcao que c a l c u l a a c o r r e l a c a o e o p v a l o r na
# mesma m a t r i z
cor
< f u n c t i o n
nrow

R < cor
< row R
col R
< R
<

R
<
pf

. prob

(X, dfr =
(X) 2) {
(X)
above
( )< ( )
r2
[ above ]^2
Fstat
r2 dfr (1 r2 )
[ above ]
1
( Fstat , 1 , dfr )
R}
i n i c i o=Sys . time ()
p=100
f o r (n in c (1000))
{
s e n s i t i v i t y= l i s t ()
s p e c i f i c i t y= l i s t ()

# i n d i c a d o r a s e vamos t r a b a l h a r com e s t i s t i c a
# c l a s s i c a 1 ou b a y e s i a n a 0
if

(n<=p) global=0

else

global=1

f o r ( l in c (1:20))
{
X=as . matrix ( read . t a b l e ( f i l e =paste ( "arvore_inout_" , l , "_" ,
p , ".txt" , sep="" ) ) ) [ 1 : n , ]
pvalcor=cor . prob (X)
corX=cor (X)

### CONFERIR O QUE MUDA COM ESSA ALTERACAO

alpha =0.01
A=matrix (99 , n c o l=p , nrow=p)
f o r ( i in 1:( p 1))
f o r ( j in ( i +1):p)
{
A[ i , j ]= i f e l s e ( pvalcor [ i , j ]<alpha , corX [ i , j ] ,0)
A[ j , i ]=A[ i , j ]
}
diag (A)=0

C.8.

if

}
{

MDIA DAS CURVAS ROC

71

( c l a s s i c o==1)
i f ( global==1)
pvalor=read . t a b l e ( paste ( "pvalor_arvore_inout_" , l ,
"_" ,p , "_" ,n , ".txt" , sep="" )) e l s e
pvalor=read . t a b l e ( paste ( "pvalor_arvore_inout_local_
" , l , "_" ,p , "_" ,n , "_2. txt" , sep="" ))
else

i f ( global==1)
pvalor=read . t a b l e ( paste ( "
fbst_global_arvore_piloto_inout_" , l , "_" ,p ,
"_" ,n , ".txt" , sep="" )) e l s e
pvalor=read . t a b l e ( paste ( "
fbst_local_arvore_inout_" , l , "_" ,p , "_" ,n ,
"_2. txt" , sep="" ))

( i s . na ( pvalor [ 1 , 1 ] ) )
A1<read . t a b l e ( paste ( "original_inout_" , l , "_" ,p , ".txt" ,
sep="" ))
s e n s i t i v i t y [ [ l ]]= vector ()
s p e c i f i c i t y [ [ l ]]= vector ()
alpha=c ( seq (0 ,1 ,0.05))
dados=matrix ( , nrow=1, n c o l=length ( alpha ))
colnames ( dados)=alpha
f o r (k in 1: length ( alpha ))
{
Af=matrix (0 , n c o l=p , nrow=p)
f o r ( i in 1:( p 1))
f o r ( j in ( i +1):(p))
i f ( ! i s . na ( pvalor [ i , j ] ) & ( pvalor [ i , j ] < alpha [ k ] ) )
{
Af [ i , j ]=1
Af [ j , i ]=1
}
A2=A Af
A3=get . adjacency ( graph . adjacency (A2, weighted=TRUE))
if

###### contando l i g a c o e s f a l s a s e v e r d a d e i r a s

72

APNDICE C. SCRIPTS EM R

positivo . r e a l=sum(A1[ row (A1)< c o l (A1 ) ] )


negativo . r e a l=length (A1[ row (A1)< c o l (A1)])
positivo . r e a l
true . positive=sum(A1[ row (A1)< c o l (A1)]+A3[ row (A3)<
c o l (A3)]==2)
true . negative=sum(A1[ row (A1)< c o l (A1)]+A3[ row (A3)<
c o l (A3)]==0)
s e n s i t i v i t y [ [ l ] ] [ k]= true . positive / positivo . r e a l
s p e c i f i c i t y [ [ l ] ] [ k]= true . negative / negativo . r e a l

## e s c r e v e n d o a s e n s i b i l i d a d e e a e s p e c i f i c i d a d e de t o d a s
#v as a r v o r e s s e p a r a d a s

dados . sens=matrix ( , nrow=1, n c o l=length ( alpha ))


dados . spec=matrix ( , nrow=1, n c o l=length ( alpha ))
dados . sens [1 ,]= s e n s i t i v i t y [ [ l ] ]
dados . spec [1 ,]= s p e c i f i c i t y [ [ l ] ]
i f ( l==1)
{
i f ( c l a s s i c o==1)
{
i f ( global==1)
{
write . t a b l e ( dados . sens , paste ( "
sensitivity_inout_" ,p , "_" ,n ,
"_classico_global.txt" , sep="" ) ,
c o l . names=alpha )
write . t a b l e ( dados . spec , paste ( "
specificity_inout_" ,p , "_" ,n ,
"_classico_global.txt" , sep="" ) ,
c o l . names=alpha )
} else
{
write . t a b l e ( dados . sens , paste ( "
sensitivity_inout_" ,p , "_" ,n ,
"_classico_local.txt" , sep="" ) ,
c o l . names=alpha )
write . t a b l e ( dados . spec , paste ( "
specificity_inout_" ,p , "_" ,n ,

C.8.

MDIA DAS CURVAS ROC

73

"_classico_local.txt" , sep="" ) ,

}
{

=alpha )

c o l names

}
else
if

( global==1)
. t a b l e ( dados . sens , paste ( "
sensitivity_inout_" ,p , "_" ,n ,
"_bayesiano_global.txt" , sep="" ) ,
write

=alpha )
write . t a b l e ( dados . spec , paste ( "
specificity_inout_" ,p , "_" ,n ,
"_bayesiano_global.txt" , sep="" ) ,
c o l . names=alpha )
c o l names

}
{

else

. t a b l e ( dados . sens , paste ( "


sensitivity_inout_" ,p , "_" ,n ,
"_bayesiano_local.txt" , sep="" ) ,
write

=alpha )
write . t a b l e ( dados . spec , paste ( "
specificity_inout_" ,p , "_" ,n ,
"_bayesiano_local.txt" , sep="" ) ,
c o l . names=alpha )
c o l names

}
{

else

}
if

( c l a s s i c o==1)
i f ( global==1)
{

. t a b l e ( dados . sens , paste ( "


sensitivity_inout_" ,p , "_" ,n ,
"_classico_global.txt" , sep="" ) ,
write

=TRUE, c o l . names=FALSE,
=l )
write . t a b l e ( dados . spec , paste ( "
specificity_inout_" ,p , "_" ,n ,
"_classico_global.txt" , sep="" ) ,
append=TRUE, c o l . names=FALSE,
row . names=l )
append

row names

else

74

APNDICE C. SCRIPTS EM R

. t a b l e ( dados . sens , paste ( "


sensitivity_inout_" ,p , "_" ,n ,
"_classico_local.txt" , sep="" ) ,
write

=TRUE, c o l . names=FALSE,
=l )
write . t a b l e ( dados . spec , paste ( "
specificity_inout_" ,p , "_" ,n ,
"_classico_local.txt" , sep="" ) ,
append=TRUE, c o l . names=FALSE,
row . names=l )
append

row names

}
}
{

else
if

( global==1)
. t a b l e ( dados . sens , paste ( "
sensitivity_inout_" ,p , "_" ,n ,
"_bayesiano_global.txt" , sep="" ) ,
write

=TRUE, c o l . names=FALSE,
=l )
write . t a b l e ( dados . spec , paste ( "
specificity_inout_" ,p , "_" ,n ,
"_bayesiano_global.txt" , sep="" ) ,
append=TRUE, c o l . names=FALSE,
row . names=l )
append

row names

}
{

else

. t a b l e ( dados . sens , paste ( "


sensitivity_inout_" ,p , "_" ,n ,
"_bayesiano_local.txt" , sep="" ) ,
write

=TRUE, c o l . names=FALSE,
=l )
write . t a b l e ( dados . spec , paste ( "
specificity_inout_" ,p , "_" ,n ,
"_bayesiano_local.txt" , sep="" ) ,
append=TRUE, c o l . names=FALSE,
row . names=l )
append

row names

}
}
mean
mean

. sens=vector ()
. spec=vector ()

C.8.

MDIA DAS CURVAS ROC

75

. sens=vector ()
. spec=vector ()
q1 . sens=vector ()
q1 . spec=vector ()
q3 . sens=vector ()
q3 . spec=vector ()
f o r (k in 1: length ( alpha ))
{
mean . sens [ k]=mean ( sapply ( sensitivity , f u n c t i o n (x)
x[k]))
mean . spec [ k]=mean ( sapply ( s p e c i f i c i t y , f u n c t i o n (x)
x[k]))
median . sens [ k]= median ( sapply ( sensitivity , f u n c t i o n (x)
x[k]))
median . spec [ k]= median ( sapply ( s p e c i f i c i t y , f u n c t i o n (x)
x[k]))
q1 . sens [ k]= q u a n t i l e ( sapply ( sensitivity , f u n c t i o n (x)
x[k]) ,0.25)
q1 . spec [ k]= q u a n t i l e ( sapply ( s p e c i f i c i t y , f u n c t i o n (x)
x[k]) ,0.25)
q3 . sens [ k]= q u a n t i l e ( sapply ( sensitivity , f u n c t i o n (x)
x[k]) ,0.75)
q3 . spec [ k]= q u a n t i l e ( sapply ( s p e c i f i c i t y , f u n c t i o n (x)
x[k]) ,0.75)
}

median
median

if

( c l a s s i c o==1)
i f ( global==1)
write . t a b l e ( data . frame ( alpha , mean . sens , mean . spec ,
median . sens , median . spec , q1 . sens , q1 . spec ,
q3 . sens , q3 . spec ) , f i l e =paste ( "
media_quantis_sens_spec_inout_" ,p , "_" ,n ,
"_classico_global.txt" , sep="" )) e l s e
write . t a b l e ( data . frame ( alpha , mean . sens , mean . spec ,
median . sens , median . spec , q1 . sens , q1 . spec ,
q3 . sens , q3 . spec ) , f i l e =paste ( "
media_quantis_sens_spec_inout_" ,p , "_" ,n ,
"_2_classico_local.txt" , sep="" ))

76

}
{

APNDICE C. SCRIPTS EM R

else

( global==1)
. t a b l e ( data . frame ( alpha , mean . sens , mean . spec ,
median . sens , median . spec , q1 . sens , q1 . spec ,
q3 . sens , q3 . spec ) , f i l e =paste ( "
media_quantis_sens_spec_inout_" ,p , "_" ,n ,
"_bayesiano_global.txt" , sep="" )) e l s e
write . t a b l e ( data . frame ( alpha , mean . sens , mean . spec ,
median . sens , median . spec , q1 . sens , q1 . spec , q3 . sens ,
q3 . spec ) , f i l e =paste ( "media_quantis_sens_spec_inout_" ,
p , "_" ,n , "_bayesiano_local.txt" , sep="" ))
if

write

}
}
fim=Sys . time ()
fim i n i c i o

Referncias Bibliogrcas
[1] K. Baba, R. Shibata, and M. Sibuya. Partial correlation and conditional
correlation as measures of conditional independence.

New Zealand Journal of Statistics, 46:657664, 2004.

[2] R. Bhatia.

Positive Denite Matrices.

Australian and

Princeton University Press, pri-

meira edition, 2007.


[3] A.P. Dawid. Conditional independence in statistical theory (with discussion).

J. R. Stat. Soc., B 41:131, 1979.

[4] M.H. DeGroot and M.J. Schervish.

Probability and Statistics.

Addison-

Wesley, 3 edition, 2002.


[5] D. Edwards.

Introduction to Graphical Modelling.

Springer-Verlag New

York, Inc., 1 edition, 1995.


[6] R.A. Fisher. The distribution of the partial correlation coecien.

tron, 3:329332, 1924.

Me-

[7] J.J. Goeman and P. Bhlmann. Analyzing gene expression data in terms
of gene sets: methodological issues.
[8] L. Han and J. Zhu.

Bioinformatics, 23:980987, 2007.

Using matrix of thresholding partial correlation

coecients to infer regulatory network.


[9] M.G. Kendal and A. Stuart.

2.

BioSystems, 91:158165, 2008.

The Advanced Theory of Statistics, Volume

nao sei, 3 edition, 1973.

[10] K. V. Mardia, J. T. Kent, and J. M. Bibby.

Multivariate Analysis.

Academic Press, London, UK, 10 edition, 1979.


[11] K.L. Mine, N. Shulzhenko, A. Yambartsev, G.F.O. Sanson, S. Varma,
Volfovsky N., S.M.F. Brenna, C.R.N. Carvalho, J.C.L. Ribalta, J. Skinner, H. Lyng, I.D.C.G. Silva, M. Gerbase-DeLima, and A. Morgun. Reconstruction of an integrative gene regulatory meta-network reveals cell
cycle and antiviral response as major drivers of cervical cancer.

review: GENOME Research, 2012.


77

under

78

REFERNCIAS BIBLIOGRFICAS

[12] M.E.J Newman. The structure and function of complex networks.

Rev., 45:167256, 2003.

SIAM

[13] J. Peng, W. Pei, N. Zhou, and J. Zhu. Partial correlation estimation


by joint sparse regression models.

J. Am. Stat. Assoc.x,

104:735746,

2009.
[14] C. A. B. Pereira and J. M. Stern. Evidence and credibility: Full bayesian
signicance test for precise hypotheses.

Entropy, 1:99110, 1999.

Applied multivariate analysis: using Bayesian and frequentist


methods of inference. Dover Publications, Inc. Mineola, New York, 2

[15] S.J. Press.

edition, 1982.
[16] H. Raia and R. Schlaifer.

Applied Statistical Decision Theory.

Harvard

Press, Boston, 1 edition, 1961.


[17] J. L. Rodgers and W. A. Nicewander. Thirteen ways to look at correlation coecients.

American Statisticians, 42:5966, 1988.

[18] T. Shimamura, S. Imoto, R. Yamaguchi, and S. Miyano. Weighted lasso


in graphical gaussian modeling for large gene network estimation based
on microarray data.
[19] D.Y. Takahashi.

Neurocincia.

Genome Inform, 19:142153, 2007.

Medidas de Fluxo de Informao com Aplicao em

PhD thesis, Programa Interunidades em Bioinformtica,

Universidade de So Paulo, Brasil, 2008.


[20] H. Toh and K. Horimoto. Inference of a genetic network by a combined
approach of cluster analysis and graphical gaussian modeling.

matics, 18:287297, 2002.

Bioinfor-

[21] J. Wang, O. Myklebost, and E. Hovig. Mgraph: graphical models for


microarray data analysis.

Bioinformatics, 19:22102211, 2003.

[22] X. Wu and K.R. Subramanian Y. Ye. Interactive analysis of gene inte-

Proceedings of the 3rd ACM


SIGKDD Workshop on Data Mining in Bioinformatics. Brighton, UK,
ractions using graphical gaussian model. In
2003.

S-ar putea să vă placă și