लॉजिस्टिक रिग्रेशन के बारे में सवाल


14

मैं 10 वर्ष की अवधि (1997-2006) में स्वतंत्र चर के सेट से संघर्ष (निर्भर चर) की उपस्थिति या अनुपस्थिति को मॉडल करने के लिए एक बाइनरी लॉजिस्टिक रिग्रेशन चलाना चाहता हूं, जिसमें प्रत्येक वर्ष 107 अवलोकन होते हैं। मेरे स्वतंत्र हैं:

  • भूमि क्षरण (2 प्रकार की गिरावट के लिए श्रेणीबद्ध);
  • जनसंख्या वृद्धि (0- नं; 1-हाँ);
  • आजीविका प्रकार (0 - प्रकार एक; 1 - दो प्रकार);
  • जनसंख्या घनत्व (घनत्व के तीन स्तर);
  • NDVI निरंतर (अधिकतम शाकाहारी उत्पादकता);
  • NDVI t - 1t1 (पिछले वर्ष से शाकाहारी में गिरावट - 0 - नहीं; 1 -yes) और
  • और NDVI टी - 2 (पिछले दो वर्षों से शाकाहारी में गिरावट - 0- नं; 1- हाँ)।टी-2

मैं यह सब करने के लिए काफी नया हूं - यह एक परियोजना है जिसे मेरे लेक्चरर ने मुझे दिया है - और इसलिए मैं कुछ सलाह या मार्गदर्शन के लिए आभारी रहूंगा। मैंने पहले से ही बहुस्तरीयता के लिए परीक्षण किया है।

अनिवार्य रूप से मेरा डेटा 10 वर्ष (कुल 1070) को कवर करते हुए अवलोकन (स्थानिक क्षेत्रों) की 107 इकाइयों में विभाजित है और अवलोकन की प्रत्येक इकाई के लिए उस इकाई के भीतर उस समय के स्वतंत्र चर की स्थितियों का एक 'स्नैपशॉट' मूल्य होना चाहिए ( क्षेत्र)। मैं जानना चाहता हूं कि प्रत्येक वर्ष के 107 मूल्यों को अलग से पहचानने के लिए अपने लॉजिस्टिक रिग्रेशन (या टेबल) को कैसे स्थापित किया जाए ताकि विभिन्न इकाई वर्षों के बीच अस्थायी NDVI परिवर्तनों का आकलन किया जा सके?


2
आप कौन से सॉफ़्टवेयर का उपयोग कर रहे हैं? इसके अलावा, क्या आपके लेक्चरर ने आपको लॉजिस्टिक रिग्रेशन का उपयोग करने के लिए कहा था? यह मुझे लगता है कि यह किसी प्रकार के बहुस्तरीय मॉडल के लिए कहता है, लेकिन यदि आप सिर्फ लॉजिस्टिक सीख रहे हैं, तो यह आपके व्याख्याता का इरादा नहीं हो सकता है।
पीटर Flom - को पुनः स्थापित मोनिका

1
क्या आप केवल लौकिक निरंकुशता के लिए नियंत्रण करना चाहते हैं या क्या आप रुझान (जोखिम कारक प्रभावों में संघर्ष और / या लौकिक परिवर्तनों की संभावना के संदर्भ में) को मॉडल करना चाहते हैं?
मैक्रो

बस अस्थायी स्वायत्तता
स्टीफन

आपके डेटा की प्रकृति स्थानिक-लौकिक है। तो वास्तव में चयनित मॉडल को इस प्रकृति पर विचार करना होगा।
हागिषानी

3
यदि आप अस्थायी लौकिक संबंध के लिए नियंत्रण करना चाहते हैं, तो आप जीईई (सामान्यीकृत समीकरण) का उपयोग कर सकते हैं और मजबूत मानक त्रुटियों के साथ अपना अनुमान लगा सकते हैं।
मैक्रों

जवाबों:


6

यह वास्तव में एक अत्यंत परिष्कृत समस्या है और आपके व्याख्याता से एक कठिन प्रश्न है!

आप अपने डेटा को कैसे व्यवस्थित करते हैं, इस संदर्भ में, 1070 x 10 आयत ठीक है। उदाहरण के लिए, R में:

> 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 के रूप में glm () फ़ंक्शन मूल बातें करेगा।

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

... लेकिन इसकी समस्या यह है कि यह "देश" (मैं मान रहा हूं कि आपके पास अपनी 107 इकाइयों के रूप में देश है) एक निश्चित प्रभाव के रूप में है, जबकि एक यादृच्छिक प्रभाव अधिक उपयुक्त है। यह एक साधारण कारक के रूप में भी अवधि का इलाज करता है, किसी भी ऑटोक्रेलेशन की अनुमति नहीं है।

आप सामान्यीकृत रैखिक मिश्रित प्रभाव वाले मॉडल के साथ पहली समस्या को संबोधित कर सकते हैं जैसे कि आर में बेट्स एट अल के एल 4 पैकेज। यहां इसके कुछ पहलुओं का अच्छा परिचय है । कुछ इस तरह

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 डेटा बिंदु उतने मूल्य के नहीं होते हैं जितने कि वे 10 बेतरतीब ढंग से स्वतंत्र और पहचान वाले वितरित बिंदुओं के रूप में चुने जाते हैं। मैं एक गैर-सामान्य प्रतिक्रिया के साथ एक बहुस्तरीय मॉडल के अवशेषों में स्वत: सहसंबंध के लिए व्यापक रूप से उपलब्ध सॉफ़्टवेयर समाधान के बारे में नहीं जानता। निश्चित रूप से यह lme4 में लागू नहीं किया गया है। दूसरे मुझसे ज्यादा जान सकते हैं।


यह (अनुत्तरित) प्रश्न भी प्रासंगिक है - आंकड़े.स्टैकएक्सचेंज.com
पीटर एलिस

1

यह ट्यूटोरियल व्यापक है।

R में, आपको अपना डेटा तैयार करने की आवश्यकता है, चर dataको एक में कहें data.frame, जिसका पहला स्तंभ आपका 0-1 चर (संघर्ष) है और अन्य स्तंभ भविष्यवक्ता हैं। श्रेणीबद्ध चर के लिए, आपको यह सुनिश्चित करना चाहिए कि वे प्रकार के हैंfactor । यह सुनिश्चित करने के लिए कि कॉलम 3, कहते हैं, यह संपत्ति है, आप इसे लागू कर सकते हैं data[,3] <- as.factor(data[,3])

तब यह केवल एक मामला है

glm(data, family="binomial")

यह स्पष्ट रूप से मानता है कि आपके पास एक additive मॉडल है और आपको अनुमानित मूल्य देता है। एक अधिक व्यापक आउटपुट प्राप्त करने के लिए, व्यक्तिगत मापदंडों के लिए परीक्षण के साथ, आप कर सकते हैं

summary(glm(data, family="binomial"))
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.