Visualizar distribuição binomial bivariada

11

Pergunta: como é uma distribuição binomial bivariada no espaço tridimensional?

Abaixo está a função específica que eu gostaria de visualizar para vários valores dos parâmetros; ou seja, , e .np1p2

f(x1,x2)=n!x1!x2!p1x1p2x2,x1+x2=n,p1+p2=1.

Observe que existem duas restrições; e . Além disso, é um número inteiro positivo, por exemplo, .x1+x2=np1+p2=1n5

In fizeram duas tentativas para plotar a função usando LaTeX (TikZ / PGFPLOTS). Ao fazê-lo, fico com os gráficos abaixo para os seguintes valores: , e , e, , e , respectivamente. Não tenho conseguido implementar a restrição nos valores do domínio; , então estou um pouco perplexo.n=5p1=0.1p2=0.9n=5p1=0.4p2=0.6x1+x2=n

Uma visualização produzida em qualquer idioma seria adequada (R, MATLAB etc.), mas estou trabalhando no LaTeX com o TikZ / PGFPLOTS.

Primeira tentativa

n=5 , ep1=0.1p2=0.9

insira a descrição da imagem aqui

Segunda tentativa

n=5 , ep1=0.4p2=0.6

insira a descrição da imagem aqui

Editar:

Para referência, aqui está um artigo que contém alguns gráficos. O título do artigo é "Uma nova distribuição binomial bivariada" de Atanu Biswasa e Jing-Shiang Hwang. Statistics & Probability Letters 60 (2002) 231-240.

Edit 2: Para maior clareza, e em resposta a @GlenB nos comentários, abaixo está um instantâneo de como a distribuição me foi apresentada em meu livro. O livro não se refere a casos degenerados / não degenerados e assim por diante. Simplesmente apresenta assim e procurei visualizá-lo. Felicidades! Além disso, como apontado por @JohnK, é provável que haja um erro de digitação em relação a x1 + x1 = 1, o que ele sugere que deve ser x1 + x1 = n.

insira a descrição da imagem aqui

Imagem da equação de:

Spanos, A (1986) Fundamentos estatísticos da modelagem econométrica. Cambridge University Press

Graeme Walsh
fonte
5
Mas não deveria ser contínuo, deveria? Ambas as variáveis ​​aleatórias são discretas.
JohnK
1
Então x1 e x2 são independentes, certo? Você precisa de um enredo pseudo-3D? Um mapa de calor seria aceitável?
gung - Restabelece Monica
1
algo assim ?
Antoni Parellada
2
@JohnK Se e você está lidando com (e é simplesmente ). Este é um binômio univariado (ou, considerado como bivariado, é degenerado ). x1+x2=np1+p2=1X1Binomial(n,p1)X2nX1
Glen_b -Reinstala Monica
3
Você não tem uma especificação para um binômio bivariado na sua pergunta. (Há mais de uma maneira de especificar uma distribuição bivariada que poderia ser chamada de "binomial". Você não tem nenhuma delas, embora a sua degenerada seja um caso especial de algumas delas.) ... os desenhos em sua referência Biswasa e Hwang não é uma exibição adequada de um pmf bivariado discreto. Em suma, sua pergunta não tem nada para desenhar, e sua referência é útil principalmente como um exemplo do que evitar.
Glen_b -Reinstala Monica

Respostas:

8

Existem duas partes para isso: primeiro você precisa descobrir quais são as probabilidades individuais e, em seguida, plotá-las de alguma forma.

Um PMF binomial é apenas um conjunto de probabilidades ao longo de vários 'sucessos'. Um PMF binomial bivariado será um conjunto de probabilidades em uma grade de combinações possíveis de 'sucessos'. No seu caso, você tem , portanto (considerando que sucesso é uma possibilidade), existem resultados possíveis na distribuição binomial da grade / bivariada. ni=nj=506×6=36

Podemos primeiro calcular os PMFs binomiais marginais, porque isso é muito simples. Como as variáveis ​​são independentes, cada probabilidade conjunta será apenas o produto das probabilidades marginais; isso é álgebra matricial. Aqui eu demonstro esse processo usando o Rcódigo:

b1 = dbinom(0:5, size=5, prob=0.1);  sum(b1)  # [1] 1
b9 = dbinom(0:5, size=5, prob=0.9);  sum(b9)  # [1] 1
b4 = dbinom(0:5, size=5, prob=0.4);  sum(b4)  # [1] 1
b6 = dbinom(0:5, size=5, prob=0.6);  sum(b6)  # [1] 1

b19 = b1%o%b9;  sum(b19)  # [1] 1
rownames(b19) <- colnames(b19) <- as.character(0:5)
round(b19, 6)
#       0        1        2        3        4        5
# 0 6e-06 0.000266 0.004783 0.043047 0.193710 0.348678
# 1 3e-06 0.000148 0.002657 0.023915 0.107617 0.193710
# 2 1e-06 0.000033 0.000590 0.005314 0.023915 0.043047
# 3 0e+00 0.000004 0.000066 0.000590 0.002657 0.004783
# 4 0e+00 0.000000 0.000004 0.000033 0.000148 0.000266
# 5 0e+00 0.000000 0.000000 0.000001 0.000003 0.000006
b46 = b4%o%b6;  sum(b46)  # [1] 1
rownames(b46) <- colnames(b46) <- as.character(0:5)
round(b46, 3)
#       0     1     2     3     4     5
# 0 0.001 0.006 0.018 0.027 0.020 0.006
# 1 0.003 0.020 0.060 0.090 0.067 0.020
# 2 0.004 0.027 0.080 0.119 0.090 0.027
# 3 0.002 0.018 0.053 0.080 0.060 0.018
# 4 0.001 0.006 0.018 0.027 0.020 0.006
# 5 0.000 0.001 0.002 0.004 0.003 0.001

Neste ponto, temos as duas matrizes necessárias de probabilidades. Só precisamos decidir como queremos plotá-los. Para ser sincero, não sou um grande fã de gráficos de barras 3D. Como Rparece concordar comigo, fiz esses gráficos no Excel:

b19:

insira a descrição da imagem aqui

b46:

insira a descrição da imagem aqui

Repor a Monica
fonte
Obrigado pela apresentação mais o código R. Isso me leva a perguntar sobre x1 + x2 = n. Se essa condição persistir, deve haver apenas uma única linha de pilares, como apresentado aqui: reference.wolfram.com/language/ref/MultinomialDistribution.html O gráfico de wolframes que assumo é o que @Glen_b chamou de caso degenerado? Isso significa que você apresentou o caso não degenerado?
Graeme Walsh
1
GraemeWalsh, minha apresentação não mostra um binômio bivariado em que x1 + x2 = n. Como o @Glen_b discutiu extensivamente nos comentários e sua resposta, eu realmente não chamaria isso de "distribuição binomial bivariada" sem qualificá-la. Além disso, isso significaria que x1 e x2 não são independentes, como você disse em seu comentário de resposta, mas perfeitamente dependentes. Na verdade, eu não percebi que essa era uma variante tão bizarra (você pode me culpar por não ter lido atentamente o suficiente). Como Glen_b mostrou, essa versão seria uma única linha de pilares. O que apresentei foi o caso não degenerado.
gung - Restabelece Monica
@ gung Eu gosto de suas novas parcelas. Acho que sua discussão cobre bem o caso degenerado ("você precisa descobrir quais são as probabilidades individuais" realmente diz tudo; os cálculos reais para o caso degenerado são triviais); Acabei de realizar esses cálculos triviais.
Glen_b -Reinstala Monica
7

A resposta de Gung é uma boa resposta para um binômio bivariado real, explicando bem os problemas (eu recomendaria aceitá-lo como uma boa resposta para a pergunta do título, provavelmente mais útil para outros).

O objeto matemático que você realmente apresenta na sua edição é realmente um binômio em escala univariada. Aqui não é o valor obtido pela contagem binomial, mas pela proporção (o binomial dividido por ).x1n

Então, vamos definir as coisas corretamente. Observe que nenhuma definição da variável aleatória é realmente oferecida; portanto, ficamos com algumas suposições.

Deixe Observe que, quando fornecemos uma fórmula matemática para , é necessário que valores possa assumir, então . Deixe e observe que .Y1binomial(n,p1),P(Y1=y1)y1y1=0,1,...,nX1=Y1/nx1=0,16,26,...,1

Em seguida, a equação que é dar o pmf para (notar que e ).P(X1=x1)x2=nx1p2=1p1

Para , fica assim:n=6,p1=0.3

insira a descrição da imagem aqui

Podemos colocar os valores no gráfico acima com bastante facilidade, simplesmente colocando um segundo conjunto de rótulos sob os valores iguais a (talvez em uma cor diferente) para indicar o valor obtido por .x2x11x1x2

Poderíamos considerá-lo um binômio bivariado degenerado (em escala):

insira a descrição da imagem aqui

mas é um pouco difícil chamar realmente o que é definido no livro de binomial bivariado (já que é efetivamente um binomial univariado).

Supondo que alguém deseje gerar um gráfico semelhante ao 3D, esse pequeno código (R) se aproxima bastante do segundo gráfico acima:

y = 0:6
x1 = y/6
x2 = 1-x1
p = dbinom(y,6,.3)
scatterplot3d(x1,x2,p,grid=TRUE, box=FALSE, cex.lab=1.2,
        color=3, cex.main=1.4,pch=21,bg=1,, type="h",angle=120,
        main="degenerate scaled binomial", ylab="x2", xlab="x1", 
        zlab="prob")

(Você precisa do scatterplot3dpacote que contém a função com o mesmo nome.)

Um binômio bivariado "verdadeiro" (não degenerado) tem variação nas duas variáveis ​​ao mesmo tempo. Aqui está um exemplo de um tipo específico de binômio bivariado (não independente neste caso). Eu recorri ao uso de cores diferentes na trama, porque é muito fácil se perder na floresta de "paus".

insira a descrição da imagem aqui

Existem várias maneiras de obter um objeto que você pode chamar de binomial bivariado; esse tipo específico é aquele em que você tem , , ( todos independentes), em seguida, deixar e .Xbin(n0,p)Ybin(ny,p)Zbin(nz,p)X1=X+YX2=X+Z

Isso gera o binômio e que estão correlacionados (mas tem a desvantagem de não produzir correlações negativas).X1X2

Uma expressão para o pmf desse tipo específico de distribuição binomial bivariada é dada em Hamdan, 1972 [1], mas eu não usei esse cálculo; pode-se facilmente fazer computação direta (convolução numérica). Nesse caso específico, era 4 e e eram apenas 2 cada, portanto, o cálculo numérico direto em toda a grade (49 valores no resultado final) não é difícil ou oneroso. Você começa com uma bivariada degenerada (ambas as dimensões ) semelhante à degenerada mostrada acima (mas menor e na "diagonal principal" - em vez da antidiagonal ( ) e depois adiciona os componentes independentes , espalhando a probabilidade ao longo e fora da diagonal.n0nynz=Xx1=x2x1+x2=n

[1]: Hamdan, MA (1972),
"Expansão canônica da distribuição binomial bivariada com índices marginais desiguais"
International Statistical Review , 40 : 3 (dez), pp. 277-280

Glen_b -Reinstate Monica
fonte
Agradável. Também é importante notar que, neste caso,corr(X1,X2)=1
JohnK
Glen_b. Muito obrigado. Assinalar que o objeto matemático que apresentei (que me foi apresentado!) É um binômio bivariado degenerado (em escala) tem sido muito útil! Eu não sabia disso desde o começo. Por fim, um pedido elementar! Seria possível que você fosse explícito (por meio de notação matemática) sobre como definir um binômio bivariado verdadeiro ou real? Isso seria útil, eu acho.
Graeme Walsh
1
@ Graeme Como já mencionei nos comentários (/ resposta), existem muitas maneiras de obter um objeto que você pode chamar de binômio bivariado (de fato, o título da referência de Biswasa e Hwang na sua pergunta diz o mesmo). Isso não é exclusivo do binômio, é claro, existem muitas generalizações bivariadas disponíveis de muitas das distribuições univariadas mais usadas. O "tipo particular de binômio bivariado" que dei na minha resposta é aquele em que você tem , , (todos independente), em seguida, deixar e . ... Y ~ bin ( N Y , p ) Z ~ bin ( n z , p ) X 1 = X + Y X 2 = X + ZXbin(n0,p)Ybin(ny,p)Zbin(nz,p)X1=X+YX2=X+Z
ctd
1
ctd ... Isso gera o binômio e que estão correlacionados, mas tem a desvantagem de não produzir correlações negativas, portanto não é tão útil quanto algumas outras formulações de binomial bivariado para modelagem bivariada geral. Normalmente, quando você generaliza uma família de distribuição univariada para uma família bivariada, precisa escolher quais propriedades deseja mais e quais pode desistir, e essas opções levarão a diferentes escolhas de famílias bivariadas. [A distribuição normal é incomum - há uma generalização "óbvio" com tudo muito bem que gostaríamos.]X 2X1X2
Glen_b -Reinstate Monica
@ Graeme ... pretendo adicionar mais alguns detalhes.
Glen_b -Reinstala Monica
4

Mathematicaagora é bastante forte nessas coisas - ele tem a solução do seu problema diretamente na documentação . Com pequenas adições, criei um modelo para brincar (com p = p1 = 0.4uma melhor apresentação visual). É assim que a interface se parece e como ela pode ser controlada.

insira a descrição da imagem aqui

Snippet

Manipulate[
 Grid[{
   {DiscretePlot3D[
     PDF[MultinomialDistribution[n, {p, 1 - p}], {x, y}], {x, 0, 
      n}, {y, 0, n}, PlotLabel -> Row[{"n = ", n}], 
     ExtentSize -> Right],

    DiscretePlot3D[
     CDF[MultinomialDistribution[n, {p, 1 - p}], {x, y}], {x, 0, 
      n}, {y, 0, n}, PlotLabel -> Row[{"n = ", n}], 
     ExtentSize -> Right]}
   }]
 ,
 {{n, 5}, 1, 20, 1, Appearance -> "Labeled"},
 {{p, 0.4}, 0.1, 0.9},
 TrackedSymbols -> True
 ]

A principal coisa aqui é PDF[MultinomialDistribution[n, {p, 1 - p}], {x, y}], que é auto-explicativo, eu acho. Multinomialapenas significa que você pode fazer muitas distribuições pipara cada variável respectiva. A forma simples é BinomialDistribution. Claro, eu poderia fazê-lo manualmente, mas a regra é se você tiver uma função incorporada - você deve usá-la.

Se você precisar de alguns comentários sobre a estrutura do código, informe-me.

garej
fonte