Wenn ich den folgenden Code in PythonRuntimewarning wenn scipy.stats.beta.fit mit
from scipy.stats import norm, beta
sample = beta.rvs(2,5,size=100)
beta_fit = beta.fit(sample)
bekomme ich folgende Fehler
/usr/lib/python3/dist-packages/scipy/stats/_continuous_distns.py:404: RuntimeWarning: invalid
value encountered in sqrt
sk = 2*(b-a)*sqrt(a + b + 1)/(a + b + 2)/sqrt(a*b)
und in Abhängigkeit von der Größe der Probe laufen, ich bekomme manchmal auch diesen anderen Fehler
/usr/lib/python3/dist-packages/scipy/optimize/minpack.py:161: RuntimeWarning:
The iteration is not making good progress, as measured by the improvement from the last ten iterations.
warnings.warn(msg, RuntimeWarning)
Weiß jemand, warum das passiert und wie es zu beheben?
Danke!
FYI: Scipy Beta-Verteilung hat vier Parameter. Es gibt zwei Formparameter (α und β im [Wikipedia-Artikel] (https://en.wikipedia.org/wiki/Beta_distribution)). Die anderen beiden Parameter sind [Ort und Maßstab] (https://en.wikipedia.org/wiki/Location%E2%80%93scale_family); Diese passen die [Unterstützung] (https://en.wikipedia.org/wiki/Support_ (Mathematik)) der Distribution an. Standardmäßig berücksichtigt die Methode 'fit()' alle vier Parameter, die für die Anpassung verfügbar sind. Ist es das was du willst? Oder möchten Sie nur die Formparameter anpassen und die Unterstützung auf [0, 1] beibehalten? –
Ich möchte die Unterstützung beibehalten, um [0,1] zu sein, wie stelle ich das auf? Ich nahm an, dass die Funktion "beta.fit" die Standardwerte von loc = 0 und scale = 1 verwendet. Lag ich falsch? – Salva
Standardmäßig enthält 'fit()' 'loc' und' scale' in den Parametern, die passen. Sehen Sie meine Antwort, wie Sie diese beheben können. –