วิธีใช้การแจกแจงแบบ 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 ) 

การแจกแจงแบบ lognormal ใน Python

ยิ่งจำนวนกล่องมาก แถบในฮิสโตแกรมก็จะยิ่งแคบลง

ที่เกี่ยวข้อง: สามวิธีในการปรับขนาดถังในฮิสโตแกรม Matplotlib

แหล่งข้อมูลเพิ่มเติม

บทช่วยสอนต่อไปนี้จะอธิบายวิธีใช้การแจกแจงความน่าจะเป็นแบบอื่นใน Python:

วิธีใช้การแจกแจงปัวซองใน Python
วิธีใช้การแจกแจงแบบเอ็กซ์โปเนนเชียลใน Python
วิธีใช้การกระจายแบบสม่ำเสมอใน Python

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *