Я встановив логічну модель, використовуючи R із набором даних. Отримані параметри:
meanlog = 4.2991610
sdlog = 0.5511349
Я хотів би перенести цю модель на Scipy, яку я ніколи раніше не використовував. Використовуючи Scipy, я зміг отримати форму та масштаб 1 та 3.1626716539637488e + 90 - дуже різні числа. Я також намагався використовувати exp середнього журналу та sdlog, але продовжую отримувати химерний графік.
Я читав кожен документ, який я можу про scipy, і все ще плутаю, що означають параметри форми та масштабу в цьому випадку. Чи було б просто сенс кодувати цю функцію сам? Це здається схильним до помилок, оскільки я новачок у науці.
ЛОГІЧНИЙ СКІП (СІНЬКИЙ) проти Р-логічний (КРАЩИЙ):
Будь-які думки про те, в якому напрямку рухатися? Дані, до речі, добре співпадають з моделлю R, тому, якщо це схоже на щось інше в Python, сміливо діліться.
Дякую!
Оновлення:
Я запускаю Scipy 0,11
Ось підмножина даних. Фактична вибірка - 38k +, із середнім значенням 81,53627:
Підмножина:
х
[60, 170, 137, 138, 81, 140, 78, 46, 1, 168, 138, 148, 145, 35, 82, 126, 66, 147, 88, 106, 80, 54, 83, 13, 102, 54, 134, 34]
numpy.mean (x)
99.071428571428569
Як варіант:
Я працюю над функцією захоплення pdf:
def lognoral(x, mu, sigma):
a = 1 / (x * sigma * numpy.sqrt(2 * numpy.pi) )
b = - (numpy.log(x) - mu) ^ 2 / (2 * sigma ^ 2)
p = a * numpy.exp(b)
return p
Тим не менш, це дасть мені цифри наступне (я спробував декілька, якщо я отримав значення sdlog і meanlog змішався):
>>> lognormal(54,4.2991610, 0.5511349)
0.6994656085799437
>>> lognormal(54,numpy.exp(4.2991610), 0.5511349)
0.9846125119455129
>>> lognormal(54,numpy.exp(4.2991610), numpy.exp(0.5511349))
0.9302407837304372
Будь-які думки?
Оновлення:
повторення пропозицією "UPQuark":
форма, лока, масштаб (1.0, 50.03445923295007, 19.074457156766517)
Форма графіка дуже схожа, однак, пік відбувається близько 21 року.