Você está na página 1de 185

Versão em atualização (5/12/2019)

ii ROSSI, R. M.
Prefácio
Em meados de 2006, durante uma conversa informal com o professor Robson M.
Rossi, à época meu aluno e orientado de doutorado no Programa de Pós-Graduação em
Zootecnia, levantei a questão acerca da dificuldade dos pesquisadores adotarem a aplicação de
novas metodologias de análises de dados experimentais. Esse comportamento parece persistir
porque os estudantes de pós-graduação tomam seus orientadores como exemplo e tendem a
repetir as metodologias por eles usadas.
A alteração desse quadro deveria passar pela ampliação dos conhecimentos dos alunos
de pós-graduação, por meio da oferta de disciplinas que lhes mostrassem as diferentes formas
disponíveis de análises dos dados, para diferentes situações experimentais. A expectativa seria
possibilitar-lhes a utilização de modelos mais complexos que reflitam melhor a realidade e,
que ao mesmo tempo expliquem biologicamente os fenômenos naturais e/ou experimentais,
contribuindo para o desenvolvimento das pesquisas científicas.
Neste sentido, sugeri a criação de um material didático sobre o tema Inferência
Bayesiana, sabendo que era um assunto com ao qual ele já havia tido contado e adquirido
conhecimento no seu mestrado.
A provocação surtiu efeito. Ele “mordeu a isca”, incorporou a idéia e iniciou o projeto
de escrever uma pequena apostila com alguns procedimentos básicos de análise de dados, por
meio da Estatística Bayesiana, aplicados no programa computacional WinBUGS.
Os dados usados para ilustrar os procedimentos apresentados tinham sido coletados no
Programa de Pós-graduação em Zootecnia e foram cedidos por colegas da pós-graduação, por
professores do departamento. Alguns foram obtidos durante consultorias e projetos dos quais
participou ou, ainda, informações de outros materiais didáticos disponíveis na literatura.
A primeira versão do material produzido era simples e sucinta, mas bastante para ser
utilizada em uma disciplina especialmente criada no programa da pós-graduação para que
pudesse ser aplicada a uma turma inicial.
Para facilitar a sedimentação dos conhecimentos adquiridos na disciplina, sugeri que
parte da avaliação consistisse na apresentação, em forma de relatório, das análises dos dados
reais, coletados em seus próprios experimentos de mestrado ou doutorado, utilizando a
metodologia Bayesiana aprendida no curso.
A idéia funcionou e, progressivamente, o uso dos procedimentos apresentados na
disciplina foi sendo disseminado. Atento, o professor Robson percebia a evolução das
expectativas na satisfação em realizar uma análise Bayesiana. Assim, muitos trabalhos foram
incorporados ao material didático e, no decorrer de quatro anos, foi acumulado um conteúdo
bastante rico sobre o assunto. Isto permitiu que o material fosse transformado em um livro
para que outros interessados tivessem acesso.
Posso concluir que o objetivo principal da idéia foi atingido. O livro presta uma
relevante contribuição à melhoria das pesquisas científicas e fornece ferramentas suficientes
para a realização de análises estatísticas Bayesianas, que além de elegantes são,
frequentemente, mais coerentes com a realidade biológica.

Professor Dr. Elias Nunes Martins


Departamento de Zootecnia
Universidade Estadual de Maringá

iii ROSSI, R. M.
RESUMO

Este livro é uma introdução aos procedimentos estatísticos em modelagem Bayesiana nas
análises de dados da Zootecnia e áreas afins. A metodologia é proposta como alternativa às
metodologias frequentistas tradicionalmente utilizadas. Com capítulos didáticos, o texto é
voltado para estudantes de graduação e pós-graduação e utiliza dados simulados e reais
extraídos de estudos publicados e para exemplificar os conceitos da metodologia utilizada.
Esta obra procura mostrar uma maneira fácil de entender a Inferência Bayesiana, sem
minimizar, no entanto, a importância do assunto. Entre as principais aplicações abordadas,
será dada ênfase ao estudo das mais importantes distribuições de probabilidade, ao ajuste de
modelos aos dados, à inferência e interpretação biológica dos parâmetros e comparações entre
populações das quais os dados foram retirados. O programa WinBUGS/OpenBugs assim como
o R com sua livraria BRugs, são programas estatísticos gratuitos e disponíveis na web e foram
elaborados especificamente para procedimentos Bayesianos. Este material foi elaborado com
objetivo de familiarizar o usuário com esses programas computacionais na realização das
análises de dados. A partir das funções básicas apresentadas neste livro, um pacote para
ambiente RStudio denominado BioBayes, contendo diversas funções para análise Bayesiana
de dados, foi disponibilizada no servidor GitHub por meio do endereço:
https://github.com/rmrossidesuem/BioBayes.

iv ROSSI, R. M.
... As pessoas que passam por nós não vão sós

deixam um pouco de si e levam um pouco de nós (Antonie de Sain’t-Exupéry).

Dedico

a Deus, a minha família e aos meus amigos,

com carinho.

v ROSSI, R. M.
BIOGRAFIA

ROBSON MARCELO ROSSI, filho de Osvaldo Rossi e Maria de Fátima Garcia


Rossi, nasceu no ano de 1972, na cidade de Maringá, Estado do Paraná, Brasil.

Cursou a graduação em Matemática da Universidade Estadual de Maringá, Paraná


(UEM), no período de 1991 a 1995.

Em 1997, obteve o título de Especialista em Estatística Aplicada, pelo Departamento


de Estatística da UEM.

Em 2001, obteve o título de Mestre em Estatística pela Universidade Federal de São


Carlos, São Paulo (UFSCar), área de concentração: Inferência Bayesiana.

Em 2006, ingressou no curso de Pós-graduação em Zootecnia da UEM, em nível de


Doutorado, área de concentração Produção Animal, realizando pesquisas na área de
Melhoramento Genético Animal, em coturnicultura. O título de Doutor foi obtido em 2008.

Entre 2013 e 2014 realizou um Pós-Doutorado na Zootecnia da UEM em parceria com


a UFV (MG), trabalhando com modelagem Estatística na Produção Animal.

Atua desde 2002, como docente do Departamento de Estatística da UEM, lecionando


na graduação do curso de Estatística, cursos afins e na pós-graduação além de participar em
projetos de pesquisa ligados à área.

rmrossi@uem.br
www.des.uem.br

vi ROSSI, R. M.
AGRADECIMENTOS

À Deus, pela vida, saúde e o privilégio de poder aprender.

Ao Prof. Dr. Elias N. Martins, pela dedicada orientação, ajuda, incentivo, ensinamentos
transmitidos, pelo exemplo de profissional, pela confiança em mim depositada, pelas
oportunidades oferecidas e pela amizade.

À Profª. Drª. Terezinha A. Guedes, pelas valiosas sugestões e amizade.

À Universidade Estadual de Maringá (UEM), em especial ao Programa de Pós-graduação em


Zootecnia e ao Departamento de Estatística, pela oportunidade de realização deste trabalho.

Aos alunos e amigos da Pós-graduação em Zootecnia, Agronomia e Engenharias,


coloraboradores dos dados analisados neste material.

vii ROSSI, R. M.
Sumário

Apresentação.............................................................................................................................1

1. Módulo I – Introdução ao programa R

1.1 Introdução................................................................................................................3

1.2 Usando a "Ajuda → Ajuda Html"............................................................................4

1.3 Operações básicas....................................................................................................7

1.4 Criando objetos: variáveis, vetores e matrizes.........................................................9

1.5 Trabalhando algumas funções internas do R...........................................................10

1.6 Criando funções básicas..........................................................................................14

1.7 Criando funções avançadas.....................................................................................16

1.7.1 Usando as funções “wihile” e “if”.............................................................16

1.7.2 Usando as funções “repeat” e “break”.......................................................17

1.7.3 Usando a função “nlm”..............................................................................18

1.8 Construindo gráficos...............................................................................................19

1.8.1 Comando “plot”.........................................................................................19

1.8.2 Comando “hist”..........................................................................................20

1.8.3 Comando “density”....................................................................................21

1.9 Importação e exportação de dados..........................................................................23

2. Módulo II – Introdução à modelagem Bayesiana

2.1 Introdução.................................................................................................................25

2.2 Função de verossimilhança.......................................................................................25

viii ROSSI, R. M.
2.3 Atualização da incerteza...........................................................................................26

2.4 Principais características do modelo Bayesiano.......................................................28

2.5 Vantagens e desvantagens do procedimento Bayesiano...........................................29

2.6 Exemplos analíticos e aplicações no R.....................................................................30

2.6.1 Modelo Discreto - Binomial......................................................................30

2.6.2 Modelo Discreto - Poisson.........................................................................34

2.6.3 Modelo Contínuo - Exponencial................................................................36

3. Módulo III – Introdução ao programa WinBUGS/OpenBugs

3.1 Introdução.................................................................................................................39

3.2 Procedimentos. .........................................................................................................39

3.2.1 Definindo o modelo...................................................................................39

3.2.2 Gerando amostras.......................................................................................42

3.2.3 Análise de convergência no coda...............................................................47

3.2.3.1 Critério Raftery e Lewis..............................................................48

3.2.3.2 Critério Geweke..........................................................................49

3.2.3.3 Critério Heidelberg e Welch.......................................................49

3.2.3.4 Critério Gelman e Rubin.............................................................50

3.3 Aplicações.................................................................................................................51

Aplicação 3.3.1. Binomial conjugada com a Beta - Estimação da proporção........51

Aplicação 3.3.2. Poisson conjugada com a Gama - Estimação da taxa..................53

Aplicação 3.3.3. Estimação da produção de abelhas rainha...................................55

ix ROSSI, R. M.
Aplicação 3.3.4. Estimação da média de peso uterino em ratas.............................56

Aplicação 3.3.5. Teste para a comparação de duas médias de populações normais

com variâncias iguais e desconhecidas.......................................58

Aplicação 3.3.6. Comparação da produção de geleia real entre grupos de

rainhas.....................................................................................61

Aplicação 3.3.7. Influência da fonte lipídica na dieta de frangos de corte.............62

Aplicação 3.3.8. Teste para a comparação de duas médias de populações normais

com variâncias distintas e desconhecidas...................................63

Aplicação 3.3.9. Teste para a comparação de duas médias em dados de contagem:

Influência do selênio na produção de embriões de

cabras........................................................................................65

Aplicação 3.3.10. Análise de variância – Procedimento I......................................67

Aplicação 3.3.11. Análise de variância – Procedimento II.....................................70

Aplicação 3.3.12. Influência de casca de café melosa ensilada no ganho de peso de

leitões........................................................................................73

Aplicação 3.3.13. Regressão linear simples – Exemplo I.......................................75

Aplicação 3.3.14. Regressão linear simples – Exemplo II......................................78

DIC – Critério de Informação da Deviance Bayesiana................................................80

Aplicação 3.3.15. Regressão linear e quadrática - Peso corporal em codorna de

postura....................................................................................................81

Aplicação 3.3.16. Regressão linear múltipla...........................................................83

Aplicação 3.3.17. Regressão não-linear - Curva de crescimento............................87

Aplicação 3.3.18. Modelo logístico para dose-resposta..........................................89

Aplicação 3.3.19. Modelo logístico para curva de crescimento.............................93

Aplicação 3.3.20. Modelo de Wood para curva de lactação...................................96

x ROSSI, R. M.
Aplicação 3.3.21. Comparação entre curvas de crescimento - Potencial

germinativo em plantas.....................................................101

Aplicação 3.3.22. Modelo de Mehez e Orskov para degradabilidade ruminal.....106

Aplicação 3.3.23. Modelo de regressão linear generalizada.................................114

4. Módulo IV – Utilizando o pacote BRugs do R

4.1 Introdução...............................................................................................................117

4.2 Procedimentos.........................................................................................................117

4.3 Aplicações...............................................................................................................120

Aplicação 4.3.1. Análise de variância – Aplicação na odontologia......................120

Aplicação 4.3.2. Modelo logístico para curva de postura de codornas.................126

Aplicação4.3.3. Teste de médias - Dados de produção de embriões de

novilhas.................................................................................132

Caso 1. Comparando-se controle versus tratados -

Populações não-normais (dados de contagens).............................134

Caso 2. Comparando-se controle versus tratados -

Populações normais (nível de sódio)............................................136

Caso 3. Comparando-se controle versus tratados -

Populações normais (nível de líquido folicular)...........................138

Caso 4. Comparando-se pré e pós-tratamento -

Populações normais - Dados pareados (nível de sódio)................139

Aplicação 4.3.4 Modelo de abundância de espécies.............................................142

Aplicação 4.3.5 Análise de sobrevivência de rainhas africanizas recém-emergidas

em dois sistemas de armazenamento....................................................................148

xi ROSSI, R. M.
Aplicação 4.3.6 Análise Bayesiana para ajuste de curva de crescimento de tilápias

do Nilo...................................................................................................................153

Aplicação 4.3.7. Superfície de resposta Bayesiana...............................................157

Aplicação 4.3.8. Modelo dose-resposta: Atividade da fração hidrometanólica de

Pennisetum glaucum sobre a mortalidade de Euphorbia

heterophylla..........................................................................................................161

Considerações Finais.……….…………………….....................…..........................…...…...168

Referências…...………………...…………………….………………..…......…...................169

xii ROSSI, R. M.
Introdução aos métodos Bayesianos na análise de dados zootécnicos
com uso do WinBUGS e R
Robson M. Rossi

Apresentação

A maioria dos trabalhos sob o ponto de vista Bayesiano ocorreram depois de 1970,
apesar de Jeffreys (1939) ter sido o primeiro a estudá-lo. Mas foi a partir de 1980 que as
técnicas Bayesianas mostraram ser uma boa alternativa para a metodologia frequentista, tida
como padrão de análise. Esse crescimento só se deu com o aumento tecnológico e recursos
computacionais necessários nas simulações.
Segundo Pereira (2005)1,todo problema e em diferentes áreas possui solução Bayesiana,
cuja maior vantagem é não haver restrições, ao contrário da frequentista. ‘O Bayesianismo
talvez seja uma forma de ver o mundo, mas certamente é a maneira de se fazer Estatística’.
Ao utilizar os dados experimentais, com a metodologia Bayesiana, é possível aprimorar as
informações previamente existentes sobre os parâmetros e melhorar a confiabilidade das
estimativas.
Para uma abordagem mais abrangente da Inferência Bayesiana, recomenda-se a consulta
a Berger (1985), Box e Tiao (1992), Gamerman e Migon (1993), Smith e Bernardo (1994),
Paulino et al. (2003), entre outros.
Geralmente, quando não se é possível obter as distribuições marginais analiticamente,
recorre-se a processos e métodos computacionais de simulação complexos, para se obter
estimativas para os parâmetros de modelos hierárquicos, distribuições conjugadas, modelos
dinâmicos, ou modelos híbridos. Métodos como Metropolis-Hastings (METROPOLIS, 1953
e HASTINGS, 1970) via amostrador de Gibbs em Cadeias de Markov, são muito utilizados na
obtenção de amostras a posteriori.
Um dos maiores problemas que impede o desenvolvimento da inferência Bayesiana
sempre foi a dificuldade de sua implementação em problemas práticos. Essa dificuldade era
em parte decorrente do amplo espectro de possibilidades existentes para a especificação da

1Carlos A. Bragança Pereira e Sergio Wechyler (IME/USP e membros do ISBRA: Seção Brasileira da Sociedade
Internacional de Análise Bayesiana).

1 ROSSI, R.M.
distribuição a priori, e em parte decorrente da dificuldade de sumarização da distribuição a
posteriori, resultante via decomposições em distribuições condicionais completas.
Com o advento de novas tecnologias surgiu uma ferramenta muito utilizada atualmente
na área Bayesiana: o WinBUGS (SPIEGELHALTER et al., 1994), que facilita a
implementação na obtenção das amostras a posteriori. O programa computacional R (R
Development Core Team) já está implementado com rotinas no contexto Bayesiano como, por
exemplo, a livraria BRugs. Recomendamos ao leitor/usuário a leitura do livro Bayesian
Computation with R de Jim Albert (2007) e Bayesian Modeling Using WinBUGS de L.
Ntzoufras (2009).
O objetivo deste texto é dar, de forma básica, condições aos alunos de graduação e pós-
graduação nas áreas ligadas a pesquisas e que utilizam métodos estatísticos nas análises de
dados, de aprimorar seus conhecimentos com pesquisas científicas as quais se limitam às
restrições e pressupostos da metodologia frequentista. A Estatística Bayesiana pode ser uma
alternativa poderosa se bem utilizada.
No Capítulo I, uma introdução à linguagem R é apresentada como parte necessária à
manipulação de rotinas específicas durante o desenvolvimento do livro. No Capítulo II,
apresenta-se breve explanação sobre a metodologia Bayesiana é apresentada para que o leitor
possa compreendê-la porém, sem se aprofundar sobre o assunto abordado. Nos Capítulos III e
IV são desenvolvidas aplicações com os programas WinBUGS/OpenBugs e o BRugs do R,
respectivamente, inseridas no contexto de análises de dados zootécnicos mais utilizadas na
área. Os dados utilizados nas aplicações foram advindos de colaborações de alunos e
profissionais das respectivas áreas de atuação. A partir das funções básicas apresentadas neste
livro, um pacote para ambiente RStudio denominado BioBayes, contendo diversas funções
para análise Bayesiana de dados, foi disponibilizada no servidor GitHub por meio do
endereço: https://github.com/rmrossidesuem/BioBayes.

2 ROSSI, R.M.
Módulo I – Introdução ao programa R

1.1Introdução

O programa R é uma ferramenta de análise estatística, e sofisticado de grande utilidade


em diferentes áreas e segmentos da pesquisa científica.
O R (não comercial) é um sistema desenvolvido a partir da linguagem S-plus
(comercial), que tem suas origens nos laboratórios da AT&T no final dos anos 1980. Em
1995, dois professores de estatística da Universidade de Auckland, na Nova Zelândia,
iniciaram o ‘Projeto R’, com o intuito de desenvolver um programa estatístico poderoso
baseado em S, e de domínio público. Seu download pode ser realizado no endereço
eletrônico: www.r-project.org. Além de ser um programa livre, possui módulos de livrarias
(pacotes) adicionais, fornecidos por colaboradores no mundo todo, também disponíveis no
site.
Este módulo apresentará de forma introdutória a linguagem R, de tal forma que o
usuário da metodologia Bayesiana possa compreender melhor a ferramenta de análise que
será apresentada durante o percurso deste material didático. Estamos considerando que o
usuário deste material já teve algumcontato mesmo que básico com o computador e que já
tenha algum conhecimento denoções básicas de operação do Windows.

3 ROSSI, R.M.
1.2 Usando a "Ajuda Ajuda Html"

Após a instalação do R, sua página inicial será apresentada da seguinte forma:

• No menu inicial no item Ajuda Ajuda Html ‘search Engine &


Keywords’ podemos procurar ajuda sobre um assunto específico.
Exemplo: digitando ‘mean’, a ajuda listará todos os tópicos que contém o item.
Outro modo de buscar ajuda é por meio de linha de comando:
help () # lista os modos como você pode pedir ajuda;
help (mean) # lista como usar a função ‘mean’: média e os vários itens;
?mean # listagem análoga;
example(mean) # lista exemplos da função ‘mean’;
help.start() # abre o arquivo de ‘html help’;
• No item ‘Pacotes’ serão encontradas algumas funções default internas do R.
Outros pacotes específicos podem ser encontrados emlistas de discussão, no site do R,
e na internet.

4 ROSSI, R.M.
Exemplo: Se estamos interessados no assunto ‘modelos de efeitos fixos lineares e não-
lineares’ ou nlme, então podemos fazer o seguinte:
Pacotes carregar pacote... nlme e então teremos tudo sobre o assunto no R.

• Também podemos fazer uso de bancos de dados disponíveis no R, por meio de


linha de comando.
Exemplo: Dados de indivíduos australianos com AIDS.
library(MASS) # carrega o Pacote ‘MASS’;
data(Aids2) # carrega o banco de dados ‘Aids2’;
?Aids2 # informações sobre os dados;
Aids2 # lista os dados.
• Ainda no item ‘Pacotes’, caso necessitemos de uma livraria específica, como
por exemplo, a BRugs para análise Bayesiana, então podemos instalá-lo a partir do site
R neste caso é necessário estar conectado à internet:

5 ROSSI, R.M.
Observações
1. Todas as funções inseridas no R ficam armazenadas no computador. Para saber
quais são elas, digite:
objects()
2. No entanto, é útil limpar tudo antes de qualquer trabalho, utilizando o
comando:
rm(list = ls())
3. Caso queira limpar somente alguns objetos, dê o comandode remoção:
rm(nome1,...,nomek)
4. O histórico dos comandos é salvo pelo R quando saímos do programa. A
pergunta sempre é feita: ‘salvar a área de trabalho?’ Os arquivos são armazenados
numa pasta default do R com extensão *.RData e *.Rhistory.
É interessante modificarmos a pasta onde estão nossos trabalhos ou até mesmo salvá-
lo em um dispositivo externo. Procedimento:
‘Arquivo salvar área de trabalho... (indique o caminho da pasta)’.

6 ROSSI, R.M.
Assim podemos ler esses arquivos numa próxima vez e continuar nosso trabalho.
‘Arquivo carregar área de trabalho ou histórico’.

1.3 Operações básicas

O R tenta interpretar tudo o que é digitado na linha de comando (seguido de ENTER ).


Veja estes exemplos:
>2 ENTER Interpretou a entrada 2 como o número 2;
[1] 2
> 2+3 ENTER Assumiu a tarefa de calculadora;
[1] 5
>1< 4 ENTER Avaliou a expressão e respondeu que é verdadeira (T);
[1] T
>1> 4 ENTER Avaliou a expressão e respondeu que é falsa (F);
[1] F
> pi ENTER Retornou o valor de π, que está armazenado
internamente.
[1] 3.141593

7 ROSSI, R.M.
As operações básicas são descritas na Tabela 1.1 a seguir:

Tabela 1.1. Operações no R.


Operadores aritméticos
+ adição
- subtração
* produto
/ divisão
^ potência
sqrt() raiz quadrada
%% resto da divisão
%/% inteiro da divisão
%*% multiplicação matricial
Operadores de comparação
== igual a
!= não igual a
< menor que
> maior que
<= menor ou igual a
>= maior ou igual a
Operadores lógicos
! não
| ou
|| ou sequencial (para avaliar condições)
& e
&& e sequencial (para avaliar condições)
Outros operadores
log() logaritmo na base e
log(a,b) logaritmo de a na base b
exp() exponencial
factorial() fatorial

8 ROSSI, R.M.
1.4 Criando objetos: variáveis, vetores e matrizes

Podemos trabalhar no R com valores que as variáveis assumem, em forma numérica,


vetorial ou matricial. Vejamos alguns exemplos na Tabela 1.2 a seguir:
Tabela 1.2. Criação de objetos.
Valores x<- 3 ou 3 -> x # as setas (análoga ao “=”) indicam que “x recebe 3”
numéricos x= 3^5 # observe que este novo cálculo substitui o primeiro
ou literais x=4 # observe que o R diferencia minúsculas e
# maiúsculas
x="nota" # podem armazenar nomes: “o nome ‘nota’ é
# atribuído a x”
nota=10 # "nota" é diferente de nota
z=nota
Concatenação x = c(1,3,6,2.7) # Conjunto de elementos de mesmo modo em uma
# ordem especificada (unidimensional) – um vetor
y = c(1:10) # criação de um vetor sequencial
z = c(x,y) # concatenação de x e y
x=c(2,3,5,8,6,4) # A partir dos vetores gerados, podemos operar com
y=c(5,7,9,1,3,6) # eles da forma que desejarmos:
x+y
x-y
x*y
x/y
x^y
log(x)
sort(x) # ordena os valores de um vetor
order(x) # retorna um vetor de inteiros que contém a
# permutação que irá ordenar o objeto de entrada
# em ordem crescente
rank(x) # retorna os postos dos valores de um vetor
Matriz M= # Disposição bidimensional de elementos de mesmo
matrix(x, # modo – uma matriz
nrow=2,ncol=2,b # nrow: número de linhas
yrow=TRUE) # ncol: número de colunas
# byrow: indica que a leitura dos dados deverá ser
# feita por linhas.
V= # Observação: aqui são válidas as operações com
matrix(13:24,4,3) # matrizes de acordo com os operadores descritos a
# seguir:
Mt=t(M) # transposição
# Matrizes de mesma dimensão podem ser somadas
# ou multiplicadas
Mt+V # soma de matrizes
Mt*V # multiplicação termo a termo
M%*%V # multiplicação matricial
M3 = # concatenar matrizes por colunas
cbind(Mt,V) # concatenar matrizes por linhas
M3 =
rbind(Mt,V)

9 ROSSI, R.M.
Inv.S = # matriz inversa
solve(matrix
(c(2,3,4,2,4,3,1,0,
2),3,3))
Listas # Conjunto de componentes que podem ser de
t=list(x=c(1,3,5,7) # qualquer um dos outros tipos de objetos
, t[1] # aqui há os valores numéricos de x
y = c(2,4,6,8), t[2] # aqui há os valores numéricos de y
z= t[3] # aqui há os literais de z
c(”A”,”B”,”C”,”
D”))

1.5 Trabalhando algumas funções internas do R

Algumas funções já estão pré-definidas para que possamos utilizar:


1) Estatística descritiva
x = c(2,5,8,4,9,3,0,1,3)
mean(x) # média de x
var(x) # variância de x
sd(x) # desvio-padrão de x
median(x) # mediana de x
quantile(x) # retorna os quartis de x
sum(x) # soma dos valores de x
summary(x) # retorna as principais estatísticas do vetor x

2) Modelos Lineares: função lm

Exemplo 1.5.1. Um experimento foi conduzido para avaliar, em coelhos, a DR


(disponibilidade relativa) do Fósforo existente nos Fosfatos de rocha de Araxá e de Patos em
relação ao Fósforo existente no Fosfato Bicálcico (Padrão).
Os animais foram alimentados com rações que continham níveis crescentes de cada
Fosfato e foram anotados os consumos de ração, o que permitiu calcular o consumo de
Fósforo em cada unidade experimental. A variável resposta observada foi a resistência do
fêmur à quebra, mensurada com dinamômetro.
A disponibilidade relativa é estimada pela razão entre os coeficientes lineares de
regressão (angular no caso da reta) obtido para o Fosfato de interesse e para o Fosfato
Bicálcico.

10 ROSSI, R.M.
Objetivos: Estimar a disponibilidade relativa do Fósforo nos Fosfatos de rocha Araxá
e Patos de Minas e escolher o melhor.
# Análise dos dados, considerando-se o Fosfato Araxá
Entrada de dados
x.araxa = c(0.184,0.35,0.516,0.683,0.849,1.015) # Consumo de Fósforo
y.araxa = c(21.28,31.6,32.42,41.74,42.06,53.38) # Resistência do fêmur à
quebra

Ajuste linear
lm.araxa = lm(y.araxa ~ x.araxa)
summary(lm.araxa)
anova(lm.araxa)

Obtendo valores preditos e seus respectivos intervalos de confiança e predição


y.pred = predict(lm.araxa)
Interv.conf = predict(lm.araxa,interval="confidence")
Interv.pred = predict(lm.araxa,interval="prediction")
m = matrix(cbind(Interv.conf,Interv.pred[,2:3]),ncol=5)
nomes =
list(NULL,c("y.predito","Linf.IC","Lsup.IC","Linf.IP","Lsup.IP"))
dimnames(m) = nomes

Construindo os gráficos dos valores observados e ajustados


matplot(x.araxa,m,lty=c(1,2,2,3,3),type="l",col=c(1,2,2,4,4),bty="n",main='',
xlab='Consumo de P (Araxá)',ylab='Resistência do Fêmur')
points(x.araxa,y.araxa)
legend(.7,30,c("Regressão","Confiança","Predição"),bty="n",cex=0.8,lty=1:
3,col=c(1,2,4))
text(0.5,60,"Reta estimada: Y = 16.4 + 34.6X",cex=0.6)
text(0.5,58,"R² = 0,94",cex=0.6)

11 ROSSI, R.M.
60
50 Reta estimada: Y = 16.4 + 34.6X
R² = 0,94
Resistência do Fêmur

40
30

Regressão
Confiança
Predição
20

0.2 0.4 0.6 0.8 1.0

Consumo de P (Araxá)

Figura 1.1.Ajuste Linear da Resistência do Fêmur em coelhos pelo Consumo de Fósforo (P) existente
nos Fosfatos de rocha de Araxá.

Observação: A análise dos dados considerando os Fosfatos Patos de Minas e Bicálcico são análogos e
serão omitidos.

x.patos = c(0.195,0.35,0.505,0.661,0.816,0.972)
y.patos = c(23.5,34.59,31.18,43.27,40.36,50.45)
lm.patos = lm(y.patos ~ x.patos)
x.bicalcico = c(0.18,0.36,0.5,0.65,0.78,0.94)
y.bicalcico = c(25,39,43,60,63,71)
lm.bicalcico = lm(y.bicalcico ~ x.bicalcico)

# Comparação gráfica após os ajustes dos três modelos

plot(x.araxa, y.araxa, xlab='Consumo de P',


ylab='Resistência do Fêmur', xlim=c(0.1,1), ylim=c(20,75), bty="n")
points(x.patos, y.patos, pch=2)
points(x.bicalcico, y.bicalcico, pch=3)
abline(lm.bicalcico, lty=1)
abline(lm.araxa, lty=2)
abline(lm.patos, lty=3)
legend(0.7, 30, c("Bicálcico","Araxá","Patos"), bty="n", cex=0.8, lty=c(1:3))

12 ROSSI, R.M.
70
60
Resistência do Fêmur

50
40
30

Bicálcico
Araxá
Patos
20

0.2 0.4 0.6 0.8 1.0

Consumo de P

Figura 1.2. Comparação gráfica dos ajustes lineares da Resistência do Fêmur em coelhos pelo
Consumo de Fósforo (P) existente nos Fosfatos de rocha de Araxá, Patos de Minas e Bicálcico
(padrão).

Obviamente se percebe por meio da Figura 1.2, que o Fosfato Bicálcico apresenta
maior coeficiente angular que os demais Fosfatos, portanto, neste caso, é considerado padrão.
Para o cálculo da DR dos Fósfatos, tem-se:
DRAraxá = 34,58/61,40 = 0,5632 ou 56,32%
DRPatos = 30,19/61,40 = 0,4917 ou 49,17%
Conclui-se que o Fosfato Araxá é superior quando comparado ao de Patos de Minas.
O R está repleto de pacotes com funções prontas, basta navegar no diretório:
Ajuda → Ajuda Html →Packages
Mesmo que não haja função específica, podemos criar uma. No próximo tópico
apresentaremos alguns procedimentos básicos e algumas rotinas.

13 ROSSI, R.M.
1.6 Criando funções básicas

O R trabalha com linguagem S-plus de programação. Mostraremos alguns exemplos


de funções que podem ser criadas no R. Caberá ao usuário, se necessário, produzir sua própria
função caso não esteja disponível em uma das livrarias do R, ou até mesmo na internet. Para
gerar funções como no software matemático ‘Maple’ ou no software estatístico comercial
SAS, o R utiliza o comando ‘function’.
Exemplo 1.6.1. Cálculo de imc (índice de massa corpórea):razão entre o peso e o
peso (kg)
quadrado da altura: imc = .
altura 2 (m)
imc = function(peso,altura) {peso/altura^2}
Desta forma, a variável ‘imc’ dependerá exclusivamente das informações das
variáveis: ‘peso’ e ‘altura’, como na chamada da função para um indivíduo com peso de 60
Kg e altura 1,70 m, o seu imc será de 20,76.
imc(peso=60,altura=1.70)

n
Exemplo 1.6.2. Soma quadrática : ∑ (x i − µ) 2
i =1

SQ= function(x)
{
mi = mean(x)
soma = sum((x - mi)^2)
soma
}
x = c(2,3,4,2,4)
SQ(x)

Exemplo 1.6.3. Cálculo do valor em uma função densidade de probabilidade normal.


 ( x − µ ) 2 
− 
1  2σ2 
Normal (µ; σ) : f ( x ) = e
σ 2π
f.normal = function(x,mu,sigma)
{1/(sigma*sqrt(2*pi))*exp(-((x-mu)^2)/(2*sigma^2))}
f.normal(2.5,3,0.2)

14 ROSSI, R.M.
O R dispõe das principais funções de densidade de probabilidade.
A Tabela 1.3 apresenta os comandos.
Tabela 1.3. Principais distribuições de probabilidade.
Argumentos Argumentos
Nome Distribuição Default
Necessários Opcionais
beta Beta shape1, shape2
binom Binomial size, prob
cauchy Cauchy location, scale 0, 1
chisq Qui-quadrado df
exp Exponencial
F Fisher df1, df2 rate 1
gamma Gama shape
geom Geométrica prob
hyper Hipergeométrica m, n, k
lnorm Log-normal meanlog, sdlog 0, 1
logis Logística location, scale 0, 1
nbinom Binomial Negativa size, prob
norm Normal mean, sd 0, 1
pois Poisson lambda
T t-Student df
unif Uniforme min, max 0, 1
weibull Weibull shape scale --, 1
*Novas distribuições sempre são implementadas em pacotes que são disponibilizados.

O R tem muitas funções para realizar cálculos de probabilidade, incluindo a geração de


números aleatórios de determinadas distribuições de probabilidade. Essas funções têm a
seguinte forma geral:
letranome(argumentos separados por vírgula)
r: gera números aleatórios (n: quantidade gerada);
p:calcula probabilidades da função densidade de probabilidade acumulada (f.d.a.);
q:calcula quantis (percentis) da inversa da f.d.a.;
d:calcula valores da densidade.

Exemplo 1.6.4. Binomial com parâmetros n = 10 e p = 0,3.


dbinom(x=8,10,0.3) # valor x=8 na densidade
pbinom(q=5,10,0.3) # probabilidade acumulada até 5
qbinom(p=0.85,10,0.3) # percentil (ex. P85)

# Geração de 10.000 valores


Amostra = rbinom(10000,10,0.3)

15 ROSSI, R.M.
Exemplo 1.6.5. Normal com média 3 e desvio-padrão 1,5.

dnorm(x=5,3,1.5) # valor x=5 na densidade


pnorm(q=3,3,1.5) # probabilidade acumulada até 3
qnorm(p=0.7,3,1.5) # D7 ou P70

1.7 Criando funções avançadas

A maioria das rotinas de simulação necessita de comandos de looping ou ciclos, de


repetições, ou comandos lógicos ‘se – então’ ou ‘enquanto ocorrer isto – faça aquilo’. A
seguir serão apresentados alguns exemplos de como esses comandos são implementados.

1.7.1 Usando as funções "while" e "if"


Exemplo 1.7.1. A função a seguir tem como objetivo separar os números pares e os
ímpares de uma sequência qualquer.
separapar = function (x)
{
n = length(x)
y = numeric()
i <-1
while(i<=n)
{
if(x[i]%%2==0)
y = c(y,x[i])
i = i+1
}
cat("\n Estes são os números pares: ")
y
}

Chamando a função:

x = c(1,3,4,6,7,8,9,-3,0,193,-44)
separapar(x)

1.7.2 Usando as funções "repeat" e "break"

Muitas vezes é de grande utilidade a utilização das funções repeat e/ou break como
condição na programação, isto é, ‘se isto faça aquilo’. Um exemplo bem simples pode ser
visto da seguinte forma:
repeat {
z = runif(1)

16 ROSSI, R.M.
if (z>0.5) break
}
cat('\n Valor gerado: ', z)

Neste exemplo, deseja-se que a rotina gere um único número aleatório a partir de uma
distribuição uniforme, verifique se tal número é superior a 0,5, então ele apresentará o número
gerado, caso contrário irá repetir esse procedimento até que ocorra tal situação.

Exemplo1.7.2.Usar a função ‘repeat’ para criar uma função com o seguinte algoritmo.
(Passo 1) se z gerado de uma normal padrão for, em módulo, maior do que 2, repita
até gerar um valor de interesse;
(Passo 2) informe o valor quando gerado.
Solução:
repeat {
z = rnorm(1,0,1)
if (abs(z)<=2) break
}
cat('\n Valor gerado: ', z)

Exemplo1.7.3.Considerando-seuma função matemática específica x 3 + 2x , calcularsua


imagem y = f(x) no ponto x = 3, e em seguida calcular todos os valores de f(x), considerando
uma sequência de -10 a 10 e parar quando o resultado for maior do que 30.

Solução:
f = function(x)
{
x^3 + 2*x
}
f(x=3)

# plotando a função f:
x = seq(-10, 10, 0.01)
y = f(x)
plot(x, y, bty="n", type="l")
abline(h=30, lty=2)

for (x in 1:length(x))
{
print (f(x))
if (f(x) > 30) break
}

17 ROSSI, R.M.
1.7.3 Usando a função “nlm”

A rotina nlm é uma função interna do R para obter pontos de mínimo em funções,
baseada em algoritmo tipo Newton-Raphson.
?nlm
A sua forma geral é dada por: nlm(f,x)
Exemplo1.7.4. Encontrar o ponto de máximo da função f(x) = -3x 2 +5x-10.
Solução:
f = function(x) -3*x^2+5*x-10
x = seq(-10,10,0.01)
y = numeric()
for ( i in 1:length(x)) y[i] = f(x[i])
plot(x,y,type='l', bty='n')

Figura 1.3. Gráfico da função f(x) = -3x 2 +5x-10.

Maximização via nlm (obtendo ponto de mínimo)

f2 = function(x) -f(x)
z = nlm(f2, 5)
z$estimate
# 0.833333
f(z$estimate)
# ou
z$minimum
# -7.916667
Existem outros tipos de comandos similares disponíveis no R:
optimize(), fitdistr() e mle(), disponíveis para a estimação por máxima
verossimilhança nos pacotes MASS e MLE.

18 ROSSI, R.M.
1.8 Construindo gráficos
Uma das maiores vantagens do R é a qualidade dos gráficos que podem ser salvos em
vários formatos, como exemplo, *.tiff, *.ps ou *.pdf de alta resolução. A variedade de
gráficos é enorme, portanto serão apresentados apenas os mais utilizados.

1.8.1 Comando “plot”


Este comando gera gráficos de dispersão com várias opções: por pontos, por linhas,
escada etc.
Exemplo 1.8.1. Se houver interesse em verificar graficamente se existe relação entre
"x: velocidade" e "y: distância de parada" nos dados do arquivo "cars", então se faz o
seguinte:
data(cars)
x = cars[,1]
y = cars[,2]

O comando plot construirá um gráfico da dispersão de x versus y.


plot(x,y)
Algumas opções:
# type = "p" - pontos (default)
# "l" - linha
# "b" - traço e ponto
# "c" - traço
# "h" - segmentos horizontais
# "s" - escada
# "n" - nada
# xlim=c(x1,x2) : valores mínimo e máximo da escala X;
# ylim=c(y1,y2) : valores mínimo e máximo da escala Y;
# axes=T : insere o gráfico em uma caixa;
# col=1 : cor do gráfico, preto=1, >1 outras cores;
# lty=1 : tipo de linha, 1=sólida, >1 outras;
# cex=1 : define o tamanho da letra a ser usada;
# log="c" : controla a escala logaritmica dos eixos;
# text(x,y,"texto") : insere texto no gráfico na posição (x,y);
# legend(x,y,c("a","b"),lty=c(1,3),bty="n") : insere legenda no gráfico.

19 ROSSI, R.M.
1.8.2 Comando “hist”

O comando hist gera o gráfico do histograma da distribuição. Isto será exemplificado


primeiramente gerando-se amostras aleatórias com distribuições normais:

Exemplo1.8.2. Histograma de uma distribuição Normal(3;1,5).

x = rnorm(1000,3,1.5)
hist(x,xlab="Variável X",ylab="Frequência",
main="Histograma",col="lightblue",border=NULL)

outra opção:
hist(x,xlab="Variável X",ylab="Probabilidade",
br=6,main="Histograma",freq=FALSE,col="gray",border=NULL)

# Se freq=FALSE tem-se a distribuição densidade de probabilidade;


# col: opção para a cor nas barras;
show.col()
# border: opção para a borda do gráfico;
# xlim: opção para escala de x;
# ylim: opção para escala de y;
# nclass: opção para o número de classes;
# br:breaks: opção para o número de barras ou para os pontos de quebras;
# main: opção para o título do gráfico.
0.25
250

0.20
200

0.15
Probabilidade
150
Freqüência

0.10
100

0.05
50

0.00
0

-2 0 2 4 6 8 -2 0 2 4 6 8

Variável X Variável X

Figura 1.4. Histograma de uma distribuição Normal(3;1,5).

20 ROSSI, R.M.
Exemplo 1.8.3. Histograma de uma distribuição Normal(0;1).

z = sort(rnorm(10000,0,1))
hist(z,prob=T,xlim=c(-3,3),ylim=c(0,0.5),col='skyblue',main="Histogramada
Normal (0,1)",ylab="Probabilidade")
lines(z,dnorm(z,0,1))

Observação: O comando ‘lines’ é utilizado para sobrepor gráficos.

1.8.3 Comando “density”


Pode-se optar por gerar o gráfico da função densidade de probabilidade dos dados,
utilizando-se o comando ‘density’.
Exemplo 1.8.4. Plotar as densidades das variáveis do banco de dados ‘cars’.
data(cars)
x = cars[,1]
y = cars[,2]
par(mfrow=c(1,2))
plot(density(x))
plot(density(y))

Exemplo1.8.5. A linha de comando a seguir terá como objetivo ajustar, via função
fitdistr da livraria MASS, três tipos de distribuições distintas, a fim de se obter a que melhor
se aproxima da distribuição natural, que pode ser visualizada no histograma dos dados,
referentes à variável ‘tempo’, como, por exemplo, tempo (em semanas) até a ocorrência de
um evento qualquer.
t = c(1,22,3,12,8,17,2,11,8,1,2,5,4,1,8,2,5,1,4,1,8,10,7,32,23,22,6,16,34,32,25,11,
20,19,6,17,35,6,13,9,6,10)
library (MASS)
fitdistr(t,"weibull")

# shape scale
# 1.1652964 12.1839177
# ( 0.1425405) ( 1.7012732)

fitdistr(t,"lognormal")
# meanlog sdlog
# 2.0042166 1.0506065
# (0.1621121) (0.1146306)

fitdistr(t,"exponential")
# rate
# 0.08659794
# (0.01336235)

21 ROSSI, R.M.
# Histograma com as curvas ajustadas

hist(t,ylim=c(0,0.1),main = "",xlab=" Tempo


(semanas)",ylab="Probabilidade",freq=FALSE)
lines(sort(t),dweibull(sort(t),shape=1.17,scale=12.18),lty=1, col="blue")
lines(sort(t),dlnorm(sort(t),meanlog=2.00, sdlog=1.05), lty=3, col="red")
lines(sort(t),dexp(sort(t),rate=0.087),lty=3, col="green")
legend(20,0.08,bty = "n",cex =
0.9,lty=1:3,col=c("blue","red","green"),c("Weibull","Log-
Normal","Exponencial"))

Observa-se claramente pelos gráficos gerados que a distribuição Weibull foi a que
apresentou um melhor ajuste para os dados. Obviamente testes estatísticos seriam necessários
para tomadade decisão, porém tal procedimento será apresentado nos módulos seguintes.

Figura 1.5 Ajuste das distribuições Weibull, Log-Normal e Exponencial a dados simulados.

22 ROSSI, R.M.
1.9 Importação e exportação de dados
Existem diferentes modos de importação de dados no R.
rm(list=ls(all=TRUE)) # Limpando memória do R
setwd("C:\\Work") # Diretório de trabalho – onde o arquivo de dados deve estar
alocado

Modo 1 - Arquivos CVS


dados = read.table(file="dados.csv", header=T, sep=";")
dados
is(dados)

Modo 2 - Arquivos CVS - Números decimais separados por vírgula


dados = read.csv(file="dados.csv", header=T, dec=",", sep=";")
dados

# Arquivos CVS - Números decimais separados por ponto


dados = read.csv(file="dados.csv", header=T, dec=".", sep=";")

Modo 3 - Arquivos CVS


nomes = scan(file="dados.csv", sep=";", nlines=1, what="character")
dados = read.table(file="dados.csv", header=F, sep=";", na.strings = c(""),
skip=1, nrows=9, col.names=nomes)

Modo 4 - Arquivos TXT


dados = read.table(file="dados.txt", header=T)
dados = matrix(scan("dados.txt"),ncol=3,byrow=T)
dimnames(dados)=list(NULL,nomes)
dados
is(dados)

# Também é possível ler arquivos disponíveis em sites da internet:


dadosnet = read.table("http://www.site.com.br/dados/dados.txt")

Modo 5 - Arquivos XLS e XLSX

library(xlsx) # Biblioteca necessária


dados = read.xlsx("dados.xlsx",1)
Observação: O subcomando na.strings=c("") serve para identificar valores
faltantes; Para trabalhar com a omissão desses valores, o comando na.omit pode ser utilizado.
Entretanto, observe que ele exclui toda informação na linha que contém o "NA"

dados = read.xls(xls="dados.xls", sheet=1, na.strings=c(""))


dados.na = na.omit(dados)

23 ROSSI, R.M.
Para exportação de dados, pode-se utilizar o comando “write”:
library(MASS)
setwd("C:\\Work")
write.matrix(dados, file = "dadossaida1.txt", sep=" ")
write.table(dados, file = "dadossaida2.txt")
write.csv(dados, file = "dadossaida3.csv")

Em estruturas de dados mais complexas, consulte o manual R Data Import/Export e a


documentação dos pacotes que implementam tal funcionalidade, como: RODBC, DBI,
RMySQL, RPostgreSQL, ROracle, RNetCDF, RSQLite, dentre outros.

24 ROSSI, R.M.
Módulo II – Introdução à modelagem Bayesiana

2.1 Introdução
O Reverendo Thomas Bayes, em 1763, em sua obra póstuma intitulada Na Essay
Towards Solving a Problem in the Doctrine of Chances, apresenta a Inferência Estatística
Bayesiana como uma nova metodologia de análise de dados fundamentada em probabilidades
condicionais.
Os dados amostrais são comuns aos modelos frequentistas e Bayesianos, porém com
interpretações distintas. Enquanto no modelo frequentista o parâmetro é um escalar ou um
vetor desconhecido, porém fixo, no modelo Bayesiano aquele é considerado um escalar ou
vetor aleatório desconhecido que por sua vez, é quantificado em termos de probabilidade e
formalmente denominado como distribuição a priori. As informações a priori e amostrais
permitem modelar e atualizar as estimativas dos parâmetros a posteriori por meio da regra de
Bayes.
As aplicações da metodologia Bayesiana são inúmeras, em diferentes contextos e áreas.
Neste texto será dada ênfase à área zootécnica em aplicações simuladas e com dados reais.
Ficará a cargo do leitor o conhecimento prévio de algumas técnicas frequentistas empregadas
aqui, já que a metodologia será apresentada de modo direto, visto que os objetivos principais
são apresentar e utilizar as ferramentas computacionais disponíveis para a análise Bayesiana,
assim como as interpretações dos resultados. Logo mais será apresentado de forma resumida,
o procedimento Bayesiano. É altamente sugestivaa leitura de Box e Tiao (1992), Gamerman e
Migon (1993), Paulino et al. (2003) entre outros.

2.2 Função de verossimilhança


Em geral, após a realização do experimento, X assume-se um valor x e o pesquisador
pode então considerar a função L(θ|x) : Θ→ℜ(ℜ:reta real), definida por L(θ|x)= fx(x|θ), para
todo θ∈Θ. A função L(θ|x)denomina-se função de verossimilhança. Toda a informação
relevante que a amostra x pode fornecer sobre o parâmetro θ está contida na função de
verossimilhança, possibilitando ao pesquisador estimar θ, utilizando apenas a informação
amostral.
A atribuição de uma probabilidade a um evento está, em geral, relacionada diretamente
com o estado de informação disponível. Contudo, a ocorrência de algum outro evento
associado ao experimento em questão pode modificar esse estado de informação. Mais

25 ROSSI, R.M.
especificamente, suponha que o interesse seja atribuir uma probabilidade a um evento, A,
associado a um experimento aleatório. Baseado no conhecimento da mecânica do
experimento, que corresponde a um estado inicial de informação, atribui-se uma
probabilidade, P(A), ao evento A. Contudo, se houver a informação de que o outro evento, B,
ocorreu e que essa ocorrência possa modificar o estado inicial de informação, é permitido
atualizar (reavaliar) P(A) por um novo valor, denotado por P(A|B), chamado de probabilidade
condicional do evento A dado B. Denotando-se por P uma probabilidade que corresponde ao
estado inicial de informação sobre o experimento, pode-se definir coerentemente P(A|B) por
P(A ∩ B)
P(A | B) = ; P(B) > 0
P(B)
daí vem que
P(A ∩ B) = P(A | B)P(B) .

Teorema de Bayes
Supõe-se que A1, A2, ...,An e B sejam eventos associados a um experimento aleatório
tais que A1, A2, ... ,An são mutuamente exclusivos (Ai∩Aj=φ;i≠j) e B⊆∪Ai. Se P for uma
probabilidade tal que P(Ai)>0, i = 1, 2, ..., n e P(B) > 0, então

P(B | Ai )P(A i )
P(Ai | B) = n
; i = 1, 2,..., n
∑ P(B | A )P(A )
i
i i

P(B|Ai) é a informação proveniente dos dados (verossimilhança).


P(Ai) é denominada a probabilidade a priori (prévia) do evento Ai e P(Ai|B) é a
probabilidade a posteriori (posterior) do evento Ai dado o evento B.

2.3 Atualização da incerteza


A informação que se tem sobre uma quantidade de interesse θ é fundamental na
Estatística. O verdadeiro valor de θ é desconhecido e a ideia é tentar reduzir esse
desconhecimento. Além disso, a intensidade da incerteza a respeito de θ pode assumir
diferentes graus. Do ponto de vista Bayesiano, esses diferentes graus de incerteza são
representados por meio de modelos probabilísticos para θ. Neste contexto, é natural que
diferentes pesquisadores possam ter diferentes graus de incerteza sobre θ (especificando
modelos distintos). Sendo assim, não existe nenhuma distinção entre quantidades observáveis

26 ROSSI, R.M.
e os parâmetros de um modelo estatístico, então todos são considerados quantidades
aleatórias.
Em muitas situações, antes de o experimento ser realizado, o pesquisador é capaz de
descrever probabilisticamente sua incerteza sobre θ por meio de uma distribuição de
probabilidade a priori para θ, π(θ). Neste contexto, geralmente, trabalhar-se-á com
distribuições a priori não-informativas. Discussão a respeito de utilização de outros tipos de
distribuições a priori pode ser obtida de forma mais detalhada em Berger (1985), Box e Tiao
(1992), Bernardo e Smith (1994) e O'Hagan (1994).
Supõe-se agora que, uma vez realizado o experimento, a variável aleatória X assuma o
valor x. Então, dada a informação que o evento (X=x) ocorreu, o pesquisador pode atualizar a
distribuição de probabilidade π(θ) pela distribuição de probabilidade condicional de θ,
conhecida como distribuição de probabilidade a posteriori para θ, π(θ|x).
O objetivo da Inferência Bayesiana é justamente formalizar a passagem de π(θ) para
π(θ|x):
Caso Discreto Caso Contínuo
L(θ|x)π(θ) L(θ|x)π(θ)
π(θ|x) = π(θ|x) = [2.1]
∑ L(θi |x)π(θi )
i ≥1
∫ L(θ|x)π(θ)dθ
θ

Como em cada uma das expressões acima o denominador é igual à imagem do ponto x
pela função de probabilidades ou pela função densidade de probabilidades de X e, portanto,
constante, logo de (2.1) tem-se a seguinte proporcional:

π(θ|x) ∝ L(θ|x)π(θ) [2.2]

27 ROSSI, R.M.
2.4 Principais características do modelo Bayesiano
1. os parâmetros θ são tratados como quantidades aleatórias;
2. o modelo estatístico não será somente π(x|θ), mas π(x,θ), a distribuição conjunta
dos dados x e dos parâmetros θ;
3. as estimativas para θ não serão somente valores, mas sim uma distribuição de
probabilidades;
4. π(θ) expressa a incerteza sobre θ antes de se observar os dados x, que dependem
dele (a priori). Por exemplo: diga-se que um paciente qualquer chegue a uma
clínica e deseja saber se é portador de certa doença, então o médico responde: ‘a
priori você tem 15% de chance (baseado em estimativas e/ou conhecimento
prévio da população)’. À medida que o paciente informa para o médico que tem
antecedentes familiares, ele atualizará a resposta: ‘a posteriori você tem 27% de
chance de ter tal doença’;
5. π(θ|x) é a distribuição de probabilidades dos parâmetros θ ‘à luz’ dos dados x,
isto é, expressa a incerteza sobre θ depois de se observar os dados x que
dependem dele (a posteriori). De posse de π(θ|x), podem-se examinar quaisquer
informações de θ (média, variância, percentis, probabilidade de assumir
determinados valores etc).

28 ROSSI, R.M.
2.5. Vantagens e desvantagens do procedimento Bayesiano
A Teoria Frequentista muitas vezes, é limitada em vários aspectos:
1. pela aceitação de algo não real; por exemplo, aceitação da distribuição normal
(gaussiana) para os dados;
2. por recursos computacionais limitados: estimativas de máxima
verossimilhança são complexas em alguns casos, como por exemplo, na
obtenção de componentes genéticos em melhoramento animal e vegetal;
3. obtenção de estimativas absurdas como, por exemplo, intervalos de confiança
infinitos, principalmentes nos casos em que o tamanho amostral é insuficiente.
A Inferência Bayesiana pode ser uma alternativa ao Método Frequentista nessas
situações além das descritas a seguir:
1. a utilização de informação prévia a respeito do parâmetro de interesse pode
fazer com que as estimativas a posteriori sejam mais coerentes com a realidade da
variável de interesse;
2. a utilização de distribuições não-informativas permite fazer camparações com
os resultados da inferência frequentista.

Talvez a principal desvantagem do método seria depender de recursos computacionais,


que, em certos casos, para alguns modelos, demanda muito recurso como, por exemplo,
processadores de alto desempenho e memória disponíveis - um exemplo disso são os cálculos
em melhoramento genético de bovinos, em que bancos de dados, que geralmente envolvem
muitas variáveis, genealogia e informações de anos de observações, são muito grandes. A
obtenção das distribuições marginais por processos analíticos muitas vezes é impossível,
assim, a obtenção da distribuição marginal a posteriori pode ser obtida por métodos
computacionais, tais como o método de amostragem de Gibbs (Gibbs Sampler) pertencente à
classe de métodos denominada Monte Carlo em Cadeias de Markov (MCMC), ou até mesmo
por métodos sofisticados como o de Metropolis-Hastings (METROPOLIS, 1953 e
HASTINGS, 1970),o de Amostragem por Rejeição Adaptativa (ARMS) (GILKS e WILD,
1992), entre outros. Alguns programas estatísticos ainda não estão implementados com a
metodologia Bayesiana desta forma, determinados cálculos exigem do usuário alguns
conhecimentos principalmente na linguagem de programação para obtenção de resultados
específicos.

29 ROSSI, R.M.
2.6. Exemplos analíticos e aplicações no R
Serão apresentados alguns modelos simples para ilustrar a teoria apresentada.

Exemplo 2.6.1. Modelo Discreto – Binomial.


Supõe-se agora que o parâmetro de interesse seja a proporção, θ (0 ≤ θ ≤ 1,
desconhecido), de indivíduos portadores de certa característica em uma população. Para o i-
ésimo indivíduo tem-se que Yi ~ Bernoulli(θ), sendo θ a probabildade de ter a característica.
Selecionada uma amostra aleatória de tamanho n e com reposição, da população, supõe-se que
se observe t = número de elementos portadores da característica de interesse na amostra.
Então, dado θ, a distribuição de probabilidades de t é Binomial com parâmetros n e θ, isto é,
n
P(T = t | θ) =   θt (1 − θ) n −t , t = 0, 1, ..., n.
t
Existem métodos de obtenção das distribuições a priori que assumem diferentes
formas. As mais utilizadas são as de Jeffreys, a de Bayes-Laplace e Box-Tiao (PAULINO et
al., 2003).
Observação: Quando as distribuições a priori e a posteriori pertencem a uma mesma
classe de distribuições de probabilidades, afirma-se que são conjugadas.
Supõe-seentão que, a priori, a distribuição de probabilidade de θ seja uma Beta
(poderia ser outra desde que 0 < θ < 1) com parâmetros α e β conhecidos (α> 0, β> 0), isto é:
1
π(θ) = θα−1 (1 − θ)β−1 , em que beta(α,β) é a função matemática
beta(α, β)
Γ(α)Γ(β)
tal que Γ(n) = (n − 1)! , o que implica em uma distribuiçãoa posteriori conjugada,
Γ ( α + β)
isto é, também de uma função densidade de probabilidade Beta porém com parâmetros α+t e
β+n-t dada por:
θ|t ~ Beta(α+t, β+n-t),
n
em que t = ∑ yi o total de sucessos observados na amostra.
i =1

30 ROSSI, R.M.
α+t
Sua média a posteriori é dada por E(θ | X) = . Sob o ponto de vista
α+β+ n
t
frequentista, é um estimador não viciado e de variância uniformemente mínima (e.m.v) de
n
θ e E(θ | T) que pode ser visto como:

α+t  α+t  t
E(θ | T) = E(θ) + 1 − ,
α + β + n media a priori  α + β + n  n
e.m.v.

isto é, a média da distribuição a posteriori é igual a uma combinação linear convexa (soma =
t
1) da média a priori e do estimador frequentista de θ, , que representa a proporção da
n
característica na amostra.
Supõe-se que uma pesquisa será realizada com bovinos com o objetivo de verificar se
determinada predisposição ou característica genética na vaca influi no sexo do bezerro. Nesta
situação a hipótese de nulidade será: ‘Não há influência da predisposição genética na
determinação do sexo do animal’. Sabe-se que, após o experimento, isto é,após 980
nascimentos, foram observados 437 nascimentos de bois machos.
n
Suposições do modelo: Yi ~ Bernoulli(θ) tal que t = ∑ yi ~ Binomial(n, θ); com n =
i =1

980 e θ (proporção de machos na população) desconhecido.


Como distribuição a priori para θ, assumir-se-á:
θ ~ Beta(α, β), com α = β = 1, isto é, uma distribuição a priori não-informativa
constante já que θ ∝ 1.
Observação: existem diferentes métodos para se obter uma distribuição a priori
que pode ser própria ou imprópria (acomodam probabilidades infinitas), destacando-se entre
os principais: Bayes-Laplace, Jeffreys e Box-Tiao. Em geral, as distribuições a priori geradas
pelas regras de Bayes-Laplace e Jeffreys são frequentementes impróprias. As distribuições
 1
Beta(0, 0), e Beta  0,  , por exemplo, são conhecidas como distribuiçõesnão-informativas
 2
1 1
de Jeffreys do tipo imprópria, e a Beta  ,  , do tipo própria (PAULINO et al., 2003).
2 2
Segundo os mesmos autores, quando a informação a priori é fraca relativamente à informação
amostral, sucede frequentemente que as inferências a posteriori são robustas perante
especificação deficiente da distribuição a priori. Daí que esta distribuição possa ser

31 ROSSI, R.M.
especificada grosseiramente e, neste quadro, as distribuições impróprias possam ser aceitáveis
para o subjetivista na ótica de constituírem aproximações razoáveis a distribuições próprias
que representam fraca informação a priori.
A distribuição marginal condicional a posteriori de θ terá forma conhecidda dada por:
θ|y ~ Beta(437+1, 543+1).
Podem-se obter as estatísticas diretamente das fórmulas conhecidas da distribuição Beta
ou simulando-se uma cadeia de n = 1.000 observações de θ|y, via algum programa estatístico
como, por exemplo, o R de acordo com a linha de comando:
rbeta(n,shape1,shape2)
que gera n valores de uma Beta com parâmetros: α = shape1 e β = shape2. Assim, no R,
digite:
priori=rbeta(1000,1,1)
par(mfrow=c(1,2))
hist(priori,main="",xlab=expression(paste(theta)),ylab="Densidade",col="g
ray")
posteriori= rbeta(1000,438,544)
hist(posteriori,main="",xlab=expression(paste(theta,"|y")),ylab="Densidade
",col="gray")
250
100

200
80

150
Densidade

Densidade
60

100
40

50
20
0

0.0 0.4 0.8 0.40 0.44 0.48

θ θ|y

Figura 2.1. Distribuições a priori e a posteriori de θ|y, respectivamente, considerando-se o Exemplo


2.6.1.

32 ROSSI, R.M.
Os comandos a seguir, à esquerda, fornecerão (à direita) as estatísticas correspondentes:
mean(posteriori) : calcula a média dos dados gerados;
var(posteriori) : calcula a variância dos dados gerados;
median(posteriori) : calcula a mediana dos dados gerados;
quantile(posteriori,c(0.025,0.975)) : calcula os percentis 2,5 e 97,5 dos dados
gerados.
Seguindo estes procedimentos será obtido(a):
E[θ|y] = 0,447 : média a posteriori;
Var(θ|y) = (0,016)² : variância a posteriori;
Md = 0,446 : mediana a posteriori;
ICr(θ;95%) = (0,416,0,478) : intervalo de credibilidade a posteriori de
θ, isto é, seus pencentis 2,5 e 97,5, respectivamente.
A hipótese nula a ser testada será de que “não há influência da predisposição genética
nadeterminação do sexo do animal”, isto é, H0: E(θ|y) = 0,5.
O intervalo de 95% de credibilidade para a posteriori de θ|yindica que a hipótese nula
pode ser rejeitada, isto é, que existe influência da predisposição genética na determinação do

sexo do animal, pois E[θ] ∉ ICr(θ;95%).


A utilização de uma distribuição a priori não-informativa implica uma distribuição
equivalente à função de verossimilhança, isto é, resultado análogo para a estimativa da média
a posteriori equivalente à média frequentista (Figura 2.2).

Figura 2.2. Distribuição a priori de θ, verossimilhança e distribuição a posteriori de θ|y.

33 ROSSI, R.M.
Exemplo 2.6.2. Modelo Discreto–Poisson.
Assume-se que o número Yi de observações segue uma distribuição de Poisson:

Y~ Poisson(θ), θ> 0
e −θθy
P(Y = y) = ; y = 0, 1, 2, ...
y!
em que θ pode representar a média ou taxa de ocorrência de um evento em um dado intervalo
de tempo, área ou volume. Considere que Y represente o número de ovos postos por dez aves
em tratamento com ração especial durante o período de um mês; o interesse é estimar θ: a
média de produção. Gerados no R com parâmetro 25, obtiveram-se os dados simulados:
set.seed(321)
x = rpois(10,25)

Y:{33;21;22; 24;26; 28;26;26; 22;36}


A função de verossimilhança será dada por:
n
n n ∑ yi n
L(θ | y ) = ∏ P ( y = yi ) ∝ ∏ e θ = e θ i=1 = e− nθθ t , em que t = ∑ yi ,
−θ yi − nθ

i =1 i =1 i =1

assim L(θ|y) ~ Gama(t+1,n).

Observação: Tomando o l(θ|y) = log(L(θ|y), tem-se que l (θ | y ) = − nθ + t log(θ ) , assim


o estimador de máxima verossimilhança (e.m.v) de θ é obtido por meio da solução da
equação:
∂l (θ | y ) t t
= − n + = 0 → θˆ = : média amostral.
∂θ θ n
Se uma distribuição (a priori) Gama, conjugada à distribuição de Poisson, é adotada
para θ:
α −1 − βθ
θ ~ Gama(α,β), isto é, π (θ ) ∝ θ e então a distribuição a posteriori de θ|y

segue uma distribuição Gama com parâmetros (t+α) e (n+β), isto é, θ|y ~ Gama(t+α, n+β),
pois:
π (θ | y ) ∝ L(θ | y )π (θ ) = ( e − nθθ t )( e − βθ θ α −1 ) = e − ( n+ β )θθ (α +t ) −1 .

Considerando-se os dados gerados e supondo-seum pouco de informação subjetiva a


priori, isto é, que α = 1 e β = 1, tem-se que:
θ|y ~ Gama(264+1, 10+1).

34 ROSSI, R.M.
No R, utilize as seguintes linhas de comando:
priori = rgamma(1000,1,1)# um pouco informativa
#priori = rgamma(1000, 0.001, 0.001) # não informativa
veross = rgamma(1000,265,10)
posteriori = rgamma(1000,265,11)
plot(density(veross),xlim=c(0,30),ylim=c(0,0.8),main="",xlab=expression(pas
te(theta)),ylab="Densidade",bty="n",lty=3)
lines(density(priori),lty=2)
lines(density(posteriori),lty=1)
legend(15,0.6,c("Priori","Verossimilhança","Posteriori"),lty=c(2,3,1),bty="n
",cex=.7)

Figura 2.3. Distribuição a priori de θ, verossimilhança e distribuição a posteriori de θ|y,


considerando-se o Exemplo 2.6.2.

summary(posteriori)
median(posteriori)
sd(posteriori)
quantile(posteriori,c(0.025,0.975))

Tabela 2.1.Sumário a posteriori para o Exemplo 2.6.2.


Parâmetro média dp Mediana P2,5% P97,5%
θ 24,12 1,48 24,08 21,49 27,15

Observe na Figura 2.3. a não-exata concordância entre verossimilhança e posteriori.


Isso se deve a certa informação a priori.

35 ROSSI, R.M.
Exemplo 2.6.3. Modelo Contínuo – Exponencial.
Denote por Y uma variável aleatória com distribuição Exponencial com média
1
E(Y) = ; θ > 0 , isto é, a função densidade de probabilidade de Y é:
θ
f (y|θ) = θe −θy , y> 0
em que θ é desconhecido e pode representar, por exemplo, a taxa de falha de um
equipamento eletrônico.
A função de verossimilhança é escrita na forma:
n
L(θ | y) = θn e −θt , t = ∑ yi .
i =1

Uma distribuição a priori Gama é adotada para θ:


θ ~ Gama(α,β)
Assumindo-se subjetivamente que α=1 e β=1, isto é, um pouco informativa. Se
desejamos não informação, então poderíamos considerar, por exemplo, que α=10-3 e β=10-3,
segundo parametrização OpenBUGS (SPIEGELHALTER et al., 1994).
A função de verossimilhança será dada por:
L(θ|y) ~ Gama(n+1,t).
A distribuição a posteriori de θ|y segue uma distribuição Gama com seguintes
parâmetros:
θ|y ~ Gama(n+α, t+β).
Isso implica que a classe das distribuições Gama é a de distribuições conjugada com o
modelo exponencial.
Considere, como exemplo, os dados a seguir, com distribuição exponencial com
parâmetro θ = 3 logo, E(Y) = 1/3 ≅ 0,33.
set.seed(123)
y = rexp(10,3)
round(y,2)

Y = {0,28;0,19;0,44;0,01;0,02;0,11;0,10;0,05;0,91;0,01}
tem-se que t = 2,12 e n = 10.
Logo para a priori, θ ~ Gama(α,β), com α=β=1, tem-se a posteriori:
θ|y~ Gama(n+α,t+β) = Gama(10+1,2,12+1)
θ|y~ Gama(11;3,12).

36 ROSSI, R.M.
No R:
par(mfrow=c(1,2))
priori = rgamma(1000,1,1)
hist(priori,main="",xlab=expression(paste(theta)),ylab="Densidade",col="g
ray")
posteriori = rgamma(1000,11,3.12)
hist(posteriori,main="",xlab=expression(paste(theta,"|y")),ylab="Densidade
",col="gray")

200
400

150
300
Densidade

Densidade

100
200
100

50
0

0 1 2 3 4 5 6 7 1 2 3 4 5 6 7 8

θ θ|y

Figura 2.4. Distribuição a priori e a posteriori de θ|y, considerando-se o Exemplo 2.6.3.

summary(posteriori)
median(posteriori)
sd(posteriori)
quantile(posteriori,c(0.025,0.975))

Tabela 2.2.Sumário a posteriori para o Exemplo 2.6.3.


Parâmetro Média dp mediana P2,5% P97,5%
θ 3,5 1,055 3,4 1,749 5,820

Como a média é o inverso do parâmetro estimado, então:


1 1
E(X) = = ≅ 0, 29 .
θ 3,5

37 ROSSI, R.M.
Os resultados apresentados na Tabela 2.3 permitem uma análise rápida e útil quando se
trabalha com a família exponencial e estatísticas suficientes. Considerar-se-ão, também,
distribuições a priori não-informativas para os parâmetros.
Quando se trabalha com famílias conjugadas e a distribuição a posteriori é fechada,
isto é, possui a forma de um modelo probabilístico conhecido, então as amostras do parâmetro
de interesse podem ser geradas de modo direto em qualquer programa estatístico, como por
exemplo, o R, via amostragem de Gibbs. Em casos em que a distribuição a posteriori não
assume uma forma fechada conhecida, o programa WinBUGS, em especial, automaticamente
escolhe o método mais apropriado: Metropolis-Hastings (METROPOLIS, 1953 e
HASTINGS, 1970), ARMS (Amostragem por Rejeição Adaptativa – GILKS e WILD, 1992),
entre outros. Para maiores detalhes, a referência do livro Estatística Bayesiana de Paulino,
Turkman e Murteira (2003) é sugerida.

Tabela 2.3. Famílias conjugadas.


Modelo Estatística Suficiente Família Conjugada
Bernoulli (t,n) Beta, Be(θ|αi,βi)
Br(y|θ) t = ∑y i
αn = α0 + t
βn = β0 + n –t
Poisson (t,n) Gama, Ga(λ|αi,βi)
Po(y|λ) t = ∑y i
αn = α0 + t
βn = β 0 + n
Normal ( y ,n) Normal, N(y|µ,σ)
N(y|µ,σ) σ
σ conhecido
y= ∑y /ni
i
= 1
bi

b = 1/σ2 bn = b0 + nb
µn = ( µ0b0 + ny ) / bn
Gama, Ga(b|αi,βi)
2
Normal (s ,n)
N(y|µ,σ) s = ∑ ( yi − µ ) / n
2 2
αn = α0 + n/2
µ conhecido βn = β0 + ns2/2
b = 1/σ2
Exponencial (t,n) Gama, Ga(θ|αi,β i)
Exp(y|θ) t = ∑ yi αn = α0 + n
βn = β 0 + t

Os parâmetros α0 e β0 se denominam hiperparâmetros e são determinados


pelopesquisador que pode considerá-los conhecidos, ou ainda pode lhes atribuir certas
distribuições de probabilidades subjetivas. Se o pesquisador considerar, por exemplo, na
distribuição Beta com α = β = 1, a priori será uma Uniforme no intervalo (0,1). Essa
distribuição é não-informativa e representa o total desconhecimento do pesquisador sobre o
parâmetro. Ao se utilizar de distribuições a priori não-informativas, espera-se que as
estimativas Bayesianas coincidam com as estimativas frequentistas.

38 ROSSI, R.M.
Módulo III – Introdução ao programa WinBUGS/OpenBugs

3.1 Introdução
A sigla BUGS: Bayesian inference Using Gibbs Sampling deu o nome ao WinBUGS
(SPIEGELHALTERet al., 1994), que é um programa estatístico desenvolvido na unidade de
Bioestatística do Medical Research Council da Inglaterra, e serve de acrônimo para Inferência
Bayesiana, usando-se amostragem de Gibbs por meio de MCMC (Markov Chain Monte
Carlo). Este programa é de livre distribuição e pode ser encontrado no site:
www.mrc-bsu.cam.ac.uk/bugs mesma página de onde o download do programa pode ser
efetuado. Alternativamente têm-se o programa OpenBugs disponível no endereço eletrônico:
www.openbugs.info .
A metodologia Bayesiana assim como o programa WinBUGS/OpenBugs têm sido
muito utilizados dada a sua facilidade de operação e a vasta quantidade de problemas que
podem ser resolvidos com eles.
A monitoração de convergência das cadeias amostrais, geradas no
WinBUGS/OpenBugs pode ser feita por meio do pacote coda (Convergence Diagnosis and
Output Analysis, BESTet al., 1995), implementado no R.

3.2 Procedimentos
Basicamente, trabalha-se com os arquivos: ‘model’, ‘data’ e ‘initial’, que se referem,
respectivamente, à definição do modelo de interesse, aos dados amostrais e aos chutes dos
valores iniciais para o processo de iteração das cadeias geradas.

3.2.1 Definindo o modelo


A teoria Bayesiana será omitida neste contexto, então, partir-se-á da pressuposição de
que o leitor seja conhecedor da metodologia empregada. Será dada importância às aplicações
e análise de dados simulados e reais.
Aqui se especificam os componentes do modelo (parâmetros, distribuições a priori, a
verossimilhança, a hierarquia e as relações entre os parâmetros), os quais podem ser definidos
de duas formas diferentes: por Doodle (linguagem visual) e por linha de programação do.

39 ROSSI, R.M.
Exemplo 3.2.1. Assumir-se-á que Y tem uma distribuição de Poisson com parâmetro
θ>0:
Yi ~ Poisson(θ)
Iniciando-se um novo trabalho:
(1) com o programa aberto, vá ao menu em ‘Doodle → new’. Uma janela abrirá
então selecione‘ok’;
(2) para inserir um ‘nó’, é só clicar em qualquer lugar e então após dar um nome
a ele, vá ao menu ‘type’e assim pode especificar o tipo desse nó:
• “estocásticos”: seguem uma distribuição (representados pelas elipses);
• “lógicos”: podem ser, por exemplo, relações ou transformações (representados
pelas elipses);
• “constantes”: dados ou valores fixos (representados pelos retângulos).
A relação entre os nós é por meio de setas de dois tipos:
• simples: indica uma relação de hierarquia, isto é, que o nó de origem é um
parâmetro do nó de destino. No exemplo, ‘theta’ é parâmetro da distribuição dos dados. Aqui
basta selecionar o ‘nó’ destino e, com a tecla ‘Ctrl’ apertada, clicar no ‘nó’ origem, então a
seta aparecerá no sentido ‘origem destino’;
• dupla: indica uma relação direta, isto é, o nó de origem pode ser uma das
variáveis regressoras de um modelo para explicar a variável de destino, por exemplo.
Todos os parâmetros, ou componentes vetoriais, isto é, que possuem índices, devem
estar dentro do quadro que dá origem aos ‘loops’ descritos no rodapé por ‘for (i in 1:n)’. Aqui
basta apertar a tecla ‘Ctrl’ e clicar em qualquer lugar que o quadro aparecerá, e sua dimensão
pode ser alterada, arrastando-se o canto inferior direito. Para alterar os termos ‘i’ e ‘n’,
primeiramente clique sob o canto inferior do quadro, só então digite os valores de interesse
em ‘index’, ‘from’ e ‘up to’.
Qualquer nó pode ser apagado em caso de erro, basta selecioná-lo e, com a tecla ‘Ctrl’
apertada, tecle ‘Delete’.
Um gráfico ‘Doodle’ pode ser transformado em ‘Write code’. Vá ao menu ‘Doodle
Write code’, então aparecerá o código do modelo na linguagem R.
A geração da distribuição a posteriori para θ é via Amostrador de Gibbs e o método
adequado o próprio WinBUGS escolhe por conveniência, isto é, existem distribuições a
posteriori que não possuem formas fechadas, assim se pode utilizar o método de Metropolis-

40 ROSSI, R.M.
Hastings ou até mesmo o ARMS (rejeição adaptativo) para se obter as amostras. Esta é uma
das maiores vantagens do programa já que implementar esses métodos é um tanto árduo.
A título de verificação futura, foi simulada uma amostra via R com 30 valores
provenientes de uma distribuição de Poisson com parâmetro θ = 2,5 por meio do comando
y=rpois(30,2.5) e os valores foram:
Y : {0; 3; 5; 2; 4; 0; 3; 5; 1; 3; 2; 2; 3; 0; 2; 3; 1; 3; 4; 5; 2; 3; 4; 4; 3; 2; 5; 3; 3; 1}
cuja média é 2,7. Isso significa que a estimativa para θ deverá ser próxima.
Especificação do modelo:
model;
{
for( i in 1 : n )
{ y[i] ~ dpois(theta) }
theta ~ dgammaf(0.001, 0.001)
}
ou por ‘Doodle’, isto é, por gráficos que relacionam as variáveis, as distribuições, os dados,
valores constantes, enfim, todos os componentes do modelo, como nas Figuras 3.1a e 3.1b.
Em qualquer um dos casos, assumir-se-á uma distribuição a priori não-informativa para
θ, Gama (10-3, 10-3), isto é:
θ ~ Gama(0, 001, 0,001) (priori não-informativa, segundo parametrização OpenBUGS)

Figura 3.1a. Gráfico em Doodle do WinBUGS – distribuição dos dados.

41 ROSSI, R.M.
Figura 3.1b. Gráfico em Doodle do WinBUGS – priori para o parâmetro.

3.2.2 Gerando amostras


Após a montagem do modelo pelos ‘Doodles’, em que cada componente é chamado de
‘nó’ (node) ou pelo ‘Write Code’, selecione um deles, então:
• No menu: ‘Model →Specification’, uma janela de nome ‘Specification Tool’
irá aparecer e então click em ‘check model’. Se tudo estiver correto, uma mensagem irá
aparecer no rodapé da página: ‘model is syntactically correct’. A Figura 3.2 apresenta esse
procedimento;

42 ROSSI, R.M.
Figura 3.2. Checando o modelo.
• Feito isso, é necessário ler o banco de dados (geralmente em forma de listas), o
qual representa o componente da verossimilhança. Abra um arquivo novo em uma janela
específica em ‘File New’ e digite os dados em forma de ‘list’ em seguida selecionando o
‘list’ dos dados como mostra a Figura 3.3 e clicando em ‘load data’, se tudo estiver correto
uma mensagem irá aparecer no rodapé da página: ‘data loaded’;

Figura 3.3. Leitura dos dados e compilação do modelo.

43 ROSSI, R.M.
Observação. Caso queira, pode optar pela geração de uma ou mais cadeias amostrais:
Digite 1 ou mais valores no espaço ‘num for chains’e só em seguida clique em ‘compile’.
Quando isso é feito, além de verificar as consistências entre os arquivos, o programa gera o nó
‘deviance’, que pode ser monitorado junto com os demais nós.
• Selecione os valores ‘chutes’ iniciais, então clicando em ‘load inits’ e, em
seguida, em ‘gen inits’ (se necessário), para cada cadeia gerada, um valor inicial deverá ser
dado;

Figura 3.4. Informando os valores iniciais.


• Para se gerar as cadeias amostrais, deve-seir ao menu: ‘Model → Update’ e
digitar o número de iterações, por exemplo, 1.000, na janela ‘updates’ e de quantas em
quantas iterações ele deverá salvar os resultados em ‘thin’. A opção ‘reflesh’ servirá para
mostrar de quantas em quantas interações a janela deverá ser atualizada, para que se possa
acompanhar o processo;
Observação: É importante fazer o ‘burn’ ou ‘queima’ dos primeiros valores gerados. O
procedimento descrito anteriormente já o fez. Essa ‘rodada’ inicial é o processo pelo qual a
cadeia é ‘aquecida’ antes de serem feitas as iterações que realmente interessam.

44 ROSSI, R.M.
Figura 3.5. Gerando o burn.

• No menu ‘Inference → Samples’deve-se digitarem‘node’ o nome do(s)


parâmetro(s) de interesse, por exemplo ‘theta’, e, em seguida clique em ‘set’;

Figura 3.6. Especificando o parâmetro de interesse.

• Volte à ferramenta ‘Update’, digite na janela ‘updates’ o número de rodadas


desejado, por exemplo, 11.000 e clique em ‘update’;

Figura 3.7. Gerando amostras após o burn.

• Volte à ferramenta ‘Sample’ e digite na janela ‘beg’ um valor para o burn ou


queima de valores iniciais, por exemplo, 1.000 valores. Analogamente na janela ‘thin’ digite
os saltos para eliminar possíveis autocorrelações, em seguida na janela ‘node’ o símbolo “*”.
Ao fazer isso, terá disponíveis todas as opções da janela, como, por exemplo, ‘stat’, as
estatísticas a posteriori do parâmetro: média, mediana, intervalos de credibilidade etc, os
quais podem ser copiados e colados em arquivo texto.

45 ROSSI, R.M.
Figura 3.8. Estatísticas a posteriori para o parâmetro de interesse.

A ferramenta ‘Sample’ possui outras funções:


• ‘chains’ caso tenha gerado mais de uma cadeia, seleciona quais cadeias serão
utilizadas para se gerar os resultados;
• ‘beg’e ‘end’ representam o intervalo de seleção de uma amostra das iterações;
• ‘thin’ de quantas em quantas iterações o programa deve se utilizar para gerar os
resultados;
• ‘percentiles’ representa os percentis a serem utilizados para construção dos
intervalos de credibilidade.
O WinBUGS também fornece o desvio-padrão da estimativa (sd) e o erro para a média
estimada via MCMC (MC error). Por definição da Cadeia de Markov, os valores da média
serão autocorrelacionados neste caso, convém realizar saltos para seleção amostral na
tentativa de se eliminar o máximo possível tal autocorrelação. Sua verificação pode ser
gráfica, como apresentado na Figura 3.9. Observe que para o caso, a autocorrelação se
apresenta alta apenas no início do processo, então não há a necessidade de saltos, e sim
somente de um ‘burn’ maior, ou então, da seleção de uma amostra gerada mais ao final do
processo.
theta
1.0
0.5
0.0
-0.5
-1.0
0 20 40
lag

Figura 3.9. Autocorrelação a posteriori para o parâmetro de interesse.

Em todo processo de geração de cadeias por MCMC, testes estatísticos e gráficos de


convergência das cadeias devem ser realizados. Para tal existem pacotes específicos no R,
como, por exemplo, o ‘coda’, que possibilitam essa análise. Mesmo no WinBUGS/OpenBugs
existem ferramentas para tal em ‘Sample’, nas opções:

46 ROSSI, R.M.
• ‘trace’ e ‘history’: espera-se que a linha seja aleatória e não deve ficar fixa em
nenhuma região ao longo das iterações (as alternativas são aumentar o número
de iterações e/ou modificar os valores iniciais);
• ‘quantiles’: espera-se que os intervalos de credibilidade sejam de baixa
amplitude.

Figura 3.10. Verificação de convergência – testes gráficos.

A opção ‘coda’ retorna os valores gerados nas cadeias e será útil para uma análise de
convergência mais criteriosa.

3.2.3 Análise de convergência no coda


É crucial para a realização de uma Inferência Bayesiana dos parâmetros de interesse,
assim como para tomadas de decisões, que as cadeias geradas por meio do processo
estocástico a posteriori tenham atingido sua convergência. Para a verificação da convergência
que utiliza cadeias geradas no programa WinBUGS/OpenBugs e o pacote coda disponível no
R, siga os seguintes passos:

Passo 1: ainda no WinBUGS/OpenBugs no menu ‘Sample Monitor Tool’ gerando-se,


por exemplo, duas cadeias distintas, ao clicar no ícone ‘coda’, dois arquivos irão
aparecer: Um com informações dos parâmetros e número de interações, e outro com a
cadeia propriamente dita. Estes arquivos deverão ser salvos como “*.txt”,
respectivamente, por: “cadeia1.ind.txt” e “cadeia1.out.txt”, por exemplo.
Passo 2: no R mude o diretório de trabalho;

47 ROSSI, R.M.
“Arquivo Mudar Dir...” clicar no ícone “Browse” e indicar o caminho onde estão os
arquivos das saídas do WinBUGS/OpenBugs, explicadas no Passo 1. O comando no R é
por meio de setwd;
setwd("C:\\ ... \\pasta de trabalho”)
Passo 3: (sugestão) remover todos os objetos por meio do comando;
rm(list=ls(all=TRUE))
Passo 4: chamar a livraria coda e em seguida o menu de opções
library(coda)
Observação:para instalar o pacote, no menu do R, observe os seguintes
procedimentos:
“Pacotes Instalar pacotes (escolha uma base, por exemplo, Brasil (PR)
) coda
codamenu()
Seguir as instruções de diálogo no R.
Uma alternativa mais simples é utilizar os seguintes comandos no R:
amostra = read.coda("cadeia.out.txt","cadeia.ind.txt")
amostra = mcmc.list(amostra)

Os testes diagnósticos para convergência mais utilizados são:

geweke.diag(amostra)
heidel.diag(amostra)
gelman.diag(amostras)# são necessárias no mínimo duas cadeias distintas.

3.2.3.1. Critério Raftery e Lewis

Este diagnóstico inicial é sugerido pois utiliza a cadeia inicial como amostra (cadeia)
piloto de tamanho de no mínimo 3.746, para poder fazer sua pré-inferência e assim retornar o
N, o número de iterações, K, o tamanho do salto ou lag necessário para que ocorra
convergência caso isso não tenha ocorrido na amostra piloto:
raftery.diag(amostra)
Neste momeno, alguns testes gráficos, como, por exemplo, de autocorrelação e
lag.plot, são interessantes.
lag.plot(amostra,5)

48 ROSSI, R.M.
Para verificar a autocorrelação entre os valores gerados, podemos utilizar o seguinte
comando:
amostra2 = amostra[[1]]
acf(amostra2,ylab='Autocorrelação',main='')

A rotina a seguir tem como objetivo, tomar uma cadeia ‘bruta’, fazer um descarte inicial
(burn) e retirar uma amostra em saltos (lags) de interesse.

limpa.cadeia = function(cadeia, salto,burn)


{
par = dim(cadeia)[2]
N = dim(cadeia)[1]
seq1 = matrix(cadeia,nrow=N,ncol=par)
seq2 = matrix(seq1[(burn*(floor(N))):N,],ncol=par)
seq3 = matrix(seq2[1,],1,)
n = floor(length(seq2[,par])/salto)
for (i in 2:n)
{
seq3 = rbind(seq3,seq2[(i-1)*salto,])
}
amostra = seq3
amostra
}

Exemplo de chamada para um burn de 10% e saltos de tamanho 5.


cadeia.final = limpa.cadeia(amostra2,salto=5,burn=0.1)

3.2.3.2. Critério Geweke

É utilizado para comparação de médias, usando-se a estatística Z (distribuição normal


padrão).

Se ovalor |k| < 1,96 é indicativo de convergência.

3.2.3.3. Critério Heidelberger e Welch

Este critério testa se a cadeia é estacionária e se a média converge, indicando


convergência, segundo a estatística Cramer-Von-Misses.

Se ‘passed’ é indicativo de estacionariedade e convergência.

49 ROSSI, R.M.
3.2.3.4. Critério Gelman e Rubin

Este critério utiliza a análise de variância entre e dentre duas ou mais cadeias
(requisito).

Se o valor |r|< 1,2, é indicativo de convergência.

Verificada a convergência das cadeias, resta obter os resultados, interpretá-los, assim


como inferir corretamente e de modo confiável a respeito do parâmetro de interesse. Para
mais informações a respeito do diagnóstico de convergência de cadeias geradas via MCMC,
ver Paulino et al. (2003).

Com a cadeia final (limpa), pode-se construir o histograma ou a densidade aproximada


e obter resumos estatísticos para o parâmetro de interesse:

hist(cadeia.final,xlab='Parâmetro',ylab='Frequência',main='',col=8)
abline(v=quantile(cadeia.final,0.5)) # Mediana
summary(cadeia.final)
quantile(cadeia.final,c(0.025,0.975)) # Intervalo de Credibilidade
100 200 300 400 500
Freqüência

2.0 2.5 3.0 3.5 4.0

Parâmetro

Figura 3.11. Distribuição a posteriori para o parâmetro de interesse.

50 ROSSI, R.M.
3.3.Aplicações
Aplicação 3.3.1. Binomial conjugada com a Beta - Estimação da proporção
(continuação da Aplicação 2.6.1).
Suposições do modelo
Yi ~ Bernoulli(θ)
n
t = ∑ yi ~ Binomial(n,θ), com n = 980 e θ desconhecido.
i =1

Como distribuição a priori para θ, assumir-se-á que:


θ ~ Beta(α, β), com α = β = 1, isto é, umadistribuição a priori não-informativa.
Utilizando-se o programa WinBUGS, cujo modelo gráfico ‘Doodle’ e seu respectivo
‘Write Code’ são dados a seguir:

Figura 3.12. Modelo gráfico para a Aplicação 3.3.1.

model;
{
t ~ dbin(theta,n)
theta ~ dbeta(1,1)
}

Dados:
list(t=437,n=980)

Chute inicial:
list(theta=0.5)

51 ROSSI, R.M.
Resultados do WinBUGS:
node mean sd MC error 2.5% median 97.5% start sample
theta 0.446 0.015950.0001444 0.4146 0.4458 0.4778 1000 10001

theta sample: 10001


30.0
20.0
10.0
0.0
0.35 0.4 0.45 0.5

Figura 3.13. Distribuição a posteriori para θ.

Na saída do WinBUGS, os nomes ou títulos são:


node: parâmetros do modelo;
mean: média a posteriori;
MC error: erro de Monte Carlo (referência ao processo estocástico);
2.5%: percentil 2,5% dos dados a posteriori;
median: mediana a posteriori (percentil 50%);
97.5%: percentil 97,5% dos dados a posteriori (os percentis2,5% e 97,5%
correspondem ao Intervalo de Credibilidade do parâmetroθ);
start: primeiro elemento da amostra, relacionado ao ‘burn’;
sample: tamanho da amostra a posteriori final, já com os saltos.
Tomando-se valores para α e β de tal forma que E[θ] = 0,5 (não-informativa) ou E[θ] =
0,485 (informativa), tem-se:
Tabela 3.1. Estimativas a posteriori da mediana.
E[θ]=α/(α+β) Md ICr(θ;95%)
0,500 ‘não-informativa’ 0,446 [0,415 , 0,477]
0,485 ‘pouco informativa’ 0,445 [0,415 , 0,477]

Observações:
1. a primeira coluna mostra a média a priori;
2. a segunda coluna é similar ao tamanho da amostra quando comparado com a
F.V. (Função de Verossimilhança) binomial;
3. o intervalo de 95% de credibilidade para θ confirma que existe influência da
predisposição genética na determinação do sexo do animal, pois E[θ] ∉
ICr(θ;95%).

52 ROSSI, R.M.
Aplicação 3.3.2. Poisson conjugada com a Gama - Estimação da taxa (Continuação da
aplicação 2.6.2).
Foi assumido que o número Y de observações segue uma distribuição de Poisson:
Yi ~ Poisson(θ)
em que θ>0 representa a média ou taxa. Os dados Y representam o número de ovos postos
por dez aves em tratamento com ração especial durante um período de um mês, experimento
cujo interesse é estimar θ: a média de produção:
Y: {26; 25; 24; 27; 32; 26; 19; 32; 22; 23}
Uma distribuição a priori Gama conjugada à distribuição de Poisson é adotada para θ:
α
θ ~ Gama(α,β) (não-informativa comα = 10-3 e β = 10-3, já que E (θ ) = e
β
α
Var (θ ) = , segundo parametrização OpenBUGS).
β2
A distribuição a posteriori de θ segue uma distribuição Gama com os seguintes
parâmetros:
n
θ|y ~ Gama(α+t, β+n) onde t = ∑y .
i =1
i

O modelo gráfico ‘Doodle’ e seu respectivo ‘Write Code’no WinBUGS serão:


name: y[i] type: stochastic density: dpois
mean theta lower bound upper bound

theta

y[i]

for(i IN 1 : n)

Figura 3.14. Modelo gráfico para a Aplicação 3.3.2.

53 ROSSI, R.M.
model;
{
for( i in 1 : n )
{
y[i] ~ dpois(theta)
}
theta ~ dgamma(0.001, 0.001)
}
Dados:
list(y=c(26,25,24,27,32,26,19,32,22,23),n=10)

Chutes iniciais:
list(theta=25)

Resultados:
Utilizando-se um ‘burn’ de 1.000 atualizações, seguidas por uma geração de 10.000
atualizações, resultou-separa o parâmetro:
node mean sd MC error p2.5% median p97.5% start sample
theta 25.6 1.62 0.01466 22.5 25.55 28.88 1 11000

54 ROSSI, R.M.
Aplicação 3.3.3. Estimação da produção de abelhas rainha.
(Colaboração de Fabiana M. C. Maia – Pós-graduação em Zootecnia/UEM)
A produção de mel pode ser incrementada com a troca anual de rainhas. A produção de
rainhas Apis mellifera africanizadas é uma técnica realizada por centros de pesquisa e/ou por
apiários com grau de profissionalismo avançado. Além do domínio da técnica de transferência
de larvas, de manejo das minirrecrias e conhecimentos em genética, deve existir programação
para absorver todas as rainhas produzidas, pois o custo de uma rainha virgem é de
aproximadamente R$ 15,00 (maio/2008). Um apicultor iniciante, com dez colônias para
produzir mel, ao procurar o Centro de Produção de Rainhas da FEI/UEM, para obter as
informações iniciais sobre produção de suas próprias rainhas, pergunta quantas rainhas podem
ser produzidas com uma minirrecria por mês em um ano.
Tabela 3.2. Evolução mensal do número de rainhas por minirrecria.
Mês jan Fev mar abr mai jun jul ago set out nov dez
Rainha/ 50 46 33 12 18 3 7 15 54 56 47 35
Minirecria

Foi determinada a média a posteriori de rainhas produzidas por minirrecria,


considerando-se uma priori não-informativa.

Suposições do modelo:
Yi ~ Poisson(θ)
Priori:
θ ~ Gama(10-3,10-3)
model;
{
for( i in 1:n )
{
y[i] ~ dpois(theta)
}
theta ~ dgamma(alpha,beta)
}

Dados:
list(n=12,y=c(50,46,33,12,18,3,7,15,54,56,47,35),alpha=0.001,beta=0.001)
Chutes iniciais:
list(theta=30)

55 ROSSI, R.M.
Análise de convergência no R após salvar as cadeias geradas no WinBUGS/OpenBugs
por meio do coda.

setwd("C:\\Work") # caminho na área de trabalho onde os arquivos foram salvos


library(coda)
cadeia=read.coda("cadeia.out.txt","cadeia.ind.txt")
cadeia=mcmc(cadeia)

Critérios de convergência escolhidos:


geweke.diag(cadeia)
heidel.diag(cadeia)
Resultados:
node mean sd MC error 2.5% median 97.5% start sample
theta 31.33 1.627 0.01682 28.21 31.29 34.62 1000 9001

Conclui-se que uma minirrecria produz em média aproximadamente 31


rainhas/mês/ano, ou seja, por mês o custo médio total é de R$ 465,00. O apicultor entendeu
que para o número de colônias que possui, com uma troca anual de rainhas, não é necessário
produzí-las o ano todo. A FEI/UEM comercializa cada rainha virgem a R$ 20,00, portanto, de
início, para esse apicultor, é mais vantajoso adquirir as rainhas prontas.

Aplicação 3.3.4. Estimação da média de peso uterino em ratas.


Um experimento tem por objetivo estimar o peso (g) uterino de ratas. A média e a
variância populacionais são desconhecidas.
Suposições do modelo:
Yi ~ N(µ, τ)
onde τ é a Precisão (parametrização da distribuição normal no WinBUGS - ver mais a
respeito no menu do programa: help Distributions Continuous univariate).
1 1
σ= ou σ 2 = (parametrização OpenBUGS).
τ τ
Priori:
µ ~ N(0,0,000001) e τ ~ Gama(0,001, 0,001) distribuições a priori não-
informativas.
O gráfico ‘Doodle’ e o respectivo ‘Write Code’, referentes ao modelo no
WinBUGS/OpenBugs são:

56 ROSSI, R.M.
name: y[i] type: stochastic density: dnorm
mean mu precision tau lower bound upper bound

sigma tau

y[i] mu

for(i IN 1 : n)

Figura 3.15. Modelo gráfico para a Aplicação 3.3.4.


model;
{
for( i in 1 : n )
{
y[i] ~ dnorm(mu, tau)
}
mu ~ dnorm(0, 0.000001)
tau ~ dgamma(0.001, 0.001)
sigma <- 1 / sqrt(tau)
}

Observação: No ‘modelo.bug’ o símbolo de recebimento sempre deve ser “<-” e não


o de igualdade “=”.
Dados:
list(n=20,y=c(9,14,15,15,16,18,18,19,19,20,21,22,22,24,24,26,27,29,30,32))
Chutes iniciais:
list(mu=0,tau=1)

Resultados:
node mean sd MC error 2.5% median 97.5% start sample
sigma 6.177 1.193 0.04107 4.499 6.002 8.799 1 1000
tau 0.0286 0.009397 0.000314 0.0132 0.02778 0.0497 1 1000
mu 21.01 1.458 0.04205 18.07 20.98 23.94 1 1000

57 ROSSI, R.M.
Aplicação 3.3.5. Teste para a comparação de duas médias de populações normais com
variâncias iguais e desconhecidas.
Supõem-se duas amostras independentes Y1 e Y2, distribuídas normalmente, com
mesma precisão, isto é, τ1 = τ2 = τ (indivíduos provenientes de uma mesma população):
Y1 ~ N(µ1 , τ) e Y2 ~ N(µ 2 , τ)
1
σ=
τ
Os dados a seguir referem-se a medidas de ganho de peso (kg) de 30 animais
submetidos a dois tratamentos distintos:
Tabela 3.4. Ganho de peso (kg) em animais submetidos à dieta com Ração e Pastagem.
Ração 135 125 131 119 136 138 139 125 131 134
(Y1) 129 134 126 132 141 131 135 132 139 132
126 135 134 128 130 138 128 127 131 124
Pastagem 137 136 128 130 138 126 136 126 132 139
(Y2) 143 141 135 137 142 139 138 137 133 145
138 131 143 134 132 137 129 140 147 136

Deseja-se testar em nível de 5% se as médias de ganhos de peso diferem.


Algumas estatísticas descritivas:
Ração: y1 = 131,37 e s 2y1 = 26,31

Pastagem: y2 = 136,17 e s 2y2 = 28, 63

Priori:
µ1 ~ N(0, 0,000001)
µ2 ~ N(0, 0,000001)
τ ~ Gama(0,001, 0,001)
Fazendo-se ∆ = µ1 − µ2, a hipótese nula a ser testada será:
H0: ∆ = 0 (as médias não diferem).
O gráfico ‘Doodle’ e o respectivo ‘Write Code’, referentes ao modelo no
WinBUGS/OpenBugs, são:

58 ROSSI, R.M.
name: delta type: logical link: identity
value: mu1-mu2

sigma

y1[i] tau y2[j]

for(i IN 1 : n1) for(j IN 1 : n2)

mu1 mu2

delta

Figura 3.16. Modelo gráfico para a Aplicação 3.3.5.

model;
{
for( j in 1 : n1 ) { y1[j] ~ dnorm(mu1, tau) }
for( i in 1 : n2 ) { y2[i] ~ dnorm(mu2, tau) }
mu1 ~ dnorm(0, 0.000001)
mu2 ~ dnorm(0, 0.000001)
tau ~ dgamma(0.001, 0.001)
sigma <- 1 / sqrt(tau)
delta <- mu1 – mu2
}

Dados:
list(m=30,n=30,
y1=c(135,125,131,119,136,138,139,125,131,134,129,134,126,132,141,131,135,1
32,139,132,126,135,134,128,130,138,128,127,131,124),
y2=c(137,136,128,130,138,126,136,126,132,139,143,141,135,137,142,139,138,1
37,133,145,138,131,143,134,132,137,129,140,147,136))

Chutes iniciais:
list(mu1=132, mu136=0, tau=1)

59 ROSSI, R.M.
Resultados:
node mean sd MCerror 2.5% median 97.5% start sample
delta -4.668 1.377 0.02736 -7.258 -4.663 -1.982 1000 1800
mu1 131.5 0.9852 0.01824 129.6 131.5 133.4 1000 1800
mu2 136.2 0.9764 0.02576 134.2 136.2 138.0 1000 1800
tau 0.03622 0.006825 0.0002 0.0245 0.0356 0.0507 1000 1800
sigma 5.318 0.503 0.007822 4.443 5.277 6.385 1000 1800

Como o Intervalo de Credibilidade de 95% para delta foi (-7.258, -1.982), exclui-se sem
qualquer margem de dúvidas o valor 0 (zero), então há forte evidência contra a igualdade de
médias, logo, afirma-se que as médias são distintas sob o ponto de vista Bayesiano. Conclui-
se que animais tratados com Pastagem têm ganho médio de peso em torno de 5 kg a mais que
animais tratados com Ração.

60 ROSSI, R.M.
Aplicação 3.3.6. Comparação da produção de geleia real entre grupos de rainhas.
(Colaboração de Patrícia Faquinello, aluna de Pós-graduação em Zootecnia/UEM)
Na apicultura a rainha é responsável pelas características genéticas passadas aos
indivíduos da colônia e, com isso, pela produção de mel, própolis, geleia real e pólen.
Diversos trabalhos relacionam a superioridade da rainha com suas características
morfométricas como: peso, número de ovaríolos, tamanho da espermateca, etc.
Rainhas maiores, ao nascer, possuem um aparelho reprodutivo com maior capacidade
de armazenar espermatozoides, maior número de ovaríolos, ou seja, maior capacidade
reprodutiva, e, consequentemente, acredita-se numa produtividade maior da colônia.
Sendo assim, dois grupos de rainhas recém-emergidas, leves e pesadas, sendo o grupo
leve com peso entre 180 e 213 mg e o grupo pesado entre 215 e 247 mg, foram avaliadas
quanto à produção de geleia real por colônia, com objetivo de observar se há diferenças de
produção entre os dois grupos, supondo-se que as rainhas são provenientes de uma única
população: σ21 = σ22 = σ2.

Tabela 3.5. Produção de geleia real.


Rainhas Produção (g/colônia)
Leves 6,025 7,577 3,636 5,703 5,713 5,590 5,187 4,966
3,678 6,037 2,220 4,866 5,015 3,662
Pesadas 3,145 3,596 5,508 2,583 2,999 6,357 7,011 3,522
5,671 3,673 2,050 3,069 7,641 3,495

Foram assumidas as mesmas estruturas da Aplicação 3.3.5.


Dados:
list(n1=14,n2=14,
y1=c(6.025,7.577,3.636,5.703,5.713,5.59,5.187,4.966,3.678,6.037,2.22,4.866,5.01
5,3.662),
y2=c(3.145,3.596,5.508,2.583,2.999,6.357,7.011,3.522,5.671,3.673,2.05,3.069,7.6
41,3.495))

Chutes iniciais:
list(mu1=6,mu2=5,tau=1)

Resultados:
node mean sd MC error 2.5% median 97.5% start sample
delta 0.6948 0.625 0.02265 -0.5468 0.6912 1.949 1000 1200
mu1 4.987 0.456 0.009549 4.066 4.995 5.867 1000 1200
mu2 4.292 0.4354 0.0173 3.422 4.294 5.136 1000 1200
sigma 1.62 0.2334 0.005988 1.243 1.598 2.134 1000 1200
tau 0.4046 0.1139 0.002979 0.2196 0.3919 0.6501 1000 1200

61 ROSSI, R.M.
Como o intervalo de 95% de credibilidade para delta foi de (-0,5468, 1,949), que
contém o valor nulo (zero), então não há evidências de diferença entre as médias dos dois
grupos. Portanto, o uso de rainhas leves ou pesadas, com pesos analisados entre 180 e 247 mg,
não provocou significantes diferenças na produção de geleia real.

Aplicação 3.3.7. Influência da fonte lipídica na dieta de frangos de corte.


(Colaboração de Alexandra Potença, aluna de Pós-graduação em Zootecnia/UEM)
Um estudo foi realizado com o objetivo de se avaliar a influência da fonte lipídica da
dieta sobre o ganho de peso (GP) de 22 a 42 dias em frangos de corte. Foram utilizadas 400
aves, divididas em dois tratamentos com quatro repetições. O tratamento 1 (Y1) foi
suplementado com óleo de vísceras e o tratamento 2 (Y2), com sebo bovino. As médias dos
ganhos (g) em cada repetição foram:

Tabela 3.6. Ganho de peso (g) em frangos de corte.


Dieta Ganho de Peso (g)
Óleo de víscera 2.159,73 2.150,24 2.282,00 2.234,76
Sebo bovino 2.167,49 2.163,03 2.168,75 2.272,87

Foram assumidas as mesmas estruturas da Aplicação 3.3.5.


Dados:
list(n1=4,n2=4,
y1=c(2159.73,2150.24,2282.00,2234.76),
y2=c(2167.49,2163.03,2168.75,2272.87))

Chutes iniciais:
list(mu1=2000,mu2=2100,tau=1)

Resultados:
node mean sd MC error 2.5% median 97.5% start sample
delta 12.49 50.76 1.188 -98.26 13.25 109.5 1000 2000
mu1 2203.0 35.84 0.8013 2131.0 2203.0 2273.0 1000 2000
mu2 2190.0 35.39 0.8424 2119.0 2189.0 2263.0 1000 2000
sigma 67.6 24.14 0.4718 37.25 62.28 130.0 1000 2000
tau 0.00029 0.00017 0.000004 0.0006 0.00026 0.00073 1000 2000

Conclui-se, pela evidência da igualdade de médias, então, que as fontes lipídicas da


dieta não influenciam diferentementeno ganho de peso.

62 ROSSI, R.M.
Aplicação 3.3.8. Teste para a comparação de duas médias de populações normais com
variâncias distintas e desconhecidas.
Paulino et al. (2003, p.206) apresentam dados sobre medidas de altura nasal (em mm)
de crânios de 30 esqueletos de homens egípcios de cada um de dois períodos: Período Pré-
dinástico (4000 A.C) e Período Romano (150 D.C). Desejam-se comparar as médias das
alturas nasais dos dois gruposem nível de 10% de significância. Os dados foram:

Tabela 3.7. Média de altura nasal (mm) de crânios de homens egípcios.


Período Medida da altura nasal (mm) y. ± s y
.

Pré-dinástico 49 48 50 44 54 56 48 48 51 51 50 53 51 50 51 50,53 ± 2,76


(Y1) 54 50 53 50 49 51 47 53 50 49 55 53 48 54 46
Romano 50 49 57 52 47 52 58 45 55 54 51 54 56 53 52 51,37 ± 3,72
(Y2) 47 51 54 50 47 46 44 54 55 52 57 52 48 48 51

Supõem-se duas amostras independentes Y1 e Y2 distribuídas normalmente:


Y1 ~ N(µ1 , τ1 ) e Y2 ~ N(µ 2 , τ2 )
1
σk = , k = 1, 2.
τk
Priori:
µ1 ~ N(0, 10-6)
µ2 ~ N(0, 10-6)
∆ = µ1 - µ2
τ1 e τ2 ~ Gama(10-3, 10-3)
A hipótese nula a ser testada será:
H0: ∆: µ1 -µ2 = 0
O gráfico ‘Doodle’ e o respectivo ‘Write Code’, referentes ao modelo no
WinBUGS/OpenBugs, são:

63 ROSSI, R.M.
name: delta type: logical link: identity
value: mu1-mu2

sigma1 sigma2

y1[i] tau1 y2[j] tau2

for(i IN 1 : n1) for(j IN 1 : n2)

mu1 mu2

delta

Figura 3.17. Modelo gráfico para a Aplicação 3.3.8.

model;
{
for( i in 1 : n1 ) { y1[i] ~ dnorm(mu1,tau1) }
for( j in 1 : n2 ) { y2[j] ~ dnorm(mu2,tau2) }
mu1 ~ dnorm( 0, 0.000001)
mu2 ~ dnorm( 0, 0.000001)
delta <-mu1-mu2
tau1 ~ dgamma(0.001, 0.001)
tau2 ~ dgamma(0.001, 0.001)
sigma1 <- 1 / sqrt(tau1)
sigma2 <- 1 / sqrt(tau2)
}

Observação: Para se testar a hipótese H 0 : σ 12 = σ 22 , basta incluir no modelo as seguintes


linhas para cálculo das variâncias:
sigma2.1 <- 1 / tau1
sigma2.2<- 1 / tau2
delta.sig <- sigma2.1 - sigma2.2

Chutes iniciais:
list(mu1=0,mu2=0,tau1=1,tau2=1)

64 ROSSI, R.M.
Resultados:
node mean sd MC error 5% 95% startsample
delta -0.834 0.8572 0.01704 -2.247 0.5505 1000 1800
mu1 50.53 0.6134 0.01136 49.55 51.59 1000 1800
mu2 51.37 0.6079 0.01604 50.35 52.37 1000 1800

Como o intervalo de credibilidade 90% para delta (-2,247, 0,5505) contém o valor nulo
(zero), então demonstra bem que não há evidências de diferença entre as médias.

Aplicação 3.3.9. Teste para a comparação de duas médias em dados de contagem:


Influência do selênio na produção de embriões de cabras.
(Colaboração de Marcela Mataveli, aluna de Pós-graduação em Zootecnia/UEM)
Os dados referem-se à parte de uma dissertação de mestrado, do Programa de Pós-
graduação em Zootecnia, da Universidade Estadual de Maringá. Esse estudo foi realizado
com o objetivo de avaliar a influência da suplementação adicional de selênio na quantidade de
embriões produzidos por cabras Saanen. Foram utilizadas 12 cabras, divididas em dois
grupos, com seis animais cada. O grupo padrão (Y1) foi suplementado com 3 mg de
selênio/kg de sal mineral e o grupo tratado (Y2), com 9 mg de selênio/kg de sal mineral.
As amostras de Y1 e Y2 são independentes e distribuídas segundo uma Poisson.
Y1 ~ Poisson(µ1) e Y2 ~ Poisson(µ2)
Distribuições a priori (não-informativas):
µk ~ Gama(10-3, 10-3), k = 1,2
A hipótese nula a ser testada será:
H0: ∆: µ1 − µ2 = 0
model;
{
for( i in 1 : n1 ) { y1[i] ~ dpois(mu1) }
for( j in 1 : n2) { y2[j] ~ dpois(mu2) }
mu1 ~ dgamma(0.001, 0.001)
mu2 ~ dgamma(0.001, 0.001)
delta <- mu1 – mu2
}

Dados:
list(n1=6, n2=6, y1=c(2,0,4,14,10,2), y2=c(0,1,1,6,2,0))

Chutes iniciais:
list(mu1=mean(y1),m2=mean(y2))

65 ROSSI, R.M.
Resultados:
node mean sd MC error 2.5% median 97.5%
delta 3.649 1.085 0.01242 1.604 3.597 5.12
mu1 5.32 0.946 0.01042 3.644 5.254 7.34
mu2 1.672 0.5358 0.005432 0.7982 1.61 2.872

Como o intervalo com 95% de credibilidade para delta é (1,604, 5,12), então conclui-se
pela diferença entre as médias. A suplementação com 9 mg de selênio/kg de sal mineral pode
ter gerado algum grau de toxidêz, prejudicando, assim, a quantidade de embriões produzidos
por cabras Saanen, o que ocasionou a rejeição da hipótese de igualdade de tratamentos.
Observação: Realizando testes frequentistas no R, os resultados dos testes
paramétricos e não-paramétricos foram os seguintes:
y1 = c(2, 0, 4, 14, 10, 2)
y2 = c(0, 1, 1, 6, 2, 0)
Paramétrico: t-Student
t.test(y1,y2)
# p-valor = 0,1746
Não-paramétrico: Mann-Whitney
wilcox.test(y1,y2, paried=FALSE)
# p-valor = 0,1667
Análise Paramétria: Modelos lineares generalizados
trat1 = rep(1,length(y1))
trat2 = rep(2,length(y2))
trat = c(trat1,trat2)
trat = factor(trat)
prod = c(y1,y2)
res = glm(prod ~ trat, family=poisson)
summary(res)
# p-valor = 0,00132*

66 ROSSI, R.M.
Aplicação 3.3.10. Análise de variância – Procedimento I.
Com o objetivo de se comparar três tratamentos (rações) para se observar o ganho de
peso em bovinos em certo período, aplicou-se cada um daqueles a um grupo de animais
selecionados aleatoriamente em um rebanho homogêneo. Os ganhos de pesos (em kg) foram
anotados e são apresentados a seguir.
Tratamento 1: {78,9; 72,3; 81,7; 85,7};
Tratamento 2: {63,5; 74,1; 75,5; 80,8; 71,3; 74,5};
Tratamento 3: {79,1; 90,3; 85,6; 81,4; 95,3}.
Suposições para o modelo:
Yi ~ N(µi,τ)

Distribuições a priori:
µi ~ N(0, 10-6)

τ ~ Gama(10-3, 10-3)
∆1 = µ1 - µ2

∆2 = µ1 - µ3

∆3 = µ2 - µ3

Assume-se que os ganhos de pesos seguem distribuições normais homocedásticas


(variâncias iguais).
Os testes de hipóteses de que a diferença em média entre os tratamentos i e j (i≠j) serão:
H0: ∆k : µi - µj = 0 ; k = 1,2,3; i = 1, 2, 3 e j = 1, 2, 3 tal que i ≠ j.
O gráfico ‘Doodle’ e o respectivo ‘Write Code’, referentes ao modelo no
WinBUGS/OpenBugs, são:

67 ROSSI, R.M.
name: delta2 type: logical link: identity
value: mu1-mu3

tau sigma

y1[i] y2[j] y3[k]

for(i IN 1 : n1) for(j IN 1 : n2) for(k IN 1 : n3)

mu1 mu2 mu3

delta1 delta2 delta3

Figura 3.18. Modelo gráfico para a Aplicação 3.3.10.

model;
{
for( i in 1 : n1 ) { y1[i] ~ dnorm(mu1,tau) }
for( j in 1 : n2 ) { y2[j] ~ dnorm(mu2,tau) }
for( k in 1 : n3 ) { y3[k] ~ dnorm(mu3,tau) }
mu1 ~ dnorm( 0, 0.000001)
mu2 ~ dnorm( 0, 0.000001)
mu3 ~ dnorm( 0, 0.000001)
tau ~ dgamma(0.001,0.001)
sigma <- 1 / sqrt(tau)
delta1 <-mu1 - mu2
delta2 <- mu1 - mu3
delta3 <- mu2 - mu3
}

Dados:
list(n1=4,n2=6,n3=5,
y1=c(78.9,72.3,81.7,85.7),
y2=c(63.5,74.1,75.5,80.8,71.3,74.5),
y3=c(79.1,90.3,85.6,81.4,95.3))

Chutes iniciais:
list(mu1=0, mu2=0, mu3=0, tau=1)

68 ROSSI, R.M.
Resultados:
Baseados na distribuição a posteriori dos ∆k, os resultados foram:
node mean sd MC error 2.5% median 97.5% start sample
delta1 6.357 4.215 0.1125 -2.121 6.42 14.62 1000 1800
delta2 -6.934 4.291 0.1038 -15.58 -6.897 1.483 1000 1800
delta3 -13.29 4.074 0.1429 -21.35 -13.41 -5.146 1000 1800
mu1 79.53 3.179 0.07061 73.37 79.51 85.77 1000 1800
mu2 73.17 2.711 0.07226 67.65 73.16 78.66 1000 1800
mu3 86.46 3.025 0.09307 80.5 86.52 92.73 1000 1800
tau 0.028 0.0115 0.00025 0.0098 0.0263 0.055 1000 1800
sigma 6.425 1.459 0.018 4.295 6.179 9.877 1000 1800

Observação: Existirá diferença estatisticamente significativa entre os tratamentos,


quando o Intervalo de Credibilidade (ICr) para o contraste de interesse não contiver o valor
zero.
Desta forma, para o contraste ∆3 = µ2 - µ3 , cujo ICr não contém o zero, a hipótese de

igualdade de médias é rejeitada, isto é, existe diferença entre os tratamentos 2 e 3.


Observa-se que os resultados frequentistas concordam com os Bayesianos. A vantagem
deste último está na precisão das estimativas dos contrastes.
y1 = c(78.9,72.3,81.7,85.7)
y2 = c(63.5,74.1,75.5,80.8,71.3,74.5)
y3 = c(79.1,90.3,85.6,81.4,95.3)
dados=c(y1,y2,y3)
t1 = rep(1,length(y1))
t2 = rep(2,length(y2))
t3 = rep(3,length(y3))
trat = factor(c(t1,t2,t3))
res.anova = aov(dados~trat)
res.anova
summary(res.anova)
TukeyHSD(res.anova)

ANOVA Frequentista

Tabela 3.8. Tabela de resultados da análise de variância frequentista.


FV SQ GL QM F p-valor
Intercepto 92840,64 1 92840,64 2579,32 0,000000
Tratamento 465,48 2 32,74 6,47 0,012432*
Resíduo 431,93 35,99
*Significativo em nível de 5%

69 ROSSI, R.M.
Médias: T1: 79,65; T2: 73,28 e T3: 86,34
Teste Tukey:
T1 T2 T3
T1 - 0,265967 0,259040
T2 0,265967 - 0,009677 *significativo
T3 0,259040 0,009677 -

Aplicação 3.3.11. Análise de variância – Procedimento II.


(Colaboração de Daniela A. Lino, aluna de Pós-graduação em Zootecnia/UEM)
Assumindo-se que a seleção em rebanhos fechados pode promover a redução da
variância genética aditiva, foi estudada a possibilidade do uso de um modelo de regressão
múltipla para se estimar os componentes de (co)variância genética aditiva, ao longo dos anos
em que a seleção foi praticada. Para tanto, foram usados dados simulados de peso aos 550
dias em dez rebanhos de bovinos de corte submetidos à seleção, por vinte anos. Assumindo-se
que a cada cinco anos o peso aos 550 dias, era uma nova característica, por meio de análises
multicarater que envolvem quatro características, e usando-se o Amostrador de Gibbs, com
um modelo animal, foram estimados componentes de (co)variância. Em cada amostra gerada
no MTGSAM (VAN TASSEL e VAN VLECK, 1996), formada por dez componentes de
(co)variância genética aditiva, foram ajustadas três equações de regressão múltipla (RMI,
RMM e RMF), estimando-se assim, 406 componentes de (co)variância genética aditiva, em
cada, durante os vinte anos de seleção animal. Para a equação RMI, foram usados os anos
iniciais de cada geração de seleção e para a RMM, os anos intermediários e, na RMF, foram
usados os anos finais. Para se saber se existe diferença significativa entre as três equações
obtidas, foi aplicado um teste de comparações múltiplas aos coeficientes de determinação (R2)
ajustadas.
Tabela 3.9. R2 ajustados em três modelos distintos.
R2
Rebanho RMI RMM RMF

1 0,8779 0,9059 0,9058


2 0,8547 0,8383 0,8384
3 0,8386 0,8710 0,8709
4 0,9199 0,9066 0,9069
5 0,8887 0,9199 0,9196
6 0,8580 0,8669 0,8668
7 0,8984 0,9150 0,9150
8 0,9604 0,9495 0,9605
9 0,8873 0,9194 0,9494
10 0,9413 0,9542 0,9542

70 ROSSI, R.M.
Para realizar a análise de variância poderemos utilizar outro procedimento, supondo o
seguinte modelo:
Suposições para o modelo com k-níveis de tratamento:
Yik ~ N(µik,τ)

µik = µ0 + αik+ εi, tal que εi ~ N(0,σ2e)

Distribuições a priori:
µ0 ~ N(0, 10-6)

αik ~ N(0, 10-6)

τ ~ Gama(10-3, 10-3)
Modelo:
model;
{
# verossimilhança
for( i in 1 : n )
{
y[i] ~ dnorm(mu[i], tau)
mu[i] <- mu0 + alpha[ trat[i] ]
}
# contraste STZ (sum-to-zero)
alpha[1] <- - sum(alpha[2:ntrat])
# priori
mu0 ~ dnorm( 0, 0.000001 )
for (i in 2:ntrat) { alpha[i] ~ dnorm(0, 0.000001) }
tau ~ dgamma(0.001, 0.001)
sigma <- 1 / sqrt(tau)
}

Dados:
list(n = 10, ntrat = 3,
y=c(0.8779, 0.8547, 0.8386, 0.9199, 0.8887, 0.8580, 0.8984, 0.9604, 0.8873,0.9413,
0.9059, 0.8383, 0.8710, 0.9066, 0.9199, 0.8669, 0.9150, 0.9495,0.9194, 0.9542,
0.9058, 0.8384, 0.8709, 0.9069, 0.9196, 0.8668, 0.9150, 0.9605, 0.9494, 0.9542),
trat=c(1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3))

Chutes iniciais:
list(mu0=1, alpha=c(NA, 0, 0), tau=1)

71 ROSSI, R.M.
Resultados (Procedimento I):
delta1 = mi - mm = mu1 - mu2
delta2 = mi - mf = mu1 - mu3
delta3 = mm - mf = mu2 - mu3
node mean sd 2.5% median 97.5%
mi 0.8925 0.0149 0.8624 0.8925 0.9221
mm 0.9045 0.01402 0.876 0.9045 0.9331
mf 0.9054 0.01458 0.8762 0.9054 0.9349
delta1 -0.01201 0.02049 -0,05307 -0.01206 0.02799
delta2 -0.01296 0.02073 -0.05384 -0.01319 0.02862
delta3 -0.000467 0.02018 -0.04112 -0.001076 0.0386
sigma 0.0447 0.01228 0.0283 0.0423 0.0739

Resultados (Procedimento II):


node mean sd 2.5% median 97.5%
mu0 -4.388 806.9 -1563.0 -0.1277 1566.0
alpha[1] 5.28 806.9 -1565.0 1.009 1563.0
alpha[2] -5.81 813.6 -1594.0 -4.394 1580.0
alpha[3] 0.53 813.0 -1576.0 -2.061 1595.0
sigma 0.04563 0.01258 0.02843 0.0432 0.07621

Apesar de a equação MF apresentar maior média dos coeficientes de determinação, não


existe diferença significativa entre as três equações, portanto, qualquer uma delas pode ser
utilizada para o objetivo proposto, uma vez que apresentaraltos R2 com baixos desvios-
padrão.
box plot: alpha caterpillar plot: alpha

[1] [2] [3]

[1]

0.0 [2]

[3]

-2.0E+3 -1.0E+3 0.0 1.00E+3

Figura 3.18b. Comparações entre os coeficientes do modelo da Aplicação 3.3.11.

72 ROSSI, R.M.
A Figura 3.18b pode ser obtida após o procedimento no WinBUGS, no menu de opções
em “Inference→ Compare”, digitando em node: ‘alpha’ e, em seguida, em qualquer um dos
dois tipos gráficos: Box plot e/ou caterpilar.

Observação: Processos gerados separadamente podem ser utilizados para comparações


de médias (∆ = µi-µj), desde que ni = nj, i≠j em amostras a posteriori ordenadas.

Aplicação 3.3.12. Influência de casca de café melosa ensilada no ganho de peso de


leitões.
(Colaboração de Paulo L. O. Carvalho, aluno de Pós-graduação em Zootecnia/UEM)
Foram analisados os níveis de inclusão de casca de café melosa ensilada (CCEn) na
alimentação de suínos na fase inicial (15-30 kg). Os níveis utilizados foram: 0, 4, 8, 12 e 16%
de inclusão de CCEn e a variável de interesse foi ganho de peso diário em leitões. As
conclusões foram por meio de comparações Bayesianas, assumindo-se que o ganho de peso
(kg) segue distribuição normal com variâncias iguais para todos os níveis de CCEn.
Tabela 3.10. Ganho de peso (kg) por níveis de CCEn (%).
Níveis de Ganho de Peso Diário (kg)
CCEn (%)
0 0,7229 0,7037 0,6385 0,6007 0,7659 0,5609
4 0,6558 0,7306 0,6261 0,7667 0,7433 0,5009
8 0,6419 0,6060 0,6983 0,7211 0,7402 0,4526
12 0,5190 0,6884 0,6433 0,6891 0,6137 0,4007
16 0,5974 0,6139 0,6374 0,7713 0,6789 0,5438
H0: CCEn0= CCEn4= CCEn8= CCEn12= CCEn16

model;
{
for( i in 1 : n )
{
y1[i] ~ dnorm(m1,tau)
y2[i] ~ dnorm(m2,tau)
y3[i] ~ dnorm(m3,tau)
y4[i] ~ dnorm(m4,tau)
y5[i] ~ dnorm(m5,tau)
}
m1 ~ dnorm(0, 0.000001)
m2 ~ dnorm(0, 0.000001)
m3 ~ dnorm(0, 0.000001)
m4 ~ dnorm(0, 0.000001)
m5 ~ dnorm(0, 0.000001)
tau ~ dgamma(0.001, 0.001)
sigma <- 1 / sqrt(tau)

73 ROSSI, R.M.
delta12 <- m1-m2
delta13 <- m1-m3
delta14 <- m1-m4
delta15 <- m1-m5
delta23 <- m2-m3
delta24 <- m2-m4
delta25 <- m2-m5
delta34 <- m3-m4
delta35 <- m3-m5
delta45 <- m4-m5
}

Dados:
list(n=6,
y1=c(0.7229,0.7037,0.6385,0.6007,0.7659,0.5609),
y2=c(0.6558,0.7306,0.6261,0.7667,0.7433,0.5009),
y3=c(0.6419,0.6060,0.6983,0.7211,0.7402,0.4529),
y4=c(0.5190,0.6884,0.6433,0.6891,0.6137,0.4007),
y5=c(0.5974,0.6139,0.6374,0.7713,0.6789,0.5438))

Chutes iniciais:
list(m1=0, m2=0, m3=0, m4=0, m5=0, tau=1)

Resultados:
node mean sd MC error2.5% median 97.5% start sample
delta12 -0.004132 0.05707 0.001855 -0.1144 -0.004584 0.1125 1000 10000
delta13 0.02317 0.05775 0.001864 -0.09423 0.0224 0.1425 1000 10000
delta14 0.07514 0.0581 0.001654 -0.03991 0.07552 0.1935 1000 10000
delta15 0.02501 0.05684 0.001771 -0.08914 0.02391 0.1391 1000 10000
delta23 0.0273 0.0564 0.00153 -0.08072 0.02739 0.1408 1000 10000
delta24 0.07927 0.05704 0.002019 -0.03266 0.0802 0.1943 1000 10000
delta25 0.02914 0.05746 0.001656 -0.07973 0.02754 0.145 1000 10000
delta34 0.05197 0.05676 0.001677 -0.05766 0.05097 0.161 1000 10000
delta35 0.001844 0.05948 0.002219 -0.1146 0.002924 0.113 1000 10000
delta45 -0.05012 0.05973 0.001973 -0.1707 -0.04847 0.06383 1000 10000
m1 0.6647 0.03994 0.001268 0.5897 0.6643 0.7478 1000 10000
m2 0.6689 0.04005 0.00118 0.591 0.6691 0.7459 1000 10000
m3 0.6416 0.04053 0.001407 0.5651 0.6419 0.7225 1000 10000
m4 0.5896 0.04127 0.001261 0.5045 0.5898 0.6724 1000 10000
m5 0.6397 0.04093 0.00126 0.5576 0.6412 0.7196 1000 10000
tau 107.0 30.85 1.115 54.03 104.1 179.4 1000 10000
sigma 0.09985 0.0153 0.0005 0.07486 0.09805 0.136 1000 10000

Não foram encontradas diferenças estatísticas entre as médias de ganho diário de peso
nos níveis considerados.

74 ROSSI, R.M.
Aplicação 3.3.13. Regressão linear simples - Exemplo I.
O problema aqui é simplesmente o de estimar os parâmetros de um modelo linear
simples com erro normal:
Yi ~ N(µi, τ), Yi : representa o ganho de peso (kg);

µi = β0 + β1X, X: representa os níveis (contínuos) de tratamento.

Para os coeficientes de regressão β0 e β1: assumir-se-ão distribuições a priori não-


informativas e independentes:
βk ~ N(0, 10-6), k = 0,1.

O gráfico ‘Doodle’ e o respectivo ‘Write Code’, referentes ao modelo no WinBUGS,


são:
name: mu[i] type: logical link: identity
value: beta0+beta1*x[i]

beta0

mu[i] beta1

sigma

tau y[i]

for(i IN 1 : n)

Figura 3.19. Modelo gráfico para a Aplicação 3.3.13.

75 ROSSI, R.M.
model;
{
for (i in 1 : n)
{
y[i] ~ dnorm(mu[i],tau)
mu[i] <- beta0 + beta1*x[i]
}
beta0 ~ dnorm(0, 0.000001)
beta1 ~ dnorm(0, 0.000001)
tau ~ dgamma(0.001, 0.001)
sigma <- 1/sqrt(tau)
sigma2 <- pow(sigma,2)
sy2 <- pow(sd(y[]),2)
R2B <- 1 - sigma2/sy2
y.pred <- beta0 + beta1*X0 # predição
}

Observação: O procedimento para obtenção do RB 2 (Coeficiente de Determinação

σˆ e2
Bayesiano) se dá pela equação RB 2 = 1 − 2
, onde RB 2 ≈ 1 é indicativo de bom ajuste
s y

do modelo.
Os dados observados foram:

Tabela 3.11. Ganho de peso (Y) por nível de tratamento (X).


X Y
100 2,75 10,0 5,5 7,0 5,5 2,75 7,0 8,25
120 5,75 3,0 4,0 4,25 9,25 5,5 3,5 2,5
140 7,25 3,0 5,5 5,5 3,0 3,5 5,0 9,0
160 3,50 2,25 5,0 2,0 2,0 2,25 - -

Dados:
list(n = 30,
y = c( 2.75,10.0,5.5,7.0, 5.5,2.75,7.0 ,8.25,5.75,3.0 ,4.0 ,4.25,9.25,5.5,3.5,2.5,7.25,
3.0 ,5.5,5.5,3.0 ,3.5,5.0 ,9.0,3.5,2.25,5.0 ,2.0 ,2.0 ,2.25),
x = c(100,100,100,100,100,100,100,100,120,120,120,120,120,120,120,120,140,140,
140,140,140,140,140,140,160,160,160,160,160,160),
X0=130)
Chutes iniciais:
list(beta0=10, beta1=0, tau=1)

Resultados:
Após uma queima de 1.000, seguiu por 10.000 atualizações adicionais que resultaram
nas seguintes estimativas dos parâmetros:

76 ROSSI, R.M.
node mean sd MC error 2.5% median 97.5%
beta0 10.500 2.4080 0.0256 5.7170 10.50 15.20
beta1 -0.0443 0.0185 0.0001978 -0.0809 -0.0444 -0.0074 *
sigma 2.1800 0.3064 0.0030510 1.6770 2.1470 2.8830
tau 0.2226 0.06008 0.0005936 0.1203 0.2169 0.3558
R2B 0.08482** 0.2676 0.003039 -0.5765 0.1288 0.4686ns
sy2 5.295 0.0 0.0 5.295 5.295 5.295
y.pred 4.7490 0.4078 0.003087 3.9450 4.74400 5.5450

**R2 = 0.1496 (frequentista);*significativo em nível de 5%


O modelo estimado será dado por: Ŷ = 10,5 − 0,044X .
Verificação do ajuste no R:
y = c( 2.75,10.0,5.5,7.0,5.5,2.75,7.0,
8.25,5.75,3.0,4.0,4.25,9.25,5.5,3.5,
2.5,7.25,3.0,5.5,5.5,3.0,3.5,5.0,9.0,
3.5,2.25,5.0,2.0,2.0,2.25)
x =c(100,100,100,100,100,100,100,100,
120,120,120,120,120,120,120,120,
140,140,140,140,140,140,140,140,
160,160,160,160,160,160)

Ajuste linear frequentista


lm.saida =lm(y ~ x)
summary(lm.saida)
anova(lm.saida)

# Estimativa Erro-padrão t-valor p-valor


# beta0 10.49621 2.32162 4.521 0.000103
# beta1 -0.04418 0.01788 -2.470 0.019859

Construindo os gráficos dos valores observados e ajustados

f = function(beta0,beta1,x) {y = beta0 + beta1*x}


plot(x,y, main="", xlab="Nível de tratamento", ylab="Ganho de peso (kg)",
bty="n")
lines(x,f(10.5,-0.044,x))
text(150,8,"Reta estimada: Y = 10.5–0.044X",cex=0.8)
text(150,7.5,"R² = 0.15",cex=0.8)

77 ROSSI, R.M.
Aplicação 3.3.14. Regressão linear simples – Exemplo II.
Os dados para este exemplo são adaptados de Berry (1996) e referem-se à medição de
radiação de fundo, através de contagens Y num detector de Geiger (por minutos), em 39
locais com altitudes X (metros) diferenciadas (PAULINO et al., 2003).
Dados:
list(n=39,y=c(11,12.7,11.6,12.8,11.8,11.5,11.1,13.6,12.5,13.9,15.7,17.8,17.2,14.
4,15,13.8,15.8,12.4,13.9,18,14.9,16.8,17.3,17.9,18.4,19.6,20.1,16.6,19.3,22,19.8,
27.8,29,20.4,25,26.8,22.7,24.9,26),
x=c(213.4,426.8,487.8,518.3,579.3,640.2,701.2,731.7,884.1,884.1,1097.6,1097.6
,1128,1158.5,1158.5,1219.5,1250,1311,1311,1463.4,1524.4,1554.9,1554.9,1554.
9,1554.9,1554.9,1554.9,1646.3,1646.3,1890.2,1951.2,2103.7,2103.7,2164.6,2256
.1,2256.1,2530.5,3231.7,3231.7))

Chutes iniciais:
list(beta0=8, beta1=1, tau=1)

Resultados:
Utilizando-se o mesmo modelo apresentado na aplicação anterior, obtiveram-se os
seguintes resultados:
node mean sd MC error 2.5% median 97.5%
beta0 8.551 0.9272 0.009333 6.715 8.552 10.38
beta1 0.0062 0.0005817 0.0000058 0.00505 0.0062 0.00737
sigma 2.51 0.3032 0.002985 2.003 2.482 3.19
tau 0.1655 0.03886 0.0003659 0.09829 0.1624 0.2493

A média e o desvio-padrão a posteriori de β1 (declive da reta de regressão) são


respectivamente dados por 0,0062 e 0,0005817. Destaque-se a grande concentração da
densidade a posteriori retratada no pequeníssimo valor do desvio-padrão a posteriori
derivado da elevada dispersão dos valores de X. O correspondente intervalo com 95% de
credibilidade é de (0,00505, 0,00737), indicando, assim, fortes evidências contra a hipótese
nula (β1 = 0), já que o valor zero ‘0’ não pertence ao intervalo.
Analogamente para β0, este parâmetro apresenta a posteriori uma média e um desvio-
padrão dados por 8,55 e 0,93, com intervalo de credibilidade a 95%, dado por (6,72, 10,38),
que contém fortes evidências contra a hipótese nula (β0 = 0). Sendo assim, a reta ajustada fica
^
definida por: y = 8,55 + 0,0062x .
Observa-se também que a estimativa da variância populacional aposteriori é σ2 =
(2,51)2 = 6,3 e seu respectivo intervalo de credibilidade de 95% será:
ICr (σ2; 95%) : (2,0032, 3,192) = (4,01, 10,18).

78 ROSSI, R.M.
Caso se deseje fazer uma predição pontual para um X0 = 2.000 m, por exemplo, pode-
se obtê-la de modo direto:
 __ 
φ = E  Y 0 | β0 , β1 , σ 2  = 8,55 + 0,0062(2000) = 20,95 .
 
Entretanto a obtenção do Intervalo de Credibilidade para esta predição só será
possível por meio de uma linha de programação a mais no modelo *.bug da seguinte forma:
y.pred <- beta0 + beta1*X0
assim a quantidade y.pred será uma função dos parâmetros a ser solicitada na saída de
resultados. Portanto uma predição da quantidade de radiação de fundo à 2.000 m de distância
será de 20,95 com ICr(95%) de (19,93; 21,98).

79 ROSSI, R.M.
DIC – Critério de Informação da deviance Bayesiana

Modelos podem ser comparados assim como a seleção de (co)variáveis nos modelos pode
ser feita por meio do Deviance Information Criterion (DIC), proposto por Spiegelhalter et al.
(2002), que utiliza, como medida de qualidade de ajuste, a esperança a posteriori do logaritmo
da distribuição condicional dos dados.

A Deviance é definida como -2*log(likelihood) ou -2log(L) em que:


D : é a Média a posteriori de -2log(L);
pD = D − D( θ)

D(θ ) = - 2log(p( y | θ ))

DIC= D + pD = D( θ) + 2pD
Segundo os autores, é uma medida de complexidade do modelo. Modelos com menores
valores de DIC podem ser considerados mais adequados, pois apresentam ajuste ponderado pelo
grau de complexidade. Segundo os autores, o seguinte critério pode ser adotado:

D = |DICA-DICB| (comparando-se dois modelos):

se D < 5 : não-significativo;

se 5 ≤ D ≤ 10 : significativo;

se D > 10 : altamente significativo.

Procedimento para a obtenção do valor DIC no WinBUGS:


1) faça uma simulação inicial para ‘esquentar’ a cadeia a fim de que o DIC no
menu inference seja ativado;
2) vá ao menu “inference DIC”, então a janela ‘Dic Tool’ se abrirá e, em
seguida, selecione ‘set’;
3) gere a(s) amostra(s), utilizando o procedimento já descrito anteriormente para a
obtenção das cadeias;
4) selecione ‘DIC’no menu ‘Dic Tool’.
Há a possibilidade de se encontrar valores negativos para o DIC. Isso ocorre quando
existem valores negativos de pD, uma consequência direta da desigualdade de Jensen. Isso
significa que sua deviance não é convexa (ou seja, a verossimilhança não é log côncava)
como deveria ser. Mais informações a respeito pode ser obtido em Spiegelhalter et al. (2002),
página 589, seção d.

80 ROSSI, R.M.
Aplicação 3.3.15. Regressão linear e quadrática - Peso corporal em codorna de postura.
(Colaboração de Ana P. S. Ton, aluna de Pós-graduação em Zootecnia/UEM)
Foi conduzido um experimento na Fazenda Experimental de Iguatemi pertencente à
Universidade Estadual de Maringá (FEI/UEM), com o objetivo de se estimar a exigência de
proteína bruta para o máximo peso corporal (g) de codornas de postura (Coturnix coturnix
japonica) em crescimento (1 a 28 dias). Foram utilizadas 750 codornas de postura de um dia
de idade não-sexadas, alimentadas com rações quem continham 20, 22, 24, 26 e 28% de
proteína bruta. O delineamento experimental utilizado foi inteiramente casualizado em cinco
níveis de proteína bruta com três repetições e 50 aves por unidade experimental.
Foram analisadas por meio de regressões Linear e Quadrática, os valores médios dos
pesos corporais (Y) dentro dos níveis de proteína bruta (PB).
Tabela 3.12. Peso (g) corporal (Y) por nível (%) de proteína bruta (PB).
PB Y
20 95,15 90,68 90,43
22 95,10 94,34 93,12
24 92,76 98,76 96,69
26 96,41 94,45 96,04
28 94,46 95,91 97,10

Modelo Linear
model;
{
for (i in 1 : n)
{
y[i] ~ dnorm(mu[i], tau)
mu[i] <- beta0 + beta1* x[i]
}
beta0 ~ dnorm(0, 0.00001)
beta1 ~ dnorm(0, 0.00001)
tau ~ dgamma(0.001, 0.001)
sigma <- 1/sqrt( tau)
}

Modelo Quadrático
model;
{
for (i in 1 : n)
{
y[i] ~ dnorm(mu[i], tau)
mu[i] <- beta0 + beta1* x[i] + beta2*pow( x[i],2 )
}
beta0 ~ dnorm(0, 0.00001)
beta1 ~ dnorm(0, 0.00001)
beta2 ~ dnorm(0, 0.00001)

81 ROSSI, R.M.
tau ~ dgamma(0.001, 0.001)
sigma <- 1/sqrt( tau)
}

Dados:
list(n=15,
y=c(95.14,90.68,90.43,95.10,94.38,93.12,92.76,98.76,96.69,96.41,94.45,96.0,
94.46,95.91,97.10),x=c(20,20,20,22,22,22,24,24,24,26,26,26,28,28,28))

Chutes iniciais:
list(beta0=5, beta1=0, tau=1)
list(beta0=5, beta1=0, beta2=1, tau=1)

Resultados:
node mean sd MC error 2.5% median 97.5% start sample
beta0 84.23 4.6410 0.1255 75.01 84.24 93.97 1000 10000
beta1 0.4386 0.1926 0.004958 0.04536 0.4359 0.8173 1000 10000*
sigma 2.067 0.4371 0.01633 1.423 2.004 3.219 1000 10000
tau 0.2635 0.1015 0.003738 0.1007 0.2494 0.4965 1000 10000
* significativo ao nível de 5%

DIC-Linear
Dbar Dhat pD DIC
y 63.850 60.691 3.159 67.009

node mean sd MC error 2.5% median 97.5% startsample


beta0 20.76 43.95 1.512 -63.25 20.74 103.1 100010000
beta1 5.805 3.706 0.1258 -0.9741 5.77 12.91 100010000
beta2 -0.112 0.07725 0.002584 -0.2625 -0.1107 0.03416 100010000n.s.
sigma1.968 0.4459 0.01385 1.328 1.882 3.101 100010000
tau 0.2947 0.1198 0.003981 0.1131 0.2826 0.5698 100010000

DIC-Quadrático
Dbar Dhat pD DIC
y 62.519 58.220 4.299 66.819

A diferença entre o DIC quadrático e linear (0,19) indica que os dados não apresentam
efeito quadrático.
Houve aumento linear para o peso corporal de codornas de postura aos 28 dias de idade
à medida que níveis de proteína bruta na ração também aumentavam, de acordo com a
equação de regressão estimada: ŷ = 84,23 + 0,4386 PB .

82 ROSSI, R.M.
Aplicação 3.3.16. Regressão linear múltipla.
Em muitas situações estamos interessados em estudar um modelos linear com k
variáveis regressoras:

( )
Yi = β 0 + β1 X 1 + β 2 X 2 + ... + β k X k + ε i , ε i ~ N 0, σ e2 e analogamente ao modelo linear

simples, tem-se:

(
Yi ~ N µi , σ e2 )
µi = β 0 + β1 X 1 + β 2 X 2 + ... + β k X k para i = 1, 2, ...., n.
Birkes e Dodge (1993, Apud WinBUGS Examples) aplicaram a regressão linear
múltipla em dados de perda (Y) de empilhamento de materiais de Brownlee (1965). Foram
observadas 21 respostas diárias de perda y e, como covariáveis, a quantia de amônia solta no
fluxo de ar (X1), temperatura (ºC) (X2) e concentração (%) de ácido (X3).
Parte dos dados é mostrada abaixo:

Tabela 3.14. Perda de empilhamento de materiais, por fluxo de ar, temperatura e acidez.
Dia Perda (Y) Fluxo de ar (X1) Temperatura (X2) Acidez (X3)
1 42 80 27 89
2 34 80 27 88
... ... ... ... ...
21 15 70 20 91

Assume-se um modelo de regressão linear múltipla para a variável aleatória Y:


Yi ~ N(µi , τ)

com
µi = β0 + β1X1i + β2X2i + β3X3i

Considerar-se-ão distribuições a priori não-informativas para os βj’s:


βj ~ N(0, 10−6), j = 1, 2, 3.

O gráfico ‘Doodle’ e o respectivo ‘Write Code’, referentes ao modelo no


WinBUGS/OpenBugs, são:

83 ROSSI, R.M.
name: mu[i] type: logical link: identity
value: beta0+beta[1]*x[i,1]+beta[2]*x[i,2]+beta[3]*x[i,3]

beta0

beta[j]

mu[i] x[i,j]
tau

for(j IN 1 : p)

sigma y[i]

for(i IN 1 : n)

Figura 3.20. Modelo gráfico para a Aplicação 3.3.16

model;
{
for( i in 1 : n )
{
y[i] ~ dnorm(mu[i],tau)
mu[i] <- beta0 + beta[1] * x[i , 1] + beta[2] * x[i , 2] + beta[3] * x[i , 3]
}
beta0 ~ dnorm(0, 0.000001)
for( j in 1 : p )
{ beta[j] ~ dnorm(0,0.000001) }
tau ~ dgamma(0.001, 0.001)
sigma <- 1 / sqrt(tau)
}

Dados:
list(p = 3, n = 21,
y = c(42, 37, 37, 28, 18, 18, 19, 20, 15, 14, 14, 13, 11, 12, 8, 7, 8, 8, 9, 15, 15),
x = structure(.Data = c(80, 27, 89, 80, 27, 88, 75, 25, 90, 62, 24, 87, 62, 22, 87,
62, 23, 87, 62, 24, 93, 62, 24, 93, 58, 23, 87, 58, 18, 80, 58, 18, 89, 58, 17, 88, 58,
18, 82, 58, 19, 93, 50, 18, 89, 50, 18, 86, 50, 19, 72, 50, 19, 79, 50, 20, 80, 56, 20,
82, 70, 20, 91), .Dim = c(21, 3)))

Chutes iniciais:
list(beta0=10, beta=c(0,0, 0), tau=1)

84 ROSSI, R.M.
Resultados:
Foram realizadas 10.000 iterações e um burn de 1.000.
node mean sd MCerror 2.5% median 97.5%
beta0 15.20 6.053 0.055 3.12 15.23 27.13
beta[1] 0.30 0.398 0.007 -0.48 0.30 1.11
beta[2] 0.39 0.685 0.014 -0.98 0.40 1.74
beta[3] -0.73 0.474 0.008 -1.66 -0.73 0.22
sigma 10.17 1.872 0.009 7.29 9.91 14.56
tau 0.01 0.003 0.001 0.01 0.01 0.02

Observa-se que o nenhum foi significativo para o modelo, portanto, corroborando os


resultados frequentistas.

Mc = lm(y ~ x1+x2+x3)
summary(Mc)

Coefficients Estimate Std.Error t.value Pr(>|t|)


(Intercept) 15.1913 5.6662 2.681 0.0158 *
x1 0.2999 0.3706 0.809 0.4295
x2 0.3839 0.6390 0.601 0.5559
x3 -0.7151 0.4429 -1.614 0.1248

Outra forma de se verificar quais variáveis são significativas é utilizando-se o DIC, por
meio do procedimento stepwise, isto é, incluindo-se ou excluindo-se variáveis no modelo.
Este procedimento analisa a inclusão, exclusão, ou ambos para a seleção do modelo que
melhor se ajusta aos dados, utilizando o critério de Akaike (AIC) para tal.

require(MASS)
select = stepAIC(Mc)
Mfinal = lm(y ~ x1+x3)
summary(Mfinal)

Coefficients Estimate Std.Error t.value Pr(>|t|)


(Intercept) 13.8948 5.1454 2.700 0.0146 *
x1 0.4765 0.2216 2.151 0.0453 *
x3 -0.4884 0.2279 -2.143 0.0460 *

Residual standard error: 9.536 on 18 degrees of freedom


Multiple R-squared: 0.209, Adjusted R-squared: 0.1211
F-statistic: 2.378 on 2 and 18 DF, p-value: 0.1213

Considerando a análise por meio de Inferência Bayesiana, tem-se os seguintes


resultados de DIC’s:

85 ROSSI, R.M.
Modelo DIC
X1 162,2
X2 162,4
X3 162,2
X1+X2 162,2
X1+X3 159,7*
X2+X3 160,0
X1+X2+X3 161,5

Então, considerando apenas o modelo Y = X1 +X3, as estimativas bayesianas foram:


node mean sd MCerror 2.5% median 97.5%
beta0 13.760 5.512 0.0986 2.704 13.760 24.70000
beta[1] 0.4837 0.228 0.0083 0.0257 0.4823 0.92720 sig
beta[2] -0.4946 0.234 0.0083 -0.9532 -0.4933 -0.02722 sig
sigma 9.9530 1.777 0.0157 7.1930 9.7160 14.13000
tau 0.0110 0.0037 0.0001 0.0050 0.0105 0.01933

Existem muitas situações nas quais não é desejável, ou mesmo possível, descrever um
fenômeno por meio de um modelo de regressão linear.
Ao invés de se fazer uma descrição puramente empírica do fenômeno em estudo,
pode-se, a partir de suposições importantes sobre o problema, trabalhar no sentido de se obter
uma relação teórica entre as variáveis observáveis de interesse. O problema, diferentemente
do caso linear, é que os parâmetros entram na equação de forma não-linear, assim, logo não se
podem simplesmente aplicar fórmulas para se estimar os parâmetros do modelo.
A vantagem dos modelos não-lineares é a possibilidade de se obter parâmetros que
são, em geral, biologicamente interpretáveis.
Na abordagem Bayesiana, são diversas as vantagens: Estimação precisa e acurada,
sem restrições ou suposições assintóticas, possibilidade de se fazer comparações entre
parâmetros das curvas, por diferentes populações etc.
A seguir serão apresentados alguns modelos não-lineares utilizados nas áreas
zootécnicas e afins.

86 ROSSI, R.M.
Aplicação 3.3.17. Regressão não-linear - Curva de crescimento.
Carlin e Gelfand (1991) apresentaram uma análise Bayesiana não-conjugada
utilizando os dados de Ratkowsky (1983, Apud WinBUGS Examples):
Idade (X) 1 1,5 1,5 1,5 2,5 ... 29,0 31,5
Comprimento (Y) 1,80 1,85 1,87 1,77 2,02 ... 2,27 2,57

Os dados referem-se à idade (anos) ecomprimento (m) de 27 animais marinhos


capturados. Carlin e Gelfand (1991) modelaram os dados, utilizando uma curva de
crescimento não-linear sem ponto de inflexão e uma assintota Xi que tende ao infinito. Sendo
assim as pressuposições para o modelo são:
Yi ~ Normal(µi, τ), i = 1, ..., 27,

µi = α − βγXi, com α e β reais; 0 <γ< 1.

Distribuições a priori não-informativas normais são adotadas para α e β, e uma


uniforme em (0,1) para γ. Porém, esta especificação conduz a uma distribuição condicional
não-conjugada e fechada para γ, que também não é log-côncava. O gráfico ‘Doodle’ e o
respectivo ‘Write Code’, referentes ao modelo no WinBUGS, são:
name: mu[i] type: logical link: identity
value: alpha - beta * pow(gamma, x[i])

alpha beta gamma

tau mu[i] x[i]

sigma y[i]

for(i IN 1 : n)

Figura 3.21. Modelo gráfico para a Aplicação 3.3.17.

87 ROSSI, R.M.
model;
{
for( i in 1 : n )
{
y[i] ~ dnorm(mu[i], tau)
mu[i] <- alpha - beta * pow(gamma,x[i])
}
alpha ~ dnorm(0, 0.000001)
beta ~ dnorm(0, 0.000001)
gamma ~ dunif(0, 1)
tau ~ dgamma(0.001, 0.001)
sigma <- 1 / sqrt(tau)
}

Dados:
list(x = c(1.0, 1.5, 1.5, 1.5, 2.5, 4.0, 5.0, 5.0, 7.0,8.0, 8.5, 9.0, 9.5, 9.5, 10.0, 12.0,
12.0, 13.0,13.0, 14.5, 15.5, 15.5, 16.5, 17.0, 22.5, 29.0, 31.5),
y = c(1.80, 1.85, 1.87, 1.77, 2.02, 2.27, 2.15, 2.26, 2.47,2.19, 2.26, 2.40, 2.39,
2.41, 2.50, 2.32, 2.32, 2.43,2.47, 2.56, 2.65, 2.47, 2.64, 2.56, 2.70, 2.72, 2.57),
n = 27)

Observação: Foram utilizados chutes iniciais frequentistas para agilizar o processo de


convergência das cadeias.
list(alpha=2.7, beta=0.97, gamma=0.87, tau=1)

Resultados:

node mean sd MC error 2.5% median 97.5%


alpha 2.658 0.07479 0.003493 2.531 2.651 2.83
beta 0.9736 0.07726 0.001784 0.8249 0.9719 1.131
gamma 0.865 0.03266 0.001417 0.788 0.8687 0.9192
sigma 0.09927 0.01549 2.192E-4 0.07478 0.09741 0.1352

Ajuste no R:
x = c(1.0, 1.5, 1.5, 1.5, 2.5, 4.0, 5.0, 5.0, 7.0, 8.0, 8.5, 9.0, 9.5, 9.5, 10.0, 12.0,
12.0, 13.0, 13.0, 14.5, 15.5, 15.5, 16.5, 17.0, 22.5, 29.0, 31.5)
y = c(1.80, 1.85, 1.87, 1.77, 2.02, 2.27, 2.15, 2.26, 2.47, 2.19, 2.26, 2.40, 2.39,
2.41, 2.50, 2.32, 2.32, 2.43, 2.47, 2.56, 2.65, 2.47, 2.64, 2.56, 2.70, 2.72, 2.57)
fnl = function(alpha,beta,gamma,x)
{
y = alpha -beta*gamma^x
return(y)
}
x2 = seq(1,30,1.1)
y.est = fnl(alpha=2.653,beta=0.9754,gamma=0.862,x2)
plot(x,y,xlab="Idade (anos)",ylab="Comprimento (m)",bty="n")
lines(x2,y.est,type="l")

88 ROSSI, R.M.
2.6
2.4
Comprimento (m)

2.2
2.0
1.8

0 5 10 15 20 25 30

Idade (anos)

Figura 3.22. Modelo ajustado para os dados daAplicação 3.3.17.

Aplicação 3.3.18. Modelo logístico para dose-resposta.


Dobson (1983, Apud WinBUGS Examples) fez análises com dados de dose-resposta
binários publicados por Bliss (1935) nos quais observou os números de besouros mortos, após
cinco horas de exposição a um composto de carbono (CS2) em oito diferentes concentrações:
Tabela 3.13. Número de besouros por concentração de CS2.
Concentração (xi) Nº de besouros (ni) Nº de mortos (ri)
1,6907 59 6
1,7242 60 13
1,7552 62 18
1,7842 56 28
1,8113 63 52
1,8369 59 52
1,8610 62 61
1,8839 60 60

Assumiremos que o número de besouros mortos observado ri, em a cada nível de


concentração xi, segue uma distribuição binomial com parâmetros: ni (tamanho de amostra) e
pi (taxa de morte). Alguns modelos plausíveis para pi são: logit, probit e valor extremo. Aqui
se assumirá apenas o modelo logit (logístico):

89 ROSSI, R.M.
e α +β x i  p 
pi = ou log it(pi ) ≡ log  i  = α + βx i .
1 + e α +β x i  1 − pi 

Para a modelagem inicial foram considerados um conhecimento vago a priori sobre os


parâmetros de regressão: α, β ~ N(0, 10-6), entretanto, devido a forte autocorrelação existente
nas amostras a posteriori, além da demora em atingir convergência dos mesmos, optou-se por
uma segunda modelagem que consiste:
• no uso da covariável reduzida x i − x em vez de xi (tal procedimento acelera a
convergência);
• A substituição de α por α* no preditor linear, como consequência da alínea anterior,
em que α = α* − βx .
Modelo inicial
model;
{
for( i in 1 : n )
{
r[i] ~ dbin(p[i],n[i])
logit(p[i]) <- alpha + beta * x[i]
rhat[i] <- n[i] * p[i]
}
alpha ~ dnorm(0, 0.000001)
beta ~ dnorm(0, 0.000001)
}

O gráfico ‘Doodle’ e o respectivo ‘Write Code’, referentes ao segundo modelo


proposto no WinBUGS/OpenBugs, são:

90 ROSSI, R.M.
name: p[i] type: logical link: logit
value: alpha.star + beta * (x[i] - mean(x[]))

alpha beta

alpha.star x[i]

p[i] n[i]

r[i] rhat[i]

for(i IN 1 : N)

Figura 3.23. Modelo gráfico para a Aplicação 3.3.18.

model;
{
for( i in 1 : N )
{
r[i] ~ dbin(p[i],n[i])
logit(p[i]) <- alpha.star + beta * (x[i] - mean(x[]))
rhat[i] <- n[i] * p[i]
}
alpha <- alpha.star - beta * mean(x[])
beta ~ dnorm(0, 0.000001)
alpha.star ~ dnorm(0, 0.000001)
}

Dados:
list( x = c(1.6907, 1.7242, 1.7552, 1.7842, 1.8113, 1.8369, 1.8610, 1.8839),
n = c(59, 60, 62, 56, 63, 59, 62, 60),
r = c(6, 13, 18, 28, 52, 53, 61, 60),
N = 8)

Chutes:
list(alpha=0, beta=0) # Modelo inicial
list(alpha.star=0, beta=0) # Modelo proposto
Resultados para o Modelo proposto:

node mean sd MC error 2.5% median 97.5% start sample


alpha -60.8 5.177 0.05891 -71.38 -60.66 -51.11 1001 10000
beta 34.32 2.91 0.03336 28.89 34.24 40.27 1001 10000

91 ROSSI, R.M.
rhat[1] 3.57 0.959 0.00952 1.991 3.48 5.678 1001 10000
rhat[2] 9.957 1.7 0.01629 6.876 9.879 13.47 1001 10000
rhat[3] 22.51 2.126 0.02071 18.36 22.53 26.71 1001 10000
rhat[4] 33.91 1.777 0.02053 30.38 33.94 37.31 1001 10000
rhat[5] 50.06 1.659 0.02113 46.73 50.09 53.15 1001 10000
rhat[6] 53.22 1.105 0.01409 50.94 53.27 55.22 1001 10000
rhat[7] 59.15 0.7336 0.009167 57.57 59.21 60.40 1001 10000
rhat[8] 58.69 0.4233 0.005176 57.74 58.74 59.36 1001 10000

Os valores ‘rhat’ representam a predição pontual para o número de besouros mortos em


cada uma das oito dosagens.
Ajuste no R:
rhat = function (alpha, beta, x, n)
{
p = exp(alpha + beta*x) / (1 + exp(alpha + beta*x) )
rhat = n*p
rhat
}

n = c(59, 60, 62, 56, 63, 59, 62, 60)


x = c(1.6907, 1.7242, 1.7552, 1.7842, 1.8113, 1.8369, 1.8610, 1.8839)
r = c(6, 13, 18, 28, 52, 53, 61, 60)
x2=seq(1.5, 1.9, 0.055)
rhat.est = rhat(alpha=-60.8, beta=34.32, x2, n)
plot(x,r,xlab="Concentração de CS2",ylab="Número de bezouros mortos")
lines(x2,rhat.est, type="l")

Figura 3.24. Modelo ajustado para os dados da Aplicação 3.3.18.

92 ROSSI, R.M.
Aplicação 3.3.19. Modelo logístico para curva de crescimento.

O modelo logístico é um dos mais utilizados na análise de dados de crescimento,


proposto inicialmente por Verhulst (1838). De acordo com Ratkowsky (1983), os parâmetros
desse modelo possuem boas propriedades estatísticas, uma vez que, em geral, apresentam
vícios e medidas da curvatura não-significativas, mesmo em casos em que a amostra não é
muito grande. Dentre as muitas parametrizações encontradas na literatura, uma das mais
usadas é apresentada a seguir:

Yi =
α
1+exp(β-γXi )
( )
+ εi ; 0 <γ< 1; α, β ∈ℜ; ε i ~ N 0, σ e2 .

Modelagem:
α
Yi ~ N ( µi ,τ ) onde µ i = .
1+exp(β-γX i )
A aplicação a seguir consiste em analisar os dados obtidos por Heyes e Brown (1956)
(Apud WinBUGS Examples), os quais se referem a quantidade de água presente em células de
raízes de feijão (Y), obtida em diferentes pontos das raízes (X).
Os dados sugerem que a quantidade de água aumenta à medida que o ponto escolhido
se afasta do caule do feijoeiro, existindo certa tendência à estabilização, isto é, características
de um ajuste de um modelo de crescimento sigmoide.
Tabela 3.14. Quantidade de água em pontos do caule do feijoeiro.
X 0,5 1,5 2,5 3,5 4,5 5,5 6,5 7,5 8,5 9,5 10,5 11,5 12,5 13,5 14,5
Y 1,3 1,3 1,9 3,4 5,3 7,1 10,6 16,0 16,4 18,3 20,9 20,5 21,3 21,2 20,9

Para os parâmetros envolvidos no modelo, foram assumidas as seguintes distribuições


a priori normais não-informativas:
α, β ~ N(0, 10-6)

γ ~ U(0, 1)
τ ~ Gama(10-3, 10-3)
O gráfico ‘Doodle’ e o respectivo ‘Write Code’, referentes ao modelo no
WinBUGS/OpenBugs, são:

93 ROSSI, R.M.
name: mu[i] type: logical link: identity
value: alpha / ( 1 + exp(beta -gamma*x[i]))

alpha beta gamma

tau mu[i] x[i]

sigma y[i]

for(i IN 1 : n)

Figura 3.25. Modelo gráfico para a Aplicação 3.3.19.

model;
{
for( i in 1 : n )
{
y[i] ~ dnorm(mu[i],tau)
mu[i] <- alpha / (1 + exp(beta - gamma * x[i]))
}
alpha ~ dnorm(0, 0.000001)
beta ~ dnorm(0, 0.000001)
gamma ~ dunif(0, 1)
tau ~ dgamma(0.001, 0.001)
sigma <- 1 / sqrt(tau)
}

Dados:
list(n = 15,
y = c(1.3, 1.3, 1.9, 3.4, 5.3, 7.1, 10.6, 16, 16.4, 18.3, 20.9, 20.5, 21.3, 21.2, 20.9),
x = c(0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 10.5, 11.5, 12.5, 13.5, 14.5))

Chutes iniciais:
list(alpha=20, beta=3, gamma=0.5, tau=1)

94 ROSSI, R.M.
Resultados:
node mean sd MC error 2.5% median 97.5% start sample
alpha 21.51 0.4486 0.01776 20.64 21.5 22.4 4001 7000
beta 3.98 0.2854 0.02458 3.412 3.963 4.567 4001 7000
gamma 0.6264 0.04774 0.003975 0.5324 0.6236 0.7264 4001 7000
sigma 0.7671 0.1754 0.00438 0.5147 0.736 1.18 4001 7000
tau 1.94 0.7861 0.01866 0.7182 1.846 3.776 4001 7000

Baseado nesses valores, o modelo Bayesiano ajustado será:


21,51
Yˆ = .
1 + exp(3,98 − 0,63 X )
Ajuste no R:
y.est = function (alpha, beta, gamma, x)
{
y = alpha / (1 + exp(beta - gamma*x) )
y
}

x = c(0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 10.5, 11.5, 12.5, 13.5, 14.5)
y = c(1.3, 1.3, 1.9, 3.4, 5.3, 7.1, 10.6, 16, 16.4, 18.3, 20.9, 20.5, 21.3, 21.2, 20.9)
plot(x, y, xlab="Ponto da raiz", ylab="H2O",bty="n")
y2 = y.est(alpha=21.51, beta=3.98, gamma=0.6264,x)
lines(x,y2, type="l",col=2,lwd=2)

# Predição (pontual) para x = 5


y.est(alpha=21.51, beta=3.98, gamma=0.6264,x=5)

6.449829

95 ROSSI, R.M.
20
15
H2O

10
5

0 2 4 6 8 10 12 14

Ponto da raiz

Figura 3.26. Modelo ajustado para os dados da Aplicação 3.3.19.

Aplicação 3.3.20. Modelo de Wood para curva de lactação.


O objetivo aqui foi utilizar o método Bayesiano no ajuste do modelo de Wood (1967) a
dados de produção de leite de cabras.
Tempo em dias (t) 15 20 30 ... 290 300
Produção em kg (Y) 3,5 4,0 4,5 ... 2,8 2,5

As pressuposições para o modelo de Wood (1967) para uma observação por animal são
baseados na distribuição Gama incompleta:
Yi ~ N ( µi ,τ ) , i = 1,...,30, com ε i ~ N ( 0, σ e2 )

e
µi = tib e a + ct i

a > 0: produção inicial;


0 < b < 1 : taxa de acréscimo da produção até o pico;
-1 < c < 0 : taxa de declínio da produção após o pico
t: tempo (dias);
96 ROSSI, R.M.
Considerar-se-á por simplicidade, que os dados são independentemente distribuídos,
isto é, que não existe variação entre animais e dentro de cada animal (não há correlação). Uma
distribuições a priori Gama pouco informativa foi adotada para a; uma Gama não-informativa
para τ; para b e c, Uniformes restritas nos intervalos (0,1) e (-1,0), respectivamente.
Parâmetros auxiliares foram requeridos:
b
•  b
Rendimento de leite (em kg) - no pico da curva (η): η =  −  e a −b
 c

• Dia do pico (θ): θ = − b


c
• Persistência da lactação (φ): φ = −(b + 1) ln(−c)
Observação: É uma media que define a duração de uma lactação em uma produção
satisfatória, sob o ponto de vista econômico, isto é, seria o tempo (na unidade de medida) que
o animal pode produzir leite, num plateau, de forma viável.
O gráfico ‘Doodle’ e o respectivo ‘Write Code’, referentes ao modelo no
WinBUGS/OpenBugs, são:
name: mu[i] type: logical link: identity
value: pow(t[i],b)*exp(a+c*t[i])

nu theta phi

a c
b

mu[i] t[i]

tau y[i]

sigma
for(i IN 1 : n)

Figura 3.27. Modelo gráfico para a Aplicação 3.3.20.

97 ROSSI, R.M.
model;
{
for( i in 1 : n )
{
y[i] ~ dnorm(mu[i],tau)
mu[i] <- pow(t[i],b) * exp(a + c * t[i])
}
a ~ dgamma(1,1)# pouco informativa
b ~ dunif(0,1)
c ~ dunif(-1,0)
tau ~ dgamma(0.001, 0.001)
sigma <- 1 / sqrt(tau)
nu <- pow( -b/c,b) * exp(a - b)
theta <- -b/c
phi <- - (b + 1) * log( -c)
}

Observação: Foi utilizado uma priori pouco informativa para a, isto é, a ~ Gama(1,1),
pois houve problema na geração a posteriori no WinBUGS/OpenBugs para o parâmetro a.
Dados:
list(n = 30,
y = c(3.5,4,4.5,5.5,7,7.3,6.7,6.7,6.6,5.9,5.6,5.5,5,5,4.7,4.7,4.5,4.4,4,4,3.9,3.8,3.5,
3.3,3.2,3,3,2.9,2.8,2.5),
t = c(15,20,30,40,50,60,70,80,90,100,110,120,130,140,150,160,170,180,190,200,
210,220,230,240,250,260,270,280,290,300))

Chutes iniciais:
list(a=1, b=0.5, c=-0.5, tau=1)

Resultados:
Foram realizadas 100.000 atualizações e, após um burnin de 10.000 e com saltos de
tamanho 50 (devido as autocorrelações) sobrou uma amostra limpa de tamanho 1.800, cujas
inferências são apresentadas a seguir:
node mean sd MC error 2.5% median 97.5% start sample
a 0.101 0.09378 0.004303 0.002899 0.07348 0.3529 10000 1800
b 0.5319 0.02862 0.001324 0.4574 0.5382 0.5702 10000 1800
c -0.0076 0.00041 0.000016 -0.008301 -0.0076 -0.00668 10000 1800
tau 5.063 1.372 0.03509 2.843 4.907 8.142 10000 1800
sigma 0.457 0.06373 0.00163 0.3506 0.4515 0.5936 10000 1800
nu 6.238 0.1436 0.003457 5.96 6.238 6.519 10000 1800
phi 7.48 0.08683 0.003594 7.25 7.499 7.592 10000 1800
theta 70.08 2.368 0.08196 65.32 70.11 74.52 10000 1800

98 ROSSI, R.M.
Conclui-se que esta amostra apresenta uma produção média máxima de η = 6,24 kg de
leite/cabra ocorre aos 70 dias, cuja persistência é de ϕ = 7,5 dias, isto é, em média há
aproximadamente 8 dias de persistência a partir do pico de produção – o animal manterá os
6,24 kg de produção num plateau de resposta por 8 dias.
Foi utilizado o programa R para a verificação do ajuste da curva estimada:
Função de Wood:
lact = function (a,b,c, t)
{
y = t^b * exp(a + c*t)
return(y)
}

Dados:
y = c(3.5,4,4.5, 5.5,7,7.3,6.7,6.7,6.6,5.9,5.6,5.5,5,5,
4.7,4.7,4.5,4.4,4,4,3.9,3.8,3.5,3.3,3.2,3,3,2.9,2.8,2.5)
t = c(15,20,30,40,50,60,70,80,90,100,110,
120,130,140,150,160,170,180,190,200,
210,220,230,240,250,260,270,280,290,300)

Chamada da função:

y2 = lact(a=0.101, b=0.5319, c=-0.007581, t)


Construção da curva:
plot(t,y,xlab='Tempo (dias)',ylab='Produção de leite (Kg)')
lines(t,y2,type='l')

99 ROSSI, R.M.
Figura 3.28. Ajuste da curva de Wood (1967) para a Aplicação 3.3.20.

Observação: Outras formas para a curva de Wood podem ser encontradas na literatura, tais

como, µi = atib e − cti (apresentada no artigo original) ou µi = atib ecti . Esta última, por exemplo tem a

seguinte estrutura de modelagem:

Yi ~ N ( µi ,τ ) , µi = atib ecti onde a > 0; 0 < b < 1; c > 0.


Segue que:
b
•  b
Rendimento de leite (em kg) - no pico da curva: η = a  −  e− b
 c

• Dia do pico: θ = b
c
• Persistência da lactação: φ = −(b + 1) ln(−c)

Existem também diferentes modelagens conhecidas na literatura para a produção de


leite, como por exemplo, análises multifásicas (Grossman e Koops, 1988) que podem
gerar resíduos mais estáveis, isto é, com menor variação.

100 ROSSI, R.M.


Aplicação 3.3.21. Comparação entre curvas de crescimento - Potencial germinativo em
plantas.
O objetivo aqui foi utilizar o método Bayesiano no ajuste de uma curva de crescimento,
aplicadoa dados de germinação de plantas. A abordagem é similar à do modelo de curva de
lactação, logo, dois modelos serão utilizados: Wood (1967) e Weibull (1951), com três
parâmetros.
As pressuposições para o modelo são:
Yi ~ N ( µi ,τ ) , i = 1, ..., 45.

Yi: representa o percentual de germinação da planta i (potencial germinativo).

Modelo I - (Wood, 1967):


µi = atib ect , a> 0; 0 < b < 1; -1 < c < 0.
i

t : representa o tempo (de observação) em dias.


Modelo II - (Distribuição de Fermi-Dirac, apud MCDOUGALL e STONER, 1938):
b
µi =  ti − a 
, a, b∈ℜ, c> 0(WEIBULL, 1951).
 
1+ e  c 

Considerar-se-á por simplicidade, que os dados são independentemente distribuídos,


isto é, que não existe variação entre e dentro das plantas (não há correlação).
Modelo I

model;
{
for( i in 1 : n )
{
y[i] ~ dnorm(mu[i],sigma)
mu[i] <- pow(t[i],b) * exp(a + c * t[i])
}
a ~ dgamma(1,1)
b ~ dunif(0,1)
c ~ dunif(-1,0)
tau ~ dgamma(0.001,0.001)
sigma <- 1/sqrt(tau)
}

101 ROSSI, R.M.


Dados :
list(n = 45,
y=c(96.5,92.5,96.5,96,96,98.5,97,95.5,94.5,95.5,91.5,96.5,93,96.5,95.5,85,88.5,
87,85.5,87.5,66.5,72.5,56.5,62.5,60,62.5,54.5,64.5,57,58.5,49.5,48,54,55,50.5,
47,44.5,54.5,49.5,42,15,17.5,18,10.5,14.5),
t=c(1,1,1,1,1,24,24,24,24,24,48,48,48,48,48,72,72,72,72,72,96,96,96,96,96,120,1
20,120,120,120,144,144,144,144,144,168,168,168,168,168,192,192,192,192,192))

Chutes iniciais:
list(a=1, b=0.5, c=-0.5, tau=1)
Resultados para o Modelo I:
Foram realizadas 100.000 atualizações e, após um burn de 10.000 e com saltos de
tamanho 50 (devido às autocorrelações) sobrou uma amostra limpa de tamanho 2.000, cujas
inferências são apresentadas a seguir:
node mean sd MC error 2.5% median 97.5% start sample
a 4.545 0.04292 0.000833 4.458 4.546 4.631 10000 2000
b 0.09376 0.01818 0.000388 0.05803 0.09337 0.1307 10000 2000
c -0.00804 0.000612 0.000013 -0.00923 -0.008 -0.0069 10000 2000
tau 0.013 0.002861 0.000060 0.007941 0.01281 0.01903 10000 2000
sigma 8.941 1.013 0.029220 7.249 8.85 11.24 10000 2000

Comandos do R para verificação gráfica do ajuste do Modelo I:

y=c(96.5,92.5,96.5,96,96,98.5,97,95.5,94.5,95.5,91.5,96.5,93,96.5,95.5,85,88.5,
87,85.5,87.5,66.5,72.5,56.5,62.5,60,62.5,54.5,64.5,57,58.5,49.5,48,54,55,50.5,
47,44.5,54.5,49.5,42,15,17.5,18,10.5,14.5)
t=c(1,1,1,1,1,24,24,24,24,24,48,48,48,48,48,72,72,72,72,72,96,96,96,96,96,120,1
20,120,120,120,144,144,144,144,144,168,168,168,168,168,192,192,192,192,192)

f1 = function (a,b,c, t)
{
y = t^b * exp(a + c*t)
y
}

y1 = f1(a=4.545, b=0.09376, c=-0.008035, t)


plot(t,y,ylim=c(0,110),xlab='Tempo (dias)',ylab='Germinação (%)')
lines(t,y1,type='l')

Optou-se pela utilização do DIC : Deviance Information Criterion, para seleção de


modelos via WinBUGS/OpenBugs.
D D( θ) pD DIC
total 324.556 320.469 4.087 328.643

102 ROSSI, R.M.


Modelo II
O gráfico ‘Doodle’ e o respectivo ‘Write Code’, referentes ao Modelo II no
WinBUGS/OpenBugs, são:
name: mu[i] type: logical link: identity
value: b/(1+exp((t[i]-a)/c))

a b c

mu[i] t[i]

tau y[i]

for(i IN 1 : n)
sigma

Figura 3.29. Modelo gráfico para a Aplicação 3.3.21 – Modelo II.

model;
{
for( i in 1 : n )
{
y[i] ~ dnorm(mu[i],tau)
mu[i] <- b / (1 + exp((t[i] - a) / c))
}
a ~ dnorm(0, 0.000001)
b ~ dnorm(0, 0.000001)
c ~ dgamma(0.001, 0.001)
tau ~ dgamma(0.001, 0.001)
sigma <- 1 / sqrt(tau)
}

Dados:
list(n = 45,
y=c(96.5,92.5,96.5,96,96,98.5,97,95.5,94.5,95.5,91.5,96.5,93,96.5,95.5,85,88.5,
87,85.5,87.5,66.5,72.5,56.5,62.5,60,62.5,54.5,64.5,57,58.5,49.5,48,54,55,50.5,47,
44.5,54.5,49.5,42,15,17.5,18,10.5,14.5),
t=c(1,1,1,1,1,24,24,24,24,24,48,48,48,48,48,72,72,72,72,72,96,96,
96,96,96,120,120,120,120,120,144,144,144,144,144,168,168,168,168,168,192,
192,192,192,192))

103 ROSSI, R.M.


Chutes iniciais:
list(alpha=130, b=100, c=40, tau=1)
Resultados para o Modelo 2:
node mean sd MC error 2.5% median 97.5% start sample
a 36.4 7.189 0.1554 120.6 137.1 147.8 10000 2060
b 105.0 5.417 0.1219 96.48 104.5 117.3 10000 2060
c 49.15 6.279 0.1382 39.04 48.44 62.66 10000 2060
sigma 7.618 0.856 0.02027 6.181 7.549 9.471 10000 2060
tau 0.0179 0.003914 0.00009 0.0112 0.0176 0.0262 10000 2060

Comandos do R para verificação gráfica do ajuste do Modelo II:


f2 = function (a,b,c, t)
{
y = b / (1 + exp((t - a) / c))
y
}

y2 = f2(a=136.4, b=105, c=49.15, t)


plot(t,y,xlab='Tempo (dias)',ylab='Germinação (%)')
lines(t,y2,type='l')

Saída do WinBUGS do DIC:


D D( θ) pD DIC
y 310.075 305.983 4.092 314.166

Observe na Figura 3.30 que é difícil decidir pelo melhor modelo, então, com o menor
DIC, o Modelo II foi o escolhido.
DICModelo I = 328,643
DICModelo II = 314,166 (Quanto menor, melhor!)
Comandos do R para verificação gráfica do ajuste do Modelo I e II, simultaneamente:
plot(t,y,ylim=c(0,110),xlab='Tempo (dias)',ylab='Germinação (%)')
lines(t,y1,lty=1)
lines(t,y2,lty=2)
legend(120,80,c('Modelo I','Modelo II' ),lty=1:2,bty='n',cex=.8)

104 ROSSI, R.M.


Figura 3.30. Curvas Ajustadas dos Modelos I e II - Estimativas Bayesianas.

A título de exemplificação, foram obtidas as estimativas frequentistas para o modelo II e


verificado o ajuste aos dados:
y3 = f2(a=137.7, b=103.9, c=47.7138, t)
plot(t,y,ylim=c(0,120),xlab='Tempo (dias)',ylab='Germinação (%)')
lines(t,y3,lty=1) # Curva ajustada pelo método Frequentista
Observando-se as duas curvas (Bayesiana e Frequentista) e considerando-se o modelo
II, verifica-se que as mesmas são praticamente idênticas:
plot(t,y,ylim=c(0,120),xlab='Tempo (dias)',ylab='Germinação (%)')
lines(t,y2,lty=1) # Curva Bayesiana ajustada
lines(t,y3,lty=2) # Curva Frequentista ajustada
legend(110,100,c('Bayesiano','Frequentista' ),lty=1:2,bty='n',cex=.8)

Figura 3.31. Curvas Bayesiana e Frequentista ajustadas, considerando-se o Modelo II (Weibull com
três parâmetros).

105 ROSSI, R.M.


Aplicação 3.3.22. Modelo de Mehez e Orskov para degradabilidade ruminal.

METODOLOGIA BAYESIANA PARA COMPARAÇÃO DE PARÂMETROS DE


MODELOS DE REGRESSÃO : UMA APLICAÇÃO A DADOS DE
DEGRADABILIDADE RUMINAL
ROSSI, R. M; V.; MARTINS, E. N.; GUEDES, T. A.; JOBIM, C. C.
(Revista Brasileira de Zootecnia, v.39, n.2, p.419-424, 2010)

Modelos não-lineares têm sido utilizados para se descrever resultados de experimentos


em muitas áreas de pesquisa animal e vegetal. Tais modelos se caracterizam pelo fato de os
estimadores de mínimos quadrados serem viesados, com distribuição não normal e variâncias
que excedem um mínimo tolerável. O enviesamento dos parâmetros, a não normalidade e o
excesso de variância diferem de modelo/dados para modelo/dados (de conjunto de dados para
conjunto de dados).
Encontram-se, na literatura, análises equivocadas quanto à comparação de modelos
onde testes de comparações múltiplas são utilizados para se comparar médias de estimativas
de parâmetros. Como já discutido, os parâmetros de um modelo não-linear são viesados e
assimétricos e diferem de modelo/dados para modelo/dados, portanto, testes de comparações
múltiplas não se aplicam. A metodologia clássica para a comparação de parâmetros pode ser
encontrada em Ratkowsky (1983 e 1990, Apud ROSSI et al., 2008) e Weisberg (2005, Apud
ROSSIet al., 2008). Estes autores sugerem que se inicie a análise, supondo-se que um único
modelo de regressão, tendo vários conjuntos de dados, seja adequado para se ajustar todos
esses conjuntos. Se a hipótese de um único modelo for rejeitada, hipóteses mais restritivas de
que as equações têm um parâmetro em comum e outros diferentes podem ser testadas.
Uma metodologia alternativa menos trabalhosa para a frequentista é a Bayesiana, já que
não pressupõe normalidade nos dados e a inferência a respeito dos parâmetros é feita sobre a
distribuição a posteriori destes.
Rossi et al. (2008) apresentaram uma metodologia alternativa à frequentista para
comparar os parâmetros da curva de uma equação não-linear. Para tal, foram utilizados dados
de degradação ruminal da Matéria Seca, Proteína Bruta e Fibra em Detergente Neutro, assim
como a degradabilidade efetiva, de três tratamentos.
O experimento de degradabilidade ruminal foi realizado no setor de Bovinocultura de
Leite da Fazenda Experimental de Iguatemi (FEI), da Universidade Estadual de Maringá -
Maringá - PR - Brasil. Foram avaliadas a cinética de degradação ruminal da silagem de
capim-Elefante (Pennisetum purpureum Schum) com inoculante bacteriano (SCE-IBC)
(Propiolact MS01), capim-Elefante com inoculante enzimo-bacteriano (SCE-IEZ) (Bacto

106 ROSSI, R.M.


Silo) e da silagem de milho (SMI) (Zea mays L.).
Os tempos de incubação usados para avaliação da digestibilidade ‘in situ’ foram: 0, 2,
6, 12, 24, 48, 72 e 96h. Foram utilizadas três réplicas para cada tempo, com a finalidade de se
obter material necessário para análise.
Os animais foram distribuídos em um delineamento experimental em quadrado latino
3x3.
Os dados de desaparecimento dos nutrientes foram ajustados por regressão não-linear,
que prediz a degradabilidade potencial (y = DP) dos alimentos por meio do modelo proposto
por Mehez e Orskov (1977), da seguinte forma:
- cik t j
yijk = aik + bik (1- e ) [1]

em que: i-animal : 1, 2, ... , N; j-tempo : 1, 2, ... , J; k-tratamento : 1, 2, ... , K;


yijk representa a percentagem do nutriente degradado do animal i no tratamento k após o
tempo t (em horas);
aik representa o intercepto da curva ou a fração solúvel do material contido no saco de
náilon;
bik representa a fração potencialmente degradável do material contido no saco de náilon
após o tempo zero;
cik representa a taxa fracional constante de degradação da fração potencialmente
degradável;
tj representa o tempo de incubação no rúmen, em horas.
Para estimar a Degradabilidade Efetiva (DE) foi usado o modelo de Orskov &
McDonald (1979):
bc [2]
DE = a +
c + k*
em que k* representa a taxa de passagem de sólidos no rumem, cujo valor foi fixado em 5%
por hora, em que corresponde para animais em crescimento e com produção de leite menor
que 15 kg/dia (ARC, 1984).

Foi considerado que as observações seguem distribuição normal multivariada, pois são
correlacionadas no tempo, isto é, y ijk ~ NMV(µ k ; Σ k ) , em que Σ k é a matriz de

(co)variâncias. Para os parâmetros a e b, foram consideradas a priori distribuições normais


não-informativas restritas no intervalo (0,100), isto é: a, b ~ N(0;10-6)I(0,100) e para c, uma
distribuição Gama também não-informativa restrita no intervalo (0,100), isto é: c ~ Gama(10-
3
;10-3)I(0,100). Para a matriz Σ k foi assumida uma distribuição Wishart, isto é, Σ k ~ Wish(Rk,J)

107 ROSSI, R.M.


com Rk=IJ=I8 (matriz escala de ordem J=8). A obtenção das distribuições marginais a
posteriori para os parâmetros ocorreu por meio do programa WinBUGS (SPIEGELHALTER
et al., 1994 – versão 1.4.2, 2007), cuja estrutura está apresentada no Quadro 3.1.
OBSERVAÇÃO: Um modelo mais simples poderia ser utilizado se não fosse

( )
considerada a matriz de correlação, isto é, se Yk ~ N µk , σ ke2 .

Para cada parâmetro, foram gerados 500.000 valores em um processo MCMC (Monte
CarloMarkov Chain), considerando-se um período de descarte amostral de 5.000 valores
iniciais. A amostra final, com 2.500 valores gerados,foi tomada com saltos de 200, isto é a
cada 200 valores gerados foi tomado um para pertencer à amostra.
Consideraram-se diferenças significativas em nível de 5% entre tratamentos, caso o valor
zero não estivesse contido do intervalo de credibilidade do contraste desejado.
As estimativas dos parâmetros b e c da Equação (1) apresentam assimetria aparente
para o inoculante bacteriano (SCE-IBC) (Propiolact MS01), capim-Elefante com inoculante
enzimo-bacteriano (SCE-IEZ) (Bacto Silo)e da silagem de milho (SMI) (Zea mays L.),
respectivamente, indicando comportamento não-linear destes parâmetros.
É comum na área a utilização de análise de variância frequentista com o objetivo de
fazer comparação múltipla de estimativas de parâmetros, e, para tal,é necessário que estas
sejam modeladas segundo um modelo linear, com pressupostos que devem ser atendidos,
entre eles, o de normalidade das estimativas de tais parâmetros. Em geral, não é possível
verificar este pressuposto, o que inviabiliza o uso do método. Neste caso, a inferência
Bayesiana supre esta necessidade.
As estimativas do parâmetro a (Tabela 3.15), para asilagem de milho, diferiram das
estimativas dos demais tratamentos (o valor ‘zero’ não está contido no intervalo de
credibilidade). O mesmo ocorre para as estimativas do parâmetro b. As estimativas do
parâmetro c diferiram apenas entre capim-Elefante com inoculante enzimo-bacterianoe
silagem de milho. A estimativa da degradabilidade efetiva (DE) de silagem de milho (SMI) é
significativamente superior às calculadas para a silagem de capim-Elefante (SCE-IBC e SCE-
IEZ) (Figura 3.32).
Foram comparadas as estimativas dos parâmetros obtidos pelos métodos Frequentista e
Bayesiano, e foi observado que não há grandes diferenças entre eles em todas as variáveis
estudadas, o que era de se esperar ao se utilizar distribuições a priori não-informativas. No
entanto, a metodologia Bayesiana permite que as estimativas dos parâmetros, para os
diferentes tratamentos sejam comparadas.

108 ROSSI, R.M.


# Estrutura do modelo # Estrutura dos dados
model; list(N = 3, J = 8, K = 3, taxa = 0.05,
{ y1 = structure(
for (k in 1:K) .Data=c(21.234, 22.276, 24.190, 30.562, 46.468,
{ 56.153, 65.166, 70.523, 21.261, 18.021,
a[k] ~ dnorm(0, 0.000001)I(0,100) 27.116, 29.281, 53.284, 56.764, 72.688,
b[k] ~ dnorm(0, 0.000001)I(0,100) 66.302, 21.546, 20.798, 27.852, 36.498,
c[k] ~ dgamma(0.001,0.001)I(0,100) 51.996, 59.177, 63.446, 68.648),.Dim = c(3, 8)),
de[k] <- a[k] + (b[k]*c[k])/(c[k] + taxa) y2 = structure(
for (j in 1:J) .Data = c(21.383, 23.518, 24.371, 28.069, 42.610,
{ mu[k,j] <- a[k] + b[k]*(1 - exp( -c[k]*t[j] )) } 61.439, 70.930, 73.139, 24.304, 23.666,
} 24.803, 25.262, 56.902, 63.606, 65.700,
for (i in 1:N) 73.568, 21.370, 23.455, 25.291, 37.773,
{ 51.058, 64.904, 82.785, 72.374),.Dim = c(3, 8)),
y1[i, 1:J] ~ dmnorm(mu[1,], Omega1[ , ]) y3 = structure(
y2[i, 1:J] ~ dmnorm(mu[2,], Omega2[ , ]) .Data = c(41.925, 47.287, 50.133, 51.212, 54.016,
y3[i, 1:J] ~ dmnorm(mu[3,], Omega3[ , ]) } 69.675, 74.993, 78.812, 40.759, 49.424,
Omega1[1 : J , 1 : J] ~ dwish(R1[ , ], 8) 48.609, 48.928, 63.360, 74.151, 77.164,
Omega2[1 : J , 1 : J] ~ dwish(R2[ , ], 8) 80.531, 45.695, 49.638, 49.659, 57.409,
Omega3[1 : J , 1 : J] ~ dwish(R3[ , ], 8) 62.041, 73.240, 77.107, 81.632),.Dim = c(3, 8)),
Sigma1[1 : J , 1 : J] <- inverse(Omega1[ , ]) t = c(0, 2, 6, 12, 24, 48, 72, 96),
Sigma2[1 : J , 1 : J] <- inverse(Omega2[ , ]) R1 = structure(.Data = c(1, 0, 0, 0, 0, 0, 0, 0,
Sigma3[1 : J , 1 : J] <- inverse(Omega3[ , ]) 0, 1, 0, 0, 0, 0, 0, 0,
# comparações múltiplas 0, 0, 1, 0, 0, 0, 0, 0,
a12 <- a[1]-a[2] 0, 0, 0, 1, 0, 0, 0, 0,
a13 <- a[1]-a[3] 0, 0, 0, 0, 1, 0, 0, 0,
a23 <- a[2]-a[3] 0, 0, 0, 0, 0, 1, 0, 0,
b12 <- b[1]-b[2] 0, 0, 0, 0, 0, 0, 1, 0,
b13 <- b[1]-b[3] 0, 0, 0, 0, 0, 0, 0, 1),
b23 <- b[2]-b[3] .Dim = c(8, 8)),
c12 <- c[1]-c[2] R2 = structure(.Data = c(1, 0, 0, 0, 0, 0, 0, 0,
c13 <- c[1]-c[3] 0, 1, 0, 0, 0, 0, 0, 0,
c23 <- c[2]-c[3] 0, 0, 1, 0, 0, 0, 0, 0,
de12 <- de[1]-de[2] 0, 0, 0, 1, 0, 0, 0, 0,
de13 <- de[1]-de[3] 0, 0, 0, 0, 1, 0, 0, 0,
de23 <- de[2]-de[3] 0, 0, 0, 0, 0, 1, 0, 0,
} 0, 0, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 0, 0, 0, 1),
.Dim = c(8, 8)),
R3 = structure(.Data = c(1, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 1, 0, 0,
0, 0, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 0, 0, 0, 1),
.Dim = c(8, 8)))

# Chutes iniciais
list(a=c(20,25,40), b=c(50,60,40), c=(0.03,0.05,0.04))
# Observação: chutes para as matrizes Omega 1,2 e 3 também são
necessárias e aqui são omitidas.

Quadro 3.1. Modelagem Bayesiana via WinBUGS/OpenBugs.

109 ROSSI, R.M.


Tabela 3.15. Estimativas Bayesianas (Médias e Medianas) para os parâmetros do modelo e
da degradabilidade efetiva da Matéria Seca, respectivos Erros-padrão, Intervalos de
Credibilidade (percentis 2,5% e 97,5%) e Amplitudes dos ICr.
Tratamentos Parâmetro Média Erros-padrão Erro MC Percentil 2,5% Mediana Percentil 97,5% Amplitude

T1: SCE-IBC 19,76 1,442 0,05040 16,93 19,770 22,62 5,69


T2: SCE-IEZ 19,24 1,781 0,06197 15,75 19,220 22,90 7,15
T3: SMI 45,69 1,014 0,02491 43,69 45,710 47,67 3,98
T1 – T2 a 0,514 2,282 0,08214 -3,921 0,515 4,856 8,78
T1 – T3 * -25,930 1,752 0,05540 -29,37 -25,98 -22,38 6,99
T2 – T3 * -26,450 2,026 0,06426 -30,37 -26,43 -22,47 7,90

T1: SCE-IBC 55,72 6,847 0,5732 45,59 54,46 73,24 27,65


T2: SCE-IEZ 65,44 6,789 0,4955 54,56 64,68 79,97 25,41
T3: SMI 41,05 3,473 0,1293 35,91 40,51 49,18 13,27
T1 – T2 -9,725 9,507 0,7327 -27,2 -9,874 10,35 37,55
T1 – T3 * b
14,66 7,647 0,5819 2,179 13,65 33,13 30,95
T2 – T3 * 24,39 7,427 0,4833 11,5 23,92 39,95 28,45

T1: SCE-IBC 0,026560 0,009436 0,0007219 0,01282 0,02508 0,0504 0,0376


T2: SCE-IEZ 0,021690 0,005607 0,0003722 0,01285 0,02110 0,0342 0,0214
T3: SMI 0,021430 0,004156 0,0001430 0,01330 0,02135 0,0302 0,0169
T1 – T2 c 0,004876 0,010950 0,0007796 -0,01441 0,00380 0,0298 0,0442
T1 – T3 0,005128 0,010180 0,0007234 -0,01148 0,00401 0,0287 0,0402
T2 – T3 * 0,000252 0,006717 0,0003395 -0,01190 -0,00012 -0,00013 0,0118

T1: SCE-IBC 38,15 1,896 0,13610 34,86 37,97 42,68 7,82


T2: SCE-IEZ 38,49 1,867 0,08841 35,07 38,41 42,51 7,44
T3: SMI 57,79 0,9959 0,02548 55,78 57,81 59,78 4,00
T1 – T2 DE -0,3413 2,629 0,15950 -5,47 -0,3698 4,79 10,26
T1 – T3 * -19,64 2,143 0,13720 -23,39 -19,76 -14,81 8,58
T2 – T3 * -19,3 2,098 0,09070 -23,21 -19,37 -15,06 8,15
*
Diferença significativa em nível de 5%. T1: SCE-IBC = Silagem de capim-Elefante com inoculante bacteriano,T2: SCE-IEZ
= Silagem de capim-Elefante com inoculante enzimo-bacteriano e T3: SMI = Silagem de milho;p2,5% ep97,5% = limites
inferior e superior, respectivamente, do intervalo de credibilidade.

Observa-se que a silagem de milho (SMI) apresenta maior degradabilidade total, sendo
que as silagens de capim-Elefante são similares (Figura 3.33).

110 ROSSI, R.M.


Figura 3.32. Curvas ajustadas de degradabilidade total de Matéria Seca, respectivamente, para as
silagens de capim-Elefante com inoculante bacteriano (SCE-IBC), capim-Elefante com inoculante
enzimo-bacteriano (SCE-IEZ) e de milho (SMI).

Figura 3.33. Comparação entre as curvas ajustadas de degradabilidade total de Matéria Seca,
respectivamente, para as silagens de capim-Elefante com inoculante bacteriano (SCE-IBC), capim-
Elefante com inoculante enzimo-bacteriano (SCE-IEZ) e de milho (SMI).

A metodologia Bayesiana pode ser aplicada sem restrição a dados dessa natureza. Para
os dados do presente estudo, as estimativas obtidas para os parâmetros da curva não-linear por
ambos os métodos não diferiram. No entanto, por meio da metodologia Bayesiana é possível
proceder às comparações entre esses parâmetros, considerando-se tratamentos distintos de um

111 ROSSI, R.M.


experimento, de forma coerente, visto que se tem sua distribuição a posteriori, sem ter que se
recorrer, por exemplo, a procedimentos assintóticos e resultados incoerentes por meio de
teorias frequentistas (ROSSI et al., 2007).
Linhas de comando no R, para obtenção das Figuras 3.32 e 3.33:
# Função de degradabilidade
degrad = function(a,b,c,t)
{
y = numeric()
for ( i in 1:length(t) ) { y[i] = a + b * (1 - exp(( -c) * t[i])) }
return(y)
}
k = 0.05 # taxa
N=3 # animais
J =8 # tempos
K=3 # tratamentos
t = c(0,0,0,2,2,2,6,6,6,12,12,12,24,24,24,48,48,48,72,72,72,96,96,96)

# Valores observados - Matéria seca


y1 = c(21.234, 22.276, 24.190, 30.562, 46.468,
56.153, 65.166, 70.523, 21.261, 18.021,
27.116, 29.281, 53.284, 56.764, 72.688,
66.302, 21.546, 20.798, 27.852, 36.498,
51.996, 59.177, 63.446, 68.648)
y2 = c(21.383, 23.518, 24.371, 28.069, 42.610,
61.439, 70.930, 73.139, 24.304, 23.666,
24.803, 25.262, 56.902, 63.606, 65.700,
73.568, 21.370, 23.455, 25.291, 37.773,
51.058, 64.904, 82.785, 72.374)
y3 = c(41.925, 47.287, 50.133, 51.212, 54.016,
69.675, 74.993, 78.812, 40.759, 49.424,
48.609, 48.928, 63.360, 74.151, 77.164,
80.531, 45.695, 49.638, 49.659, 57.409,
62.041, 73.240, 77.107, 81.632)

# Estimativas Bayesianas - média a posteriori - Matéria seca


a = c(19.75,19.21,45.7)
b = c(55.46,65.54,41.02)
c = c(0.02674,0.02165,0.02146)

# Calculando-se os valores preditos


y.est=matrix(0,K,N*J)
for (k in 1:3)
{
y.est[k,]=degrad(a[k],b[k],c[k],t)
}

112 ROSSI, R.M.


# Curvas individuais estimadas
par(mfrow=c(1,3))
plot(t,y1,xlab="Tempo (horas)",ylab="Degradabilidade (%) –SCE-
IBC",ylim=c(0,80))
lines(t,y.est[1,],lty=1)
plot(t,y2,xlab="Tempo (horas)",ylab="Degradabilidade (%) –SCE-
IEZ",ylim=c(0,80))
lines(t,y.est[2,],lty=1)
plot(t,y3,xlab="Tempo (horas)",ylab="Degradabilidade (%) -
SMI",ylim=c(0,80))
lines(t,y.est[3,],lty=1)

# Comparando-se curvas estimadas


plot(t,y.est[1,],type='l',xlab="Tempo (horas)",ylab="Degradabilidade
(%)",ylim=c(0,80))
lines(t,y.est[2,],lty=2)
lines(t,y.est[3,],lty=3)
legend(70,30,c("SCE-IBC","SCE-IEZ","SMI"),lty=1:3,bty="n",cex=.8)

113 ROSSI, R.M.


Aplicação 3.3.23. Modelo de regressão linear generalizada.

ESTIMAÇÃO BAYESIANA DO FATOR DE CONDIÇÃO DE PEIXES DA ESPÉCIE


TRACYDORAS PARAGUAYENSIS, BACIA DO RIO PARANÁ, PARANÁ-BRASIL
ROSSI, R. M.; GUEDES, T. A.; JANEIRO, V.; MARTINS, E. N.
(Acta Sci. Anim. Sci., v.29, n.1, p.85-92, 2007)

A UEM (Universidade Estadual de Maringá), no ano de 1983, iniciou um projeto de


estudo sobre a população de peixes do reservatório de Itaipu com o objetivo de avaliar o
impacto da construção da usina sobre a ictiofauna da região. Tal projeto originou o NUPÉLIA
(Núcleo de Pesquisas em Limnologia, Ictiologia e Aqüicultura), que é hoje é referencia
nacional e internacional em estudos da área.
Os dados analisados nesse trabalho se referem às variáveis Comprimento padrão, Peso
total e Sexo de peixes da espécie piau, coletados pelos pesquisadores do NUPÉLIA no
período de 1986 a 2001.
O objetivo desse trabalho foi estudar a relação existente entre o peso total (Y) o
comprimento (X1), e o sexo do peixe (X2). Buscou-se então descrever essa relação por meio
de um modelo linear generalizado capaz de estimar os parâmetros do modelo.
A relação peso-comprimento do peixe é aceita como indicador da identificação e
avaliação do ‘bem-estar’ do peixe; quanto maior o peso do peixe, melhor deve ser sua
condição de sobrevivência. Tal relação é denominada fator de condição do peixe.
Modelagem
Assume-se que a variável aleatória Y (peso) tem distribuição Gama(φ , φ/µi), 0 ≤ y <∞,
isto é:
Yi ~ Gama(φ , φ/µi)
em
µi = [β0 + β1X1i + β2X2i ](1/p) # função de ligação do tipo potência com p = 0,35
(fixo).
X1i : Comprimento do peixe (cm)
X2i: Sexo do peixe
Distribuições a priori
βi ~ N( 0, 10-6) ; i = 0, 1 e 2.
φ ~ Gama(1, 1)
A distribuição a posteriori conjunta, do presente estudo, tem a seguinte forma
matemática:

114 ROSSI, R.M.


P(ϕ, µ | Y, X1 , X 2 ) = L(Y|ϕ,µ,X1 ,X 2 ,p)P(ϕ)P(µ)
ϕ
 1  ϕ ϕ
n − yi 
µi 
P(ϕ, µ | Y, X1 , X 2 )=∏    yi e
ϕ−1
P(ϕ)P(µ)
i=1  Γ (ϕ)  µ i 
 
ϕ ϕy
   − i
1

 1 
n
ϕ  y ϕ−1e (β0 +β1X1i +β2 X2i ) p 
P(ϕ, µ | Y, X1 , X 2 ) = ∏  P(ϕ)P(β0 )P(β1 )P(β2 ).
i=1  Γ ( ϕ)  1
 (β + β X + β X ) p 
i

  0 1 1i 2 2i  
O gráfico ‘Doodle’ e o respectivo ‘Write Code’, referentes ao modelo no WinBUGS,
são:
name: y[i] type: stochastic density: dgamma
shape phi scale b[i] lower bound upper bound

beta0
x1[i]

y[i] b[i] mu[i] beta1

x2[i]

beta2
for(i IN 1 : n)

phi p

Figura 3.34. Modelo gráfico para a Aplicação 3.3.23.

model;
{
beta0 ~ dnorm(0, 0.000001)
beta1 ~ dnorm(0, 0.000001)
beta2 ~ dnorm(0, 0.000001)
phi ~ dgamma(1, 1)
for( i in 1 : n )
{
mu[i] <- pow(beta0 + beta1 * x1[i] + beta2 * x2[i],1/p)
y[i] ~ dgamma(phi,b[i])
b[i]<- phi / mu[i]
}
}

115 ROSSI, R.M.


Observação: Os dados para este exemplo foram omitidos pois a amostra possui 2.985
animais.
Chutes iniciais:

list(beta0=1.9, beta1=0.007, beta2=0.0017, phi=420)


list(beta0=2.0, beta1=0.009, beta2=0.0020, phi=450)

Foram gerados 100.000 valores para cada uma das cadeias, com período de descarte
amostral de 4.000 valores iniciais. As amostras finais foram tomadas em saltos iguais a: 5, 20,
23 e 20 e produziram amostras de tamanhos: 18.000, 4.500, 3.913 e 4.500, respectivamente,
para os parâmetros ϕ, β0, β1 e β2.

As estimativas Bayesianas (média a posteriori) dos parâmetros β0, β1e β2,


apresentadas na Tabela 3.16, foram praticamente as mesmas das estimativas frequentistas (por
meio do programa SAS). Em geral a metodologia Bayesiana tem a vantagem de gerar
intervalos de credibilidade mais precisos para esses parâmetros. No caso desta aplicação, por
exemplo, a estimativa Bayesiana de ϕ (média a posteriori) diferiu em 166 unidades da
estimativa frequentista, com erro-padrão 30% menor.

Tabela 3.16. Estimativas Bayesianas (Médias e Medianas) para os parâmetros, respectivos


Desvios-padrão, Intervalos de Credibilidade (percentis 2,5% e 97,5%).
Parâmetros Média Desvio- Erro de Percentil Mediana Percentil
padrão Monte Carlo 2,5% 97,5%
ϕ 421,6 10,92 0,0253700 400,6 421,4 443,4
β0 1,926 0,002468 0,0000593 1,92100 1,92600 1,931
β1 0,0092 0,000113 0,0000027 0,00898 0,00920 0,00950
β2 0,0017 0,000715 0,0000077 0,00028 0,00169 0,00308

116 ROSSI, R.M.


Módulo IV – Utilizando o pacote BRugs do R

4.1 Introdução
O pacote BRugs do R, desenvolvido por Andrew Thomas, utiliza uma versão aberta do
WinBUGS, conhecida como OpenBUGS. Este pacote pode ser obtido diretamente da página
principal do CRAN do R, isto é, no endereço eletrônico http://cran.r-project.org/ no link
Packages, ou então, se você estiver conectado com a internet, pode instalar por meio do
procedimento descrito a seguir.
A principal vantagem do BRugs é fazer quase tudo o que é feito no WinBUGS em uma
única seção de comando.
Observação: O pacote BRugs depende da versão 2.5 ou superior do R, do pacote coda e
do programa OpenBUGS disponível no endereço eletrônico www.openbugs.net. Existem
outros pacotes e programas similares para modelagem Bayesiana e entre os mais populares:
BUGS, R2WinBUGS, JAGS, INLA etc. Outros programas computacionais estatísticos como,
por exemplo, o SAS também dispõem tal procedimento via MCMC por meio das PROC
MIXED, GENMOD, LIFEREG, PHREG etc. Para mais informações acesse o endereço
eletrônico The MCMC Procedure da web http://support.sas.com/documentation/ .

4.2 Procedimentos
1. Instalando o BRugs
No R, no menu principal ‘Pacotes Instalar pacote(s)...’

Figura 4.1a. Instalando o pacote BRugs.

117 ROSSI, R.M.


2. Escolha o repositor CRAN mirror, por exemplo, Brazil(PR) e, em seguida, o
Package desejado ‘BRugs’:

Figura 4.1b. Instalando o pacote BRugs.

3. Após a instalação, basta digitar a linha de comando no R:


library(BRugs)
Observação: Na página do CRAN, há disponível um manual do autor em *.pdf, que
pode ser útil se baixado, mas, no próprio R, depois da instalação do pacote, também está
disponível a sua ajuda html e, para utilizá-la, basta digitar:
?BRugs
4. Definido o modelo (o write code do WinBUGS/OpenBugs) que deve ser salvo
no diretório de trabalho com a extensão *.bug, os passos seguintes são:
library(BRugs)
setwd("C:\\Work")

# este comando indica o diretório de trabalho onde devem estar os arquivos


necessários: dados.txt e modelo.bug.
dados = list( leitura dos dados )
# ou se estiver em um banco à parte

118 ROSSI, R.M.


dados.aux ="dados.txt"
chutes = function() list( leitura dos chutes iniciais )
modelo = "modelo.bug"
Observação: No ‘modelo.bug’ o símbolo de recebimento sempre deve ser “<-” e não
“=”.
file.show(modelo)
parametros = c("parametro 1",...,"parâmetro k”)

# Para se iniciar a simulação, o comando BRugsFit deve ser dado:


dados.sim = BRugsFit(modelFile=modelo, data=dados.aux,
inits=chutes, numChains=1,
nIter=10000, nBurnin=1000, nThin=5,
parametersToSave=parametros,
DIC=TRUE, digits=5)

Observe que, neste exemplo, o número de cadeias é 1, com 10.000 iterações, com 1.000
de burn em saltos de tamanho 5. A opção DIC está acionada e, após algum tempo, o comando
a seguir mostrará os resultados:
print(dados.sim)
saida1=samplesSample("parâmetro 1")
amostra=cbind(samplesSample("parâmetro 1"), samplesSample("parâmetro
2"))

A análise de convergência deve ser realizada após esse procedimento para que se possa

fazer inferências a respeito dos parâmetros. Lembre-se que a análise de convergência é

realizada sobre os parâmetros considerados nas distribuições a priori, e portanto não em suas

funções.

Para gravar os resultados utilize o comando:


write.matrix(amostra, file="amostra.txt", sep=" ")

que armazenará no diretório de trabalho previamente escolhido por meio do comando setwd.
A apresentação de todas as estimativas de todos os parâmetros pode ser obtida em:
samplesStats("*")

Para gravar os resultados, utilize o comando:


estimativas=samplesStats("*")
write.matrix(estimativas,file="estimativas.txt",sep=" ")

119 ROSSI, R.M.


Existem várias opções disponíveis no pacote BRugs, entre análises gráficas, testes de
convergência, entre outros. Cabe ao leitor utilizar o manual e fazer uso das mesmas. É
altamente recomendada a leitura do livro Bayesian Computationwith R de J. Albert (2007) e
Bayesian Modeling Using WinBUGS de L. Ntzoufras (2009).

4.3 Aplicações
Aplicação 4.3.1. Análise de variância - Aplicação na odontologia.
Os dados a seguir foram obtidos de um experimento inteiramente casualisado no
Departamento de Odontologia da UEM, sob coordenação do professor Sérgio Sábio (Prótese),
com o objetivo de fazer comparações entre quatro tratamentos (cimentos para endocrown) em
corpos de prova (dentes de bovinos) submetidos à tensão (máquina Emic DL1000) até
ruptura. O objetivo foi o de testar, em nível de 5% de significância, por meio de comparações
Bayesianas, a hipótese nula de igualdade entre tratamento. Para tal foram utilizadas
distribuições a priori não-informativas no procedimento. Foi considerado que a resistência
(Yi) segue distribuição normal, isto é, Yi ~ Normal(µi,σ2), i = 1, 2, ..., nj para os j-ésimos
tratamentos. Para cada µi e σ2 (de cada tratamento) foram consideradas a priori distribuições
não-informativas, respectivamente, µi ~ Normal(0,10-6 ) e τ ~ Gama(10-3,10-3), tal que
1
σ= . Foram realizadas comparações múltiplas entre as distribuições a posteriori das
τ
médias. Consideraram-se, como diferentes, em nível de 5% de significância, os tratamentos
cujos intervalos de credibilidade para as diferenças médias não contemplam o valor zero. A
obtenção das distribuições marginais a posteriori para todos os parâmetros ocorreu por meio
do pacote BRugs do programa R. Foram gerados 11.000 de valores em um processo MCMC
(Monte CarloMarkov Chain), considerando-se um período de descarte amostral de 1.000
valores iniciais, assim, a amostra final contém 1.000 valores gerados. A convergência das
cadeias foi verificada por meio do pacote coda do programa R, pelo critério de Heidelberger e
Welch (1983).

120 ROSSI, R.M.


Tabela 4.1. Resistência de cimentos para endocrown em corpos de prova
(dentes de bovinos) submetidos à tensão (máquina Emic DL1000).
T1 (padrão) T2 T3 T4
462,14 588,39 280,35 324,83
674,48 216,30 548,16 432,06
621,50 868,92 253,62 385,27
482,82 254,70 339,64 302,79
442,69 329,48 125,46 349,10
446,33 489,48 441,57 248,29
470,64 569,48 428,71 258,28
636,26 387,44 412,54 314,84
645,99 805,34 384,55 292,23
532,60 306,82 531,23 322,27

O modelo *.bug
model;
{
for( i in 1 : n1 ) { y1[i] ~ dnorm(mu1,tau1) }
for( i in 1 : n2 ) { y2[i] ~ dnorm(mu2,tau2) }
for( i in 1 : n3 ) { y3[i] ~ dnorm(mu3,tau3) }
for( i in 1 : n4 ) { y4[i] ~ dnorm(mu4,tau4) }
mu1 ~ dnorm(0, 0.000001)
mu2 ~ dnorm(0, 0.000001)
mu3 ~ dnorm(0, 0.000001)
mu4 ~ dnorm(0, 0.000001)
tau1 ~ dgamma(0.001, 0.001)
tau2 ~ dgamma(0.001, 0.001)
tau3 ~ dgamma(0.001, 0.001)
tau4 ~ dgamma(0.001, 0.001)
sigma1 <- 1 / sqrt(tau1)
sigma2 <- 1 / sqrt(tau2)
sigma3 <- 1 / sqrt(tau3)
sigma4 <- 1 / sqrt(tau4)
d1 <- mu1 - mu2
d2 <- mu1 - mu3
d3 <- mu1 - mu4
d4 <- mu2 - mu3
d5 <- mu2 - mu4
d6 <- mu3 - mu4
}

Linhas de comando no R:
rm(list = ls())
library(MASS)
library(BRugs)
library(coda)

121 ROSSI, R.M.


Criando a função

anova.bayes = function(iter,burn,salto,dados)
{
y1=dados[dados[,2]==1,1]
y2=dados[dados[,2]==2,1]
y3=dados[dados[,2]==3,1]
y4=dados[dados[,2]==4,1]
n1 = length(y1)
n2 = length(y2)
n3 = length(y3)
n4 = length(y4)

# O modelo
modelo = "modelo.bug"
dados.aux = list(n1=n1,n2=n2,n3=n3,n4=n4,y1=y1,y2=y2,y3=y3,y4=y4)

# Chutes
chutes = function()
list(mu1=mean(y1),mu2=mean(y2),mu3=mean(y3),mu4=mean(y4),
tau1=1,tau2=1,tau3=1,tau4=1)

# Parâmetros estimados
parametros = c("mu1","mu2","mu3","mu4",
"d1","d2","d3","d4","d5","d6",
"sigma1","sigma2","sigma3","sigma4",
"tau1", "tau2", "tau3", "tau4")

res = BRugsFit(modelFile=modelo, data=dados.aux, inits=chutes,


numChains=1, parametersToSave=parametros, nBurnin=burn,
nIter=iter, nThin=salto, DIC=TRUE, working.directory=NULL,
digits=5)

# Montando a matriz de cadeias para análise de convergência – observe que apenas


# parâmetros cujas distribuições a priori foram informadas no “modelo.bug” estão
# nessa matriz, já que os demais parâmetros são funções destes, então não há
# necessidade de averiguar a convergência dos mesmos.

cadeias=cbind(samplesSample("mu1"),samplesSample("mu2"),
samplesSample("mu3"),samplesSample("mu4"),
samplesSample("tau1"),samplesSample("tau2"),
samplesSample("tau3"),samplesSample("tau4"))

122 ROSSI, R.M.


# Análise de convergência
print(heidel.diag(cadeias))
print(res)
cadeias
}

Chamando a função
setwd("C:\\Work\\BayesZoo - Modulo IV\\Aplicação 431-Resistência")
dados = read.table("dados.txt",header=T,skip=0)
dados = as.matrix(dados)

saida=anova.bayes(iter=11000,burn=1000,salto=1,dados=dados)

# write.matrix(saida,file="cadeia.txt",sep=" ") # Opção para gravar as cadeias

Gráfico de Box-plot
n = length(saida[,1])
res.media = c(saida[,1],saida[,2],saida[,3],saida[,4])
tratamento = factor(rep(1:4, c(n,n,n,n)),labels = c("1","2","3","4"))
boxplot(res.media~tratamento,xlab="Tratamento",ylab="Resistência")

Resultados

Tabela 4.2. Estimativas Bayesianas para as médias a posteriori dos tratamentos.


Estimativas Tratamentos
T1 T2 T3 T4
Média a posteriori 540,6a 478,2ab 373,3b 322,8b
Desvio-padrão 33,41 81,6 46,79 19,56
CV(%) 6,18 17,06 12,53 60,6
2
σe 101,9 247,5 141,7 61,4
a,b
Médias seguidas de letras diferentes são estatisticamente diferentes por meio de comparações
Bayesianas (p<5%).

Observe a sensibilidade das comparações Bayesianas em relação à frequentista,


apresentada a seguir:

123 ROSSI, R.M.


800
600
Resistência

400
200
0

1 2 3 4

Tratamento

Figura 4.1a. Box-plot das distribuições a posteriori da resistência média dos tratamentos.
700

650

600

550
Resistência

500

450

400

350

300

250 Média
1 2 3 4 Média±Erro
Tratamento

Figura 4.1b. Comparações Bayesianas entre as resistências médias das distribuições a posteriori dos
devidos tratamentos.

124 ROSSI, R.M.


Análise frequentista
setwd("C:\\Work\\BayesZoo - Modulo IV\\Aplicação 431-Resistência")
dados = read.table("dados.txt",header=T,skip=0)
dados = data.frame(res=dados[,1],trat=factor(dados[,2]))

anova1 = aov(res ~ trat, dados)


summary(anova1)
boxplot(res ~ trat, dados)

Comparações entre médias


medias = model.tables(anova1, "means")
medias
TukeyHSD(anova1, "trat", ordered=TRUE, data=dados, conf.level=0.95)
plot(TukeyHSD(anova1, "trat"))
ou
library(laercio)
LTukey(res, "trat", conf.level=0.95)

Resultados
Médias dos Tratamentos
1 2 3 4
541.5 481.6 374.6 323.0

Comparações entre Tratamentos


$trat
diff lwr upr p adj
3-4 51.587 -118.05399 221.228 0.8450982
2-4 158.639 -11.001990 328.280 0.0738921
1-4 218.549 48.908010 388.190 0.0071653*
2-3 107.052 -62.588990 276.693 0.3387674
1-3 166.962 -2.678990 336.603 0.0550889
1-2 59.910 -109.73099 229.551 0.7775796
* Diferença significativa em nível de 5%

Figura 4.1c. Comparações frequentistas entre as resistências médias dos devidos tratamentos.

125 ROSSI, R.M.


Aplicação 4.3.2. Modelo logístico para curva de postura de codornas.
Os dados de codornas de postura (Coturnix cuturnix japonica), aqui apresentados são
parte de um experimento realizado no setor de Coturnicultura da Fazenda Experimental de
Iguatemi (FEI), pertencente à Universidade Estadual de Maringá – PR – Brasil, em
desenvolvimento no local desde 2003.

Observar o desenvolvimento ou a produção, durante a vidaou período de


experimentação de um animal, tem sido motivo de muitas pesquisas. Em estudos de
melhoramento genético, é comum esse tipo de estrutura de dados, denominados longitudinais,
além da estrutura de parentesco entre grupos desses indivíduos. Segundo Gianola (2001), um
procedimento em múltiplos estágios pode ser utilizado. Por exemplo, para um primeiro
estágio de análise, uma função matemática, geralmente funções que descrevem curvas de
crescimento, lactação e produção, por exemplo, e permitem uma interpretação biológica dos
parâmetros, é usada para se descrever a trajetória esperada dos indivíduos e um resíduo
estocástico reflete alguma distribuição das observações em sua trajetória (são estimados aqui
os parâmetros da curva de cada indivíduo); para o segundo estágio, um submodelo é usado
para se descrever a variação entre indivíduos dos parâmetros especificados no primeiro
estágio; geralmente são incluídos, aqui, os efeitos genéticos e ambientais.

A presente aplicação tem por objetivo obter estimativas para os parâmetros da curva de
produção de ovos de codornas, empregando-se a função logística no primeiro estágio de um
modelo Bayesiano descrito a seguir.

Considerando-se que a probabilidade de postura agora é θij, a função de probabilidade


de Yij, assumindo independência entre os indivíduos, será dada por:

y 1-yij  θij para yij = 1;


f(Yij = yij ) = θijij (1 − θij ) =
1 − θij para yij = 0.

Ao se considerar uma função de ligação logit, de modo geral, a probabilidade de


postura, agora θij, é dada por:

exp{ α ij + βijX ij}


θij = , [4.1]
1+exp{ α ij + βijXij}

tal que X ij = j , então:

log it(θij ) = α ij + βij j [4.2]

126 ROSSI, R.M.


em que

αij = αi : efeito aleatório do indivíduo i para todas as ocasiões;

β ij = βi : coeficientes de regressão do indivíduo i para todas as ocasiões.

Para a modelagem Bayesiana foram consideradas distribuições normais a priori não-


informativas para α e β, tal que: αi ~ N ( 0, σ 2α ) e β i ~ N ( 0, σβ2 ) , assumindo-se uma estrutura

hierárquica, em que os hiperparâmetros seguem distribuição Gama:

σ .2 ~ Gama (10−3 ,10−3 ) .

Médias a posteriori para os parâmetros da curva de probabilidade de postura de cada


animal (4.2) foram tomadas no primeiro estágio por meio do pacote BRugs de Andrew
Thomas de acordo com o modelo (modelo.bug) descrito a seguir:
name: p[i,j] type: logical link: logit
value: alpha[i] + beta[i]*j

tau.alpha tau.beta
alpha.bar beta.bar

sigma.alpha sigma.beta

alpha[i] beta[i]

p[i,j]

y[i,j]

for(j IN 1 : J)
for(i IN 1 : n)

Figura 4.2a. Modelo gráfico para a Aplicação 4.3.2.

127 ROSSI, R.M.


Observação: Salve o modelo com nome modelo.bug no diretório de trabalho.

model;
{
for( i in 1 : n )
{
alpha[i] ~ dnorm(0,tau.alpha)
beta[i] ~ dnorm(0,tau.beta)
for( j in 1 : J )
{
y[i , j] ~ dbern(p[i , j])
logit(p[i , j]) <- alpha[i] + beta[i] * j
}
}
alpha.bar <- mean(alpha[ ])
beta.bar <- mean(beta[ ])
tau.alpha ~ dgamma(0.001,0.001)
sigma.alpha <- 1 / sqrt(tau.alpha)
tau.beta ~ dgamma(0.001,0.001)
sigma.beta <- 1 / sqrt(tau.beta)
}

Utilizando-se chutes iniciais aleatórios de uma distribuição normal padronizada,


formam geradas 10.000 amostras por meio do método MCMC (Monte Carlo em Cadeias de
Markov) para os parâmetros de interesse. Foi utilizado um descarte inicial de 1.000 com um
intervalo de amostragem de cinco iterações para se eliminar a autocorrelação, sendo obtidas
1.800 amostras finais. A monitoração da convergência das cadeias geradas pelo amostrador de
Gibbs foi feita por meio de análise gráfica e por meio da utilização dos testes de diagnóstico
de Geweke (1992) e de Heidelberger e Welch (1983), disponíveis no coda (Convergence
Diagnosis and Output Analysis) (SPIEGELHALTERet al., 1994), implementado no programa
R.

O banco de dados real possui mais de 300 codornas com 90 ocasiões de postura. Serão
consideradas, aqui, a título de exemplificação, apenas dez codornas com cinco ocasiões de
postura, como descrito a seguir:

128 ROSSI, R.M.


No R, utilizando-se o pacote Brugs, as linhas de comando serão:

setwd("C:\\Work\\BayesZoo - Modulo IV\\Aplicação 432-Codornas")


library(BRugs)
dados.aux = list(n=10,J=5,
y=structure(.Data =c(
0, 1, 1, 0, 1,
1, 1, 1, 1, 1,
0, 1, 1, 1, 1,
1, 1, 1, 1, 1,
0, 0, 0, 0, 0,
0, 0, 0, 0, 0,
1, 1, 0, 0, 1,
0, 0, 1, 1, 1,
0, 1, 1, 1, 1,
1, 1, 1, 1, 1),.Dim = c(10,5)))
chutes = function()
list(alpha=c(0,1,-0.5,0.2,0,0,1,0.7,0,-0.4),
beta=c(0.03,1.6,-0.5,-0.2,0.1,1,-0.06,0.7,0,0.14),
tau.alpha=1,tau.beta=1)
parametros = c("alpha.bar","beta.bar","alpha","beta")
res = BRugsFit(modelFile="modelo.bug", data=dados.aux, inits=chutes,
numChains=1,parametersToSave=parametros,
nBurnin=10000,nIter=100000, nThin=5, DIC=TRUE, digits=5)
curva.media=
cbind(samplesSample("alpha.bar"),samplesSample("beta.bar"))
heidel.diag(curva.media)
print(res)

Os resultados obtidos foram:


node mean sd MC error 2.5% median 97.5% start sample
alpha.bar 0.084700 0.16690 0.0021730 -0.10300 0.024260 0.5629 10001 100000
beta.bar 0.023220 0.04595 0.0003647 -0.04112 0.012140 0.1468 10001 100000

alpha[1] -0.187500 0.45910 0.0048890 -1.46700 -0.051780 0.4237 10001 100000


alpha[2] 0.180300 0.45210 0.0047660 -0.43940 0.050300 1.4310 10001 100000
alpha[3] 0.065570 0.38140 0.0019320 -0.65960 0.016810 1.0290 10001 100000
alpha[4] -0.065450 0.38040 0.0019540 -1.02600 -0.017380 0.6602 10001 100000
alpha[5] 0.181900 0.45770 0.0048540 -0.43890 0.049610 1.4380 10001 100000
alpha[6] 0.065860 0.38290 0.0020220 -0.66270 0.016550 1.0350 10001 100000
alpha[7] 0.064620 0.37850 0.0019130 -0.65820 0.016350 1.0300 10001 100000
alpha[8] 0.181900 0.45700 0.0047530 -0.44410 0.050650 1.4430 10001 100000
alpha[9] 0.179500 0.45340 0.0048650 -0.43740 0.049010 1.4290 10001 100000
alpha[10] 0.180400 0.45210 0.0047020 -0.43990 0.050100 1.4390 10001 100000

beta[1] -0.038480 0.12630 0.0007562 -0.35320 -0.020060 0.1790 10001 100000


beta[2] 0.052760 0.13360 0.0008818 -0.15600 0.027160 0.3965 10001 100000
beta[3] 0.004099 0.11710 0.0003980 -0.24070 0.002196 0.2571 10001 100000
beta[4] -0.003764 0.11690 0.0003729 -0.25770 -0.002050 0.2431 10001 100000
beta[5] 0.052740 0.13300 0.0008944 -0.15490 0.026710 0.3943 10001 100000
beta[6] 0.003491 0.11680 0.0003755 -0.24050 0.001996 0.2586 10001 100000

129 ROSSI, R.M.


beta[7] 0.003742 0.11690 0.0003556 -0.24290 0.002009 0.2599 10001 100000
beta[8] 0.052970 0.13430 0.0008901 -0.15480 0.026910 0.3973 10001 100000
beta[9] 0.052160 0.13350 0.0008979 -0.15710 0.026620 0.3957 10001 100000
beta[10] 0.052450 0.13250 0.0009011 -0.15380 0.027130 0.3908 10001 100000

O valor do DIC é:

D D( θ) pD DIC
y67.55 64.28 70.82 3.267
Observe que cada animal possui sua curva de postura, e os parâmetros, alpha.bar e
beta.bar, representam os parâmetros da curva média de postura, considerando-se todos os
animais. Para se obter os gráficos das distribuições a posteriori para estes parâmetros, podem-
se utilizar as seguintes linhas de comando no R:

par(mfrow=c(1,2))
hist(curva.media[,1],main='',col=8,xlab=expression(paste(alpha,"-médio")),
ylab = expression(paste("f(",alpha,"|y)")))
hist(curva.media[,2],main='',col=8,xlab=expression(paste(beta,"-medio")),
ylab = expression(paste("f(",beta,"|y)")))

Figura 4.2b. Distribuições a posteriori para os parâmetros da curva média.

Para se traçar a curva média de postura por meio da Equação (4.1), considerando-se
todas as codornas e as 90 ocasiões de postura, têm-se os seguintes parâmetros:

130 ROSSI, R.M.


exp{ α j + β j j} exp{ -0.4518 + 0.08302j}
θj = = ,
1+exp{ α j + β j j} 1+exp{ -0.4518 + 0.08302j}

alpha.medio = -0.4518
beta.medio = 0.08302
t = 1:90
phi1 = exp(alpha.medio + beta.medio*t)/(1+exp(alpha.medio + beta.medio*t))
plot(t,phi1,xlab="j-ocasião (dias)", ylab=expression(paste("Prob. de postura(",
sep=" ",phi[j],")")),type="l")

Figura 4.2c. Curva média ajustada para probabilidade de postura de codornas.

Mais detalhes a respeito dessa modelagem pode ser encontrada em Rossi et al. (2009).

131 ROSSI, R.M.


Aplicação 4.3.3. Teste de médias – Dados de produção de embriões de novilhas.

Esta aplicação foi parte de um projeto de pesquisa de mestrado em Produção Animal do


Departamento de Zootecnia da UEM no ano de 2006, sobre Selênio adicional na produção de
embriões de novilhas Jersey in vitro, desenvolvidos nos órgãos: Estância Baobá, Jaguapitã e
BIOTEC – Centro de biotecnologia CESUMAR, sob a responsabilidade do pós-graduando,
Jefferson Ruela de Azevedo, e participação de Marcela Mataveli (Doutoranda da PPZ) com a
orientação do Prof. Dr. Gentil Vanini de Moraes (PPZ). A publicação se deu em 2012 na
revista Arquivos Brasileiros de Medicina Veterinária e Zootecnia sob o título Oocyte
aspiration and in vitro embryo production in Jersey cows with selenium-supplemented diet.
A produção de embriões in vitro (PIV) é uma biotecnologia que permite potencializar a
capacidade reprodutiva das fêmeas, além de auxiliar na compreensão de alguns mecanismos
fisiológicos que ocorrem in vivo. Os resultados obtidos com esta técnica se estabilizaram em
torno de 35% de blastocistos no sétimo dia de cultivo (BRUM, 2000). Este resultado depende,
em grande parte, da qualidade dos oócitos, que pode ser melhorada através da alimentação e
de bom manejo nutricional. O selênio (Se) tem sido considerado um elemento essencial na
alimentação de bovinos desde 1957 (HARRIS JR, 1995). Várias funções do organismo são
dependentes desse elemento, tais como, crescimento, reprodução, resposta imunológica,
prevenção de várias doenças e manutenção da integridade das células e dos tecidos
(BARBOSA et al., 2005). Com base nesses dados, a hipótese é que o selênio poderá melhorar
a qualidade dos oócitos e consequentemente dos embriões produzidos in vitro.
Biotécnicas como a produção de embriões in vitro (PIV), a transferência de embriões
(TE) e a inseminação artificial (IA) são ferramentas importantes para diversos setores da
produção animal. Atualmente, a PIV apresenta particularidade quando comparados com a TE
ou a IA, como a maior capacidade de explorar fêmeas geneticamente superiores, possibilidade
de reproduzir fêmeas com problemas reprodutivos adquiridos, entre outras. Porém, apresenta
algumas desvantagens, como a maior porcentagem de nascimento de machos, necessidade de
altos investimentos e, consequentemente, maior custo por prenhes. Estudar os efeitos que
possam refletir positivamente na PIV, reduzindo-se os custos de produção e tornando-se essa
técnica mais viável, é de extrema importância, além de auxiliar no entendimento dos
mecanismos fisiológicos que ocorrem in vitro e in vivo.
Foram utilizadas dez novilhas da raça Jersey, proveniente do mesmo grupo genético,
separadas, aleatoriamente, em grupo controle (C) e grupo tratamento (T), de cinco animais
cada. Antes do início do período experimental, as novilhas serão desverminadas com

132 ROSSI, R.M.


ivermectina e passarão por um período de adaptação de dez dias em pastagem, recebendo
somente o concentrado.
O objetivo do presente trabalho foi avaliar, quantitativa e qualitativamente pós-
tratamento, a produção total de oócitos, embriões, líquido folicular assim como os níveis de
sódio (antes e depois do tratamento) in vitro de novilhas da raça Jersey suplementadas com
selênio. O delineamento adotado foi inteiramente casualisado.
Tabela 4.3. Dados do experimento.
Inviáveis

Folicular
Líquido
Oócitos

Oócitos
Viáveis

Níveis
Grupo

Vacas

Sódio
de
de

Pré- Pós-
- Total Total Tratamento Tratamento -
Controle 45 4 0,026 0,036 0,150
Controle 26 3 0,038 0,046 0,050
Controle 9 - 0,094 0,190 0,190
Controle 3 4 0,068 0,068 -
Controle 32 11 0,062 0,100 0,170
Tratado 46 17 0,036 0,110 0,190
Tratado 1 - 0,040 0,130 0,080
Tratado 94 19 0,096 0,076 0,090
Tratado 13 4 0,050 0,080 -
Tratado 22 5 0,094 0,110 0,130

Observe que o banco de dados oferece respostas tanto discretas (de contagem) quanto
contínuas, para grupos independentes (tratados e controles) e pareados (antes e depois) além
de baixa quantidade de informação. Tradicionalmente, pela metodologia frequentista, testes
paramétricos e/ou não-paramétricos são utilizados, produzindo-se resultados fracos e muitas
vezes controversos em relação ao que o experimentador, com seu feeling, suspeita, isto é, de
haver diferenças (ou não) significativas entre os grupos comparados. A Inferência Bayesiana é
mais que sugestiva nesse exemplo típico, de tal forma que pressupostos necessariamente
frequentistas são descartados, tais como normalidade nos dados, além de produzir uma
inferência a respeito dos parâmetros populacionais com maior precisão.

133 ROSSI, R.M.


Caso 1. Comparando-se controle versus tratados – Populações não normais (dados de
contagens).

Foi considerada aqui a resposta: Total de oócitos viáveis e inviáveis.

Pela característica dos dados, uma distribuição de Poisson foi assumida:

yiC ~ Poisson(µ C ) e yiT ~ Poisson(µ T ) com uma estrutura hierárquica para a


média de oócitos:

µ C e µT ~ Gamma(10 −3 ,10 −3 ) não-informativas.

∆ = µ C − µ T será calculado para verificar se existe diferença, em nível de 5%,

entre os grupos (se o 0 ∉ ICr(∆)).


name: delta type: logical link: identity
value: mu1-m2

y1[i] y2[j]

for(i IN 1 : n1) for(j IN 1 : n2)

mu1 mu2

delta

Figura 4.3a. Modelo gráfico para a Aplicação 4.3.3 – Caso 1.

Lembre-se de que o modelo abaixo deve ser salvo no diretório de trabalho com a
extensão *.bug, por exemplo, ‘modelo.bug’.

134 ROSSI, R.M.


Modelo1.bug
model;
{
for( i in 1 : n1 ) {y1[i] ~ dpois(mu1) } # Controles
for( j in 1 : n2 ) {y2[j] ~ dpois(mu2) } # Tratados
mu1 ~ dgamma(0.001, 0.001)
mu2 ~ dgamma(0.001, 0.001)
delta <- mu1 - mu2
}

Utilizando-se o pacote BRugs do R, seguem as linhas de comando:


setwd("C:\\Work\\BayesZoo - Modulo IV\\Aplicação 433-Embrioes ")
library(BRugs)
rm(list=ls(all=TRUE))
# Oócitos viáveis
dados.aux = list(n1=5, n2=5, y1=c(45,26,9,3,32), y2=c(46,1,94,13,22))
# Oócitos inviáveis
# dados.aux = list(n1=4, n2=4, y1=c(4,3,4,11), y2=c(17,19,4,5))

chutes = function() list(mu1=mean(dados.aux$y1),


mu2=mean(dados.aux$y2))
parametros = c("mu1", "mu2", "delta")
res.caso1 = BRugsFit(modelFile = "modelo1.bug", data = dados.aux,
inits = chutes, numChains = 1,
parametersToSave = parametros,
nBurnin = 1000, nIter = 10000, nThin = 1,
working.directory = NULL, digits = 5)
print(res.caso1)
cadeias = cbind(samplesSample("mu1"),samplesSample("mu2"))
print(heidel.diag(cadeias))

Resultados para o número total de oócitos viáveis:


node mean sd MC error 2.5% median 97.5% start sample
delta -12.01 3.503 0.1078 -19.28 -11.97 -4.928 1000 10000
mu1 23.1 2.16 0.07259 19.22 23.06 27.66 1000 10000 (controles)
mu2 35.11 2.65 0.08902 29.92 35.04 40.76 1000 10000 (tratados)

Conclusão: Como o intervalo de credibilidade em nível de 95% para ∆ = µ C − µ T é de


(-19,28 , -4,928) e não contém o valor nulo (zero), então indica que há evidências de diferença
entre as médias dos e controles; a saber esta diferença é de 12,01 em favor dos tratados.
Resultados para o número total de oócitos inviáveis:
node mean sd MC error 2.5% median 97.5% start sample
delta -5.746 1.948 0.05803 -9.806 -5.729 -2.076 1000 10000
mu1 5.481 1.159 0.0368 3.397 5.409 7.925 1000 10000 (controles)
mu2 11.23 1.654 0.04456 8.257 11.15 14.69 1000 10000 (tratados)

135 ROSSI, R.M.


Conclusão: Como o intervalo de credibilidade em nível de 95% para ∆ = µ C − µ T é de
(-9,806, -2,076) e não contém o valor nulo (zero), então indica que há evidências de diferença
entre as médias dos e controles; a saber esta diferença é de 5,746 em favor dos tratados.

Caso 2. Comparando-se controle versus tratados – Populações normais (nível de sódio).

Foi considerada aqui a variável: Nível de sódio pós-tratamento.

Pela característica dos dados, agora contínua, uma distribuição normal é assumida:

yiC ~ Normal(µ C , σ2C ) e yiT ~ Normal(µ T , σT2 ) com uma estrutura hierárquica para
a os níveis médios de sódio pós-tratamento.

µ C e µ T ~ Normal(0,10 −6 ) ; σC2 e σT2 ~ Gamma(10−3 ,10−3 ) , não-informativas.

∆ = µ C − µ T será calculado para se verificar se existe diferença, em nível de 5%,

entre os grupos (se o 0 ∉ ICr(∆)).


name: delta type: logical link: identity
value: mu1-mu2

sigma1 sigma2

y1[i] tau1 y2[j] tau2

for(i IN 1 : n1) for(j IN 1 : n2)

mu1 mu2

delta

Figura 4.3b. Modelo Gráfico para a Aplicação 4.3.3 – Caso 2.

136 ROSSI, R.M.


Modelo2.bug
model;
{
for( i in 1 : n1 ) { y1[i] ~ dnorm(mu1,tau1) } # Controles
for( j in 1 : n2 ) { y2[j] ~ dnorm(mu2,tau2) } # Tratados
tau1 ~ dgamma(0.001, 0.001)
sigma1 <- 1 / sqrt(tau1)
tau2 ~ dgamma(0.001, 0.001)
sigma2 <- 1 / sqrt(tau2)
mu1 ~ dnorm( 0, 0.000001)
mu2 ~ dnorm( 0, 0.000001)
delta <- mu1 - mu2
}

Utilizando-se o pacote BRugs do R, seguem as linhas de comando:


rm(list=ls(all=TRUE))
setwd("C:\\Work\\BayesZoo - Modulo IV\\Aplicação 433-Embrioes ")
library(BRugs)
dados.aux = list(n1=5, n2=5,
y1 = c(0.036,0.046,0.19,0.068,0.1),
y2 = c(0.110,0.130,0.076,0.080,0.110))
chutes = function()list(mu1=mean(dados.aux$y1),
mu2=mean(dados.aux$y2),
tau1=1, tau2=1)
parametros = c("mu1", "mu2", delta","tau1","tau2","sigma1","sigma2")
res.caso2 = BRugsFit(modelFile = "modelo2.bug", data = dados.aux,
inits = chutes, numChains = 1,
parametersToSave = parametros,
nBurnin = 1000, nIter = 10000, nThin = 1, digits = 5)
print(res.caso2)
cadeias = cbind(samplesSample("mu1"),samplesSample("mu2"),
samplesSample("tau1"),samplesSample("tau2"))
print(heidel.diag(cadeias))

Resultados para o nível de Sódio pós-tratamento:


node mean sd MC error 2.5% median 97.5%
delta -0.01505 0.03663 0.00108 -0.09345 -0.01529 0.05133
mu1 0.08725 0.02547 0.000823 0.03352 0.0874 0.1365
mu2 0.1023 0.02563 0.000769 0.05598 0.1022 0.1562

Conclusão: Como o intervalo de credibilidade em nível de 95% para ∆ = µ C − µ T é de


(-0,09345, 0,05133) e contém o valor nulo (zero), então indica que não há evidências de
diferença entre as médias dos níveis de sódio pós-tratamento entre controles e tratados.

137 ROSSI, R.M.


Caso 3. Comparando-se controle versus tratados – Populações normais (nível de
líquido folicular).

Foi considerada aqui a variável: Nível de líquido folicular pós-tratamento.

Utilizando-se o pacote BRugs do R, as linhas de comando são análogas ao caso 2.


rm(list=ls(all=TRUE))
setwd("C:\\Work\\BayesZoo - Modulo IV\\Aplicação 433-Embrioes ")
library(BRugs)
dados.aux = list(n1=4, n2=4,
y1=c(0.15,0.05,0.19,0.17),
y2=c(0.19,0.08,0.09,0.13))
chutes = function()list(mu1=mean(dados.aux$y1),
mu2=mean(dados.aux$y2),
tau1=1, tau2=1)
parametros = c("mu1", "mu2", delta","tau1","tau2","sigma1","sigma2")
res.caso3 = BRugsFit(modelFile = "modelo2.bug", data = dados.aux,
inits = chutes, numChains = 1,
parametersToSave = parametros,
nBurnin = 10000, nIter = 100000, nThin = 1, digits=5)
print(res.caso3)
cadeias = cbind(samplesSample("mu1"),samplesSample("mu2"),
samplesSample("tau1"),samplesSample("tau2"))
print(heidel.diag(cadeias))

Resultados para o nível de líquido folicular pós-tratamento:


node mean sd MC error 2.5% median 97.5%
delta 0.01765 0.05101 0.001675 -0.09455 0.01897 0.1137
mu1 0.1394 0.03679 0.001219 0.06944 0.1393 0.2104
mu2 0.1217 0.03606 0.001101 0.04987 0.1207 0.1992

Conclusão: Como o intervalo de credibilidade em nível de 95% para ∆ = µ C − µ T é de


(-0,09455, 0,1137) e contém o valor nulo (zero), então indica que não há evidências de
diferença entre as médias dos níveis de Líquido Folicular pós-tratamento entre controles e
tratados.

138 ROSSI, R.M.


Caso 4. Comparando-se pré e pós-tratamento - População normal - Dados pareados
(nível de sódio).

Muitas situações experimentais, o pareamento pode ser adotado como método de


minimização da variabilidade entre grupos. Os tipos de pareamentos são: auto-pareamento,
pareamento natural e pareamento artificial.

O autopareamento ocorre quando o indivíduo serve como seu próprio controle, como
na situação em que um indivíduo recebe duas drogas administradas em ocasiões diferentes,
por exemplo. Outra situação é a que um tratamento é administrado e as variáveis de interesse
são observadas antes e depois do programa. Finalmente, a comparação de dois órgãos no
mesmo indivíduo, como braços, pernas, olhos, narinas, segundo alguma característica
estudada também constitui um auto-pareamento.

O pareamento natural consiste em formar pares tão homogêneos quanto possível,


controlando os fatores que possam interferir na resposta, sendo que o pareamento aparece de
forma natural. Por exemplo, em experimentos de laboratório pode-se formar pares de cobaias
selecionadas da mesma ninhada; em investigações clínicas, gêmeos univitelinos são muitos
usados.

No pareamento artificial escolhe-se indivíduos com características semelhantes


(critérios de inclusão e/ou exclusão), tais como, idade, sexo, nível sócio-econômico, estado de
saúde ou, em geral, fatores que podem influenciar de maneira relevante a variável resposta.

No caso do exemplo aqui estudado, os níveis de sódio observados antes e depois da


intervenção do tratamento (suplemento com selênio), configura um experimento autopareado,
onde a hipótese a ser testada é:

Ho : µ = µ Pos − µ Pr e = 0 ou ‘Não há efeito no tratamento’

Logo,a variável de interesse é difi = yiPos − yi Pr e e, portanto o modelo será da forma


descrita a seguir:

difi = yiPos − yi Pr e ~ N(µ, τ)

considerando µ ~ Normal(0,10−6 ) e τ ~ Gamma(10−3 ,10−3 ) distribuições a priori não-

informativas, tal que σ = 1 τ conforme parametrização OpenBUGS.

139 ROSSI, R.M.


name: dif[i] type: stochastic density: dnorm
mean mu precision tau lower bound upper bound

dif[i] tau sigma

for(i IN 1 : n)

mu

Figura 4.3c. Modelo Gráfico para a Aplicação 4.3.3 – Caso 4.

modelo3.bug
model;
{
for( i in 1 : n ) { dif[i] ~ dnorm(mu,tau) }
mu ~ dnorm( 0, 0.000001)
tau ~ dgamma(0.001, 0.001)
sigma <- 1/sqrt(tau)
}

Utilizando-se o pacote BRugs do R, as linhas de comando serão


rm(list=ls(all=TRUE))
setwd("C:\\Work\\BayesZoo - Modulo IV\\Aplicação 433-Embrioes ")
library(BRugs)
dados.aux = list(n=5, dif=c(0.016,0.030,-0.020,0.090,0.074))
chutes = function()list(mu=0, tau=1)
parametros = c("mu","tau","sigma")
res.caso4 = BRugsFit(modelFile = "modelo3.bug", data = dados.aux,
inits = chutes, numChains = 1,
parametersToSave = parametros, nBurnin = 10000,
nIter = 100000, nThin = 10, digits = 5)
print(res.caso4)
cadeias = cbind(samplesSample("mu"),samplesSample("tau"))
print(heidel.diag(cadeias))

140 ROSSI, R.M.


Resultados para o nível de Sódio.
node mean sd MC error 2.5% median 97.5%
mu 0.03769 0.0311 0.0007239 -0.02457 0.03766 0.09682
sigma 0.05852 0.0318 0.0004803 0.02552 0.05100 0.13840
tau 489.300 396.40 5.0550000 52.23000 384.400 1539.00

Conclusão: Como o intervalo de credibilidade 95% para µ: (-0,02457, 0,09682) contém


o valor nulo (zero), então mostra bem que não há evidências de diferenças nos níveis pré e
pós-tratamento, logo, são significativamente iguais, isto é, não houve efeito da suplementação
de selênio com relação aos níveis de sódio.

141 ROSSI, R.M.


Aplicação 4.3.4. Modelo de abundância de espécies.

(Colaboração da pós-graduanda Gisele Caroline Novakowski, Doutora em Ciências

Ambientais, Programa de Pós Graduação em Ambientes Aquáticos Continentais/UEM.)

Os dados utilizados neste estudo consistem de abundância versus espécies de peixes de


rios da bacia do rio Paraná. As coletas foram realizadas mensalmente durante o ano de 2008
nos seguintes rios: Iapó, o qual nasce no munícipio de Piraí do Sul, passa pelo munícipio de
Castro e tem sua foz no municipio de Tibagi, onde se encontra com o rio do mesmo nome;
Tibagi, que possui nascentes localizadas entre os municípios de Campo Largo, Palmeira e
Ponta Grossa, no centro-sul do estado; Pitangui, que tem sua nascente no sudeste do
município de Castro, junta suas águas com o rio Jutuba nos limites do município de Ponta
Grossa onde é barrado na represa dos Alagados que fornece água à cidade de Ponta Grossa;
for fim, o rio São João, cuja nascente é no município de Castro, mas banha a cidade
Carambeí, Paraná, Brasil.

Como característica comum, os quatro rios recebem efluentes de diferentes naturezas,


sendo, portanto, afetados em maior ou menor grau por ação antrópica.

Com o objetivo de ordenar os dados de abundância de espécies entre os locais foi


utilizado o método de ordenação Whittaker plot, através do qual as espécies são plotadas no
eixo x de forma ordenada da mais abundante para a de menor ocorrência, e suas respectivas
abundâncias são plotadas no eixo y. Os dados de abundância ordenados foram ajustados à
série geométrica, para obtenção do parâmetro k de forma a verificar diferenças na abundância
entre as localidades, segundo Tokeshi (1993). O modelo geométrico é esperado em uma
comunidade muito simples, de poucas espécies, em que as espécies chegariam a um ambiente
altamente restritivo, mas não saturado ecologicamente, em intervalos constantes de tempo e
competiriam de modo hierarquizado sob a influência de um fator predominante. Assim, o
modelo pressupõe que cada espécie se aproprie de uma fração k do hiper-espaço dos nichos,
deixando 1-k, que pode ser ocupado por outras espécies (MAY, 1975). Quando se ordenam as
espécies em rank de acordo com o número decrescente de indivíduos, o número de indivíduos
n de uma espécie que ocupa a posição i no rank pode ser estimado através da equação
(MAGURRAN, 2004):

142 ROSSI, R.M.


yi = ni = NCk(1-k)i-1

ni = número de indivíduos da espécie na i-ésima posição no rank;

i = posição que a espécie ocupa no rank;

N = número total de indivíduos;

k = proporção do hiper-espaço dos nichos de que cada espécie se apropria: k < 1;

C = constante de normalização que assegura que ∑ni = N dada por: 1/(1-(1-K)n).

As estimativas foram obtidas por meio do procedimento Bayesiano de acordo com o


modelo a seguir, considerando distribuições a priori não informativas descritas no modelo a
seguir, em que foram gerados 10.000 de valores em um processo MCMC, sendo que as
inferências para cada local foram realizadas, considerando as 9.500 iterações restantes.

model;
{
for(i in 1 : n)
{
y[i] ~ dnorm(mu[i],tau)
mu[i] <- N*C*K*pow(1-K, [i] - 1)
}
N <- sum(y[])
C <- 1/(1-pow(1-K, n))
K ~ dunif(0,1)
tau ~ dgamma(0.001,0.001)
sigma <- 1 / sqrt(tau)
}

Dados:
yiapo = c(191, 132, 113, 107, 104, 73, 65, 49, 40, 32, 31, 26, 21, 20, 19, 17, 16, 16, 8, 8,
6, 5, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1)
ytibagi = c(161, 153, 103, 47, 43, 42, 32, 29, 26, 23, 22, 20, 16, 13, 13, 13, 12, 10, 9, 8, 8,
6, 6, 6, 6, 5, 4, 4, 4, 4, 3, 2, 2, 2, 2, 2, 1)
ypitangui = c(622, 329, 307, 284, 274, 264, 251, 211, 184, 161, 160, 132, 113, 93, 87, 73,
58, 44, 39, 36, 36, 33, 32, 26, 24, 22, 22, 20, 16, 14, 11, 11, 5, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1)
ysaojoao = c(757, 300, 220, 123, 99, 77, 66, 54, 51, 43, 22, 17, 12, 12, 9, 8, 8, 8, 7, 6, 5, 5,
5, 4, 4, 3, 1, 1, 1)

A distribuição de abundância ajustada ao modelo série geométrica indica que poucos


táxons são mais abundantes e dominam uma porção maior do nicho em relação aos táxons

143 ROSSI, R.M.


mais raros encontrados nos locais. Pela inclinação da curva espécie-abundância (Whittaker
plot), a menor dominância de espécies foi evidenciada nos rios Tibagi e Iapó. De modo geral,
as espécies de abundância intermediária foram mais frequentes no rio Pitangui. As espécies de
maior dominância ocorrem no rio Pitangui, o qual também possui a maior riqueza de espécies.
A menor riqueza foi evidenciada no rio São João (Figura 4.4).

750

Iapó
Tibagi
600 Pitangui
Abundância absoluta de espécies

São João

450

300

150

0
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43
Rank de espécies

Figura 4.4. Distribuição das espécies ordenadas por abundância nos locais de amostragem da
bacia do rio Paraná.
Em concordância com a análise gráfica obtida a partir do Whittaker plot, e
considerando que o valor de k é inversamente proporcional aos dois componentes da
diversidade (riqueza e equabilidade), para o rio Pitangui foi estimado o menor valor de k, e o
maior valor foi observado para o rio São João (Tabela 4.4).

Tabela 4.4. Estimativas a posteriori do parâmetro k ± DP (desvio-padrão) calculados,


considerando a distribuição geométrica e os dados de abundância por locais.
Local k ± DP
Iapó 0,1563 ± 0,003
Tibagi 0,1903 ± 0,010
Pitangui 0,1206 ± 0,004
São João 0,3743 ± 0,019

144 ROSSI, R.M.


Este modelo de abundância é esperado em uma comunidade muito simples, de poucas
espécies, em que as espécies chegariam a um ambiente altamente restritivo, mas não saturado
ecologicamente, em intervalos constantes de tempo e competiriam de modo fortemente
hierarquizado sob a influência de um fator predominante (MARTINS e SANTOS, 2001).
Seguindo este contexto, teoricamente locais cuja distribuição de abundância se ajusta
ao modelo geométrico podem ser considerados perturbados (HILL e HAMER, 1998). No caso
dos rios analisados, todas as distribuições de abundância se ajustaram ao modelo geométrico
(Figura 4.5), todavia, o valor de k indica que o rio São João é o ambiente mais restritivo para
as espécies de peixes em relação aos demais locais.

Foi observada diferença significativa entre todos os locais quanto aos valores de k, isto
é, os rios possuem diferentes graus de heterogeneidade em termos de abundância (Tabela 4.5).
É possível avaliar ainda que o rio São João, que apresentou significativamente maior valor
para k, é provavelmente o ambiente mais restritivo (e Pitangui é o menos restritivo) para as
espécies de peixes em relação aos demais locais. Os contrastes de distribuição de abundância
observados neste estudo para os rios amostrados são indícios dos diferentes graus de
antropização.

145 ROSSI, R.M.


150
A B
150

Abundância absoluta
Abundância absoluta

100
100

50
50

0
0

0 5 10 15 20 25 30 35 0 5 10 15 20 25 30 35

Rank de espécies Rank de espécies


600

D
C
500

600
Abundância absoluta
Abundância absoluta

400

400
300
200

200
100

0
0

0 10 20 30 40 0 5 10 15 20 25 30

Rank de espécies Rank de espécies

Figura 4.5. Distribuição dos valores de abundância ordenados em relação ao rank de espécies
dos rios Iapó (A), Tibagi (B), Pitangui (C) e São João (D), Paraná.
Tabela 4.5. Resultados a posteriori dos contrastes entre os valores médios de k ± DP (desvio-
padrão) dos diferentes locais amostrados.
Contrastes k ± DP P2,5% P97,5%*
Iapó - Tibagi 0,03393± 0,00640 -0,0468 -0,0218
Iapó - Pitangui 0,03573 ± 0,00127 0,0332 0,0383
Iapó - São João 0,21795 ± 0,01597 -0,2494 -0,1865
Tibagi - Pitangui 0,06965± 0,00521 0,0601 0,0801
Tibagi - São João 0,18403± 0,00959 -0,2026 -0,1647
Pitangui - São João 0,25368± 0,01477 -0,2827 -0,2248
*diferença significativa entre contrastes com 95% de credibilidade (0∉Icr).

146 ROSSI, R.M.


Conclui-se que o modelo série geométrica pode ser apontado como um bom modelo
para os ambientes amostrados. Porém, como este modelo é fundamentado na teoria de
partição de nicho e relações energéticas entre os indivíduos, ressalta-se que ele não leva em
consideração o efeito do tamanho do corpo das espécies. Posteriormente, esta questão pode
ser avaliada, por exemplo, pela relação clássica peso versus comprimento padrão dos
indivíduos além de uso de outros modelos.

Literatura citada
HILL,J. K; HAMER, K. C. Using species abundance models as indicators of habitat disturbance in tropical
forests. Journal of Applied Ecology, v.3, p. 458–60, 1998.
MAGURRAN, A. E. Measuring Biological Diversity. Blackwells, Oxford, UK, 2004.
MARTINS, F. R.; SANTOS, F. A. M. Técnicas Usuais De Estimativa Da Biodiversidade. Revista Holos. p. 236-
67, 2001.
MAY, R M. Patterns of species abundance and diversity. In CODY, ML. and DIAMOND, JM. (Eds.). Ecology
and evolution of communities. Cambridge, Harvard University Press, 1975.
TOKESHI, M. Species abundance patterns and community structure. Advanced Ecology Research, v.24, p.111-
86, 1993.

147 ROSSI, R.M.


Aplicação 4.3.5. Análise de sobrevivência de rainhas africanizas recém-emergidas em

dois sistemas de armazenamento.

(Colaboração de André Luiz Halak, aluno de Pós-graduação em Zootecnia/UEM)

A rainha é a peça chave no melhoramento, é a única fêmea fértil, responsável por toda
postura, e por meio de suas qualidades herdáveis estão intimamente relacionadas com as
atividades da colônia. Por ser mãe de todos os indivíduos da colônia, é responsável por
metade do material genético herdado por suas filhas operárias, e por todo material genético
herdado por seus filhos zangões, uma vez que estes últimos são haplóides (BIENEFELD e
PIRCHNER, 1990).
A produção da colônia de produtos economicamente importantes em Apis mellifera L. é
afetada pela atividade combinada de rainha e operárias (BIENEFELD e PIRCHNER, 1990).
Tarpy et al. (2000) afirmaram que há potencial de seleção para rainhas recém-emergidas pois,
existe variação no potencial reprodutivo. Vários estudos relacionaram o peso da rainha à
emergência com o número de ovaríolos, diâmetro e volume da espermateca (TARPY et al.,
2000; GILLEY et al., 2003; KAHYA et al., 2008).
Considerando essas informações, a rainha recém-emergida é estudada para ser utilizada
como critério de seleção, com sua produção de grande escala feita em laboratório torna-se
necessário aperfeiçoar as técnicas de armazenamento até que todas do mesmo grupo de
seleção nasçam a fim de mensurar o peso a emergência das mesmas. O objetivo deste trabalho
foi estudar a sobrevivência de rainhas africanizadas visando aperfeiçoar o armazenamento e
torná-lo mais eficiente.
O estudo foi desenvolvido no laboratório de produção de rainhas do apiário central
localizado na Fazenda Experimental de Iguatemi da Universidade Estadual de Maringá
(FEI/UEM-2012).
Foi utilizado o método modificado de Doolitlle para a produção de rainhas, em que
consiste na transferência de larvas, de sua célula de origem, em um favo de crias de operárias
para células artificiais reais, confeccionadas com cera natural ou material plástico.
No dia da transferência o favo convencional de cria identificados em horas foi levado
ao laboratório de produção de rainhas, mantendo o ambiente controlado com temperatura de
34ºC e umidade de 50%, cobertos com pano limpo e úmido, para que a qualidade das larvas
fosse mantida até o momento da transferência em que cada cúpula recebeu uma gota de geléia
real diluída em água destilada (1:1) mais a larva transferida que, posteriormente, foram

148 ROSSI, R.M.


alojadas em sistema de minirecrias. Estas são compostas por dois núcleos sobrepostos,
separados por uma tela excluidora de rainha. O núcleo inferior é composto de cinco favos e o
superior, por quatro favos mais um quadro porta-cúpulas (MOURO e TOLEDO, 2004). Após
a realização das transferências as mini-recrias receberam suplementação alimentar, em
proporção de 2:1 de açúcar e água. Ao décimo dia após a transferência, os sarrafos com as
realeiras foram retirados das minirecrias e levados para o laboratório de produção de rainhas
do apiário central, com temperatura de 34ºC e umidade de 50%. Para alojá-las, foram
preparados frascos de vidro de 20 mL (lavados e aquecidos a 34ºC), contendo no interior do
mesmo uma tira de papel, para que ao emergir, as novas rainhas possam se movimentar. Em
seguida, os vidros com as realeiras foram levados para a estufa. As rainhas recém-emergidas
foram armazenadas na estufa ou no banco de rainhas aleatoriamente. Na estufa, cada rainha
acondicionada em uma gaiola recebeu quatro operárias acompanhantes e alimento cândi. O
banco de rainhas consistiu em uma colônia populosa em sistema mini-recria com abelhas
operárias jovens garantindo o cuidado e manutenção das rainhas virgens. As rainhas
armazenadas nos dois sistemas foram acompanhados uma vez a cada hora durante todo o
período de sobrevivência. Cada rainha apresentou uma ficha de identificação, contendo a data
e hora do nascimento e mensurações dos tempos de (Tabela 4.6).
Tabela 4.6. Tempos de sobrevida (dias) de abelhas considerando Tratamento 1 (mini-recria) e
Tratamento 2 (estufa).
Tratamento 1: mini-recria 0,51 0,62 0,62 0,66 0,70 0,70 0,70 0,75 0,85 0,85 0,91 1,22 1,27
1,36 2,24 2,32 2,33 2,37 2,46 2,81 2,91 3,99 4,11
Tratamento 2: estufa 0,27 3,45 5,41 8,31 8,38 8,43 8,49 8,50 8,51

Foi realizada duas análises: uma não-paramétrica (Kaplan-Meier) frequentista e outra


paramétrica (via modelo exponencial) Bayesiana no programa R, analisando a sobrevivência
da rainha à emergência em função do tempo de vida após a emersão, considerando-se no
modelo o efeito do tipo de alojamento, mini-recria ou estufa.
As estimativas para os parâmetros do modelo exponencial (já apresentado no Exemplo
2.6.3) f (t ) = α e−α t , t≥0 e α>0, em ambas populações, foram obtidas utilizando priori Gamma

não-informativa para α, tal como descrito no modelo a seguir:

149 ROSSI, R.M.


model;
{
for( i in 1 : n1 ) { t1[i] ~ dexp(alpha1) } # Tratamento 1
for( i in 1 : n2 ) { t2[i] ~ dexp(alpha2) } # Tratamento 2
alpha1 ~ dgamma(0.001, 0.001)
alpha2 ~ dgamma(0.001, 0.001)
mu1 <- 1/alpha1
mu2 <- 1/alpha2
dif <- mu2 - mu1
}

O objetivo dessa análise foi o de estimar a função de distribuição de probabilidade deste


variável, chamada função de sobrevivência (COLOSIMO, 2001). A distribuição exponencial
por ter taxa de falha constante, é a única com esta propriedade. Com a distribuição
exponencial é possível calcular a probabilidade de falha tanto de uma unidade velha quanto
uma nova que ainda não falhou. Esta probabilidade é chamada de falta de memória da
distribuição exponencial.
Tanto o estimador de Kaplan-Meier (por meio do comando
survdiff(Surv(tempo)~trat,dados,rho=0) da livraria survival do R) quanto por meio do
modelo exponencial (Tabela 4.7) detectaram diferenças significativas (p<0,05) para o
conjunto de dados, considerando mini-recria (Tratamento 1) e estufa (Tratamento 2).
Segundo Costa (2005) o peso vivo das rainhas virgens pode ser influenciado pelo
armazenamento das rainhas e o tipo de transferência utilizada e a mini-recria utilizada,
indicando que existe potencial de desenvolvimento de mini-recria que criem rainhas maiores.
O tipo de alojamento para as rainhas após a emergência faz parte dos cuidados para que a
reprodução da mesma seja eficiente, visto que existe um tempo de espera necessário para que
seja introduzida em sua respectiva colônia.
Muitos autores relacionaram a qualidade reprodutiva da rainha ao peso à emergência
(HOOPINGARNER e FARRAR, 1959; HATCH et al., 1999; GILLEY et al., 2000; TARPY
et al., 2000; KAHYA et al., 2008). Especificamente, Szabo (1973) indicou que o peso da
rainha à emergência é um indicador confiável do valor genético da mesma. Em função disso,
o peso da rainha é estudado para ser utilizado como critério de seleção em programas de
melhoramento genético por apresentar herdabilidade alta. Dado a importância da produção
em laboratório de rainhas para avaliar o peso a emergência é de grande importância avaliar a
melhor forma de armazenamento.

Na Figura 4.6 (a) e (b) são apresentadas as funções de sobrevivência para o tempo de
vida de abelhas rainhas em relação ao tratamento.

150 ROSSI, R.M.


(a) (b)
Figura 4.6. Estimativas da função de sobrevivência para o tempo de vida de abelhas rainhas
em mini-recrias (Tratamento 1) e estufas (Tratamento 2), via de Kaplan-Meier (a) e modelo
exponencial (b).

Tabela 4.7. Estimativas a posteriori para os parâmetros do modelo em estudo, considerando


Tratamento 1 (mini-recria) e Tratamento 2 (estufa).
Variável Média Desvio-padrão Mediana

µ1(mini-recria) 1,696 0,3682 1,645

µ2(estufa) 7,489 2,903 6,911

∆ = µ2- µ1 5,755* 2,898 5,200

α1 0,617 0,1286 0,609

α1 0,151 0,0509 0,145

*diferença significativa por meio do ICr(dif,95%).


Valores que foram avaliados neste trabalho mostram que o armazenamento após a
emersão das rainhas alojadas em estufa foram superiores ao de mini-recrias, sendo que a
longevidade media foi de 7,5 e 1,7 dias, respectivamente. O tipo de alojamento para as rainhas
após a emergência faz parte dos cuidados para que a reprodução da mesma seja eficiente,
visto que existe um tempo de espera necessário para que seja introduzida em sua respectiva
1
colônia. Para o cálculo do percentil p=50%, por meio da equação t p = - log(1-p) obteve-se
α
os valores medianos para o sistema de mini-recria (t50%=1,12) e para a estufa (t50%=4,59).

151 ROSSI, R.M.


Estes resultados mostram que é esperado que cerca de 50% das abelhas do tratamento em
estufas morram nos primeiros 4,6 dias, enquanto que em mini-recrias morram já no primeiro
dia.
A utilização do armazenamento em estufa de rainhas recém-emergidas foi mais
eficiente, mantendo assim, a qualidade da rainha e maior potencial de aceite da colônia que irá
recebê-la.

Literatura Citada

BIENEFELD, K.; PIRCHNER, F.; Heritabilities for several colony traits in the honeybee (Apismellifera
carnica). Apidologie, v.21, n.3, p.175-83, 1990.
COSTA, F.M. Estimativas de parâmetros genéticos e fenotípicos para peso e medidas morfométricas em
rainhas Apis mellifera africanizadas. 2005. 39 f. Dissertação (Mestrado emZootecnia) - UEM, Universidade
Estadual de Maringá, Maringá.
COLOSIMO, E. A. Análise de Sobrevivência Aplicada. Piracicaba: RBRAS, 2001. v. 300. 150p .
GILLEY, D.C.; TARPY, D.R.; LAND, B.B. Effect of queen quality on interactions between workers and
dueling queens in honeybee (Apis mellifera L.) colonies. Behavioral Ecology andSociobiology, v.55, n.2, p.190-
6, 2003.
HATCH, S.; TARPY, D.R.; FLETCHER, D.J.C. Worker regulation of emergency queen rearing in honey bee
colonies and the resultant variation in queen quality. Insectes Sociaux, v.46, p.372-7, 1999.
HOOPINGARNER, R.; FARRAR, C. L. Genetic control of size in queen honey bees. Journal of Economic
Entomology, v.52, n.4, p.547-8, 1959.
KAHYA, Y.; GENÇER, H.V.; WOYKE, J. Weight at emergence of honey bee (Apis mellifera caucasica)
queens and its effect on live weights at the pre and post mating periods. Journal ofApicultural Research, v.47,
n.2, p.118-25, 2008.
METORIMA, F. N. et al.Peso de rainhas africanizadas após a emersão. In: Anais do 21º Congresso Brasileiro de
Zootecnia. Maceió (AL), 23-27 maio 2011. p.1-4.
MOURO, G.F.; TOLEDO, V.A.A. Evaluation of Apis mellifera Carniolan and Africanized honey bees in royal
jelly production. Brazilian Archives of Biology and Technology, v.47, n.3, p.469-76, 2004.
SZABO, T.I.; LEFKOBITCH, L.P. Fourth generation of closed population honeybee breeding. Apidologie, v.
19, n. 3, p. 259-74, 1973.
TARPY, D.R.; HATCH, S.; FLETCHER, J.C. The influence of queen age and quality during queen replacement
in honeybee colonies. Animal Behaviour, v.59, n.1, p.97-101, 2000.

152 ROSSI, R.M.


Aplicação 4.3.6. Análise Bayesiana para ajuste de curva de crescimento de tilápias
do Nilo.
(Colaboração de Grazyella M. Yoshida, aluna de Pós-graduação em Zootecnia/UEM)

O ajuste de funções de crescimento peso-idade é uma ferramenta fundamental no


planejamento da produção animal, pois permite obter informações precisas sobre o padrão de
crescimento dos animais estudados, podendo ser utilizada para fins de adequar as exigências
nutricionais e para a seleção genética.
Devido a dificuldade de ajuste de algumas funções não lineares (BROWN et al., 1976),
a utilização de análises bayesianas para curvas de crescimento apresentam algumas vantagens,
como o cálculo do intervalos de credibilidades e a previsão do comportamento médio da
variável resposta, ao considerar diferentes densidades de probabilidade a priori (ANDRADE
FILHO et al., 2010).
Nos estudos de curva de crescimento alguns modelos não lineares como Gompertz
(LAIRD, 1965) e Logístico (NELDER, 1961) são frequentemente empregados e de acordo
com Santos et al. (2007) estes modelos ajustam-se de forma satisfatória para o crescimento de
tilápias do Nilo, sob análise frequentista.
O objetivo da realização deste trabalho é ajustar o modelo mais adequado para o
crescimento, peso em função da idade, de machos e fêmeas de tilápias do Nilo utilizando
abordagem Bayesiana.

O conjunto de dados utilizado nas análises foi cedido pelo Grupo de Pesquisa
PeixeGen da Universidade Estadual de Maringá e continha 3.023 observações de peso vivo
de 300 machos e 305 fêmeas de tilápias do Nilo, linhagem Tilamax, cultivados em sistema de
tanques-rede no ano de 2012. Realizou-se a primeira biometria após a identificação e mais
quatro biometrias durante o período de cultivo para a coleta de informações de peso e sexo.

De acordo com os modelos testados (Tabela 4.8), o parâmetro A representa o peso


assintótico superior ou peso adulto do animal, K representa a taxa de maturidade, ou seja, é a
relação entre a taxa de crescimento relativo e o peso adulto do animal, B é a constante de
integração sem interpretação biológica e t é o tempo.

153 ROSSI, R.M.


Tabela 4.8. Forma geral do modelo de Gompertz e Logístico para ajuste da curva de
crescimento em tilápias do Nilo.
Função Equação
Gompertz y (t ) = Ae − Be
− Kt

Logístico y (t ) = A(1 − Be − Kt ) −1

Pressupôs-se para todos os modelos que Yi segue distribuição normal, isto é, yi ~ N(µ i,
σ ). Para K, A e B considerou-se distribuições a priori não-informativas, com K ~ N(0, 10-6) e
2

A e B ~ Gamma(10-3, 10-3) (parametrização OpenBugs). Os modelos *.bug foram:


Gompertz Logístico
model; model;
{ {
for( i in 1:n ) for( i in 1:n )
{ {
y[i] ~ dnorm(mu[i],tau) y[i] ~ dnorm(mu[i],tau)
mu[i]<- a*exp(-exp(b-k*t[i])) mu[i]<- a/(1+exp(b-k*t[i]))
} }
a ~ dgamma(0.001,0.001) a ~ dgamma(0.001,0.001)
b ~ dgamma(0.001,0.001) b ~ dgamma(0.001,0.001)
k ~ dnorm(0,0.000001) k ~ dnorm(0,0.000001)
tau ~ dgamma(0.001,0.001) tau ~ dgamma(0.001,0.001)
sigma <- 1 / sqrt(tau) sigma <- 1 / sqrt(tau)
} }

A obtenção das distribuições a posteriori para todos os parâmetros foi realizada


utilizando o programa R. Foram utilizadoscomo valores iniciais estimativas frequentistas e, a
partir daí, foram gerados inicialmente 100.000 ciclos em um processo MCMC (Monte
CarloMarkov Chain), retirou-seamostras a cada ciclo, após a eliminação dos 10.000 ciclos
iniciais. A convergência das cadeias foi verificada por meio do pacote coda do programa R, pelo
critério de Heidelberger e Welch (1983). A seleção do modelo que mais de ajusta no conjunto
de dados, procedeu-se pelo critério DIC (Deviance Information Criterion)
(SPIEGELHALTER et al., 2002).

Houve indicativa de convergência para todos os parâmetros estudados e o pequeno


tamanho dos intervalos de credibilidade demonstra pouca dispersão dos parâmetros.

As estimativas das médias a posteriori para todo o conjunto de dados, machos e


fêmeas estão representadas na Tabela 4.9, observa-se que em ambos os modelos os machos
apresentaram valores superiores para o peso adulto (A) quando comparado com as fêmeas. Os

154 ROSSI, R.M.


maiores valores para o parâmetro K indica que as fêmeas são mais precoces que os machos e
tal comportamento pode ser verificado nos dois modelos.

Tabela 4.9. Estimativas a posteriori para os parâmetros A, B e K das funções não-lineares


para machos e fêmeas de tilápia do Nilo.
Parâmetros Gompertz Logístico
Machos e Machos e
Machos Fêmeas Machos Fêmeas
Fêmeas Fêmeas
a b a
A Média 687,3 861,3 532,7 603,8 748,8 481,9b
(ICr) 643 -736 793 - 953 493 - 608 581 - 630 748 - 790 459 - 510
DP 23,39 43,9 25,2 12,36 20,7 13,22

B Média 2,669 2,657 2,796 5,137 5,150 5,136


(ICr) 2,43 - 2,97 2,37 - 2,95 2,34 - 3,2 4,79 - 5,50 4,78 - 5,55 4,64 - 5,69
DP 0,1278 0,1628 0,1974 0,178 0,199 0,264

K Média 0,01433 0,01373 0,01568 0,0254 0,02464 0,02626


(ICr) 0,013 - 0,016 0,012 - 0,016 0,012 - 0,018 0,023 - 0,027 0,022 - 0,027 0,023 - 0,03
DP 0,000853 0,001098 0,001337 0,00106 0,00119 0,001587
DIC - 38.580 19.020 18.770 38.600 19.030 18.780
A = peso assintótico; B = constante de integração; K = taxa de maturação; ICr: Intervalo com 95% de
Credibilidade; DP: Desvio-padrão.
a,b
Letras distintas na linha, indicam diferenças significativam a 5% por meio de contrastes Bayesianos,
considerando o modelo proposto.

Apesar de ambos os modelos apresentarem bom ajuste para os dados utilizados, o


critério de informação da deviance Bayesiana (DIC) indicou que o modelo mais adequado
para está situação foi o de Gompertz, com diferenças significativas (|DICA-DICB| > 5) ao
compará-lo com o modelo Logístico (Tabela 4.9).
A Figura 4.7 (a) mostra a diferença da utilização dos dois modelos testados e a Figura
4.7 (b) demonstra o padrão de incremento do peso para machos e fêmeas, de acordo com o
modelo de melhor ajuste, evidencia-se que até a idade próxima aos 140 dias de vida, machos e
fêmeas obtiveram crescimento semelhante e após este período, as fêmeas apresentaram
desaceleração no crescimento, provavelmente devido à entrada em reprodução. Tal
informação indica que para sistemas comerciais de cultivo a técnica de inversão sexual deve
ser utilizada, pois apresentará ganhos superiores para peso vivo.

155 ROSSI, R.M.


(a) (b)
Figura 4.7. Ajuste do modelo de Gompertz e Logístico para todo o conjunto de dados (a) e
ajuste do modelo de Gompertz para todos os dados, machos e fêmeas (b).

Em trabalhos avaliando diferentes curvas de crescimento para tilápias, Santos et al.


(2007) e Araújo e Marquéz (2008) verificaram que Gompertz foi o modelo de melhor ajuste
ao considerar o peso em função da idade, corroborando com os resultados encontrados no
presente trabalho em que utilizou-se inferência Bayesiana.
O modelo Gompertz apresentou o melhor ajuste para o conjunto de dados completo,
machos e fêmeas. A utilização deste modelo para a característica peso demonstrou que
machos apresentam maior crescimento ao comparar com fêmeas de tilápias do Nilo.

Literatura Citada
ANDRADE FILHO, M. G. et al. Uma abordagem bayesiana para curvas de crescimento com diferentes
densidades a priori. Res. Bras. Biom., v.28, p.161-181, 2010.
ARAÚJO, J. C.; MÁRQUEZ, R. M. G. Modelos de Von Bertalanffy e Gompertz para descrever os parâmetros
de tamanho e peso médio de tilápias. Cadernos do IME- Série Matemática, v. 20, p.41- 50, 2008.
BROW, J. E.; FITZ HUGH Jr., H. A.; CARTW RIGHT, T. C. A. A comparision of nonlinear models for
describing weight-age relationships in cattle, J . Anim. Sci., Chanpaign, v.42, n.4, p.810-818, 1976.
LAIRD, A. K. Dynamcs of relative growth, Growth.[S.l.], v. 29, n. 9, p. 249-263, 1965.
NELDER, J. A. The fitting of a generation of the logistic curve. Biometrics. Washington, v, 17, p, 89-110, 1961.
SANTOS, V. B. et al. Avaliação de curva de crescimento morfométrico de linhagens de Tilápia do Nilo
(Oreochromis niloticus). Ciênc. Agrotecnol. Lavras, v,31, n,5, p.1486-1492, 2007.

156 ROSSI, R.M.


Aplicação 4.3.7. Superfície de resposta Bayesiana.

A utilização de superfícies de resposta em análises de dados, em especial, na área


zootécnica, em muitas situações é de grande importância no dia-a-dia, pois trabalhar com
modelos préviamente estabelecidos e validados, assim como obtenção de ótimos em níveis de
tratamento, agiliza o processo de produção além de maximizar lucros e/ou minimizar suas
perdas.

A seguir um exemplo mostra a facilidade em se alcançar tais objetivos. Para tal,


estimativas de um Modelo de Regressão Liniar Múltipla (MRLM) com variáveis X1 e X2
contínuas, ambas de grau 2 - Erros normais serão obtidas, isto é:

( )
yi = β 0 + β1 X 1 + β 2 X 12 + β 3 X 2 + β 4 X 22 + β 5 X 1 X 2 + ε i ; ε i ~ N 0, σ e2 .

Observação: O modelo apresentado foi construído supondo a existência de interação,


entretanto após ajuste, se o termo não não for significativo, o modelo deverá ser mais simples,
isto é, sem o parâmetro β5.

Para exemplificar, considere os valores médios de desempenho de codornas de corte no


período de 1 a 14 dias de idade em função dos níveis de Lisina e Arginina digestível.

Níveis de Arginina
x1 = c(1.22, 1.22, 1.22, 1.22, 1.52, 1.52, 1.52, 1.52, 1.82, 1.82, 1.82, 1.82, 2.12, 2.12,
2.12, 2.12)

Níveis de Lisina
x2 = c(1.1, 1.4, 1.7, 2.0, 1.1, 1.4, 1.7, 2.0, 1.1, 1.4, 1.7, 2.0, 1.1, 1.4, 1.7, 2.0)

y = GP: Ganho de peso (g)

y = c(69.27128441, 70.69813937, 70.69285673, 69.25543649, 70.67260691,


72.09946187, 72.09417923, 70.65675899, 70.77107321, 72.19792817, 72.19264553,
70.75522529, 69.56668331, 70.99353827, 70.98825563, 69.55083539)

O ajuste por meio de Inferência Frequentista para os dados pela seguinte linha de
comando no R:
pars = lm(y ~ x1 + I(x1^2) + x2 + I(x2^2) + x1*x2)
print(summary(pars))

Os resultados (omitido aqui) mostram que todos os termos foram significativos.


pars = c(32.67, 24.50, -7.24, 24.65, -7.96, 0)

157 ROSSI, R.M.


O ajuste por meio de Inferência Bayesiana será realizado considerando o seguinte
modeloregmult.bug.
model;
{
for (i in 1:n)
{
y[i] ~ dnorm(mu[i], tau)
mu[i] <- inprod(x[i, ], beta[])
}
for (j in 1:P)
{
beta[j] ~ dnorm(0, 0.000001)
}
tau ~ dgamma(0.001, 0.001)
sigma <- 1/sqrt(tau)
}

Função Bayesiana:

bayes.mrlm2e2i.normal = function(iter,burn,salto,dados)
{
y = dados[,1]
n = length(y)
x0 = rep(1,n)
x1 = dados[,2]
x2 = dados[,3]
x = cbind(x0,x1,x1^2,x2,x2^2,x1*x2)
P = ncol(x)
dados.aux = list(n=n, x=x, y=y, P=P)
modelo = "modeloregmult.bug"
cat("\n -------------Estimativas Frequentistas-------------")
cat("\n ")
pars = lm(y ~ x1 + I(x1^2) + x2 + I(x2^2) + x1*x2)
print(summary(pars))
beta.aux = pars$coef
chutes = function() list(beta=beta.aux, tau=1)
parametros = c("beta","sigma")
res = BRugsFit(modelFile=modelo, data=dados.aux, inits=chutes,
numChains=1, parametersToSave=parametros,
nIter=iter, nBurnin=burn, nThin=salto,
DIC=TRUE, working.directory=NULL, digits=5)
nome.beta = paste("beta[",1:P,"]",sep="")
cadeias = samplesSample("sigma")
for (j in 1:P)
{
cadeias = cbind(cadeias,samplesSample(nome.beta[j]))
}
cat("\n -----Critério de convergência Heidelberger e Welch-----")
print(heidel.diag(cadeias))

158 ROSSI, R.M.


alfa = 0.05
e = matrix(0, ncol(cadeias), 5)
for (k in 1:(ncol(cadeias)))
{
e[k,1] = mean(cadeias[,k])
e[k,2] = sd(cadeias[,k])
e[k,3] = median(cadeias[,k])
e[k,4] = quantile(cadeias[,k],alfa/2)
e[k,5] = quantile(cadeias[,k],1-alfa/2)
}
est = round(e,5)
est.bayes = c("Média","Desvio-Padrão","Mediana","P2.5%","P97.5%")
colnames(est)=(est.bayes)
var.nomes= c("sigma.e","beta0",nome.beta)
dimnames(est)=list(var.nomes,est.bayes)
cat("\n---------------Estimativas Bayesianas---------------")
cat("\n ")
print(est)
print(res$DIC)
cadeias
}

saida = bayes.mrlm2e2i.normal(iter=10000,burn=1000,salto=1,dados)

par mean sd MC_error val2.5pc median val97.5pc start sample


beta[1] 32.450000 0.132200 0.0131500 32.230000 32.430000 32.70000 1001 10000
beta[2] 26.450000 0.071100 0.0070030 26.330000 26.450000 26.61000 1001 10000
beta[3] -7.926000 0.022430 0.0021660 -7.973000 -7.925000 -7.88800 1001 10000
beta[4] 22.860000 0.150600 0.0150300 22.630000 22.840000 23.19000 1001 10000
beta[5] -7.269000 0.046870 0.0046370 -7.367000 -7.260000 -7.19400 1001 10000
beta[6] 0.004089 0.039520 0.0038530 -0.054940 -0.005912 0.09293 1001 10000 ns
sigma 0.015700 0.004341 0.0002616 0.009966 0.014850 0.02647 1001 10000

O termo na iteração não foi significativo para o modelo e portanto pode ser omitido na
construção da Superfície de Resposta.

159 ROSSI, R.M.


Função para construção da superfície de resposta:

sr.mrlm.2e2 = function(x1, x2, pars)


{
require(rgl)
n1 = n2 = 100
x1 = seq(min(x1), max(x1), length=n1)
x2 = seq(min(x1), max(x1), length=n2)
M.aux = matrix(0,n1,n2)
sr.2e2 = function (x1, x2)
{
y = pars[1]+pars[2]*x1+pars[3]*x1^2+pars[4]*x2+pars[5]*x2^2
y
}
for (i in 1:n1)
{
for (j in 1:n2)
{
M.aux[i,j] = sr.2e2(x1[i],x2[j])
}
}
z = outer(x1, x2, sr.2e2)
aux = unique(cbind(x1,x2,z))
persp3d(x1,x2,z,color="white",xlab="x1",ylab="x2",zlab="z")
aux
}

saida = sr.mrlm.2e2(x1, x2, pars)

Figura 4.8. Superfície de resposta dos dados da Aplicação 4.3.7.

160 ROSSI, R.M.


Aplicação 4.3.8. Modelo dose-resposta: Atividade da fração hidrometanólica de Pennisetum
glaucum sobre a mortalidade de Euphorbia heterophylla.
(Colaboração de Hingrid A. da SILVA, aluna de Pós-graduação em Agronomia/UEM)
H. A. da SILVA¹*, O. FERRARESE-FILLHO², R. M. ROSSI³
Departamento de Agronomia, Universidade Estadual de Maringá, Paraná, BR
Av. Colombo, 5.790, Bloco J47, Jd. Universitário - Maringá – Paraná, Brasil. CEP 87020-90
E. Mail: hingrid_ariane@hotmail.com

RESUMO. Euphorbia heterophylla é uma planta daninha que e tem alto potencial de reduzir
a produtividade e lucratividade das culturas. Devido aos casos de resistência dessa e outras
daninhas aos mais diversos mecanismos de ação de herbicidas, alternativas no manejo dessas
invasoras têm sido estudadas. Neste sentido, a alelopatia tem se aprofundado em estudos com
uso de culturas de cobertura para o controle das mais diversas daninhas. O milheto
(Pennisetum glaucum), que vem sendo utilizado como cobertura, tem causado supressão de
crescimento de ervas daninhas, mostrando, assim, grande potencial para esse fim. Com
objetivo de avaliar a atividade alelopática de milheto, foram obtidos extratos em solventes
orgânicos. O extrato hidrometanólico, o particionado mais ativo, foi então utilizado no ensaio
para avaliar seu efeito na mortalidade desta daninha após 15 dias de tratamento. Os resultados
foram obtidos por meio da inferência frequentistas e Bayesiana e, ao final, comparados. O
extrato hidrometanólico de milheto apresentou efeito sobre a mortalidade de plantas de
amendoim-bravo. A inferência Bayesiana mostrou-se mais sensível e pode capturar efeito do
extrato que foram considerados não significativos na modelagem tradicional. A partir do
modelo logístico ajustado, a DL50 para o extrato hidrometanólico obtida foi de 820 mg/L.
Palavras-chave: Alelopatia, Milheto, Amendoim-bravo.

Introdução
O estudo da alelopatia tem recebido considerável atenção, pois os aleloquímicos
podem reduzir a produção agrícola, constituir defensivos agrícolas naturais e permitir a
utilização de restos culturais como uma ferramenta no manejo integrado de plantas daninhas
(FERREIRA e AQUILA, 2000; MORAES et al., 2009).
O milheto é uma gramínea amplamente empregada na recuperação de solos
degradados e alimentação animal e que, entretanto apresenta poucos estudos sobre seus
possíveis efeitos alelopáticos. Por sua vez, o incremento constante no número de daninhas
resistentes a herbicidas sintéticos gera a necessidade de adoção de novas estratégias de
manejo de plantas daninhas bem como a busca por novas substâncias que atuem como
herbicidas (DUKE et al., 2002). O amendoim-bravo, por exemplo, é uma planta daninha que
infesta a maioria dos campos de soja do Brasil e tem alto potencial de reduzir a produtividade
da cultura da soja (MESCHEDE et al., 2002).
Em 2006, estudos conduzidos por TREZZI e colaboradores constataram que a
palhada de sorgo, milho ou aveia, na superfície do solo, reduziram a velocidade de

161 ROSSI, R.M.


emergência e o número de folhas de E. heterophylla. Eles atribuíram este resultado tanto ao
efeito físico da palhada como à alelopatia. No entanto, poucos estudos isolaram o efeito
alelopático da barreira física imposta pela palhada à mortalidade de daninhas. Neste sentido,
este trabalho teve por objetivo avaliar o efeito da fração hidrometanólica obtida a partir do
fracionamento da palhada seca de milheto cv. ADR-300 na mortalidade de amendoim-bravo.

Material e Métodos
O milheto foi semeado em campo aberto na Fazenda Experimental de Iguatemi-FEI e
oitenta dias após a emergência a parte aérea foi colhida, triturada e seca em estufa a 40°C.
Seiscentos e cinquenta gramas de massa seca proveniente dessa palhada foram submetidos à
maceração com metanol resultando, no extrato metanólico bruto. Este foi dissolvido em uma
solução água/metanol (3:1) e fracionado três vezes por ordem de polaridade em 150 mL de
cada um dos seguintes solventes: hexano, diclorometano, acetato de etila e butanol. A fração
hidrometanólica foi obtida após esta extração com o butanol, último na ordem de partição.
Sementes de E. heterophylla foram germinadas em rolo de papel por 5 dias em BOD
à 25 °C e fotoperíodo de 12 h e depois incubadas com 250 mL de solução nutritiva (DONG et
al., 2006) e seu respectivo tratamento em pH = 6,0, por 15 dias, sendo esta renovada no 4, 7,
10 e 13° dia de incubação. A sala de incubação foi mantida a 25 °C e a intensidade luminosa
de 400 µmols de fótons m-2 s-1.
O experimento foi elaborado um delineamento inteiramente casualizado (DIC) com 5
tratamentos e 4 repetições cada, sendo a unidade experimental formada por uma planta. Os
tratamentos foram compostos por controle contendo somente solução nutritiva e quatro doses
crescentes (250, 500, 750 e 1000 mg/L) de extrato hidrometanólico. Ao final de 15 dias de
incubação, o número de plantas mortas foi coletado e os dados ajustados para uma curva de
dose resposta para os dados binários por meio de Modelos Lineares Generalizados (GLM) e,
subsequentemente, via Inferência Bayesiana.Ao final seus resultados foram comparados como
parte dos objetivos do trabalho.
Para estimar os parâmetros por meio de GLM, foi adotado o modelo Binomial para
variável resposta que é dicotômica, com parâmetros n e p, isto é,

Y∼ Bin(n, p), sendo = 1−


= + a função de ligação,

onde:n: plantas submetidas ao tratamento e : probabilidade de morte.


Para o ajuste do modelo, a função glm do programa R (R DEVELOPMENT CORE
TEAM, 2014) foi utilizada. Os coeficientes estimados foram testados por meio de Chi-

162 ROSSI, R.M.


Quadrado para significância a 5%, sendo a qualidade do modelo ajustado avaliada pelo
critério de deviance (CORDEIRO e DEMÉTRIO, 2007).
Para estimativas Bayesianas, assumiu-se que o número de plantas mortas observado
(ri), em a cada nível de concentração de extrato hidrometanólico (xi), segue uma distribuição
Binomial com parâmetros: ni (tamanho de amostra) e pi(taxa de morte). O modelo adotado
para pi foi o logístico (logit):

= ou = + , onde:

: probabilidade de morte de plantas,


Foi assumido total desconhecimento a priori sobre os parâmetros de regressão:
α, β ~ N(0,10-6) (parametrização OpenBUGS) e considerados significativos, ao nível
de 5% de significância, os parâmetros onde o intervalo de credibilidade de 95% que não
contemplam o valor zero.
model;
{
for( i in 1:N)
{
r[i] ~ dbin(p[i], n[i])
logit(p[i]) <- beta0 + beta1*x[i]
}
beta0 ~ dnorm(0, 0.000001)
beta1 ~ dnorm(0, 0.000001)
DL50 <- -beta0/beta1
}
De posse do modelo ajustado, foi possível prever a dose letal do extrato que pode
matar 50% de plantas, chamada de DL50.
A obtenção das distribuições marginais dos coeficientes da regressão a posteriori foi
realizado por meio do pacote BRugs do programa R. Foram utilizados como valores iniciais,
estimativas frequentistas para os parâmetros e em seguida, foram gerados 10.000 valores em
um processo MCMC (Monte Carlo Markov Chain), considerando um período de descarte
amostral de 1.000 valores iniciais. Para eliminar a autocorrelação, foram realizados saltos de
amplitude igual a 10. A análise de convergência e estacionariedade foi realizada por meio do
pacote coda do programa R, sendo o critérios de Heidelberger e Welch (1983) adotado
(Apêndice).

163 ROSSI, R.M.


Resultados e Discussão
A Tabela 4.10 apresenta os dados do presente estudo.
Tabela 4.10. Dados de sobrevivência de plantas por nível da dose do Extrato
hidrometanólico.
Y 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 1 1 0 0
X 0 250 500 750 1000
Y: Status de sobrevivência (0) ou morte (1); X: Extrato hidrometanólico de milheto (mg/L).
O coeficiente β da regressão logística foi considerado não significativo por meio de
modelagem linear generalizada, indicando que a relação entre causa e efeito não pode ser
capturada por meio dessa estatística (Tabela 4.11).
Tabela 4.11. Estimativas frequentistas do modelo (glm).
Parâmetro Coeficientes Erro padrão valor z Pr(>|z|)
α -2,8603 1,3259 -2,157 0,031*
β 0,0035 0,0019 1,874 0,061ns
*Significativo a 5% de probabilidade (p<0,05).
A modelagem Bayesiana por sua vez foi capaz de capturar o efeito das doses do
extrato sobre a mortalidade de plantas, sendo α e β significativos uma vez que o valor zero,
não está contido nos seus, respectivos, Intervalos com 95% de Credibilidade (ICr: p2,5%-
p97,5%) (Tabela 4.12).
Tabela 4.12. Estimativas a posteriori dos coeficientes do modelo.
Parâmetro Média Desvio-padrão Mediana p2,5% p97,5%
α -3,4260 1,535 -3,239 -6,92 -0,9325*
β 0,0042 0,0021 0,0040 0,0007 0,0088*
*Significativo a 5% de probabilidade (p<0,05).
A curva para probabilidade de morte de plantas em função dos níveis de extrato
hidrometanólico de milheto (mg/L) é apresentada na Figura 4.9. A dose letal (valor mediano
devido a assimetria a posteriori) do extrato que pode matar 50% de plantas chamada de DL50
foi 820 mg/L (ICr: 505-1803). Nota-se a possibilidade de incremento da mortalidade com
incremento da dose pois não foi atingido um platô para a variável que indicaria uma
estabilização na porcentagem de plantas mortas em função do tratamento. Taxas de
mortalidade acima de 80% é desejado no âmbito do controle de plantas daninhas, pois
refletem em menor competição da planta com a cultura por nutrientes, água, luminosidade e
outros.

164 ROSSI, R.M.


Figura 4.9. Curva da probabilidade de morte de plantas em função das doses de extrato.

Neste sentido, mais trabalhos devem ser realizados com doses a partir do valor de
DL50 para que o controle efetivo desta planta daninha através de aleloquímicos dessa fração
para que seja incrementada a taxa de controle. Dados de trabalho de Silva (2013) indicam que
esta fração teve ação sobre outras variáveis biológicas do amendoim-bravo como na via de
lignificação, metabolismo oxidativo aliada à redução de crescimento das plantas que não
apresentaram mortalidade.

Conclusão
O extrato hidrometanólico de milheto apresentou efeito sobre a mortalidade de plantas
de amendoim-bravo. A inferência Bayesiana mostrou-se mais sensível e pode capturar efeito
do extrato que foram considerados não significativos na modelagem generalizada. A partir do
modelo logístico ajustado, a DL50 para o extrato hidrometanólico obtida foi de 820 mg/L.

165 ROSSI, R.M.


Referências
1. Cordeiro, G. M., Demétrio, C. G. B. (2007).Modelos Lineares Generalizados.
2. Duke, S. O., Dayan, F. E., Romagni, J. G., Rimando, A. M. (2000). Natural products as sources of herbicides: current
status and future trends. Weed Research40: 99-111.
3. Ferreira, A. G., Aquila, M. E. A. (2000). Alelopatia: uma área emergente da ecofisiologia. Revista Brasileira de
Fisiologia Vegetal, (Edição Especial) 12:175-204.
4. Geweke, J. (1992). Evaluating the accuracy of sampling-based approaches to calculating posterior moments. In:
Bernardo, J. M; Berger, J. O, Dawid A. P; Smith, A. F. M. Bayesian Statistics 4. Oxford: Clarendon Press, 169-193.
5. Heidelberger, P.; Welch, P. (1983). Simulation run length control in the presence of an initial transient. Operations
Research 31, 1109-1144.
6. Meschede, D. K., Oliveira Jr., R. S., Constantin, J., Scapim, C. A. (2002). Período crítico de interferência de Euphorbia
heterophylla na cultura da soja, sob baixa densidade de semeadura. Planta Daninha20:(3)381–387.
7. Moraes, P. V. D., Agostinetto, D., Vignolo, G. K., Santos, L. S., Panozzo, L. E. (2009). Manejo de plantas de cobertura
no controle de plantas daninhas na cultura do milho. Planta Daninha27:(2)289-296.
8. R development core team (2014). R: A language and environment for statistical computing. R Foundation for Statistical
Computing, Vienna, Austria. Disponível em <http://www.R-project.org>.
9. Rossi, M. R. (2011). Introdução aos métodos Bayesianos na análise de dados zootécnicos com uso do WinBUGS e R.
Maringá: Eduem.
10. Silva, H. A. Atividade da fração hidrometanólica de milheto sobre o crescimento e alguns aspectos do metabolismo de
amendoim-bravo.(2013). Universidade Estadual de Maringá.
11. Trezzi, M. M., Vidal, R. A., Kruse, N. D. I., Nunes, A. L. (2006). Bioensaios para identificação de biótipos de
Euphorbia heterophylla com resistência múltipla a inibidores da ALS e da PROTOX. Planta Daninha24:(3)563-571

Apêndice (Comandos no R)
rm(list=ls(all=TRUE))
x = c(0,0,0,0,250,250,250,250,500,500,500,500,750,750,750,750,1000,1000,1000,1000)
r = c(0,0,0,0, 0,0,0,0, 0,0,1,1, 0,1,0,1, 1,1,0,0)
dados = data.frame(x,r)
dados

Análise Frequentista
logit = glm(r ~ x, family="binomial", data=dados)
summary(logit)

Análise Bayesiana
x2 = c(0,250,500,750,1000)
n2 = c(4,4,4,4,4)
r2 = c(0,0,2,2,2)
dados2 = data.frame(x2, n2, r2)
dados2

Função Bayesiana para estimar os parâmetros da curva logística


bayes.doseresposta = function(iter,burn,salto,chutes,dados)
{
x = dados[,1]
n = dados[,2]
r = dados[,3]

166 ROSSI, R.M.


N = length(levels(factor(x)))
dados.aux = list(x=x,n=n,r=r,N=N)
modelo = "doseresposta.bug"
chutes.aux = function() list(beta0=chutes[1], beta1=chutes[2])
parametros = c("beta0","beta1","DL50")
res = BRugsFit(modelFile=modelo, data=dados.aux, inits=chutes.aux,
numChains=1, parametersToSave=parametros, nBurnin=burn,
nIter=iter, nThin=salto, DIC=TRUE, working.directory=NULL,
digits=5)
cat("\n---------------Estimativas Bayesianas---------------")
cat("\n ")
print(res)
cadeias = cbind(samplesSample("beta0"),samplesSample("beta1"),
samplesSample("DL50"))
cat("\n -----Critério de convergência Heidelberger e Welch-----")
print(heidel.diag(cadeias))
cadeias
}

setwd("C:\\Work")
library(BRugs)
library(coda)
saida = bayes.doseresposta(iter=100000,burn=10000,salto=10,chutes=c(-3,0.003),
dados=dados2)
# Observação: O tempo computacional é alto!

Função da Curva Logística para cálculos


p.logit = function(beta,x)
{
k = length(x)
beta0 = beta[1]
beta.aux = beta[2:(k+1)]
z = beta0 + beta.aux%*%x
p = exp(z)/(1+exp(z))
p
}

y.aux = numeric()
dose = c(0:2000)
b0 = median(saida[,1]) # Mediana (devido a assimetriaa posteriori)
b1 = mean(saida[,2])

for (i in 1:length(dose))
{
y.aux[i] = p.logit(beta=c(-3.23905,0.00418),x=dose[i])
}

plot(dose,y.aux,type="l", xlab="Extrato hidrometanólico (mg/L)", ylab="Probabilidade


de Morte (%)", bty="n")

167 ROSSI, R.M.


Considerações Finais

Em vários seguimentos da pesquisa científica, a utilização da metodologia clássica


(frequentista) pode ser restrita. Pode-se citar, por exemplo, uma inferência a respeito de um
determinado parâmetro em que a amostra coletada é muito pequena. Como a metodologia
frequentista é baseada na teoria assintótica, essa inferência e, principalmente, o seu respectivo
Intervalo de Confiança podem ser equivocados. Mesmo em casos em que o número de
observações é grande como, por exemplo, no melhoramento genético animal em rebanhos de
gado, em quepode haver uma grande quantidade de informações que foram coletadas durante
décadas, justamente pelo número muito grande do banco de dados a ser incluído no modelo,
isso pode vir a inviabilizar o processo numérico. Nestes e em outros casos, a Inferência
Bayesiana pode ser uma alternativa conveniente e muito poderosa quando utilizada de forma
correta. O procedimento, além de elegante e flexível mesmo para o ajuste de modelos de
grande complexidade, propicia resultados adicionais àqueles obtidos pela abordagem
frequentista, destacando-se os intervalos de credibilidade para as estimativas de seus
parâmetros, que tendem a ser mais precisos do que pelo procedimento frequentista. O uso
dessa abordagem não se restringe aos modelos lineares Gaussianos, mas, engloba também os
modelos lineares generalizados, os modelos não-lineares e os modelos robustos.

A Inferência Bayesiana está para o estatístico, assim como a rede está para o pescador.
Ambos são imprescindíveis!

Robson M. Rossi

168 ROSSI, R.M.


REFERÊNCIAS

ALBERT, J. Bayesian Computation with R. New York: Springer, 2007.

BARBOSA, F. A.; SOUZA, G. M. Influência dos principais microminerais na reprodução


de bovinos. Disponível em: <http://www.rhagro.com.br/leite>.Acesso em: 04 mai. 2005.

BERGER, J. O. Statisticaldecision theory and Bayesian analysis. 2.ed. New York:


Springer-Verlag, 1997. (Series: Springer Series Statistics).

BERGER, J. O.; BERNARDO, J. M. Reference priors in a variance components problem.


GOEL, P. K.; IYENAGAR, N. S. (Ed.).Bayesian in Statistics and Econometrics. Berlin,
1992a. p.323-40.

BERGER, J. O.; BERNARDO, J. M. Ordered group reference priors with applications to a


multinomial problem. Biometrika, London,v.79, p.25-37, 1992b.

BERGER, J. O.; BERNARDO, J. M. On the development of reference priors (with


discussion). In: BERGER, J. O.; DAWID, A. P., SMITH, A. Bayesian Statistics4.Osford:
Oxford University Press, 1992c. p.35-60.

BERGER, J. O. Statisticaldecision theory and Bayesian analysis. 2. ed. New York:


Springer-Verlag, 1985. (Series: Springer Series Statistics).

BERNARDO, J.M. Reference posterior distributions for Bayesian inference (with


discussion). Journal of the Royal Statistical Society: Series B,Oxford,v.41, p.113-47, 1979.

BERNARDO, J. M. Bioestadística, una Perspectiva Bayesiana. Barcelona: Ed. Vicens-


Vives, 1981.

BEST, N. G.; COWLES, M. K.; VINES, S. K. CODA: Convergence diagnostics and output
analysis software for Gibbs sampler output. Cambridge, 1995.

BOLSTAD, W. M. Introduction to Bayesian Statistics. New Jersey: John Wiley & Sons,
2004.

BOX, G. E. P.; TIAO, G. C.Bayesian inference in statistical analysis. NewYork: Wiley,


1992.

BROEMELING, L. D. Bayesian Inference for the General Linear Model. Statistic: Textbooks
and Monographs, v.60, New York, 1985.

BRUM, D. S. Transporte-cultivo de embriões bovinos produzidos in vitro. Santa Maria,


2000. 63f. Dissertação (Mestrado em Medicina Veterinária)-Universidade Federal de Santa
Maria, 2000.

CARLIN, B. P.; Gelfand, A. E.An iterative Monte Carlo method for nonconjugate Bayesian
analysis. Statistic and Compunting,New York, v.1,p.119-128, 1991.

169 ROSSI, R.M.


CASELLA, G.; GEORGE, E. Explaining the Gibbs Sampler. The American
Statistician,Washington, DC, v.46, p.167-174, 1993.

CEPEDA, E.; GAMERMAN, D. Bayesian modeling of variance heterogeneity in normal


regression models. Brazilian Journal of Probability and Statistics, São Paulo, v.14, p.207-
221, 2000.

CHIB, S.; GREENBERG, E. Understanding the Metropolis-Hastings algorithm. The


American Statistician, Washington, DC, v.49, n.4, p.327-335, 1995.

CONGDON, P. Applied Bayesian Modelling. New Jersey: John Wiley & Sons, 2014.

COX, D. R.; HINKLEY, D. V. Theory Statistics. New York: Chapman and Hall, 1974.

CRAWLEY, M. J. The R Book. Jhon Wiley & Sons, 2007.

DEY, D. K.; GHOSH, S.K; MALLICK, B. K. Generalized Linear Models: A Bayesian


Perspective. New York: Marcel Dekker Inc., 2000.

DOBSON, A. J. An Introduction to Generalized Linear Models. New York: Chapman &


Hall, 1999.

EHLERS, R. S.; RIBEIRO Jr., P. J. Introdução a Inferência Bayesiana. Disponível em:


<http://www.est.ufpr.br/~paulojus/CE227/ce227/ce227.html>. Acesso em: 1 jun. 2006.

GAMERMAM, D. Simulação estocástica via cadeias de Markov. 1. ed. São Paulo:


Associação Brasileira de Estatística, 1996.

GAMERMAN, D.; MIGON, H. S.Inferência Estatística: Uma Abordagem Integrada. 1.


ed. Rio de Janeiro: Instituto de Matemática, Universidade Federal do Rio de Janeiro, 1993.

GELMAN, A. et al. Bayesian Data Analysis. 1. ed. Chapman & Hall, 1995.

GELMAN, A.; RUBIN, D. B. Inference from iterative simulation using multiple sequences.
Statistical Science,Hayward, v.7, n.4, p.457-511, 1992.

GEWEKE, J. Evaluating the accuracy of sampling-based approaches to calculating posterior


moments. In: BERNARDO, J. M; BERGER, J.O, DAWID A. P; SMITH, A.F.M.Bayesian
Statistics 4. Oxford: Clarendon Press,1992. p.169-193.

GIANOLA, D. Bayesian analyses with applications to genetics e biology. Class notes of a


course thought at the department of genetics. Medical School, Universidade de São Paulo,
São Paulo, 1996.

GIANOLA, D. Bayesian analyses of Longitudinal Data with Quantitative Genetic


Applications. In: REUNIÃO ANUAL DA REGIÃO DE BIOMETRIA DA SOCIEDADE
INTERNACIONAL DE BIOMETRIA (RBRAS), 46., E SIMPÓSIO DE ESTATÍSTICA

170 ROSSI, R.M.


APLICADA À EXPERIMENTAÇÃO AGRONÔMICA (SEAGRO), 9., ESALQ/USP, 2001,
Piracicaba, Anais... São Paulo: Sociedade Brasileira de Estatística, 2001.

GILKS, W. R., WILD, P. Adaptive Rejection Sampling for Gibbs Sampling. Applied
Statistic, London, v.44, n.4, p.455-72, 1992.

GROSSMAN, M.; KOOPS, W. J. Multiphasic analysis of lactation curves in dairy cattle. J.


Dairy Sci., Champaign, v.71, p.1598-1608, 1988.

HARRIS, B. J.; ADAMS, A. L.; VAN HORN, H. H. Mineral needs of dairy cattle. Florida
Cooperative Extension Service. Florida: Institute of Food and Agricultural Sciences,
University of Florida, 1994.

HASTINGS, W. K. Monte Carlo Sampling Methods Using Markov Chains and Their
Applications. Biometrika, v.57, p.97-109, 1970.

HEIDELBERGER, P.; WELCH, P. Simulation run length control in the presence of an initial
transient. Operations Research,Baltimore, v.31, p.1109-44, 1983.

ISBRA. INTERNATIONAL SOCIETY FOR BAYESIAN ANALYSIS. Bayesianismo:


entrevistas. Disponível em: http://www.ime.usp.br/~isbra/entrevista.htm. Acesso em 20 fev.
2011.

JEFFREYS, H. Theory of Probability. 3. ed. Oxford: Clarington Press, 1939.

KASS, R. E.; WASSERMAN, L. The selection of prior distributions by formal rules. JASA-
Journal of the American Statistical Association, London, v.91, p.1345-70, 1996.

KÉRY, M.; SCHAUB, M.Bayesian Population Analysis Using Winbugs: A hierarchical


perspective. Elsevier, New York, 2012.

KORNER-NIEVERGELT, F. et al. Bayesian Data Analysis in Ecology UsingLinear


Models with R, BUGS, and Stan. London:Elsevier, 2015.

LESAFFRE, E.; LAWSON, A. B. Bayesian Bioestatistics, 3ª ed. New York: Ed. Jon Wiley
& Sons Ltd, 2012.

LEE, P. M. Bayesian Statistics: an introduction. 3ª ed. New York: Ed.Jon Wiley & Sons
Ltd, 2004.

LEITE, J. G. Introdução à Inferência Bayesiana:Relatório Técnico. São Carlos UFSCar-SP,


1999.

MARIN, JM.; ROBERT C. Bayesian Essentials with R. 3ª ed.New York: Springer, 2014.

McDOUGALL, J.; STONER, E. C. The Computation of Fermi-Dirac


Functions.Philosophical Transactions of the Royal Society of London: Series A,
Mathematical and Physical Sciences, London,v.237, n.773, p.67-104, 1938.

171 ROSSI, R.M.


McCULLAGH, P.; NELDER, J. A. Generalized Linear Models. New York: Chapman &
Hall, 1992.

MEHREZ, A.Z.; ORSKOV, E.R. A study of the artificial fiber bag technique for determining
the digestibility feeds in the rumen. Journal of Agricultural Science, Obregon, v.88,n.3,
p.645-650, 1977.

METROPOLIS, N. et al. Equations of state calculations by fast computing machines. Journal


of Chemical Physicals. v.21, p.1087-92, 1953.

MIGON, H S.; LOPES, H. F. Análise Bayesiana de decisões. Aspectos práticos. In:


SIMPÓSIO NACIONAL DE PROBABILIDADE E ESTATÍSTICA (SINAPE/ABE), 15.,
2002, Caxambu. Anais... Caxambú: Sociedade Brasileira de Estatística, 2002.

NTZOUFRAS, L. Bayesian Modeling Using WinBUGS. New Jers: John Wiley & Sons, ,
2009.

PAULINO, C. D., TURKMAN, M. A. A., MURTEIRA, B. Estatística Bayesiana. Lisboa:


Fundação Calouste Gulbenkian, 2003.

PEREIRA , C. A. B. Bayesianismo. Entrevistador: Sergio Wechyler. [2005].In:


International Society for Bayesian Analysis. Disponível em:
http://www.ime.usp.br/~isbra/entrevista.htm. Acesso em 20 fev. 2011.

R DEVELOPMENT CORE TEAM. R: A language and environment for statistical


computing. R Foundation for Statistical Computing, Vienna, Austria. Disponível
em:http://www.R-project.org. 2015.

RATKOWSKI, D.A.Handbook of Nonlinear Regression Models. New York: Dekker, 1983.

ROSSI, R. M.; GUEDES, T. A.; JANEIRO, V.; MARTINS, E. N. Estimação do fator de


condição de peixes da espécie Tracydoras paraguayensis: uma perspectiva Bayesiana. Acta
Scientiarum. Animal Sciences,Maringá,v.29, n.1, p.85-92, 2007.

ROSSI, R. M.; GUEDES, T. A.; MARTINS, E. N.; JOBIM, C. C.Bayesian analysis for
comparison of nonlinear regression model parameters: na application to ruminal degradability
data. Revista Brasileira de Zootecnia, Viçosa,v.39, n.2, p.419-424, 2010.

ROSSI, R. M.; MARTINS, E. N.; ACORSI, C. R.; GAZOLA, S. Curvas de probabilidade de


postura. Acta Scientiarum. Animal Sciences, Maringá,v.31, n.3, p.319-325, 2009.

RUE, H.; MARTINO, S.; CHOPIN, N.Approximate Bayesian inference for latentGaussian
models by using integrated nestedLaplace approximations. J. Roy. Stat. Soc. B,v.71, p.319-
392, 2009.

SMITH, A. F. M.; GELFAND, A. E. Bayesian statistics without tears a sampling-resampling


perspective. American statistician, Washington, DC, v.46, p.84-8, 1992.

SORENSEN, D. Gibbs sampling in quantitative genetics. Copenhagen:Foulun, 1996.

172 ROSSI, R.M.


SPIEGELHALTER, D. J.et al. BUGS - Bayesian Inference using Gibbs Sampling.
Cambridge: MRC Bioestatistics Unit, 1994.

SPIEGELHALTER, D. J.; BEST, N. G.; CARLIN, B. P.; VAN DER LINDE, A. BUGS – A
Bayesian measures of model complexity and fit. Journal of the Royal Statistical Society,
v.64, Série B, p.583-639, 2002.

VAN TASSEL, C.P.; VAN VLECK, L.D. Multiple trait Gibbs Sampler for animal models:
flexible programs for Bayesian and likelihood-based (co)variance components inference.
Journal of Animal Science, Champaign,v.74, p.2586-97, 1996.

VERHULST, P.F. Notice sur la loi que la population suit dans son accroissement.
Correspondence Mathématique et Physique, v.10, p.113-121, 1838.

WEIBULL, W. A statistical distribution function of wide applicability. Journal of Applied


Mechanics. New York, v.18, n.1, p.293-297, 1951.

WEST, M.; HARRISON, P. J.; MIGON, H. S. Dynamic generalized linear models and
Bayesian forecasting. JASA-Journal of the American Statistical Association,Washington,
v.80, p.73-83, 1985.

WOOD, P. D. P. Algebraic model of the lactation curve in cattle. Nature. London, p.216-164,
1967

173 ROSSI, R.M.

Você também pode gostar