انتساب داده های گمشده (Imputation of missing data) در R

انتساب داده های گمشده (Imputation of missing data) در R

تقریباً هر مجموعه‌ ای از داده حاوی تعدادی داده های (Missing data) گمشده یا مفقود هستند که می‌تواند باعث مشکلات عمده‌ای مانند تخمین‌های نادرست یا کاهش کارایی به دلیل مجموعه داده‌های کوچک‌تر شود. برای کاهش این مشکلات، می‌توان از تکنیک جانهی یا انتساب‌ (Imputation) برای جایگزینی داده‌های گمشده با مقادیر جدید استفاده کرد.

انتساب داده های گمشده (Imputation of missing data) یک تکنیک آماری است که مقادیر جایگزینی را به اقلام داده گمشده اختصاص می دهد.

با این حال، قبل از انجام هر کاری، ابتدا باید به چند سوال پاسخ دهیم.

چرا انتساب داده های گمشده نیاز است؟

در R، حذف ليستي (Listwise Deletion) شامل حذف تمام ردیف‌هایی با داده های مفقود در یک یا چند مشاهده است و یک روش پیش‌فرض برای مدیریت داده‌های گمشده است.

چرا خودمان را با مفاهیم دشوارتر نگران کنیم، در حالی که درک و اجرای آن ساده است؟

پس طبق معمول است:

با توجه به اینکه ما می توانیم کالیبر تجزیه و تحلیل داده های خود را افزایش دهیم!

مکانیسم پاسخ (response mechanism) داده های ما تعیین می کند که داده های گمشده چگونه بر تجزیه و تحلیل داده های ما تأثیر می گذارد

انتساب داده در مقابل حذف لیستی

با توجه به اینکه انتساب داده های گمشده بر حجم نمونه تأثیر نمی گذارد، واریانس مطالعات بر اساس داده های منتسب به طور معمول کمتر است.

بسته به مکانیسم پاسخ، حذف لیستی از نظر سوگیری بهتر از داده های گمشده است. در نتیجه، از imputation باید برای جایگزینی داده های گمشده استفاده شود.

انتساب داده های گمشده چگونه انجام می شود؟

تقریباً همه نرم افزارهای آماری امروزه از تکنیک های انتساب داده های گمشده استفاده می کنند.

ما در اینجا برای انتساب داده های مفقود از نرم افزار RStudio استفاده می کنیم. شما می توانید برای این کار از نرم افزار های دیگری مانند SPSS، Stata یا SAS استفاده کنید.

ما از مجموعه ای از داده های کیفیت هوا (air quality data) به عنوان مثال استفاده خواهیم کرد. داده ها قبلاً در R گنجانده شده اند و می توانند به شرح زیر بارگذاری شوند:

بیایید داده ها را بارگذاری کنیم

 

data(airquality)

 

شش متغیر (Ozone, Solar.R, Wind, Temp, Month, Day) و 153 مشاهده در داده ها وجود دارد. Ozone و Solar.R, دارای داده های گمشده هستند.

خلاصه داده ها

 

head(airquality)
  Ozone Solar.R Wind Temp Month Day
1    41     190  7.4   67     5   1
2    36     118  8.0   72     5   2
3    12     149 12.6   74     5   3
4    18     313 11.5   62     5   4
5    NA      NA 14.3   56     5   5
6    28      NA 14.9   66     5   6

 

اگر از حذف لیستی به عنوان مبنای مطالعه خود استفاده کنیم، حجم نمونه ما به 111 مشاهده کاهش می یابد. که 27.5 درصد گمشده هستند.

تعداد موارد کامل را با دستور زیر بررسی کنید

 

sum(complete.cases(airquality))
[1] 111

 

بدون شک چنین کاهش شدیدی در حجم نمونه منجر به تخمین‌های نادرست و همچنین کاهش دقت خواهد شد.

خوشبختانه، ما می‌توانیم به لطف انتساب داده‌های گمشده عملکرد بهتری داشته باشیم!

استفاده از R برای انتساب داده های گمشده

“mice” مخفف multivariate imputations by chained equations یعنی انتساب چند متغیره توسط معادلات زنجیره ای یک ابزار انتساب قوی برای R است.

برای کاربران متخصص، بسته “mice” انواع تکنیک ها و ویژگی های انتساب داده های گمشده را ارائه می دهد. با این حال، ویژگی های پیش فرض فوق العاده ای نیز دارد و بنابراین استفاده از آن برای تازه واردان بسیار ساده است.

ابتدا باید بسته “mice” را نصب و بارگذاری کنیم

 

#install.packages("mice")
library("mice")

در مرحله بعد، از کد زیر برای محاسبه داده های گمشده استفاده کنید. اکنون می توانیم داده های گمشده را Impute کنیم:

imp <- mice(airquality, m = 1)
     iter imp variable
  1   1  Ozone  Solar.R
  2   1  Ozone  Solar.R
  3   1  Ozone  Solar.R
  4   1  Ozone  Solar.R
  5   1  Ozone  Solar.R

ما به سادگی می‌توانیم داده‌های دریافتی خود را در یک مجموعه داده‌های تازه و تمام‌شده پس از انتساب داده های مفقودذخیره کنیم و یک قاب داده جدید با داده های منتسب ایجاد کنید.

 

airquality_imputed <- complete(imp)

 

اکنون دیگر داده ای مفقود نیست و انتساب کامل شده است.

 

head(airquality_imputed)
summary(airquality_imputed)
Ozone           Solar.R           Wind             Temp      
 Min.   :  1.00   Min.   :  7.0   Min.   : 1.700   Min.   :56.00  
 1st Qu.: 18.00   1st Qu.:120.0   1st Qu.: 7.400   1st Qu.:72.00  
 Median : 32.00   Median :207.0   Median : 9.700   Median :79.00  
 Mean   : 41.76   Mean   :188.8   Mean   : 9.958   Mean   :77.88  
 3rd Qu.: 61.00   3rd Qu.:259.0   3rd Qu.:11.500   3rd Qu.:85.00  
 Max.   :168.00   Max.   :334.0   Max.   :20.700   Max.   :97.00  
     Month            Day      
 Min.   :5.000   Min.   : 1.0  
 1st Qu.:6.000   1st Qu.: 8.0  
 Median :7.000   Median :16.0  
 Mean   :6.993   Mean   :15.8  
 3rd Qu.:8.000   3rd Qu.:23.0  
 Max.   :9.000   Max.   :31.0

 

واقعاً آنقدرها هم سخت نبود، نه؟

 

مطالب زیر را هم از دست ندهید:

اندازه اثر در تحلیل واریانس

نحوه تعیین خودکار تعداد خوشه ها توسط قانون آرنج

هوش مصنوعی (AI) چیست؟ 3 چیز که باید بدانید

تجزیه و تحلیل آماری: تعریف، مثال

روایی نتیجه گیری آماری (SCV) چیست؟

تحلیل سئوال روش تحقیق آزمون دکتری

تحلیل مؤلفه‌های اصلی (PCA)

چگونه نتایج حاشیه خطا را تفسیر کنیم؟

تفسیر ضریب کاپا

تفاوت بین یادگیری ماشین، علم داده، هوش مصنوعی، یادگیری عمیق و آمار

آمار در مقایسه با یادگیری ماشینی در سیستم های بیولوژیک

نحوه ترکیب چندین نمودار در R

 

اشتراک گذاری در facebook
اشتراک گذاری در twitter
اشتراک گذاری در linkedin
اشتراک گذاری در telegram
اشتراک گذاری در whatsapp
نوشته های مرتبط

یک پاسخ

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *