วิธีใช้การแจกแจงแบบ log-normal ใน python
คุณสามารถใช้ฟังก์ชัน lognorm() ของไลบรารี SciPy ใน Python เพื่อสร้างตัวแปรสุ่มที่ตามหลังการแจกแจงแบบบันทึกปกติ
ตัวอย่างต่อไปนี้แสดงวิธีใช้ฟังก์ชันนี้ในทางปฏิบัติ
วิธีสร้างการแจกแจงแบบ Lognormal
คุณสามารถใช้โค้ดต่อไปนี้เพื่อสร้างตัวแปรสุ่มที่ตามหลังการแจกแจงแบบปกติด้วย μ = 1 และ σ = 1:
import math
import numpy as np
from scipy. stats import lognorm
#make this example reproducible
n.p. random . seed ( 1 )
#generate log-normal distributed random variable with 1000 values
lognorm_values = lognorm. rvs (s= 1 , scale=math. exp ( 1 ), size= 1000 )
#view first five values
lognorm_values[:5]
array([13.79554017, 1.47438888, 1.60292205, 0.92963, 6.45856805])
โปรดทราบว่าในฟังก์ชัน lognorm.rvs() s คือค่าเบี่ยงเบนมาตรฐาน และค่าใน math.exp() คือค่าเฉลี่ยของการแจกแจงแบบ lognormal ที่คุณต้องการสร้าง
ในตัวอย่างนี้ เราตั้งค่าค่าเฉลี่ยเป็น 1 และค่าเบี่ยงเบนมาตรฐานเป็น 1 เช่นกัน
วิธีการพล็อตการแจกแจงแบบ Lognormal
เราสามารถใช้โค้ดต่อไปนี้เพื่อสร้างฮิสโตแกรมของค่าของตัวแปรสุ่มแบบกระจายปกติที่เราสร้างขึ้นในตัวอย่างก่อนหน้านี้:
import matplotlib. pyplot as plt #create histogram plt. hist (lognorm_values, density= True , edgecolor=' black ')
Matplotlib มีค่าเริ่มต้นอยู่ที่ 10 bins ในฮิสโตแกรม แต่เราสามารถเพิ่มจำนวนนี้ได้อย่างง่ายดายโดยใช้อาร์กิวเมนต์ bins
ตัวอย่างเช่น เราสามารถเพิ่มจำนวนถังขยะเป็น 20:
import matplotlib. pyplot as plt #create histogram plt. hist (lognorm_values, density= True , edgecolor=' black ', bins= 20 )
ยิ่งจำนวนกล่องมาก แถบในฮิสโตแกรมก็จะยิ่งแคบลง
ที่เกี่ยวข้อง: สามวิธีในการปรับขนาดถังในฮิสโตแกรม Matplotlib
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีใช้การแจกแจงความน่าจะเป็นแบบอื่นใน Python:
วิธีใช้การแจกแจงปัวซองใน Python
วิธีใช้การแจกแจงแบบเอ็กซ์โปเนนเชียลใน Python
วิธีใช้การกระจายแบบสม่ำเสมอใน Python