Existe uma distribuição ou posso trabalhar com outra distribuição para criar uma distribuição como essa na imagem abaixo (desculpas pelos desenhos ruins)?
onde eu forneço um número (0,2, 0,5 e 0,9 nos exemplos) para onde deve estar o pico e um desvio padrão (sigma) que torna a função mais ampla ou menos ampla.
PS: Quando o número fornecido é 0,5, a distribuição é normal.
distributions
normal-distribution
Stan Callewaert
fonte
fonte
[0,1]
, em seguida, você não pode restringir o alcance do pdf para[0,1]
bem (exceto no caso uniforme trivial).Respostas:
Uma opção possível é a distribuição beta , mas parametrizada em termos de média e precisão ϕ , ou seja, "para μ fixo , quanto maior o valor de ϕ , menor a variação de y " (ver Ferrari e Cribari- Neto, 2004). A função densidade de probabilidade é construída substituindo os parâmetros padrão da distribuição beta por α = ϕ μ e β = ϕ ( 1 - μ )μ ϕ μ ϕ y α=ϕμ β=ϕ(1−μ)
onde e V a r ( Y ) = μ ( 1 - μ )E(Y)=μ .Var(Y)=μ(1−μ)1+ϕ
Como alternativa, você pode calcular parâmetros e β apropriados que levariam à distribuição beta com média e variância predefinidas. No entanto, observe que existem restrições sobre possíveis valores de variação válidos para a distribuição beta. Para mim, pessoalmente, a parametrização usando precisão é mais intuitiva (pense em xα β proporções em X binomialmente distribuído, com tamanho de amostra ϕ e probabilidade de sucesso μ ).x/ϕ X ϕ μ
A distribuição Kumaraswamy é outra distribuição contínua limitada, mas seria mais difícil parametrizar como acima.
Como outros já perceberam, isso não é normal, pois a distribuição normal tem o suporte ; portanto, na melhor das hipóteses, você pode usar o normal truncado como uma aproximação.(−∞,∞)
Ferrari, S. & Cribari-Neto, F. (2004). Regressão beta para modelagem de taxas e proporções. Jornal de Estatística Aplicada, 31 (7), 799-815.
fonte
Experimente a distribuição beta, seu intervalo é de 0 a 1. Você já tentou isso? O valor médio éα(α+β)
fonte
Eu me transformei para criar esse tipo de variável. Comece com uma variável aleatória, x, que tem suporte em toda a linha real (como normal), e depois a transforme para criar uma nova variável aleatória . Presto, você tem uma variável aleatória distribuída no intervalo da unidade. Como essa transformação específica está aumentando, você pode mover a média / mediana / modo de y ao redor, movendo a média / mediana / modo de x ao redor. Deseja tornarymais disperso (em termos de alcance inter-quartil, por exemplo)? Apenas façaxy=exp(x)1+exp(x) y x mais disperso.
Não há nada de especial na funçãoexp(x)1+exp(x) . Qualquer função de distribuição cumulativa trabalha para produzir uma nova variável aleatória definida no intervalo da unidade.
A fórmula para calcular a média e o sd dey talvez não seja fácil de encontrar, mas é para isso que servem as simulações de Monte Carlo. Para obter distribuições relativamente bonitas como as que você desenha, você querx e F( ) ser variáveis aleatórias contínuas (cdf de variáveis aleatórias contínuas) com suporte na linha real.
fonte
Se alguém estiver interessado na solução que usei no Python para gerar um valor aleatório próximo ao número fornecido como parâmetro. Minha solução existe de quatro estágios. Cada estágio, a chance de o número gerado estar mais próximo do número especificado é maior.
Sei que a solução não é tão bonita quanto usar uma distribuição, mas foi assim que consegui resolver meu problema:
number_factory.py:
main.py:
O resultado ao executar este código é mostrado na figura abaixo:
fonte
Você pode dar uma olhada nas 'Curvas de Johnson'. Veja NL Johnson: Sistemas de Curvas de Frequência gerados por métodos de tradução. 1949 Biometrika Volume 36 pp 149-176. R tem suporte para ajustá-los a curvas arbitrárias. Em particular, suas curvas SB (delimitadas) podem ser úteis.
Faz 40 anos desde que os usei, mas eles eram muito úteis para mim na época e acho que eles trabalharão para você.
fonte