কীভাবে এন -1 ভেরিয়েবল ব্যবহার করে ডামি ভেরিয়েবল কার্যকর করা যায়?


9

4 টি স্তর সহ আমার যদি একটি ভেরিয়েবল থাকে, তত্ত্বের ক্ষেত্রে আমার 3 টি ডামি ভেরিয়েবলগুলি ব্যবহার করা দরকার। বাস্তবে, এটি আসলে কীভাবে সম্পাদিত হয়? আমি কি 0-3 ব্যবহার করি, আমি কি 1-3 ব্যবহার করি এবং 4 টি ফাঁকা রেখে দেই? কোন পরামর্শ?

দ্রষ্টব্য: আমি আর-তে কাজ করতে যাচ্ছি

আপডেট: আমি যদি কেবল একটি কলাম ব্যবহার করি যা AD এর সাথে সম্পর্কিত 1-4 ব্যবহার করে? এটি কি কাজ করবে বা সমস্যাগুলির পরিচয় দেবে?


3
আমি মনে করি ইউসিএলএ এটিএসের এই পৃষ্ঠাটি এটি বেশ ভালভাবে ব্যাখ্যা করেছে।
কারাকাল

4
শুধু পরিষ্কার হবে, দয়া করে মনে রাখবেন পূর্ণসংখ্যার 0-3 বা 1-4 বা 1-3 হিসাবে এই পরিবর্তনশীল কোডিং হয় না একটি ডামি কোডিং হবে না তিন ডামি ভেরিয়েবল হিসাবে একই প্রভাব আছে। তবে, যেমন একটি ভুল কোডিং ইচ্ছা রিগ্রেশন সূত্র এবং সফ্টওয়্যার কাজ এবং সেখানে হবে বিশ্বাসযোগ্য আউটপুট হতে: এটা শুধু অভিপ্রেত মডেল মিলা করা হবে না। (এনবি: এটি প্রশ্নের সাম্প্রতিক আপডেটের জবাব দেয় ))
শুক্রবার

উত্তর:


11

অনুশীলনে, একজন সাধারণত ডামি ভেরিয়েবলগুলি তৈরি এবং পরিচালনা করতে পছন্দসই হ্যান্ডেলগুলির একটি সফ্টওয়্যার দেয়। এটি পরিচালনা করার বিভিন্ন উপায় রয়েছে; চারটি পর্যবেক্ষণ সহ ডেটা সেট করার জন্য এখানে বেশ কয়েকটি সাধারণ সম্ভাবনা রয়েছে, এ, বি, সি এবং ডি এর প্রতিটি স্তরে একটি করে এগুলি বিভিন্ন প্যারামিটারাইজেশন; তারা ঠিক একই মডেল ফিট করে তবে পরামিতিগুলির বিভিন্ন ব্যাখ্যা সহ। বেসিক বীজগণিত ব্যবহার করে একজন সহজেই একজন থেকে অন্যটিতে রূপান্তর করতে পারেন; নোট করুন এগুলি একে অপরের লিনিয়ার সংমিশ্রণ; আসলে, যে কোনও রৈখিক সংমিশ্রণ ব্যবহার করা যেতে পারে।

প্রথম স্তর থেকে পৃথক ব্যবহার করুন (আর ডিফল্ট):

A 0 0 0
B 1 0 0
C 0 1 0
D 0 0 1

শেষ স্তর (এসএএস-এ ডিফল্ট) থেকে পার্থক্যগুলি ব্যবহার করুন:

A 1 0 0
B 0 1 0
C 0 0 1
D 0 0 0

"যোগফল" বিপরীতে ব্যবহার করুন:

A    1    0    0
B    0    1    0
C    0    0    1
D   -1   -1   -1

"হেলমার্ট" বিপরীতে ব্যবহার করুন:

A   -1   -1   -1
B    1   -1   -1
C    0    2   -1
D    0    0    3

1
আমি বলব, বিশুদ্ধতার জন্য, ডামি ভেরিয়েবলগুলি, কঠোর দৃশ্যে, কেবলমাত্র 1 ম এবং 2 য় উদাহরণ examples ডামি ভেরিয়েবলগুলি সূচক বিপরীতে ভেরিয়েবল হিসাবেও পরিচিত । হেলমার্ট , বিচ্যুতি এবং অন্যান্য বিকল্প ধরণের বিপরীতে ভেরিয়েবলগুলিকে আমার কাছে ডামি বলা উচিত নয় ।
ttnphns

1
@ এনটিএনএফএনএস আমি সম্মত হই যে হেলমার্ট বিপরীতে প্রযুক্তিগত দৃষ্টিকোণ থেকে ডামি কোডিং গঠন করে না, তবে আমি মনে করি যে তবেই তাদের এখানে অন্তর্ভুক্ত করা পুরোপুরি যুক্তিসঙ্গত। আপনি পরিষ্কার করে দেওয়ার জন্য বা উত্তরটি পরিবর্তন করার পরামর্শ দিচ্ছেন কিনা তা আমি বলতে পারছি না। @ হারুন +1, এই বিভিন্ন কোডিং স্কিমগুলির ব্যাখ্যা কীভাবে আলাদা হবে তা আপনি সংক্ষিপ্তভাবে ব্যাখ্যা করতে গেলে এই উত্তরটি আরও ভাল হবে।
গুং - মনিকা পুনরায়

7

আসুন ধরে নেওয়া যাক আপনার চলক স্তরগুলি হ'ল এ, বি, সি, এবং ডি If যদি আপনার রিগ্রেশনটিতে একটি ধ্রুবক শব্দ থাকে তবে আপনার জন্য তিনটি ডামি ভেরিয়েবল ব্যবহার করা উচিত, অন্যথায় আপনার চারটি থাকা দরকার।

অনেকগুলি গাণিতিক সমতুল্য উপায় রয়েছে যা আপনি ডামি ভেরিয়েবলগুলি প্রয়োগ করতে পারেন। যদি আপনার রিগ্রেশনটিতে একটি স্থির মেয়াদ থাকে, তবে একটি উপায় হ'ল স্তরের একটিটিকে "বেসলাইন" স্তর হিসাবে বেছে নেওয়া এবং অন্য তিনটির সাথে এটির তুলনা করা। আসুন আমরা দৃ conc়তার জন্য বলি যে বেসলাইন স্তরটি এ। তারপরে আপনার প্রথম ডামি ভেরিয়েবলটি 1 এর মান গ্রহণ করে যখনই স্তরটি বি এবং 0 হয় অন্যথায়; দ্বিতীয়টি যখন 1 এবং অন্যথায় স্তরটি হয় তখন 1 এর মানটি গ্রহণ করে এবং তৃতীয়টি যখনই ডি এবং অন্যথায় 0 হয় তখন তৃতীয়টি মান 1 গ্রহণ করে। আপনার ধ্রুবক শব্দটি সর্বদা 1 এর সমান হওয়ার কারণে, প্রথম ডামি ভেরিয়েবলের আনুমানিক সহগ হবে বি এবং এ স্তরের পার্থক্যের অনুমান এবং একইভাবে অন্যান্য ডামি ভেরিয়েবলগুলির জন্য।

আপনার যদি ধ্রুবক শব্দ না থাকে তবে আপনি কেবল আগের স্তরের মতো চারটি ডামি ভেরিয়েবল ব্যবহার করতে পারেন, কেবলমাত্র A স্তরের জন্য একটি যুক্ত করে।


রিগ্রেশন সম্পর্কিত ক্ষেত্রে কীভাবে একটি স্থায়ী মেয়াদ থাকা উচিত তা সম্পর্কে ভাল নোট।
অ্যারন

5

আর-তে, ভেরিয়েবলটিকে একটি ফ্যাক্টর হিসাবে সংজ্ঞায়িত করুন এবং এটি এটি আপনার জন্য বাস্তবায়ন করবে:

x <- as.factor(sample(LETTERS[1:4], 20, replace = TRUE))
y <- rnorm(20)
lm (y ~ x)

যা ফিরে আসে

Call:
lm(formula = y ~ x)

Coefficients:
(Intercept)           xB           xC           xD  
     1.0236      -0.6462      -0.9466      -0.4234  

আর-তে 'এলএম', 'ফ্যাক্টর', এবং 'সূত্র' এর জন্য ডকুমেন্টেশন কিছু বিবরণ পূরণ করে।


1
+1 এটি ইতিমধ্যে তালিকাভুক্ত উত্তরের একটি পরিপূরক। আমরা এটিও নোট করতে পারি যে আপনার যদি ইতিমধ্যে গ্রুপের নামগুলির সাথে একটি পরিবর্তনশীল (যেমন AD) থাকে তবে এটি অতিরিক্ত পদক্ষেপ ছাড়াই বিশ্লেষণ ফাংশন কলটিতে করা যেতে পারে: lm(y ~ as.factor(x))
গং - মনিকা পুনরায়

আমি ডামি ভেরিয়েবলগুলি ব্যবহারের দিকে নজর দিচ্ছি তার মূল কারণটি হ'ল আমি অনেকগুলি ফ্যাক্টর স্তর (> 32) এবং একটি বৃহত ডাটা সেট নিয়ে কাজ করছি যা আর এর কিছু প্যাকেজ (যথা র্যান্ডম ফরেস্ট) অনেক স্তরের সাথে উপাদানগুলি পরিচালনা করতে পারে না, তাই আমি চেষ্টা করছিলাম ডামির কাজ ছিল কিনা তা দেখার জন্য।
স্কিচওল

1
আপনি 'মডেল.ম্যাট্রিক্স' ব্যবহার করে রিগ্রেশন ডিজাইন ম্যাট্রিক্স তৈরি করতে পারেন: Model.matrix (y (x) (x এখনও একটি ফ্যাক্টর) আপনাকে ডামি ভেরিয়েবল সহ একটি ম্যাট্রিক্স দেবে। আমি র্যান্ডমফ্রস্ট প্যাকেজটির সাথে পরিচিত নই, তবে আমি সন্দেহ করি যে আপনি যে কোনও ফাংশনটি একটি মডেল.ম্যাট্রিক্স থেকে প্রাপ্ত একটি স্পষ্ট ডিজাইন ম্যাট্রিক্স দিতে পারবেন এবং মডেল.ম্যাট্রিক্স অনেকগুলি (অর্থাৎ শত) স্তর নিয়ে কাজ করে বলে মনে হচ্ছে।
ধূসর

PS: আপনি প্রশ্নটি সম্পাদনা করতে চাইতে পারেন এটি পরিষ্কার করে দিতে যে আপনি যে সমাধানগুলি প্রচুর স্তরের সাথে কাজ করেন সে সম্পর্কে যত্নশীল। প্রশ্নটি 4 সম্পর্কে জিজ্ঞাসা করে
গ্রে গ্রেড

4

whuber আপনাকে মন্তব্যে বলেছিল যে ডামি ভেরিয়েবলগুলি তৈরি করার পরিবর্তে একটি 0-3 বা 1-4 কোডিং কোডিং করা আপনি চান তা নয়। এটি চেষ্টা করে দেখুন - আমি সেই মডেলটির সাথে আপনি কী করছেন এবং এটি কেন ভুল তা আশা করি explain

আপনি যদি একটি ভেরিয়েবল এক্স কোড করেন যে যদি এ, এক্স = 1, বি, তারপর এক্স = 2, সি তারপর এক্স = 3, ডি তারপর এক্স = 4 তারপর আপনি যখন রিগ্রেশন করেন আপনি কেবল একটি পরামিতি পাবেন। ধরা যাক এটি শেষ হয়ে গেল যে এক্স এর সাথে সম্পর্কিত অনুমিত প্যারামিটারটি 2 ছিল This এটি আপনাকে বলবে যে বি এর গড় এবং A এর গড় মধ্যকারের মধ্যে প্রত্যাশিত পার্থক্য 2 এটি আপনাকে বলবে যে সি এর গড়ের মধ্যবর্তী প্রত্যাশিত পার্থক্য এবং বি এর গড় গড় 2 এবং কিছু ডি এবং সি এর জন্য আপনি এই গোষ্ঠীগুলির পক্ষে এই অত্যন্ত কঠোর প্যাটার্নটি অনুসরণ করার জন্য বিভিন্ন কারণে জোর করে চলেছেন for এই প্যারামিটারটি আপনাকে জানায় যে আপনার গ্রুপের সমস্ত কীভাবে একে অপরের সাথে সম্পর্কিত।

সুতরাং আপনি যদি এই ধরণের কোডিং করে থাকেন তবে আপনাকে ধরে নিতে হবে যে কেবলমাত্র আপনি ক্রমটি সঠিকভাবে পেয়েছেন না (কারণ এই ক্ষেত্রে যদি আপনি A থেকে B এ বৃদ্ধি প্রত্যাশা করেন তবে আপনাকে বি থেকে সি এবং সি থেকে বৃদ্ধি প্রত্যাশা করা উচিত থেকে ডি) তবে আপনাকেও ধরে নিতে হবে যে পার্থক্যটি একই!

পরিবর্তে যদি আপনি ডামি কোডিংয়ের পরামর্শ দেন যা আপনি প্রতিটি গ্রুপকে তার নিজস্ব অর্থ হতে দিচ্ছেন - কোনও সীমাবদ্ধতা নেই। এই মডেলটি অনেক বেশি বুদ্ধিমান এবং আপনি যে প্রশ্নগুলি চান তার উত্তর দেয়।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.