Saya telah memasang model lognormal menggunakan R dengan satu set data. Parameter yang dihasilkan adalah:
meanlog = 4.2991610
sdlog = 0.5511349
Saya ingin mentransfer model ini ke Scipy, yang belum pernah saya gunakan sebelumnya. Menggunakan Scipy, saya bisa mendapatkan bentuk dan skala 1 dan 3.1626716539637488e + 90 - angka yang sangat berbeda. Saya juga mencoba menggunakan exp dari meanlog dan sdlog tetapi terus mendapatkan grafik yang aneh.
Saya telah membaca setiap dokumen yang saya bisa tentang Scipy dan saya masih bingung tentang apa arti parameter bentuk dan skala dalam contoh ini. Apakah masuk akal untuk kode fungsi sendiri? Itu nampaknya rentan terhadap kesalahan, karena saya baru untuk berhalangan.
SCIPY Lognormal (BLUE) vs. R Lognormal (RED):
Adakah pemikiran tentang arah yang harus diambil? Data cocok dengan model R, omong-omong, jadi jika terlihat seperti sesuatu yang lain di Python, jangan ragu untuk berbagi.
Terima kasih!
Memperbarui:
Saya menjalankan Scipy 0,11
Berikut adalah sebagian dari data. Sampel aktual adalah 38k +, dengan rata-rata 81.53627:
Subset:
x
[60, 170, 137, 138, 81, 140, 78, 46, 1, 168, 138, 148, 145, 35, 82, 126, 66, 147, 88, 106, 80, 54, 83, 83, 13, 102, 54, 134, 34]
numpy.mean (x)
99.071428571428569
Kalau tidak:
Saya sedang mengerjakan fungsi untuk menangkap 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
Namun, ini memberi saya angka-angka berikut (saya mencoba beberapa kalau-kalau saya mendapatkan arti sdlog dan meanlog digabungkan):
>>> 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
Adakah pikiran?
Memperbarui:
jalankan kembali dengan saran "UPQuark":
bentuk, loc, skala (1.0, 50.03445923295007, 19.074457156766517)
Namun, bentuk grafiknya sangat mirip, dengan puncaknya sekitar 21.