Я снабдил логнормальную модель, используя R набором данных. Полученные параметры были:
meanlog = 4.2991610
sdlog = 0.5511349
Я бы хотел перенести эту модель на Scipy, которой никогда раньше не пользовался. Используя Scipy, я смог получить форму и масштаб 1 и 3.1626716539637488e + 90 - очень разные числа. Я также пытался использовать exp of meanlog и sdlog, но продолжаю получать причудливый граф.
Я прочитал все документы, которые могу, на scipy, и все еще не понимаю, что означают параметры формы и масштаба в данном случае. Имеет ли смысл самому кодировать функцию? Это кажется склонным к ошибкам, хотя я новичок в scipy.
SCIPY Логнормальный (СИНИЙ) против R Логнормальный (КРАСНЫЙ):
Есть мысли о том, в каком направлении идти? Кстати, данные очень хорошо подходят для модели 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:
shape, loc, scale (1.0, 50.03445923295007, 19.074457156766517)
Форма графика очень похожа, однако пик приходится на 21.