Distribuição de tipo normal sobre uma área delimitada

10

Existe uma distribuição que se assemelha à distribuição gaussiana (normal), mas tal que sua densidade de probabilidade seja diferente de zero apenas em um segmento definido.

A questão surgiu quando tentei modelar o 'spread de bala' dentro de um círculo. A distribuição gaussiana funciona bem, mas sempre há uma chance de que a bala atinja fora do círculo. Então, eu gostaria de encontrar uma distribuição muito semelhante à gaussiana, mas com propriedade de que a probabilidade fora do segmento definido (ou círculo) é zero.

EDIT: Sim, na verdade eu quero dizer um disco, não um círculo. EDIT: E sim, eu preciso apenas de uma distribuição unidimensional (ao longo do raio de um disco) que será simétrica circular (não depende do ângulo).

mbaitoff
fonte
1
Aqui está uma pergunta intimamente relacionada (embora, talvez, com respostas menos que satisfatórias): math.stackexchange.com/questions/62003/…
cardeal
1
Parece que você está interessado em distribuições em um disco (em vez de em um círculo), embora não esteja claro por que, no seu modelo, uma bala disparada não poderia cair fora do disco.
cardeal
Poderia ser um modelo para a aparência da distribuição de marcadores que realmente caem no disco.
Dason
No meu modelo, o disco representa a "zona de acerto", que diminui se mais tempo foi gasto na "mira". Seria muito frustrante para um jogador de jogos de computador, por exemplo, ter seu tiro cair fora do disco quando eles passassem mais tempo "mirando".
mbaitoff
2
Eu só queria identificar mais de perto o seu interesse exato. Muitas vezes, é consideravelmente mais fácil coletar amostras de uma distribuição do que trabalhar analiticamente. Por exemplo, no caso normal truncado, existe uma maneira simples de amostrar (isto é, amostragem de rejeição) que não requer conhecimento ou uso de toda a constante de normalização. (Porém, esquemas melhores podem existir dependendo do caso específico em questão.)
cardeal

Respostas:

9

Você pode usar uma distribuição normal truncada. É apenas uma distribuição normal que você considera apenas um intervalo. Você precisa redimensioná-lo para garantir que o pdf seja integrado a 1. Mas isso me parece exatamente o que você está procurando.

Dason
fonte
O PDF da distribuição normal truncada é muito complexo. Gostaria de saber se apenas "afunilar" o DPF da distribuição normal com alguma janela suave, como o cosseno cônico e redimensionar para obter uma integral de unidade?
mbaitoff
1
@mbaitoff: Em termos de amostragem de uma distribuição truncada em um disco, isso pode ser feito com bastante facilidade por amostragem por rejeição ou outros métodos. Se você deseja que a distribuição seja centralizada na origem e simétrica circularmente, é necessário apenas uma amostra de uma única distribuição (por exemplo, no disco da unidade ) e depois redimensionar adequadamente.
cardeal
5

A distribuição VonMises é semelhante à normal, mas é usada com dados circulares e é definida apenas no intervalo de um círculo (0-360 graus ou 0-2pi radianos).

A distribuição Beta é definida de 0 a 1 (mas pode ser dimensionada para outros intervalos), com os parâmetros iguais, é simétrica e, para muitos valores, em forma de sino.

Greg Snow
fonte
1
Essas são boas sugestões, principalmente o von Mises, mas parece que o OP está mais interessado em distribuições em um disco de um determinado raio.
cardeal
1
Ele poderia usar o VonMises para o ângulo e o Beta para o raio. Independentemente um do outro, ou os parâmetros do beta podem ser dependentes do ângulo.
Greg Neve
1
Talvez eu esteja enganado, mas parece que o OP provavelmente está procurando algo que produza uma distribuição de fase uniforme. O von Mises parece estar voltado para aplicativos relacionados à sincronização de fases. Parece um pouco estranho que a fase do marcador seja mais provável que seja zero, do que, digamos, , a menos que haja algum viés no local médio em relação à origem. Dito isto, é um recurso interessante que a distribuição uniforme esteja contida na classe von Mises. π/2
cardeal
Bem, para obter uma distribuição uniforme dentro do círculo, uma distribuição uniforme no ângulo juntamente com uma distribuição triangular para o raio deve funcionar!
Kjetil b halvorsen
3

Essa é uma pergunta antiga, mas ainda é relevante para novos leitores. Estou surpreso que ninguém tenha mencionado a distribuição do Raised Cosine .

Com o parâmetro e spread ele é perfeitamente delimitado em e sua função de densidade de probabilidade (PDF) também possui uma curva em forma de sino.μs[μ-s,μ+s]

plasmacel
fonte
Mas ele tem uma versão bidimensional (no plano)?
Kjetil b halvorsen
1
@kjetilbhalvorsen Não sei, mas nenhuma das respostas aqui apresentou uma solução multivariada.
plasmacel
0

+1 para a resposta de amostragem por rejeição.

Você também pode experimentar a distribuição Beta, onde α(aka shape1) é 1 eβ>1(aka shape2)? Isso é definido em [0,1], então multiplique pelo raio do disco e você terá zero de probabilidade de selecionar pontos no raio ou mais.

As vantagens incluem: a) existe uma probabilidade nula de selecionar uma distância maior ou igual ao raio eb) você pode fazer amostragem direta e não coisas como amostragem por rejeição.

As desvantagens incluem: a) é inquieto perto de 0 eb) a distribuição não é "muito semelhante" à gaussiana. (É muito mais alto perto de 0 - ou seja, no centro - do que o gaussiano, embora isso possa realmente ser o que o OP deseja.)

Wayne
fonte
0

Parece que o que se procura é uma distribuição uniforme em um disco, que considerarei ser o interior do círculo unitário. Podemos parametrizar por(r,θ) então nós temos 0 0r1 e 0 0θ2π. Nós podemos deixarθ distribuição uniforme, independente de Re deve encontrar a distribuição de Rque fornece uma distribuição uniforme no círculo. Como a probabilidade deve ser proporcional à área, temos por0 0umab1 aquele

P(umaRb)πb2-πuma2
e tomando uma=0 0, b=1FR(r)=r2. Então a densidade é a derivadafR(r)=2r. A densidade articular deR e θ então se torna
f(r,θ)=12π2r=rπ
Isso é fácil de simular, a soma de dois uniformes independentes tem uma distribuição triangular (e simétrica), às vezes descrita como uma distribuição de "barraca". Queremos apenas a parte esquerda da barraca, que podemos obter espelhando a distribuição em uma linha vertical no topo (modo) da barraca. Simular isso em R fornece:

Pontos simulados em um disco

O código R para a simulação é:

set.seed(7*11*13)
rleft_tri  <-  function(n) {
    T  <-  runif(n)+runif(n)
    val  <-  ifelse(T <= 1,T, 2-T)
    val
}

rdisk  <-  function(n)  {
    val  <-  cbind(  rleft_tri(n),  2*pi*runif(n) )
    colnames(val)  <-  c("R","Theta")
    val
    }

#

library(plotrix)
par(bg="antiquewhite")
points  <- rdisk(10000)         plot(c(-1,1),c(-1,1),type="n",axes=FALSE,xlab="",ylab="",xlim=c(-1.1,1.1),ylim=c(-1.1,1.1))
    draw.circle(x=c(0,0),y=c(0,0),radius=1,col="aquamarine")
    points(with(as.data.frame(points),cbind(R*cos(Theta), R*sin(Theta))),pch=".",col="red",cex=2)

Observe que este é um caso especial da resposta antiga de @Greg Snow, pois a distribuição "esquerda" é uma distribuição beta com parâmetros uma=2,b=1. Mas o código acima para simulá-lo é provavelmente mais rápido que o código geral para simular a partir de uma versão beta (ou seria, se programado em C).

kjetil b halvorsen
fonte