شما نمی توانید به راحتی از داده های رسته ای به عنوان پیش بینی کننده های رگرسیون خطی استفاده کنید: شما باید آنها را به متغیرهای دوگانه ای معروف به متغیرهای تصنعی تقسیم کنید.

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

  • مثال 1- متغیر عددی
  • مثال 2- متغیر عددی با عددهای صحیح مجاور
  • مثال 3- متغیر رشته با تبدیل
  • مثال 4- متغیر رشته بدون تبدیل

داده های مثال

این آموزش ازداده های داخل سایت staff.savاستفاده می کند. بخشی از این داده در زیر نشان داده شده است.

مثال 1- متغیر عددی

بیایید ابتدا متغیرهای تصنعی را برای marit ، که مخفف وضعیت تأهل است ایجاد کنیم. اولین قدم ما اجرای یک جدول فراوانی با دستور frequencies maritاست. شکل زیر جدول حاصل را نشان می دهد.

بنابراین چگونه می توان وضعیت تأهل را به متغیرهای ساختگی تقسیم کرد؟ اولاً ، ما همیشه یک دسته راحذف میکنیم ، که دسته مرجع نام دارد. شما می توانید هر دسته ای را به عنوان دسته مرجع انتخاب کنید. بنابراین برای این مثال ، 5 (بیوه) را انتخاب می کنیم. این بدان معنی است که ما 3 متغیر تصنعی را که نمایانگر دسته های 1 ، 2 و 4 هستند ایجاد خواهیم کرد (توجه داشته باشید که 3 در این متغیر وجود ندارد).

دستور زیر نحوه ایجاد و برچسب گذاری 3 متغیر ساختگی ما را نشان می دهد. بیایید آن را اجرا کنیم.

*Create dummy variables for categories 1, 2 and 4.

compute marit_1 = (marit = 1).
compute marit_2 = (marit = 2).
compute marit_4 = (marit = 4).

*Apply variable labels to dummy variables.

variable labels
marit_1 ‘Marital Status = Never Married’
marit_2 ‘Marital Status = Currently Married’
marit_4 ‘Marital Status = Divorced’.

*Quick check first dummy variable

frequencies marit_1.

نتایج

 اول از همه ، توجه داشته باشید که ما 3 متغیر ساختگی با برچسب های زیبا در مجموعه داده فعال خود ایجاد کردیم.

جدول زیر توزیع فراوانی برای اولین متغیر ساختگی ما را نشان می دهد.

توجه داشته باشید که متغیر تصنعی ما دارای 3 مقدار مجزا است:

  • پاسخ دهندگانی که وضعیت تأهل “هرگز ازدواج نکرده” را انتخاب نکرده اندنمره 0 را کسب می کنند.
  • پاسخ دهندگانی که وضعیت تاهل “هرگز ازدواج نکرده” را انتخاب کرده اندنمره 1؛
  • پاسخ دهندگانی که وضعیت تأهلشان یک مقدار گمشده است (و بنابراین ناشناخته است) دارای ارزش مفقود سیستم هستند.

 اکنون می توانیم نتایج را با اجرای . runningcrosstabs marit by marit_1 to marit_4 با دقت بیشتری بررسی کنیم. با این کار 3 جدول احتمالی ایجاد می شود ، جدول اول در زیر نشان داده شده است.

روی متغیر تصنعی ما ،

1پاسخ دهندگانی که وضعیت تاهل به غیر از “هرگز ازدواج نکرده اند”را انتخاب کرده اند همه نمره 0 دارند.

2پاسخ دهندگانی که “هرگز ازدواج نکردند” را انتخاب کرده اندهمه نمره 1 را کسب کردند.

3اندازه نمونه ما N = 170 است (این جدول فقط شامل پاسخ دهندگان است بدون مقادیر از دست رفته در هر دو متغیر).

 به صورت اختیاری ، بررسی نهایی – بسیار دقیق – بامقایسه نتایج ANOVA برای متغیر اصلی با نتایج رگرسیون با استفاده از متغیرهای تصنعی است. دستور زیر این کار را انجام می دهد ، و از حقوق ماهانه به عنوان متغیر وابسته استفاده می کند.

*Minimal regression using dummy variables.

regression
/dependent salary
/method enter marit_1 to marit_4.

*Minimal ANOVA using original variable.

oneway salary by marit.

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

مثال 2- متغیر عددی با عددهای صحیح مجاور

اکنون متغیرهای تصنعی را برای نواحی جغرافیایی می خواهیم ایجاد کنیم. دوباره ، با بررسی یک جدول حداقلی فراوانی که با اجرای دستور .frequencies region  حاصل می شود شروع می کنیم. نتایج در جدول زیر است.

ما 1 (“شمال”) را به عنوان دسته مرجع خود انتخاب می کنیم. بنابراین ما متغیرهای ساختگی را برای دسته های 2 تا 5 ایجاد خواهیم کرد. از آنجا که اینها اعداد صحیح مجاور هستند ، می توانیم با استفاده از دستور DO REPEAT مطابق شکل زیر سرعت را افزایش دهیم.

*Create dummy variables for region categories 2 through 5.

do repeat #vals = 2 to 5 / #vars = region_2 to region_5.
recode region (#vals = 1)(lo thru hi = 0) into #vars.
end repeat print.

*Apply variable labels to new variables.

variable labels
region_2 ‘Region = East’
region_3 ‘Region = South’
region_4 ‘Region = West’
region_5 ‘Region = Top 4 City’.

*Quick check.

crosstabs region by region_2 to region_5.

بررسی دقیق جداول بدست آمده صحت همه نتایج را تأیید می کند.

مثال 3- متغیر رشته با تبدیل

متأسفانه ، 2 روش اول ما برای متغیرهای رشته ای مانند jtype  که مخفف “نوع کار” است کار نمی کند). آسان ترین راه حل این است که آن را به یک متغیر عددی تبدیل کنید همانطور که در SPSS Convert String to Numeric Variable گفته شده است. دستور زیر برای انجام کار از AUTORECODE استفاده می کند.

*Convert jtype into numeric variable.

autorecode jtype
/into njtype.

*Check result.

frequencies njtype.

*Set missing values.

missing values njtype (1,2).

*Recheck result.

frequencies njtype.

نتیجه

از آنجا که njtype – مخفف برای “نوع کار عددی” – یک متغیر عددی است ، اکنون می توانیم از روش 1 یا روش 2 برای تجزیه آن به متغیرهای تصنعی استفاده کنیم.

مثال 4- متغیر رشته بدون تبدیل

تبدیل متغیرهای رشته ای به عددی ، ایجاد متغیرهای تصنعی برای آنها را آسان می کند. بدون این تبدیل ، فرآیند دشوار است زیرا SPSS مقادیر از دست رفته برای متغیرهای رشته را به درستی کنترل نمی کند. با این حال ، دستور زیر کار را به درستی انجام می دهد.

*Inspect frequencies.

frequencies jtype.

*Chance ‘(Unknown)’ into ‘NA’.

recode jtype (‘(Unknown)’ = ‘NA’).

*Set user missing values.

missing values jtype (”,’NA’).

*Reinspect frequencies.

frequencies jtype.

*Create dummy variables for string variable.

if(not missing(jtype)) jtype_1 = (jtype = ‘IT’).
if(not missing(jtype)) jtype_2 = (jtype = ‘Management’).
if(not missing(jtype)) jtype_3 = (jtype = ‘Sales’).
if(not missing(jtype)) jtype_4 = (jtype = ‘Staff’).

*Apply variable labels to dummy variables.

variable labels
jtype_1 ‘Job type = IT’
jtype_2 ‘Job type = Management’
jtype_3 ‘Job type = Sales’
jtype_4 ‘Job type = Staff’.

*Check results.

crosstabs jtype by jtype_1 to jtype_4.

یادداشت های نهایی

ایجاد متغیرهای تصنعی برای متغیرهای عددی به راحتی و سریع انجام می شود. تنظیم برچسب های مناسب برای متغیر، همیشه کمی کار می برد. متغیرهای رشته به مراحل اضافی نیاز دارند اما قابل انجام هستند.

با این وجود ، ساده ترین گزینه SPSS ایجاد ابزار متغیرهای تصنعی است زیرا از همه چیز کاملاً مراقبت می کند. امیدوارم که این آموزش برای شما مفید واقع شده باشد!

ممنون از مطالعه شما