البرمجة

دليل شامل على دوال الكثافة الاحتمالية في Python

في عالم برمجة Python، تأتي دوال الكثافة الاحتمالية في إطار الإحصاء وتحليل البيانات. يعد استخدام هذه الدوال جزءًا أساسيًا من تحليل الاحتمالات والتوزيعات الإحصائية. دعونا نقم بفحص بعض الدوال الرئيسية المتعلقة بكثافة الاحتمال في Python.

أولاً وقبل كل شيء، يُفضل أن نتحدث عن مكتبة SciPy، التي توفر الكثير من الأدوات والدوال المتقدمة لتحليل البيانات والإحصاء. على سبيل المثال، يمكننا النظر إلى scipy.stats التي تحتوي على مجموعة واسعة من التوزيعات الإحصائية، وبالتالي تقدم وظائف الكثافة الاحتمالية.

للبداية، لنأخذ مثالًا على توزيع الاحتمال الطبيعي (Normal Distribution). فيما يلي كيف يمكنك استخدام دالة الكثافة الاحتمالية لهذا التوزيع في Python:

python
import scipy.stats as stats import matplotlib.pyplot as plt import numpy as np # تعيين المتغيرات mean = 0 std_dev = 1 # إنشاء توزيع طبيعي normal_dist = stats.norm(loc=mean, scale=std_dev) # إنشاء مجموعة من القيم لتمثيل الدالة x = np.linspace(-3, 3, 1000) # حساب قيم الكثافة الاحتمالية لكل قيمة في x pdf_values = normal_dist.pdf(x) # عرض النتائج باستخدام المكتبة Matplotlib plt.plot(x, pdf_values, label='Normal Distribution') plt.title('Probability Density Function (PDF) of Normal Distribution') plt.xlabel('Values') plt.ylabel('Probability Density') plt.legend() plt.show()

هذا الكود يستخدم مكتبة SciPy لإنشاء توزيع طبيعي ويحسب ثم يرسم دالة الكثافة الاحتمالية له. يمكنك تعديل mean و std_dev لتناسب توزيعك الخاص.

بالطبع، هناك العديد من التوزيعات الإحصائية الأخرى ودوال الكثافة الاحتمالية المرتبطة بها، مثل التوزيع الطيفي (Exponential Distribution)، وتوزيع بيرنولي (Bernoulli Distribution)، وتوزيع بواسون (Poisson Distribution). يمكنك استكشاف هذه التوزيعات بواسطة مكتبة SciPy واستخدام الدوال المناسبة لتحليل البيانات الخاصة بك.

المزيد من المعلومات

بالتأكيد، دعونا نستكمل استكشاف دوال الكثافة الاحتمالية في Python ونتحدث عن بعض التوزيعات الإحصائية الأخرى المهمة والتي تأتي مع دوال كثافة احتمال مرتبطة بها.

1. توزيع الاحتمال الطيفي (Exponential Distribution):

يُستخدم هذا التوزيع لنمذجة الفترة الزمنية بين حدوث حدثين متتاليين وغالباً ما يتم تحديده بواسطة معدل حدوث الأحداث. فيما يلي كيفية استخدام دالة الكثافة الاحتمالية لتوزيع الاحتمال الطيفي:

python
import scipy.stats as stats import matplotlib.pyplot as plt import numpy as np # تعيين معدل الفعالية (rate) rate = 0.5 # إنشاء توزيع احتمال طيفي exponential_dist = stats.expon(scale=1/rate) # إنشاء مجموعة من القيم لتمثيل الدالة x = np.linspace(0, 5, 1000) # حساب قيم الكثافة الاحتمالية لكل قيمة في x pdf_values = exponential_dist.pdf(x) # عرض النتائج باستخدام المكتبة Matplotlib plt.plot(x, pdf_values, label='Exponential Distribution') plt.title('Probability Density Function (PDF) of Exponential Distribution') plt.xlabel('Values') plt.ylabel('Probability Density') plt.legend() plt.show()

2. توزيع بيرنولي (Bernoulli Distribution):

يُستخدم هذا التوزيع لنمذجة الاحتمال الثنائي (صفر أو واحد) لحدوث حدثين متضاربين. فيما يلي كيفية استخدام دالة الكثافة الاحتمالية لتوزيع بيرنولي:

python
import scipy.stats as stats import matplotlib.pyplot as plt import numpy as np # تعيين إحتمال النجاح p = 0.3 # إنشاء توزيع بيرنولي bernoulli_dist = stats.bernoulli(p) # إنشاء مجموعة من القيم لتمثيل الدالة x = np.array([0, 1]) # حساب قيم الكثافة الاحتمالية لكل قيمة في x pmf_values = bernoulli_dist.pmf(x) # عرض النتائج باستخدام المكتبة Matplotlib plt.stem(x, pmf_values, label='Bernoulli Distribution', basefmt=" ", markerfmt="bo", linefmt="b-") plt.title('Probability Mass Function (PMF) of Bernoulli Distribution') plt.xlabel('Values') plt.ylabel('Probability Mass') plt.legend() plt.show()

3. توزيع بواسون (Poisson Distribution):

يُستخدم هذا التوزيع لنمذجة عدد الأحداث التي قد تحدث في فترة زمنية ثابتة، عندما تكون هذه الأحداث مستقلة ولكل حدث نفس احتمال حدوثه. فيما يلي كيفية استخدام دالة الكثافة الاحتمالية لتوزيع بواسون:

python
import scipy.stats as stats import matplotlib.pyplot as plt import numpy as np # تعيين معدل الحدوث (rate) rate = 2.5 # إنشاء توزيع بواسون poisson_dist = stats.poisson(mu=rate) # إنشاء مجموعة من القيم لتمثيل الدالة x = np.arange(0, 10) # حساب قيم الكثافة الاحتمالية لكل قيمة في x pmf_values = poisson_dist.pmf(x) # عرض النتائج باستخدام المكتبة Matplotlib plt.stem(x, pmf_values, label='Poisson Distribution', basefmt=" ", markerfmt="bo", linefmt="b-") plt.title('Probability Mass Function (PMF) of Poisson Distribution') plt.xlabel('Values') plt.ylabel('Probability Mass') plt.legend() plt.show()

هذه هي بعض الأمثلة عن استخدام دوال الكثافة الاحتمالية في Python، ويمكنك توسيع هذا الفهم لتضمين التوزيعات الإحصائية الأخرى واستخدامها في تحليل البيانات بطرق مختلفة.

زر الذهاب إلى الأعلى