Como calcular um valor parcial esperado da distribuição beta (média de um beta truncado)?

7

Distribuição beta com a = 2, b = 3, percentil x = 0,4

Dada uma Distribuição Beta com a = 2, b = 3, podemos encontrar um valor esperado (média) para o intervalo [0, 1] = a / (a ​​+ b) = 2/5 = 0,4 e mediana = (a - 1/3) / (a ​​+ b-2/3) = 0,39, que estão próximos.

Eu estou procurando uma solução em python. Posso usar scipy.stats.beta para calcular a mediana do intervalo [0, 0,4] com a função de ponto percentual (inverso de cdf - percentis):

beta.ppf(0.4/2,a,b) = 0.2504

Como para esta distribuição beta, a média geral e a mediana são próximas (0,4 e 0,39, respectivamente), eu uso a mediana para o intervalo [0, 0,4] para estimar os valores esperados (média) para o intervalo [0, 0,4].

Existe alguma maneira de calcular os valores esperados (média) para o intervalo [0, 0,4]?

Arbi Haza Nasution
fonte
11
Como regra geral, você não deve corrigir um erro de cálculo na sua pergunta explicado em uma resposta, porque você "quebra" a resposta - a correção na resposta não faz mais sentido. (Por outro lado, fazer uma correção oferecida nos comentários é outra questão.) --- Tento ajustar minha resposta para compensar, mas geralmente é melhor deixar esses erros como estão.
Glen_b -Reinstate Monica
11
Me desculpe por isso. Eu não conhecia essa regra.
Arbi Haza Nasution

Respostas:

8

Observe que a fórmula que você tem no topo da mediana beta ( ) é aproximada. Você deve poder calcular uma mediana numérica efetivamente "exata" com o cdf inverso (função quantil) da distribuição beta no Python (para um , recebo uma mediana de cerca de enquanto isso é aproximado fórmula dá ).α13α+β23beta(2,3)0.38570.3846

Essa média de uma distribuição truncada é bastante direta com uma versão beta. Para uma variável aleatória positiva, temos

E(X|X<k)=0kxf(x)dx/0kf(x)dx

onde, neste caso, é a densidade de um beta com os parâmetros e (que agora vou escrever como ):fαβf(x;α,β)

f(x;α,β)=1B(α,β)xα1(1x)β1,0<x<1,α,β>0

Portanto,xf(x)=B(α+1,β)B(α,β)f(x;α+1,β)=αα+βf(x;α+1,β)

EntãoE(X|X<k)=αα+β0kf(x;α+1,β)dx/0kf(x;α,β)dx

Agora, as duas integrais são apenas CDFs beta que você já possui no Python.

Com , obtemos . Isso é consistente com a simulação ( simulações ).α=2,β=3,k=0.4E(X|X<0.4)0.241951060.24194

Para a mediana, obtenho , o que é novamente consistente com a simulação ( simulações deram ).F1(12F(0.4;2,3);2,3)0.250401060.25038

Os dois são bem próximos nesse caso, mas esse não é um resultado geral; às vezes podem ser mais substancialmente diferentes.

Glen_b -Reinstate Monica
fonte
11
Obrigado pela sua explicação detalhada. Eu deveria ter perguntado aqui semanas atrás!
Arbi Haza Nasution