Instalacja dystrybucji Beta w Scipy


14

Według Wikipedii rozkład prawdopodobieństwa beta ma dwa parametry kształtu: i .αβ

Kiedy wywołuję scipy.stats.beta.fit(x)Python, gdzie xjest wiązka liczb z zakresu , zwracane są 4 wartości. Wydaje mi się to dziwne.[0,1]

Po google przeszukałem, że jedną z zwracanych wartości musi być „lokalizacja”, ponieważ trzecią zmienną jest 0, jeśli zadzwonię scipy.stats.beta.fit(x, floc=0).

Czy ktoś wie, co to jest czwarta zmienna i czy dwie pierwsze to i ?αβ


1
Dokumentacja wywołuje dwie ostatnie „Location” i parametrów „Scale”. Zatem czwarty to parametr skali. Lokalizacja i skala mają standardowe znaczenie statystyczne. Jedna interpretacja w tym kontekście jest wyraźnie podana w podręczniku NIST .
whuber

Mam dokładnie ten sam problem, ale z jakiegoś powodu wszystkie moje modele beta mają tendencję do „zatrzymywania wody”. Na przykład stats.beta.fit([60,61,62,72])dostaję (0.7313395126217731, 0.7153715263378897, 58.999999999999993, 3.3500998441036982). Masz pojęcie, co mogę na to poradzić?
TheChymera

Prostu dodanie tej dokumentacji ogólnym ciągłej zmiennej losowej metody dopasowania, który zawiera kilka przykładów stosując beta.fit (): docs.scipy.org/doc/scipy/reference/generated/...
mathisfun

Odpowiedzi:


13

Pomimo pozornego braku dokumentacji na temat danych wyjściowych beta.fit, dane wyjściowe są wyświetlane w następującej kolejności:

α , , loc (dolny limit), skala (górny limit - dolny limit)β


Czy tylko wypluwa dolne i górne limity na podstawie zakresu danych, czy robi coś innego?
shadowtalker

Granice oparte są na rozkładzie prawdopodobieństwa. to znaczy. Normalny rozkład nie ma ograniczeń, ale dane przykładowe rzadko przekraczają ~ +/-3. Dystrybucja beta ma twarde limity, z prawdopodobieństwem 0 poza tymi granicami. Prawdopodobnie Twoje dane nie przekroczą limitów, w zależności od tego, co modelujesz. W rzeczywistości próba zmuszenia tych limitów do dopasowania zakresu danych może być problematyczna, ponieważ wiele rozkładów beta ma tendencję do zerowego prawdopodobieństwa na granicach. Zobacz ten post, aby uzyskać więcej informacji na ten temat.
jdj081,

1
Tak, jestem świadomy. Te limity to zawsze 0 i 1. Stąd: jakie są górne i dolne granice zwracane przez tę funkcję i jak w ogóle są one takie same jak „lokalizacja” i „skala”? Chyba nie rozumiem tej odpowiedzi.
shadowtalker

2
W sposobie definiowania rozkładu beta limity te wynoszą zawsze 0 i 1. Jednak uogólniony rozkład beta obejmuje te dwa czynniki skalowania. Modelowane przeze mnie dane nie mieszczą się w przedziale od 0 do 1, więc muszę użyć tych liczb. Jeśli twoje dane mieszczą się w przedziale od 0 do 1, wówczas wyniki powinny być bardzo zbliżone do 0 i 1. Jeśli wiesz, że twoje limity wynoszą 0 i 1, możesz wymusić je za pomocą floc=0i fscale=1kwargs. Nadal będziesz otrzymywać te wyniki, ale będą one identyczne z tymi, do których ich zmusisz. I prawdopodobnie zmieni twoje wartości alfa i beta.
jdj081,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.