Ajuste de distribuição beta no Scipy

14

Segundo a Wikipedia, a distribuição de probabilidade beta tem dois parâmetros de forma:α eβ .

Quando ligo scipy.stats.beta.fit(x)para Python, onde xhá um monte de números no intervalo , quatro valores são retornados. Isso me parece estranho.[0,1]

Após pesquisar no Google, achei que um dos valores de retorno deve ser 'location', pois a terceira variável é 0 se eu ligar scipy.stats.beta.fit(x, floc=0).

Alguém sabe qual é a quarta variável e se as duas primeiras são e β ?αβ

Peter Smit
fonte
1
A documentação chama os dois últimos parâmetros "location" e "scale". Assim, o quarto é o parâmetro de escala. Localização e escala têm significados estatísticos padrão. Uma interpretação neste contexto é dada explicitamente no manual do NIST .
whuber
Estou tendo exatamente o mesmo problema, mas por algum motivo todos os meus modelos beta tendem a "reter água". Por exemplo, stats.beta.fit([60,61,62,72])eu recebo (0.7313395126217731, 0.7153715263378897, 58.999999999999993, 3.3500998441036982). Alguma idéia do que eu posso fazer sobre isso?
TheChymera
Basta adicionar esta documentação para o método genérico contínua variável aleatória ajuste, que inclui alguns exemplos usando beta.fit (): docs.scipy.org/doc/scipy/reference/generated/...
mathisfun

Respostas:

13

Apesar de uma aparente falta de documentação na saída de beta.fit, ele sai na seguinte ordem:

, β , loc (limite inferior), escala (limite superior - limite inferior)αβ

jdj081
fonte
É apenas cuspir os limites inferior e superior com base no intervalo de dados ou fazer outra coisa?
shadowtalker
Os limites são baseados na distribuição de probabilidade. ie A distribuição normal não tem limites, mas os dados da amostra raramente excedem ~ +/-3. A distribuição beta tem limites rígidos, com probabilidade de 0 fora desses limites. É provável que seus dados não atinjam os limites, dependendo do que você está modelando. De fato, tentar forçar esses limites a corresponder ao intervalo de dados pode ser problemático, pois muitas distribuições beta tendem a zero de probabilidade nos limites. Veja este post para mais informações sobre esse assunto.
Jdj081
1
Sim, eu estou ciente. Esses limites são sempre 0 e 1. Portanto: quais são os limites superior e inferior retornados por essa função e como eles são iguais a "localização" e "escala"? Acho que simplesmente não entendo essa resposta.
Shadowtalker 29/08/14
2
Da maneira como a distribuição beta é definida, esses limites são sempre 0 e 1. Mas a distribuição beta generalizada inclui esses dois fatores de escala. Os dados que eu modelo não caem entre 0 e 1, então eu tenho que usar esses números. Se seus dados estiverem entre 0 e 1, essas saídas deverão estar muito próximas de 0 e 1. Se você souber que seus limites são 0 e 1, poderá forçar aqueles com os kwargs floc=0e fscale=1. Você ainda obterá essas saídas, mas elas serão idênticas ao que você as força. E provavelmente alterará seus valores alfa e beta.
Jdj081