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 β ?αβ

Peter Smit
la source
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:

αβ

jdj081
la source
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