Преобразование np.random.logy в scipy.stats.fiskPython

Программы на Python
Anonymous
Преобразование np.random.logy в scipy.stats.fisk

Сообщение Anonymous »

Я не могу понять, как преобразовать np.random.ologies в scipy.stats.fisk, вот мой код:

Код: Выделить всё

import numpy as np
import numpy.random as npr
import scipy.stats as ss
import matplotlib.pyplot as plt

SEED = 1337
SIZE = 1_000_000
Generator = npr.default_rng(seed=SEED)
PARAMS = {
"loc": 0,
"scale": 1
}
n = Generator.logistic(
loc=PARAMS['loc'],
scale=PARAMS['scale'],
size=SIZE,
)
ns = np.exp(n)
s = ss.fisk(
c=1/PARAMS['scale'],
scale=np.exp(PARAMS['loc']),
).rvs(
random_state=SEED,
size=SIZE,
)
Читая документ scipy, предположим, что n — это логистическая случайная величина с местоположением loc и масштабом. Тогда ns=np.exp(n) представляет собой случайную величину Фиска (логарифмическую) с масштабом = np.exp(l) и формой c=1/scale.
Однако построение графиков n и ns дает совершенно разные распределения.
Что я делаю не так?

Код: Выделить всё

plt.figure(figsize=(14, 6))

plt.subplot(1, 2, 1)
plt.hist(n, bins=30, density=True, alpha=0.6, color='g', label="n")
plt.title('Logistic Distribution')
plt.xlabel('Value')
plt.ylabel('Frequency')
plt.legend()

plt.subplot(1, 2, 2)
plt.hist(ns, bins=30, density=True, alpha=0.6, color='b', label="ns")
plt.hist(s, bins=30, density=True, alpha=0.6, color='r', label="s")
plt.title('Log-Logistic Distribution')
plt.xlabel('Value')
plt.ylabel('Frequency')
plt.legend()

plt.show()
Изображение


Подробнее здесь: https://stackoverflow.com/questions/786 ... stats-fisk

Вернуться в «Python»