Raccord de distribution bêta dans Scipy


14

Selon Wikipedia, la distribution de probabilité bêta a deux paramètres de forme: et β .αβ

Lorsque j'appelle scipy.stats.beta.fit(x)en Python, où se xtrouve un groupe de nombres dans la plage , 4 valeurs sont renvoyées. Cela me semble étrange.[0,1]

Après avoir recherché sur Google, j'ai trouvé que l'une des valeurs de retour doit être 'location', car la troisième variable est 0 si j'appelle scipy.stats.beta.fit(x, floc=0).

Quelqu'un sait-il quelle est la quatrième variable et si les deux premières sont et β ?αβ


1
La documentation appelle les deux derniers paramètres "emplacement" et "échelle". Ainsi, le quatrième est le paramètre d'échelle. L'emplacement et l'échelle ont des significations statistiques standard. Une interprétation dans ce contexte est donnée explicitement dans le manuel du NIST .
whuber

J'ai exactement le même problème, mais pour une raison quelconque, tous mes modèles bêta ont tendance à "retenir l'eau". Par exemple pour stats.beta.fit([60,61,62,72])je reçois (0.7313395126217731, 0.7153715263378897, 58.999999999999993, 3.3500998441036982). Une idée de ce que je peux faire à ce sujet?
TheChymera

Ajout de cette documentation pour la méthode générique d'ajustement de variable aléatoire continue, qui comprend des exemples utilisant beta.fit (): docs.scipy.org/doc/scipy/reference/generated/…
mathisfun

Réponses:


13

Malgré un manque apparent de documentation sur la sortie de beta.fit, il sort dans l'ordre suivant:

αβ


S'agit-il simplement de cracher les limites inférieures et supérieures en fonction de la plage des données, ou de faire autre chose?
shadowtalker

Les limites sont basées sur la distribution de probabilité. c'est à dire. La distribution normale n'a pas de limites, mais les données d'échantillonnage dépassent rarement ~ +/-3. La distribution bêta a des limites strictes, avec une probabilité de 0 en dehors de ces limites. Il est probable que vos données n'atteignent pas les limites, selon ce que vous modélisez. En fait, essayer de forcer ces limites à correspondre à la plage des données peut être problématique, car de nombreuses distributions bêta tendent à une probabilité nulle aux limites. Voir cet article pour en savoir plus sur cette question.
jdj081

1
Oui, je suis au courant. Ces limites sont toujours 0 et 1. Par conséquent: quelles sont les limites supérieure et inférieure renvoyées par cette fonction, et comment sont-elles tout à fait les mêmes que «emplacement» et «échelle»? Je suppose que je ne comprends tout simplement pas cette réponse.
shadowtalker

2
La façon dont la distribution bêta est définie, ces limites sont toujours 0 et 1. Mais la distribution bêta généralisée comprend ces deux facteurs d'échelle. Les données que je modélise ne se situent pas entre 0 et 1, je dois donc utiliser ces chiffres. Si vos données sont comprises entre 0 et 1, ces sorties doivent être très proches de 0 et 1. Si vous savez que vos limites sont 0 et 1, vous pouvez forcer celles avec les kwargs floc=0et fscale=1. Vous obtiendrez toujours ces sorties, mais elles seront identiques à ce que vous les forcez à être. Et cela changera probablement vos valeurs alpha et bêta.
jdj081
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.