داده های گمشده در SPSS – راهنمای کاربردی


در بررسی و تحقیقات علمی، ممکن است برای بعضی از مشاهدات (Cases) یا موارد مورد بررسی اندازهگیری متغیر یا متغیرهایی امکانپذیر نباشد، یا حتی بازخوانی اطلاعات مرتبط به آن مشاهدات خوانا و قابل ثبت نباشد. چنین مواردی باعث ثبت «داده های گمشده» (Missing Data) خواهد شد.
ثبت و مشخص کردن مشاهداتی که دارای داده گمشده هستند از اهمیت زیادی برخوردار است. در مواجهه با این موارد، ممکن است لازم باشد، مقدار چنین مشاهداتی بازنگری شده یا برحسب میانگین دیگر مشاهدات، جایگزین شود. از همین رو در این نوشتار به معرفی دادههای گمشده در SPSS پرداخته و روشهای مدیریت آنها را مرور خواهیم کرد.
باید توجه داشت که چنین دادههایی را در نرمافزارهای دیگر مانند زبان برنامهنویسی R با مقدار NA مشخص میکنند که اختصار بر گرفته از عبارت «Not Available» است و به آنها داده ناموجود میگویند.
داده های گمشده در SPSS
در SPSS داده های گمشده (Missing Data) به دو گروه تقسیم میشوند:
- مقدارهای گمشده سیستمی (System Missing Values)
- مقدارهای گمشده کاربر (User Missing Values)
مقدار یا داده گمشده سیستمی (System Missing Value)
در گروه یا نوع اول که به آن مقدارهای گمشده سیستمی (System Missing Values) گفته میشود، مقدار ثبت یا اندازهگیری نشده است. به این ترتیب هنگام ثبت در SPSS نیز در پنجره «ویرایشگر دادهها» (Data Editor) برای متغیر مشاهده مورد نظر، سلول را خالی گذاشته و بطور خودکار SPSS برایش مقداری به صورت «.» قرار میدهد.
باید توجه داشت که چنین مواردی در گزارشات یا خروجیهای مربوط به تحلیلهای دادهها به صورت جداگانه نمایش داده میشوند، ولی برای محاسبات به کار گرفته نخواهند شد. برای مثال فرض کنید که یک جدول فراوانی براساس این سه متغیر مربوط به خدمات موبایل ایجاد کردهایم. میخواهیم مشخص کنیم این افراد، از چه تعداد خدمات تلفن همراه استفاده میکنند.
با اجرای این فرمان، خروجی، جدولهای فراوانی مربوط به این متغیرها خواهد بود. البته در ابتدا یک قسمت مرتبط با تعداد مقدارهای گمشده برای هر متغیر با عنوان Statistics دیده میشود.
مشخص است که ۱ مشاهده برای هر یک از متغیرهای مکالمه و اینترنت ثبت نشده ولی متغیر پیامک دارای ۳ مقدار گمشده سیستمی است. به این ترتیب متوجه میشویم که ۶ نفر از خدمات مکالمه، ۵ نفر از خدمات اینترنت و ۴ نفر نیز از خدمات پیامک استفاده میکنند.
نکته: همانطور که در جدول ویرایش دادهها (Data Editor) میبینید، متغیر «سال تولد» (Birth Year) نیز دارای مقدار گمشده سیستمی است ولی از آنجایی که به عنوان پارامتر دستور جدول فراوانی (Frequency Table) انتخاب نشده بود، در خروجی دیده نمیشود.
مقدار یا داده گمشده کاربر (User Missing Value)
منظور از داده گمشده کاربر، مقداری است که توسط کاربر وارد شده ولی نباید در محاسبات به کار برود و رفتار SPSS با آن در انجام تحلیلها مانند داده گمشده سیستمی خواهد بود.
شاید به نظر برسد که اگر قرار است این دادهها در محاسبات نقشی نداشته باشند، پس چرا از همان نوع داده گمشده سیستمی نباشند. علت این امر شاید وجود داده یا مقدار ثبت شدهای است که توسط کاربر وارد شده ولی با توجه به وضعیت متغیر و محدوده مقدارهای آن، این مقدار ثبتی، صحیح به نظر نمیرسد. برای مثال ممکن است کاربر سال تولد را به اشتباه کمتر از ۱۲8۰ وارد کرده باشد (که باعث میشود سن فرد فراتر از ۱۲۰ سال در نظر گرفته شود) که یک مورد استنثنایی است. یا از طرف دیگر سال تولد را بزرگتر از ۱۳۹۷ وارد کرده باشد که برای فردی با این سن، استفاده از خدمات تلفن همراه بعید به نظر میرسد.
از طرف دیگر قرار است که برای مشخص کردن وضعیت استفاده از خدمات تلفن همراه برای متغیرهای مکالمه، اینترنت و پیامک مقدارهای ۰ و ۱ وارد شود. با پرسشگر این طرح تحقیقی قرار گذاشتهایم که اگر فرد پاسخ دهنده قرار است که در آینده از این گونه خدمات استفاده کند، مقدار ۲ را ثبت کند. از نظر تحلیلگر داده، مقدار ۲ نشاندهنده مقدار واقعی نیست و باید از تحلیلها و محاسبت حذف شود ولی لازم است که تعداد این جمعیت بالقوه نیز طی یک گزارش، اعلام شود. بنابراین این مقدار را برای خدمات تلفن همراه به عنوان مقدار گمشده کاربر در نظر میگیریم.
برای معرفی و تنظیم ویژگیهای مقدارهای گمشده کاربر باید مراحل زیر را طی کنیم:
- از برگه Variable View در پنجره Data Editor برای متغیر دلخواه، از ستون missing استفاده کرده و دکمه ... را انتخاب میکنیم.
- در پنجره ظاهر شده با عنوان Missing Values دو بخش برای تعیین مقدار گمشده وجود دارد. در بخش اول با مشخص کردن سه مقدار مجزا برای متغیر مورد نظر، مقدارهای گمشده کاربر را معرفی میکنیم یا در بخش دوم با انتخاب یک محدوده از اعداد به همراه یک عدد مجزا، کار مشخص کردن دادههای گمشده کاربر را به اتمام میرسانیم.
تصویرهای زیر این قسمتها را به خوبی نشان میدهد.


نکته: اگر میخواهید که نحوه استفاده از خدمات تلفن همراه به جای کدها بوسیله متن مشخص شود، از تنظیمات مربوط به Label را از پنجره Data Editor و برگه Variable ٰView انتخاب کنید. کافی است تنظیمات را مطابق تصویر زیر انجام دهید تا برای مقدار ۰ برچسب «عدم استفاده» و برای ۱ «استفاده» و همچنین برای ۲ نیز برچسب «استفاده در آینده» قرار گیرد.
حال فرض کنید که «مجموعه داده» (Data Set) قبلی به صورت زیر تغییر کرده باشد.
حال اگر به همان صورت قبل جدول فراوانی را اینبار برای همه متغیرها ایجاد کنیم، با توجه به معرفی دادههای گمشده کاربر، خروجیها به صورت زیر در خواهد آمد.
در اولین جدول که آمارههای مربوط به مشاهدات را نشان میدهد، همه دادههای گمشده چه از نوع کاربر یا از نوع سیستمی در کنار هم به عنوان Missing شناسایی شدهاند. ولی در جدولهای فراوانی مشخص است که این دو با یکدیگر تفاوت دارند.
همانطور که میبینید، مقدارهای نامعتبر به عنوان Missing در جدول فراوانی ثبت شدهاند. تفاوت بین دادههای گمشده سیستمی (System) و کاربر در این جدولها کاملا مشخص است.
تحلیلهای آماری با دادههای گمشده
همانطور که گفته شد، در اجرای تحلیلهای آماری، مشاهداتی که دارای مقدارهای گمشده هستند، نادیده گرفته شده و بدون در نظر گرفتن آنها (چه مقدارهای گمشده سیستمی چه کاربر) محاسبات صورت میگیرد. در بیشتر پنجرههای پارامترهای تحلیلهای آماری گزینهای به نام Options وجود دارد که وضعیت استفاده از دادههای گمشده را بخصوص در زمانی که بیش از یک متغیر در تحلیل به کار میرود، مشخص میکند.
به تصویر زیر توجه کنید. همانطور که میبینید در فرمان یا دستور Explore زمانی که همه متغیرها را در تحلیل به کار میبریم، باید مشخص کنیم که اگر یکی از متغیرها دارای یک مشاهده با مقدار گمشده باشد، آیا باید آن مشاهده برای تحلیل روی دیگر متغیرها نیز حذف شود یا خیر.
حالت اول: حذف همه مشاهدات گمشده (Exclude Cases Listwise)
در این حالت در انجام محاسبات و تحلیلها فقط مشاهداتی به کار میروند که برای همه متغیرهای معرفی شده در تحلیل، دارای مقدار هستند. بنابراین اگر مقدار گمشدهای مربوط به یکی از متغیرها باشد ولی در متغیرهای دیگر مقدار داشته باشد، آن مشاهده کلا حذف شده و حتی برای محاسبات متغیرهای دیگر نیز به کار نخواهد رفت.
در زیر خروجی دستور Explore را در چنین حالتی میبینید.
اگر به دادههای جدول اطلاعاتی توجه کنید، مشاهده خواهید کرد که فقط ۸ مشاهده (۸ ردیف از اطلاعات) وجود دارد که هیچ مقدار گمشدهای برای همه متغیرها ندارند. به همین علت در ستون N در قسمت Valid تعداد مشاهدات ۸ ثبت شده است. بنابراین در ادامه، مقدار میانگین، فاصله اطمینان و ... فقط براساس هشت مشاهده بدست آمده است.
نکته: مشخص است که در این حالت، تعداد مشاهدات به کار رفته در تحلیل، برای همه متغیرها یکسان و برابر است.
حالت دوم: حذف دادههای گمشده به طور مجزا برای هر متغیر (Exclude Cases Pairwise)
در این حالت تحلیل برای هر متغیر براساس دادههای گمشدهای مرتبط با آن متغیر صورت میگیرد. بنابراین در این حالت تعداد مشاهدات معتبر برای تحلیل، از متغیری به متغیر دیگر متفاوت خواهد بود.
به تغییر مقدارهای ستون N در جدول اول توجه کنید. همچنین مشخص است که مقدار میانگین سال تولد در این حالت با حالت قبل متفاوت است.
نکته: در بعضی از پنجرههای Option با توجه به نوع تحلیل، این گزینه (مثلا در پنجره One-Sample T Test: Options) به نام Exclude Analysis by Analysis دیده میشود.
حالت سوم: گزارش مقدارها (Report Values)
گاهی در پنجره Options گزینه Report Values نیز دیده میشود. برای مثال در دستور Explore به علت آن که لیستی برای معرفی متغیر یا متغیرهای عامل (Factor List) وجود دارد این گزینه ظاهر شده است. با انتخاب Report Values به SPSS میگویید که به ازاء مقدارهای گمشده کاربر، محاسبات مربوط به متغیرهای موجود در Dependent List را به عنوان یک گروه مجزا نمایش بدهد.
به این ترتیب برای مقدار گمشده ۲ و همچنین کسانی که سال تولدشان کمتر از ۱۲80 است، محاسبات مربوطه در دستور Explore انجام شده و در خروجی ظاهر میشوند.
همانطور که دیده میشود، مقدار گمشدهای که توسط کاربر ایجاد شده به عنوان یک گروه در نظر گرفته شده و محاسبات برای آن نیز به عنوان گزارش نهایی ثبت و نمایش داده شده است.
نکته: در جدول اول، مقدارهای گمشده سیستم و کاربر جداگانه گزارش شدهاند. در سطر اول مقدارهای گمشده سیستمی و در سطر آخر مقدارهای گمشده کاربر قرار گرفته است.
اگر این مطلب برایتان مفید بوده است، آموزشهای که در ادامه آمدهاند نیز به شما پیشنهاد میشوند:
- مجموعه آموزش های SPSS
- مجموعه آموزشهای نرمافزارهای آماری
- مجموعه آموزش های نرم افزار آماری SPSS
- آموزش کنترل کیفیت آماری با SPSS
- داده گمشده یا ناموجود (Missing Data) در R – روشهای پاکسازی دادهها
- دادههای سانسور شده (Censored Data) در آمار — به زبان ساده
^^
سلام ، وقت بخیر
یه سوال داشتم ، خیلی ممنون میشم راهنماییم کنید.
من یه فایل SPSS دارم که حدودا 3500 رکورد (ردیف) و 138 ستون داره،
Nan value خیلی زیادی داره ، میخواستم وقتی خروجی .csv یا .xsxl میگیرم ، به جای اینکه Nan Value ها رو به شکل جای خالی (Space) نشون بده ، مقدار Null یا Nan رو نشون بده .
خیلی ممنون میشم راهنمایی کنید.
خیلی خوب توضیح داده شده