লজিস্টিক রিগ্রেশন সম্পর্কে প্রশ্ন


14

আমি প্রতি বছর 107 টি পর্যবেক্ষণ করে 10 বছরের সময়কালে (1997-2006) স্বতন্ত্র ভেরিয়েবলের সেট থেকে দ্বন্দ্বের উপস্থিতি বা অনুপস্থিতি (নির্ভরশীল ভেরিয়েবল) মডেল করতে বাইনারি লজিস্টিক রিগ্রেশন চালাতে চাই। আমার স্বতন্ত্ররা হলেন:

  • ভূমির অবক্ষয় (2 ধরণের অবক্ষয়ের জন্য শ্রেণিবদ্ধ);
  • জনসংখ্যা বৃদ্ধি (0- না; 1-হ্যাঁ);
  • জীবিকার তাগিদে (0 - টাইপ ওয়ান; 1 - টাইপ টু);
  • জনসংখ্যার ঘনত্ব (ঘনত্বের তিন স্তর);
  • এনডিভিআই অবিচ্ছিন্ন (সর্বাধিক Veg উত্পাদনশীলতা);
  • এনডিভিআই টি - 1 (আগের বছর থেকে ভেজ মধ্যে হ্রাস - 0 - না; 1 -চ) এবংটি-1
  • এবং এনডিভিআই টি - 2 (দু'বছরের আগে থেকে ভিজিতে হ্রাস - 0- না; 1- হ্যাঁ)।টি-2

আমি এই সমস্ত ক্ষেত্রে মোটামুটি নতুন - এটি এমন একটি প্রকল্প যা আমার প্রভাষক আমাকে দিয়েছেন - এবং তাই আমি কিছু পরামর্শ বা দিকনির্দেশনার জন্য কৃতজ্ঞ হব। আমি ইতিমধ্যে বহুবিধ পরীক্ষা করার জন্য পরীক্ষা করেছি।

মূলত আমার তথ্যগুলি পর্যবেক্ষণের 107 ইউনিটগুলিতে বিভক্ত করা হয়েছে (স্থানিক অঞ্চলগুলি) 10 বছর (মোট 1070) কভার করে এবং পর্যবেক্ষণের প্রতিটি ইউনিটের জন্য এটি সেই ইউনিটের অভ্যন্তরে স্বাধীন ভেরিয়েবলের শর্তগুলির একটি 'স্ন্যাপশট' দেয় ( অঞ্চল). আমি জানতে চাই যে আমার লজিস্টিক রিগ্রেশন (বা টেবিল) কীভাবে সেট করা যায় যাতে প্রতি বছরের 107 মান পৃথকভাবে স্বীকৃতি দেওয়া যায় যাতে বিভিন্ন ইউনিট বছরের মধ্যে অস্থায়ী এনডিভিআই পরিবর্তনগুলি মূল্যায়ন করা যায়?


2
আপনি কি সফ্টওয়্যার ব্যবহার করছেন? এছাড়াও, আপনার প্রভাষক কি আপনাকে লজিস্টিক রিগ্রেশন ব্যবহার করতে বলেছেন? এটি আমার কাছে মনে হচ্ছে এটি কোনও ধরণের বহুস্তরের মডেলটির জন্য কল করে, তবে আপনি যদি কেবল লজিস্টিক শিখেন তবে এটি আপনার প্রভাষকের উদ্দেশ্য হতে পারে না।
পিটার ফ্লুম - মনিকা পুনরায়

1
আপনি কি কেবলমাত্র অস্থায়ী স্ব-সংশোধনের জন্য নিয়ন্ত্রণ করতে চান বা আপনি ট্রেন্ডসকে মডেল করতে চান (ঝুঁকির কারণগুলির মধ্যে সংঘাতের সম্ভাবনা এবং / অথবা সাময়িক পরিবর্তনের ক্ষেত্রে)?
ম্যাক্রো

কেবলমাত্র অস্থায়ী স্বাবলম্বন
স্টিফেন

আপনার ডেটার প্রকৃতি স্থানিক-কালিকালীন। সুতরাং সত্যই নির্বাচিত একটি মডেলকে এই প্রকৃতিটি বিবেচনা করতে হবে।
এইবাগিশানী

3
আপনি যদি কেবলমাত্র সাময়িক স্বতঃসংশোধনের জন্য নিয়ন্ত্রণ করতে চান তবে আপনি জিইই (জেনারালাইজড অনুমানের সমীকরণ) ব্যবহার করতে পারেন এবং দৃ standard় স্ট্যান্ডার্ড ত্রুটির সাথে আপনার অনুমান করতে পারেন।
ম্যাক্রো

উত্তর:


6

এটি আসলে একটি অত্যন্ত পরিশীলিত সমস্যা এবং আপনার প্রভাষকের কাছ থেকে একটি শক্ত জিজ্ঞাসা!

আপনি কীভাবে আপনার ডেটাটি সংগঠিত করেন তার পরিপ্রেক্ষিতে একটি 1070 x 10 আয়তক্ষেত্র ঠিক আছে। উদাহরণস্বরূপ, আর এ:

> conflict.data <- data.frame(
+ confl = sample(0:1, 1070, replace=T),
+ country = factor(rep(1:107,10)),
+ period = factor(rep(1:10, rep(107,10))),
+ landdeg = sample(c("Type1", "Type2"), 1070, replace=T),
+ popincrease = sample(0:1, 1070, replace=T),
+ liveli =sample(0:1, 1070, replace=T),
+ popden = sample(c("Low", "Med", "High"), 1070, replace=T),
+ NDVI = rnorm(1070,100,10),
+ NDVIdecl1 = sample(0:1, 1070, replace=T),
+ NDVIdecl2 = sample(0:1, 1070, replace=T))
> head(conflict.data)
  confl country period landdeg popincrease liveli popden     NDVI NDVIdecl1 NDVIdecl2
1     1       1      1   Type1           1      0    Low 113.4744         0         1
2     1       2      1   Type2           1      1   High 103.2979         0         0
3     0       3      1   Type2           1      1    Med 109.1200         1         1
4     1       4      1   Type2           0      1    Low 112.1574         1         0
5     0       5      1   Type1           0      0   High 109.9875         0         1
6     1       6      1   Type1           1      0    Low 109.2785         0         0
> summary(conflict.data)
     confl           country         period     landdeg     popincrease         liveli        popden         NDVI          NDVIdecl1        NDVIdecl2     
 Min.   :0.0000   1      :  10   1      :107   Type1:535   Min.   :0.0000   Min.   :0.0000   High:361   Min.   : 68.71   Min.   :0.0000   Min.   :0.0000  
 1st Qu.:0.0000   2      :  10   2      :107   Type2:535   1st Qu.:0.0000   1st Qu.:0.0000   Low :340   1st Qu.: 93.25   1st Qu.:0.0000   1st Qu.:0.0000  
 Median :1.0000   3      :  10   3      :107               Median :1.0000   Median :1.0000   Med :369   Median : 99.65   Median :1.0000   Median :0.0000  
 Mean   :0.5009   4      :  10   4      :107               Mean   :0.5028   Mean   :0.5056              Mean   : 99.84   Mean   :0.5121   Mean   :0.4888  
 3rd Qu.:1.0000   5      :  10   5      :107               3rd Qu.:1.0000   3rd Qu.:1.0000              3rd Qu.:106.99   3rd Qu.:1.0000   3rd Qu.:1.0000  
 Max.   :1.0000   6      :  10   6      :107               Max.   :1.0000   Max.   :1.0000              Max.   :130.13   Max.   :1.0000   Max.   :1.0000  
                  (Other):1010   (Other):428                                                                                                              
> dim(conflict.data)
[1] 1070   10

কোনও মডেল ফিট করার জন্য, @ gui11aume এর প্রস্তাবিত গ্ল্যাম () ফাংশনটি বেসিকগুলি করবে ...

mod <- glm(confl~., family="binomial", data=conflict.data)
anova(mod)

... তবে এতে একটি সমস্যা রয়েছে যা এটি "দেশকে" বিবেচনা করে (আমি ধরে নিচ্ছি যে আপনার দেশটি আপনার 107 ইউনিট হিসাবে রয়েছে) একটি স্থির প্রভাব হিসাবে, যেখানে এলোমেলো প্রভাব বেশি উপযুক্ত। এটি পিরিয়ডকে একটি সাধারণ ফ্যাক্টর হিসাবে বিবেচনা করে, কোনও স্বতঃসংশ্লিষ্টকরণ অনুমোদিত নয়।

আপনি প্রথম সমস্যাটি সমাধান করতে পারবেন যেমন হিসাবে মিশ্র প্রভাব মডেল রৈখিক একটি সাধারণ বেটস এট এর lme4 আর প্যাকেজ এই কিছু দিক একটা চমৎকার ভূমিকা এখানে । কিছুটা এইরকম

library(lme4)
mod2 <- lmer(confl ~ landdeg + popincrease + liveli + popden + 
    NDVI + NDVIdecl1 + NDVIdecl2 + (1|country) +(1|period), family=binomial,
    data=conflict.data)
summary(mod2)

এক ধাপ এগিয়ে হবে।

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


এই (উত্তর না দেওয়া) প্রশ্নটিও প্রাসঙ্গিক - stats.stackexchange.com/questions/20613/…
পিটার এলিস

1

এই টিউটোরিয়াল ব্যাপক।

আর, আপনি আপনার ডেটা প্রস্তুতির পরিবর্তনশীল বলে প্রয়োজন dataএকটি data.frame, প্রথম আপনার 0-1 পরিবর্তনশীল (বিরোধ) এবং অন্যান্য কলাম ভবিষ্যতবক্তা হয় কলামে করুন। শ্রেণীগত ভেরিয়েবল জন্য, আপনি নিশ্চিত যে তাদেরকে ধরনের করতে হবে factor। এই কলাম 3 নিশ্চিত করার জন্য, বলুন যে এই সম্পত্তি আছে, আপনি এটি প্রয়োগ করতে পারেন data[,3] <- as.factor(data[,3])

তাহলে এটি কেবল বিষয়

glm(data, family="binomial")

এটি স্পষ্টতই ধরে নেয় যে আপনার একটি অ্যাডিটিভ মডেল রয়েছে এবং আপনাকে আনুমানিক মান দেয়। পৃথক প্যারামিটারগুলির পরীক্ষা সহ আরও বিস্তৃত আউটপুট পেতে, আপনি এটি করতে পারেন

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