🔸 برای تحلیل دو متغیره، correlation وجود دارد. به ما این قابلیت رو میده که بتونیم بفهمیم کدوم دوتا متغیر با همدیگه رابطه خطی مستقیم دارن. correlation مثبت یعنی با زیاد شدن یک متغیر، یک متغیر دیگه نیز زیاد بشه و بالعکس. correlation عددی بین مثبت یک و منفی یک میباشد. correlation رابطه خطی را نشان میدهد.
اگر مقدار corr صفر باشد، یعنی دو ستون مد نظر هیچ ارتباطی با یکدیگر ندارند.
🔴 رسم correlation روی مجموعه داده:
———————————————————————-
🔷 بخش Data Visualization
یکی از کتابخانه هایی که در این بخش استفاده میکنیم، Matplotlib میباشد.
🔻 رسم نمودار histogram:
🔸 مشخص کردن لیبل برای X و Y، و مشخص کردن noscript:
🟢 استفاده از subplot:
▫️ رسم boxplot (نمایش کمینه و بیشینه، چارک اول و چارک سوم، median یا چارک دوم ستون مورد نظر):
🔸 چارک اول: یک چهارم داده ها کمتر از اون هستند.
🔹 چارک دوم (میانه): نصف داده ها کمتر و نصف داده ها بیشتر از اون هستند.
🔺 چارک سوم: سه چهارم داده ها کمتر از اون هستند.
🟨 با استفاده از چارک اول و چارک سوم میتونیم متوجه بشیم تکرار داده ها کجا متمرکز شده است. معمولا تعداد تکرار بین چارک اول و سوم خیلی زیاد میباشد.
اگر مقدار corr صفر باشد، یعنی دو ستون مد نظر هیچ ارتباطی با یکدیگر ندارند.
🔴 رسم correlation روی مجموعه داده:
data.corr()
———————————————————————-
🔷 بخش Data Visualization
یکی از کتابخانه هایی که در این بخش استفاده میکنیم، Matplotlib میباشد.
import matplotlib.pyplot as plt
🔻 رسم نمودار histogram:
plt.hist(df["comb08"])
🔸 مشخص کردن لیبل برای X و Y، و مشخص کردن noscript:
plt.xlabel("Test X")
plt.ylabel("Test Y")
plt.noscript("Test Title")
plt.show()🟢 استفاده از subplot:
fig, ax = plt.subplots()
ax.hist(df["comb08"], range=(10, 50), bins=5)
▫️ رسم boxplot (نمایش کمینه و بیشینه، چارک اول و چارک سوم، median یا چارک دوم ستون مورد نظر):
fig, ax = plt.subplots()
ax.boxplot(df["comb08"], label=["All"])
ax.set(noscript="MPG Distribution", ylabel="MPG for vehicles")
برای حذف نویزها از نمودار میتونیم showfliers رو فالس بزاریم:
ax.boxplot(df["comb08"], label=["All"], showfliers=False)
🔸 چارک اول: یک چهارم داده ها کمتر از اون هستند.
🔹 چارک دوم (میانه): نصف داده ها کمتر و نصف داده ها بیشتر از اون هستند.
🔺 چارک سوم: سه چهارم داده ها کمتر از اون هستند.
🟨 با استفاده از چارک اول و چارک سوم میتونیم متوجه بشیم تکرار داده ها کجا متمرکز شده است. معمولا تعداد تکرار بین چارک اول و سوم خیلی زیاد میباشد.
🔸 رسم نمودار خطی ساده:
🔻 چند نمونه رسم نمودار با pandas:
🟢 کتابخانه دیگری برای بصری سازی داده ها به نام Seaborn وجود دارد. seaborn مبتنی بر matplotlib میباشد. از لحاظ شکل و شمایل و هارمونی رنگی، seaborn به نسبت بقیه بهتر عمل کرده.
✔️ رسم catplot در seaborn:
🔔 رسم چند نمونه نمودار با seaborn:
avg_by_year = df.groupby(["year"], as_index=False).agg({'comb08': 'mean'}).round(2)
fig, ax1 = plt.subplots()
ax1.plot(avg_by_year["year"], avg_by_year["comb08"])🔻 چند نمونه رسم نمودار با pandas:
avg_by_year.plot(kind="box", noscript="Gas Mileage")
avg_by_year.plot(kind="line", noscript="Gas Mileage")
avg_by_year.plot(kind="bar", noscript="Gas Mileage")
avg_by_year.plot(kind="area", noscript="Gas Mileage")
🟢 کتابخانه دیگری برای بصری سازی داده ها به نام Seaborn وجود دارد. seaborn مبتنی بر matplotlib میباشد. از لحاظ شکل و شمایل و هارمونی رنگی، seaborn به نسبت بقیه بهتر عمل کرده.
import seaborn as sns
sns.set_style("darkgrid")
✔️ رسم catplot در seaborn:
sns.catplot(data=df,
y='comb08',
x='cylinders',
kind='bar');
🔔 رسم چند نمونه نمودار با seaborn:
sns.displot(data=df, x='fuelCost08', hue='year', aspect=2.5);
sns.displot(data=df, x='fuelCost08', hue='date_range', aspect=2.5);
sns.displot(data=df, x='fuelCost08', col='date_range')
sns.catplot(data=df,
x='date_range',
y='comb08',
kind='box',
showfliers=False);
sns.relplot(data=df,
x='cylinders',
y='comb08',
col='date_range',
hue='drive',
kind='scatter');
🟣 برای مقایسه اعداد در یک جدول، میتونیم از heatmap استفاده بکنیم.
🟠 نوع دیگری از heatmap با پالت رنگی متفاوت:
🔴 رسم نمودار با مشخص کردن چند سطر و ستون:
🗯 نیاز نیست همهی این نمودارها رو حفظ کنیم. فقط دونستن Base نمودارها و این که هرکدوم چه کاری انجام میدن کافیه. برای باقی مراحل میتونیم با سرچ یا استفاده از GPT کد مربوطه رو بنویسیم.
fuel_class = pd.crosstab(df['class_summary'],
df['fuel_type_summary'],
values=df['comb08'],
aggfunc='mean')
sns.heatmap(fuel_class)
🟠 نوع دیگری از heatmap با پالت رنگی متفاوت:
sns.heatmap(fuel_class,
annot=True,
fmt='.0f',
cmap="YlGnBu");
🔴 رسم نمودار با مشخص کردن چند سطر و ستون:
sns.pairplot(df,
x_vars=['cylinders', 'displ', 'barrels08'],
y_vars=['cylinders', 'displ', 'barrels08'],
hue='date_range')
🗯 نیاز نیست همهی این نمودارها رو حفظ کنیم. فقط دونستن Base نمودارها و این که هرکدوم چه کاری انجام میدن کافیه. برای باقی مراحل میتونیم با سرچ یا استفاده از GPT کد مربوطه رو بنویسیم.
Sampling in Inferential Statistics 📊
——————————————————————————————
نمونهگیری در آمار استنباطی (Sampling in Inferential Statistics) 📉
1. نمونهگیری تصادفی (Random Sampling) 🎲
نمونهگیری تصادفی یکی از روشهای اصلی نمونهگیری در آمار است که در آن هر عضوی از جامعه آماری شانس برابری برای انتخاب شدن دارد. این روش کمک میکند تا نمونهای که انتخاب میشود به خوبی نماینده جامعه آماری باشد و نتایج به دست آمده از تحلیلهای آماری قابل تعمیم به کل جامعه باشد.
2. عدم تعصب (Non-Bias) 🚫
یکی از اصول مهم در نمونهگیری این است که نمونه باید بدون تعصب (Bias) انتخاب شود. تعصب میتواند نتایج تحقیق را تحریف کند و باعث شود که نتایج به دست آمده دقیق نباشند. برای جلوگیری از تعصب:
- نمونهگیری تصادفی انجام شود.
- فرآیند نمونهگیری به دقت طراحی شود تا هیچ گروه یا دستهای از جامعه آماری نادیده گرفته نشود.
3. حداقل حجم نمونه (Minimum Sample Size) 📏
حداقل حجم نمونه (Minimum Sample Size) به تعداد حداقل نمونههایی که برای انجام تحلیلهای آماری معتبر نیاز است، اشاره دارد. تعیین حجم نمونه به عوامل مختلفی بستگی دارد:
- اندازه جامعه آماری (Population Size)
- سطح اطمینان (Confidence Level) که معمولاً 95% یا 99% انتخاب میشود.
- حاشیه خطا (Margin of Error) که معمولاً بین 1% تا 5% تنظیم میشود.
- انحراف معیار (Standard Deviation) یا واریانس (Variance) دادهها که اگر پیش از این مشخص باشد، کمک میکند.
نکات کلیدی 🗝
- نمونهگیری تصادفی ساده (Simple Random Sampling) 🎲: یکی از سادهترین و رایجترین روشهای نمونهگیری که در آن هر عضو جامعه آماری به صورت تصادفی و با شانس برابر انتخاب میشود.
- نمونهگیری سیستماتیک (Systematic Sampling) 📐: یکی دیگر از روشهای نمونهگیری که در آن هر nامین عضو جامعه آماری انتخاب میشود.
- نمونهگیری طبقهبندی شده (Stratified Sampling) 🧩: زمانی استفاده میشود که جامعه آماری به زیرگروههای همگن تقسیم شده و سپس نمونهگیری از هر زیرگروه به صورت تصادفی انجام میشود.
- نمونهگیری خوشهای (Cluster Sampling) 🏢: زمانی استفاده میشود که جامعه آماری به خوشههای ناهمگن تقسیم شده و سپس برخی از این خوشهها به صورت تصادفی انتخاب و از همه اعضای خوشههای انتخاب شده نمونهگیری میشود.
——————————————————————————————
نمونهگیری در آمار استنباطی (Sampling in Inferential Statistics) 📉
1. نمونهگیری تصادفی (Random Sampling) 🎲
نمونهگیری تصادفی یکی از روشهای اصلی نمونهگیری در آمار است که در آن هر عضوی از جامعه آماری شانس برابری برای انتخاب شدن دارد. این روش کمک میکند تا نمونهای که انتخاب میشود به خوبی نماینده جامعه آماری باشد و نتایج به دست آمده از تحلیلهای آماری قابل تعمیم به کل جامعه باشد.
2. عدم تعصب (Non-Bias) 🚫
یکی از اصول مهم در نمونهگیری این است که نمونه باید بدون تعصب (Bias) انتخاب شود. تعصب میتواند نتایج تحقیق را تحریف کند و باعث شود که نتایج به دست آمده دقیق نباشند. برای جلوگیری از تعصب:
- نمونهگیری تصادفی انجام شود.
- فرآیند نمونهگیری به دقت طراحی شود تا هیچ گروه یا دستهای از جامعه آماری نادیده گرفته نشود.
3. حداقل حجم نمونه (Minimum Sample Size) 📏
حداقل حجم نمونه (Minimum Sample Size) به تعداد حداقل نمونههایی که برای انجام تحلیلهای آماری معتبر نیاز است، اشاره دارد. تعیین حجم نمونه به عوامل مختلفی بستگی دارد:
- اندازه جامعه آماری (Population Size)
- سطح اطمینان (Confidence Level) که معمولاً 95% یا 99% انتخاب میشود.
- حاشیه خطا (Margin of Error) که معمولاً بین 1% تا 5% تنظیم میشود.
- انحراف معیار (Standard Deviation) یا واریانس (Variance) دادهها که اگر پیش از این مشخص باشد، کمک میکند.
نکات کلیدی 🗝
- نمونهگیری تصادفی ساده (Simple Random Sampling) 🎲: یکی از سادهترین و رایجترین روشهای نمونهگیری که در آن هر عضو جامعه آماری به صورت تصادفی و با شانس برابر انتخاب میشود.
- نمونهگیری سیستماتیک (Systematic Sampling) 📐: یکی دیگر از روشهای نمونهگیری که در آن هر nامین عضو جامعه آماری انتخاب میشود.
- نمونهگیری طبقهبندی شده (Stratified Sampling) 🧩: زمانی استفاده میشود که جامعه آماری به زیرگروههای همگن تقسیم شده و سپس نمونهگیری از هر زیرگروه به صورت تصادفی انجام میشود.
- نمونهگیری خوشهای (Cluster Sampling) 🏢: زمانی استفاده میشود که جامعه آماری به خوشههای ناهمگن تقسیم شده و سپس برخی از این خوشهها به صورت تصادفی انتخاب و از همه اعضای خوشههای انتخاب شده نمونهگیری میشود.