معیارهای وابستگی آماری “همبستگی” در آمار خلاصه (نمونه های پایتون)

در این راهنما یکی از آمارهای خلاصه را معرفی می کنیم: معیارهای همبستگی (وابستگی آماری). ما همچنین نمونه‌هایی از پایتون را برای نشان دادن نحوه اعمال این مفهوم در اختیار شما قرار می‌دهیم.

معیارهای وابستگی آماری (همبستگی) چیست؟

معیارهای وابستگی آماری که به عنوان معیارهای همبستگی نیز شناخته می شوند، آمار خلاصه ای هستند که برای ارزیابی روابط بین متغیرها استفاده می شوند.

8 معیار وابستگی آماری مورد استفاده برای ارزیابی همبستگی بین متغیرهای چندگانه عبارتند از:

  1. کوواریانس: چقدر دو متغیر تصادفی با هم تغییر می کنند
  2. ضریب همبستگی: رابطه خطی دو متغیر پیوسته
  3. همبستگی رتبه اسپیرمن: قدرت/جهت رابطه یکنواخت بین دو متغیر.
  4. کندالز تاو (τ): قدرت/جهت ارتباط ترتیبی بین دو متغیر.
  5. همبستگی نقطه ای-دوسری: رابطه بین متغیرهای پیوسته و باینری
  6. ضریب فی (φ): ارتباط بین دو متغیر باینری.
  7. جداول احتمالی / تست های مربع کای: ارتباط بین دو متغیر مقوله ای
  8. Cramer's V: ارتباط برای متغیرهای طبقه بندی شده بر اساس آمار کای اسکوئر

در این آموزش، ما بر روی رایج ترین معیارها تمرکز خواهیم کرد: کوواریانس، ضریب همبستگی پیرسون (همبستگی خطی)، همبستگی رتبه اسپیرمن (همبستگی یکنواخت)، و تاو کندال (همبستگی ترتیبی).

کوواریانس

کوواریانس میزان تغییر دو متغیر را با هم اندازه گیری می کند.

نشان می دهد که یک تغییر در یک متغیر چقدر با تغییر در متغیر دیگر مرتبط است.

نقطه ضعف استفاده از کوواریانس در ایجاد همبستگی این است که به مقیاس متغیرها حساس است.

کوواریانس را محاسبه کنید

برای محاسبه کوواریانس، باید میانگین هر متغیر را بدست آورید و هر مقدار را از میانگین کم کنید، ماتریس ها را ضرب کنید و مقادیر را با هم جمع کنید. در نهایت، نتیجه را بر تعداد مقادیر تقسیم کنید.

فرمول کوواریانس است

Cov(X, Y) = Σ(Xi-µ)(Yj-v) / n

محاسبه کوواریانس در پایتون

برای محاسبه کوواریانس بین دو متغیر آرایه در پایتون، از cov() تابع از numpy کتابخانه

import numpy as np

# Sample data
x = np.array([1, 2, 3, 4, 5])
y = np.array([2, 3, 4, 5, 6])

# Calculate the covariance matrix
np.cov(x, y)

این تابع یک آرایه 2×2 (یا ماتریس کوواریانس) را برمی‌گرداند که در آن مقادیر مورب تغییرپذیری را اندازه‌گیری می‌کنند و مقادیر خارج از مورب روابط را نشان می‌دهند.

  • مثبت یعنی تمایل به افزایش با هم دارند
  • منفی یعنی یکی بالا می رود وقتی دیگری پایین می آید.

در اینجا نمونه هایی از انواع مختلف ماتریس های کوواریانس آورده شده است.

import numpy as np

# Sample data
x = np.array([1, 2, 3, 4, 5])
x2 = np.array([6, 5, 4, 3, 2])
y = np.array([2, 3, 4, 5, 6])
x3 = np.array([1, 2, 3, 4, 5])
y3 = np.array([1, 2, 3, 2, 1])  # Example with no covariance

# Calculate the covariance matrices
cov_matrix = np.cov(x, y)
cov_matrix2 = np.cov(x2, y)
cov_matrix3 = np.cov(x3, y3)
print('Positive variation:\n', cov_matrix)
print('Negative variation:\n', cov_matrix2)
print('No covariance:\n', cov_matrix3)

و در یک نمودار چگونه به نظر می رسد

ضریب همبستگی پیرسون

ضریب همبستگی پیرسون رابطه خطی بین دو را کمی نشان می دهد مداوم متغیرها

نتایج از -1 تا 1 متغیر است:

  • همبستگی منفی کامل: -1
  • همبستگی مثبت کامل: 1
  • بدون همبستگی خطی: 0

ضریب R پیرسون را در پایتون محاسبه کنید

برای محاسبه ضریب همبستگی پیرسون از pearsonr تابع از scipy.stats کتابخانه

import numpy as np
from scipy.stats import pearsonr

# Sample data
x = np.array([1, 2, 3, 4, 5])
y = np.array([2, 3, 4, 5, 6])

# Calculate Pearson's correlation coefficient
correlation_coefficient, _ = pearsonr(x, y)
print("Pearson's Correlation Coefficient:", correlation_coefficient)

خروجی در اینجا یک همبستگی مثبت کامل را نشان می دهد که در آن زمانی که 1 متغیر با یکی افزایش می یابد، متغیر دیگر به همان مقدار افزایش می یابد.

Pearson's Correlation Coefficient: 1.0

همبستگی R پیرسون را در پایتون ترسیم کنید

import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import pearsonr
import seaborn as sns

# Create data for scenarios
np.random.seed(0)

# Negative correlation
x_neg = np.linspace(0, 10, 50)
y_neg = -2 * x_neg + 10 + np.random.normal(0, 2, 50)

# Positive correlation
x_pos = np.linspace(0, 10, 50)
y_pos = 2 * x_pos + np.random.normal(0, 2, 50)

# No correlation
x_no_corr = np.linspace(0, 10, 50)
y_no_corr = np.random.normal(0, 2, 50)

# Calculate Pearson correlation coefficients
corr_coeff_neg, _ = pearsonr(x_neg, y_neg)
corr_coeff_pos, _ = pearsonr(x_pos, y_pos)
corr_coeff_no_corr, _ = pearsonr(x_no_corr, y_no_corr)

# Create subplots
fig, axes = plt.subplots(1, 3, figsize=(15, 5))

# Scatter plot 1 (Negative Correlation)
sns.regplot(x=x_neg, y=y_neg, ax=axes[0], color='red', scatter_kws={'s': 15}, line_kws={'color': 'blue'}, ci=95)
axes[0].set_xlabel('X')
axes[0].set_ylabel('Y')
axes[0].set_title(f"Negative Correlation (r = {corr_coeff_neg:.2f})")

# Scatter plot 2 (Positive Correlation)
sns.regplot(x=x_pos, y=y_pos, ax=axes[1], color='green', scatter_kws={'s': 15}, line_kws={'color': 'blue'}, ci=95)
axes[1].set_xlabel('X')
axes[1].set_ylabel('Y')
axes[1].set_title(f"Positive Correlation (r = {corr_coeff_pos:.2f})")

# Scatter plot 3 (No Correlation)
sns.regplot(x=x_no_corr, y=y_no_corr, ax=axes[2], color='blue', scatter_kws={'s': 15}, line_kws={'color': 'blue'}, ci=95)
axes[2].set_xlabel('X')
axes[2].set_ylabel('Y')
axes[2].set_title(f"No Correlation (r = {corr_coeff_no_corr:.2f})")

# Adjust layout
plt.tight_layout()

# Show all plots
plt.show()

همبستگی رتبه اسپیرمن (rho)

همبستگی رتبه اسپیرمن که با نام اسپیرمن rho نیز شناخته می شود، قدرت و جهت رابطه یکنواخت بین دو متغیر را ارزیابی می کند.

رابطه یکنواخت یک رابطه بین متغیرها است که زمانی اتفاق می افتد که مقدار متغیر افزایش یا کاهش می یابد زمانی که متغیر دیگر افزایش می یابد.

Spearman's rho رتبه داده ها را به جای مقادیر واقعی آنها بررسی می کند. این باعث می شود که کمتر تحت تأثیر موارد پرت قرار گیرد و به داده های ترتیبی کمک می کند.

همبستگی رتبه اسپیرمن را در پایتون محاسبه کنید

برای محاسبه همبستگی رتبه اسپیرمن، از spearmanr تابع از scipy.stats کتابخانه

from scipy.stats import spearmanr
# Example data
x = [10, 20, 30, 40, 50]
y = [5, 15, 25, 35, 45]

# Calculate Spearman's rank correlation
rho, p_value = spearmanr(x, y)

# Print the result
print(f"Spearman's Rank Correlation Coefficient: {rho}")
print(f"P-value: {p_value}")

نتیجه همبستگی رتبه اسپیرمن (rho) را تفسیر کنید

هنگام تفسیر عدد rho اسپیرمن، این دستورالعمل کلی را بررسی کنید:

  • مثبت rho: با افزایش یک متغیر، متغیر دیگر تمایل به افزایش دارد،
  • Rho منفی: با افزایش یک متغیر، متغیر دیگر تمایل به کاهش دارد.
  • Rho = 0: بدون رابطه یکنواخت

کندالز تاو (τ)

در آمار، Tau کندال (τ) قدرت و جهت ارتباط ترتیبی بین دو متغیر را اندازه گیری می کند.

تاو کندال (τ) را در پایتون محاسبه کنید

برای محاسبه همبستگی رتبه اسپیرمن، از kendalltau تابع از scipy.stats کتابخانه

import numpy as np
from scipy.stats import kendalltau

# Sample data
x = np.array([1, 2, 3, 4, 5])
y = np.array([2, 3, 1, 5, 4])

# Calculate Kendall's Tau
tau, p_value = kendalltau(x, y)

print(f"Kendall's Tau (τ): {tau:.2f}")
print(f"P-value: {p_value:.4f}")

نتیجه تاو (τ) کندال را تفسیر کنید

هنگام تفسیر عدد تاو کندال (τ)، این دستورالعمل کلی را بررسی کنید:

  • τ نزدیک به 1 است: همبستگی مثبت قوی
  • τ نزدیک به -1 است: همبستگی منفی قوی
  • τ نزدیک است 0: بدون همبستگی

معیارهای همبستگی مناسب (CV، R، Rho یا Tau) را انتخاب کنید

برای ارزیابی اینکه کدام الگوریتم همبستگی را برای ارزیابی رابطه بین متغیرها انتخاب کنید، به این جدول مراجعه کنید.

اندازه گیری همبستگی بهترین برای نوع داده مقاوم در برابر موارد پرت نوع رابطه
کوواریانس داده های بازه ای، داده های نسبت خیر خطی
ضریب همبستگی پیرسون (r) داده های بازه ای، داده های نسبت خیر خطی
همبستگی رتبه اسپیرمن (ρ) داده های ترتیبی، داده های بازه ای آره یکنواخت
کندالز تاو (τ) داده های ترتیبی، داده ها با رتبه های متقابل آره همخوانی یا ناسازگاری

Source link