Posso usar gráficos de caixa e bigode também para distribuição multimodal ou apenas para distribuição unimodal?
Posso usar gráficos de caixa e bigode também para distribuição multimodal ou apenas para distribuição unimodal?
Respostas:
O problema é que o boxplot usual * geralmente não pode fornecer uma indicação do número de modos. Embora em algumas circunstâncias (geralmente raras) seja possível obter uma indicação clara de que o menor número de modos excede 1, mais geralmente um determinado gráfico de caixa é consistente com um ou qualquer número maior de modos.
* Várias modificações dos tipos usuais de boxplot foram sugeridas, as quais fazem mais para indicar mudanças na densidade e podem ser usadas para identificar vários modos, mas não acho que esse seja o objetivo dessa pergunta.
Por exemplo, enquanto este lote faz indicar a presença de pelo menos dois modos (os dados foram gerados de modo a ter exatamente dois) -
por outro lado, este possui dois modos muito claros em sua distribuição, mas você simplesmente não pode dizer isso no boxplot:
De fato, a figura 1 aqui (que acredito ser um documento de trabalho publicado posteriormente em [1]) mostra quatro conjuntos de dados diferentes com o mesmo gráfico de caixa.
Não tenho esses dados em mãos, mas é uma questão trivial criar um conjunto de dados semelhante - conforme indicado no link acima relacionado ao resumo de cinco números, precisamos restringir nossas distribuições a ficarem dentro das caixas retangulares que o O resumo de cinco números nos restringe a.
Aqui está o código R que irá gerar dados semelhantes aos do artigo:
x1 = qnorm(ppoints(1:100,a=-.072377))
x1 = x1/diff(range(x1))*18+10
b = fivenum(x1) # all of the data has this five number summary
x2 = qnorm(ppoints(1:48));x2=x2/diff(range(x2))*.6
x2 = c(b[1],x2+b[2],.31+b[2],b[4]-.31,x2+b[4],b[5])
d = .1183675; x3 = ((0:34)-34/2)/34*(9-d)+(5.5-d/2)
x3 = c(x3,rep(9.5,15),rep(10.5,15),20-x3)
x4 = c(1,rep(b[2],24),(0:49)/49*(b[4]-b[2])+b[2],(0:24)/24*(b[5]-b[4])+b[4])
Aqui está uma exibição semelhante à do artigo, com os dados acima (exceto que eu mostro todos os quatro gráficos de caixa aqui):
Cuidado, no entanto - os histogramas também podem ter problemas ; de fato, vemos um de seus problemas aqui, porque a distribuição no terceiro histograma "em pico" é na verdade distintamente bimodal; a largura da lixeira do histograma é simplesmente muito larga para mostrá-la. Além disso, como Nick Cox aponta nos comentários, as estimativas de densidade do kernel também podem afetar a impressão do número de modos (algumas vezes apagando modos ... ou outras sugerindo modos pequenos onde não existem na distribuição original). É preciso ter cuidado com a interpretação de muitos monitores comuns.
Existem modificações no boxplot que podem indicar melhor a multimodalidade (lotes de vasos, lotes de violino e lotes de feijão, entre muitos outros). Em algumas situações, elas podem ser úteis, mas se eu estiver interessado em encontrar modos, geralmente observarei um tipo diferente de exibição.
x4
[1]: Choonpradub, C., & McNeil, D. (2005),
"O boxplot pode ser melhorado?"
Songklanakarin J. Sci. Technol. , 27 : 3, pp 649-657..
http://www.jourlib.org/paper/2081800
pdf
Existem várias opções para detectar multimodalidade com R. Os dados para os gráficos abaixo foram gerados em três modos (-3,0,1). O boxplot é claramente superado pelos outros (o gráfico de violino parece ter configurações de densidade padrão diferentes do kernel), mas nenhum realmente distingue entre os modos 0 e 1. Existem realmente poucas razões para usar boxplots na era do computador. Por que jogar fora a informação?
dat <- c(rnorm(500, -3, 1), rnorm(200, 0, 1), rnorm(300, 1, 1))
par(mfrow=c(2, 2))
boxplot(dat, horizontal=TRUE, main="Boxplot")
require(beanplot)
beanplot(dat, horizontal=TRUE, main="Beanplot")
require(viopoints)
viopoints(dat, horizontal=TRUE, main="Viopoints")
require(vioplot)
vioplot(dat, horizontal=TRUE)
title("Violin Plot")