আর-তে একাধিক নির্ভরশীল ভেরিয়েবল সহ সাধারণীকরণীয় রৈখিক মডেলটি কীভাবে করবেন?


17

আমার ছয় নির্ভরশীল ভেরিয়েবল (গণনা ডেটা) এবং বেশ কয়েকটি স্বতন্ত্র ভেরিয়েবল রয়েছে, আমি দেখতে পাচ্ছি যে এমএমআর-তে স্ক্রিপ্টটি এরকম হয়:

my.model <- lm(cbind(DV1,DV2,DV3,DV4,DV5,DV6) ~ IV1 + IV2 + ... + IVn)

তবে, যেহেতু আমার ডেটা গণনা করা হয়েছে, তাই আমি একটি সাধারণীকরণীয় রৈখিক মডেলটি ব্যবহার করতে চাই এবং আমি এটি চেষ্টা করেছি:

my.model <- glm(cbind(DV1,DV2,DV3,DV4,DV5,DV6) ~ IV1 + IV2 + ... + IVn, family="poisson")

এবং প্রদর্শিত হয় এই ত্রুটি বার্তা:

Error in glm.fit(x = c(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,  : 
  (subscript) logical subscript too long`

কেউ আমাকে এই ত্রুটি বার্তা বা আমার সমস্যা সমাধানের উপায় ব্যাখ্যা করতে পারেন?


@ জর্জিও স্পিডিকাটো এর উত্তর অনুসরণ করে: আমরা কি ধরে নেব যে আপনি এমন একটি মডেল চান যা আপনি প্রতিটি নির্ভরশীল পরিবর্তনশীলকে আলাদাভাবে বিবেচনা করেন, lmআপনি যখন ম্যাট্রিক্স দেবেন তখন কি করে?
কনজুগেটপায়ার

আমি বিশ্লেষণের দ্বিতীয় অংশটি মিস করি। এর পরে একটি এমএমআর (মাল্টিভিয়ারেট মাল্টিপল রিগ্রেশন) -এ: lm(cbind(DV1,DV2,DV3,DV4,DV5,DV6) ~ IV1 + IV2 + ... + IVn) অবশ্যই আবশ্যক
জুয়ান

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

আমি বিশ্লেষণের দ্বিতীয় অংশটি মিস করি। এর পরের lm(cbind(DV1,DV2,DV3,DV4,DV5,DV6) ~ IV1 + IV2 + ... + IVn) এমএমআরতে (মাল্টিভিয়ারেট মাল্টিপল রিগ্রেশন): আমাকে অবশ্যই মানোভা () কমান্ডটি ব্যবহার করতে হবে: summary(manova(my.model)) বৈকল্পিকটির বহুবিধ বিশ্লেষণ করতে এবং প্রতিটি স্বতন্ত্র ভেরিয়েবলের তাত্পর্য দেখতে। এটাই চূড়ান্ত লক্ষ্য।
জুয়ান

মনোভা বা আনোভা উভয়ই এই জাতীয় ডেটার জন্য সংজ্ঞায়িত করা হয়, তাই এটি সরবরাহ করা হয় না। তবে আপনি যদি প্রতিটি চতুর্থ এর প্রভাব দেখতে চান তবে প্রদত্ত রিগ্রেশন টেবিলটি summaryআপনাকে প্রতিটি ডিভির জন্য দিবে।
কনজুগেটপায়ার

উত্তর:


11

সংক্ষিপ্ত উত্তরটি glmসেভাবে কাজ করে না। lmতৈরি করবে mlmবস্তু যদি আপনি এটি একটি ম্যাট্রিক্স দিতে, কিন্তু এই ব্যাপকভাবে জেনেরিক্স সমর্থিত নয় এবং যেকোনোভাবে সহজেই সাধারণের করতে পারেনি glmকারণ ব্যবহারকারীদের লজিস্টিক রিগ্রেশন মডেলের জন্য দ্বৈত কলাম নির্ভরশীল ভেরিয়েবল উল্লেখ করতে সক্ষম হতে হবে।

সমাধানটি হ'ল মডেলগুলি পৃথকভাবে ফিট করে। ধরে নিন আপনার আইভি এবং ডিভিগুলি একটি ডেটা ফ্রেমে বাস করে dd। নিম্নলিখিত কোডটি ব্যবহার করা নির্ভরশীল ভেরিয়েবলের নামের সাথে সূচিযুক্ত ফিটযুক্ত মডেলের একটি তালিকা তৈরি করে:

models <- list()
dvnames <- paste("DV", 1:6, sep='')
ivnames <- paste("IV", 1:n, sep='') ## for some value of n

for (y in dvnames){
  form <- formula(paste(y, "~", ivnames))
  models[[y]] <- glm(form, data=dd, family='poisson') 
}

ফলাফলগুলি পরীক্ষা করতে, কেবল আপনার স্বাভাবিক ফাংশনগুলিকে এগুলিতে মোড়ানো করুন lapply:

lapply(models, summary) ## summarize each model

আর-তে এটি করার আরও নিখুঁত উপায় নেই এতে কোনও সন্দেহ নেই তবে এটি কাজ করা উচিত।


6

আমাকে বলা হয়েছিল মাল্টিভিয়ারেট জেনারেলাইজড লিনিয়ার (মিশ্রিত) মডেলগুলি রয়েছে যা আপনার সমস্যার সমাধান করে। আমি এটি সম্পর্কে বিশেষজ্ঞ নই, তবে আমার সাবার ডকুমেন্টেশন এবং মাল্টিভারিয়েট জিএলএম সম্পর্কিত এই বইটি দেখতে হবে। তারা সাহায্য করতে পারে ...


2
আপনি একটি আকর্ষণীয় পয়েন্ট আনুন (+1)। মাল্টিভাইয়ারেট জিএলএম অবশ্যই বিদ্যমান। অন্যদিকে, দান lmএকটি নির্ভরশীল পরিবর্তনশীল জন্য একটি ম্যাট্রিক্স সম্ভবত অন্বিত চিনি হিসাবে আরো দেখা উচিত একটি বহুচলকীয় মডেলের অভিব্যক্তি হিসাবে চেয়ে যদি এটা ছিল একটি বহুচলকীয় (স্বাভাবিক) মডেল এটা হতে চাই এক যেখানে ত্রুটি আছে ' গোলাকার ', অর্থাত্ এমন এক যেখানে আপনি নির্ভরশীল ভেরিয়েবলের প্রতিটি উপাদানের উপর পৃথক রেজিস্ট্রেশন চালিয়ে একই উত্তর পেতে পারেন।
কনজুগেটপায়ার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.