Eu li que a soma das variáveis aleatórias Gamma com o mesmo parâmetro de escala é outra variável aleatória Gamma. Também vi o artigo de Moschopoulos descrevendo um método para a soma de um conjunto geral de variáveis aleatórias gama. Eu tentei implementar o método de Moschopoulos, mas ainda não obtive sucesso.
Como é a soma de um conjunto geral de variáveis aleatórias Gamma? Para tornar essa pergunta concreta, como ela é:
Se os parâmetros acima não forem particularmente reveladores, sugira outros.
Respostas:
Primeiro, combine todas as somas com o mesmo fator de escala : a mais uma forma .Γ ( n , β) Γ ( m , β) Γ ( n + m , β)
Em seguida, observe que a função característica (cf) de é , de onde o cf de uma soma dessas distribuições é o produtoΓ ( n , β) ( 1 - i βt )- n
Quando os são todos integrais, esse produto se expande como uma fração parcial para uma combinação linear de que os são números inteiros entre e . No exemplo com (da soma de e ) e , encontramos ( 1 - i β j t ) - ν ν 1 n j β 1 = 1 , n 1 = 8 Γ ( 3 , 1 ) Γ ( 5 , 1 ) β 2 = 2 , n 2 = 4nj ( 1 - i βjt )- ν ν 1 nj β1= 1 , n1= 8 Γ ( 3 , 1 ) Γ ( 5 , 1 ) β2= 2 , n2= 4
O inverso de tomar o cf é a Transformada de Fourier inversa, que é linear : isso significa que podemos aplicá-lo termo a termo. Cada termo é reconhecível como um múltiplo do cf de uma distribuição gama e, portanto, é prontamente invertido para produzir o PDF . No exemplo, obtemos
para o PDF da soma.
Essa é uma mistura finita de distribuições Gama com fatores de escala iguais aos da soma e fatores de forma menores ou iguais aos da soma. Exceto em casos especiais (onde pode ocorrer algum cancelamento), o número de termos é dado pelo parâmetro de forma total (assumindo que todos os são diferentes).n jn1+n2+ ⋯ nj
Como teste, eis um histograma de resultados obtidos adicionando desenhos independentes das distribuições e . Sobrepõe-se o gráfico de vezes a função anterior. O ajuste é muito bom. Γ ( 8 , 1 ) Γ ( 4 , 2 ) 10 4104 Γ ( 8 , 1 ) Γ ( 4 , 2 ) 104
Moschopoulos leva essa idéia um passo adiante ao expandir o cf da soma em uma série infinita de funções características Gamma sempre que um ou mais dos não são integrais e, em seguida, termina a série infinita em um ponto em que esteja razoavelmente bem aproximada.nEu
fonte
Mostrarei outra solução possível, que é amplamente aplicável e, com o software R de hoje, bastante fácil de implementar. Essa é a aproximação da densidade do ponto de sela, que deve ser mais conhecida!
Para terminologia sobre a distribuição gama, seguirei https://en.wikipedia.org/wiki/Gamma_distribution com a parametrização shape / scale, é o parâmetro shape e é scale. Para a aproximação do ponto de sela, seguirei Ronald W. Butler: "Aproximações do ponto de sela com aplicações" (Cambridge UP). A aproximação do ponto de sela é explicada aqui: Como funciona a aproximação do ponto de sela? aqui vou mostrar como é usado nesta aplicação.θk θ
Seja uma variável aleatória com a função geradora de momento existente que deve existir por em algum intervalo aberto que contenha zero. Em seguida, defina a função geradora cumulante por Sabe-se que . A equação do ponto de sela é que define implicitamente como uma função de (que deve estar no intervalo de ). Nós escrevemos essa função implicitamente definida como . Observe que a equação do ponto de sela sempre tem exatamente uma solução, porque a função cumulante é convexa. H ( s ) = E e s X s K ( s ) = log M ( s ) E X = K ' ( 0 ) , Var ( X ) = K " ( 0 ) K ' ( s ) = x s x X s ( x )X
Então a aproximação do ponto de sela à densidade de é dada por Não é garantido que esta função de densidade aproximada seja integrada a 1, assim como a aproximação não normalizada do ponto de sela. Poderíamos integrá-lo numericamente e renormalizar para obter uma melhor aproximação. Mas essa aproximação é garantida para não ser negativa.X f ( x ) = 1f X
Agora, sejam variáveis variáveis aleatórias gama independentes, onde possui a distribuição com parâmetros . Então a função geradora cumulante é definida para . A primeira derivada é e a segunda derivada é A seguir, darei algum código para calcular isso e usarei os valores de parâmetro , ,X i ( k i , θ i ) K ( s ) = - n ∑ i = 1 k i ln ( 1 - θ i s ) s < 1 / máx ( θ 1 , θ 2 , … , θ n ) K ′ ( sX1, X2, … , Xn XEu ( kEu, θEu)
R
R
código a seguir usa um novo argumento na função uniroot introduzida no R 3.1, portanto, não será executado nos R's mais antigos.resultando na seguinte plotagem:
Vou deixar a aproximação do ponto de sela normalizada como um exercício.
fonte
R
código funcionar para comparar a aproximação com a resposta exata. Qualquer tentativa de invocaçãofhat
gera erros, aparentemente no uso deuniroot
.A equação de Welch-Satterthwaite pode ser usada para fornecer uma resposta aproximada na forma de uma distribuição gama. Isso tem a boa propriedade de nos deixar tratar as distribuições gama como sendo (aproximadamente) fechadas em adição. Essa é a aproximação no teste t de Welch comumente usado.
(A distribuição gama pode ser vista como uma distribuição qui-quadrado em escala e permitindo um parâmetro de forma não inteiro).
Eu adaptei a aproximação à parametrização da distribuição gama:k , θ
Seja ,k = ( 3 , 4 , 5 ) θ = ( 1 , 2 , 1 )
Então temos aproximadamente Gamma (10.666 ..., 1.5)
Vemos que o parâmetro de forma foi mais ou menos totalizado, mas um pouco menos porque os parâmetros da escala de entrada diferem. é tal que a soma tem o valor médio correto.k θEu θ
fonte
Uma solução exata para a convolução (isto é, soma) de distribuições gama é dada como Eq. (1) no pdf vinculado por DiSalvo . Como isso é um pouco longo, levará algum tempo para copiá-lo aqui. Para apenas duas distribuições gama, sua soma exata na forma fechada é especificada pela Eq. (2) de DiSalvo e sem pesos pela Eq. (5) de Wesolowski et al. , que também aparece no site do CV como resposta a essa pergunta. Isso é,n Gamma(a,b)→Γ(a,1/b)bβ
fonte