خانه / آموزش‌ها / آموزش ماژول statistics در پایتون

آموزش ماژول statistics در پایتون

🐍 HomeOfPython
|
📅 1404/10/24

سطح مقدماتی (Beginner Level)

پایتون به عنوان یکی از قدرتمندترین زبان‌ها برای علم داده (Data Science) شناخته می‌شود. در حالی که کتابخانه‌های بزرگی مثل NumPy و Pandas وجود دارند، پایتون یک ماژول داخلی و سبک به نام statistics دارد که برای محاسبات آماری پایه بسیار کارآمد است و نیازی به نصب هیچ پکیج اضافی ندارد.

محاسبه معیارهای گرایش به مرکز (Central Tendency)

مهم‌ترین مفاهیم در آمار مقدماتی، پیدا کردن "مرکز" داده‌هاست. این کار معمولاً با سه شاخص اصلی انجام می‌شود: میانگین (Mean)، میانه (Median) و مُد (Mode).

۱. میانگین (Mean)

میانگین حسابی، حاصل جمع همه اعداد تقسیم بر تعداد آن‌هاست.

Python
python
# Example 2: Mean with floating point numbers (Static snippet)
import statistics

data = [1.5, 2.5, 3.5]
# (1.5 + 2.5 + 3.5) / 3 = 2.5
result = statistics.mean(data)

۲. میانه (Median)

میانه عددی است که دقیقاً در وسط مجموعه داده‌های مرتب‌شده قرار می‌گیرد. اگر داده‌ها دارای نویز (Noise) یا اعداد پرت (Outliers) باشند، میانه معیار بهتری نسبت به میانگین است.

Python

اگر تعداد داده‌ها زوج باشد، median میانگین دو عدد وسط را می‌گیرد. اما گاهی نیاز دارید حتماً یکی از اعداد موجود در لیست را انتخاب کنید:

  • median_low(): عدد کوچکتر در وسط.
  • median_high(): عدد بزرگتر در وسط.
Python

۳. مُد (Mode)

مُد پرتکرارترین داده در مجموعه است. این معیار برای داده‌های غیرعددی (Nominal) نیز کاربرد دارد.

Python

در نسخه‌های جدید پایتون (3.8+)، اگر داده‌ها دارای چند مُد باشند (Multimodal)، تابع mode اولین مورد را برمی‌گرداند یا خطا می‌دهد. برای دریافت همه مُدها از multimode استفاده کنید.

Python

سطح پیشرفته (Professional Level)

در سطح حرفه‌ای، ماژول statistics ابزارهایی برای تحلیل پراکندگی (Dispersion)، همبستگی و کار با توزیع‌های نرمال ارائه می‌دهد. استفاده از این ابزارها برای نوشتن اسکریپت‌های تحلیل داده بدون وابستگی به کتابخانه‌های سنگین خارجی (Third-party) ایده‌آل است.

پراکندگی داده‌ها (Variance & Stdev)

برای درک اینکه داده‌ها چقدر از میانگین فاصله دارند، از واریانس (variance) و انحراف معیار (stdev) استفاده می‌کنیم.

  • stdev (Standard Deviation): انحراف معیار نمونه.
  • pstdev: انحراف معیار جامعه (Population).
Python
python
# Example 2: Variance logic (Static)
def analyze_spread(data):
    # Variance is stdev squared
    var = statistics.variance(data)
    dev = statistics.stdev(data)
    return var, dev

شیء NormalDist (پایتون 3.8+)

این کلاس قدرتمند اجازه می‌دهد بدون پیچیدگی‌های ریاضی، بر روی توزیع نرمال (زنگوله‌ای) محاسبات انجام دهید. می‌توانید همپوشانی دو توزیع یا احتمال وقوع یک داده را محاسبه کنید.

Python

همبستگی و رگرسیون خطی (پایتون 3.10+)

از نسخه 3.10 به بعد، توابع correlation و linear_regression اضافه شدند که برای بررسی رابطه بین دو متغیر بسیار مفید هستند.

Python

کار با داده‌های دقیق (Decimal و Fraction)

ماژول statistics از انواع داده‌های Decimal و Fraction پشتیبانی می‌کند. این موضوع در محاسبات مالی که خطای اعشاری (Floating Point Error) غیرقابل قبول است، بسیار حیاتی است.

Python