আর-তে সম্ভাবনা অনুপাতের পরীক্ষা test


25

মনে করুন আমি কয়েকটি স্বতন্ত্র ভেরিয়েবলের উপর একটি অবিচ্ছিন্ন লজিস্টিক রিগ্রেশন করতে যাচ্ছি:

mod.a <- glm(x ~ a, data=z, family=binominal("logistic"))
mod.b <- glm(x ~ b, data=z, family=binominal("logistic"))

এই আদেশটি দিয়ে নাল মডেলের চেয়ে মডেলটি ভাল কিনা তা দেখতে আমি একটি মডেল তুলনা (সম্ভাবনা অনুপাতের পরীক্ষা) করেছি

1-pchisq(mod.a$null.deviance-mod.a$deviance, mod.a$df.null-mod.a$df.residual)

তারপরে আমি এতে সমস্ত ভেরিয়েবল সহ একটি অন্য মডেল তৈরি করেছি

mod.c <- glm(x ~ a+b, data=z, family=binomial("logistic"))

ভেরিয়েবলটি মাল্টিভারিয়েট মডেলটিতে পরিসংখ্যানগতভাবে গুরুত্বপূর্ণ কিনা তা দেখতে, আমি lrtestকমান্ডটি ব্যবহার করেছিepicalc

lrtest(mod.c,mod.a) ### see if variable b is statistically significant after adjustment of a
lrtest(mod.c,mod.b) ### see if variable a is statistically significant after adjustment of b

আমি ভাবছি pchisqপদ্ধতি এবং lrtestপদ্ধতিটি লগলিঙ্কলিস্টি পরীক্ষার জন্য সমান কিনা? যেহেতু আমি কীভাবে lrtestইউনিভেট লজিস্টিক মডেলটির জন্য ব্যবহার করব un


@ গ্যাভিন আমাকে স্মরণ করিয়ে দেওয়ার জন্য ধন্যবাদ, স্ট্যাকওভারফ্লোর সাথে তুলনা করার জন্য, উত্তরটি "হজম" করার জন্য উত্তরটি যথাযথ কিনা তা ঠিক করার আগে আমার আরও বেশি সময় ব্যয় করা উচিত, যাইহোক, আবারও ধন্যবাদ।
লোকহার্ট

আমি lmtest থেকে ওয়ালডেস্ট ব্যবহার করার পরামর্শ দেব না। মডেল পরীক্ষার জন্য আওড প্যাকেজটি ব্যবহার করুন। এটি আরও সহজ সরল। cran.r-project.org/web/packages/aod/aod.pdf
মিঃ কেউই

epicalcসরানো হয়েছিল ( উত্স ) বিকল্প হতে পারে lmtest
মার্টিন থোমা

উত্তর:


21

মূলত, হ্যাঁ, আপনি লগ-সম্ভাবনার ক্ষেত্রে সঠিক পার্থক্যটি ব্যবহার করেছেন:

> library(epicalc)
> model0 <- glm(case ~ induced + spontaneous, family=binomial, data=infert)
> model1 <- glm(case ~ induced, family=binomial, data=infert)
> lrtest (model0, model1)
Likelihood ratio test for MLE method 
Chi-squared 1 d.f. =  36.48675 , P value =  0 
> model1$deviance-model0$deviance
[1] 36.48675

এবং নাল মডেলের জন্য বিচ্যুতি নয় যা উভয় ক্ষেত্রেই একই। ডিএফের সংখ্যাটি প্যারামিটারের সংখ্যা যা দুটি নেস্টেড মডেলের মধ্যে পৃথক হয়, এখানে df = 1। বিটিডাব্লু, আপনি lrtest()কেবল টাইপ করে এর জন্য সোর্স কোডটি দেখতে পারেন

> lrtest

আর প্রম্পটে।


ধন্যবাদ, এবং আমি সবেমাত্র খুঁজে পেয়েছি যে আমি একটি ন্যূনুয়াল মডেল তৈরির জন্য গ্ল্যাম (আউটপুট L NULL, ডেটা = জেড, পরিবার = দ্বিপদী ("লজিস্টিক")) ব্যবহার করতে পারি, এবং তারপরে আমি সবচেয়ে দীর্ঘতম ব্যবহার করতে পারি। এফওয়াইআই, আবারও ধন্যবাদ
lokheart

2
@ লখিয়ার্টও anova(model1, model0)কাজ করবে।
chl

5
@ লখিয়ার্ট glm(output ~ 1, data=z, family=binomial("logistic"))একটি আরও প্রাকৃতিক নাল মডেল হবে, যা বলে যে outputএটি একটি ধ্রুবক পদ দ্বারা ব্যাখ্যা করা হয়েছে (ইন্টারসেপ্ট) / ইন্টারসেপ্টটি আপনার সমস্ত মডেলগুলিতে অন্তর্ভুক্ত রয়েছে, সুতরাং আপনি aইন্টারসেপ্টের জন্য অ্যাকাউন্টিংয়ের পরে কী কী প্রভাব ফেলছেন তা পরীক্ষা করছেন ।
মনিকা পুনরায় ইনস্টল করুন - জি সিম্পসন

এল আর পরীক্ষা = 1-pchisq (বক্রতা, ডেপথ অফ ফিল্ড) এর P-মান: অথবা আপনি এটি "হস্তকৃত" উপায়ে কি করতে পারেন
Umka

22

একটি বিকল্প হ'ল lmtestপ্যাকেজ, যার একটি lrtest()ফাংশন রয়েছে যা একক মডেল গ্রহণ করে। এখানে থেকে উদাহরণ ?lrtestমধ্যে lmtestপ্যাকেজ, যা একটি LM জন্য কিন্তু পদ্ধতি GLMs সঙ্গে কাজ আছে:

> require(lmtest)
Loading required package: lmtest
Loading required package: zoo
> ## with data from Greene (1993):
> ## load data and compute lags
> data("USDistLag")
> usdl <- na.contiguous(cbind(USDistLag, lag(USDistLag, k = -1)))
> colnames(usdl) <- c("con", "gnp", "con1", "gnp1")
> fm1 <- lm(con ~ gnp + gnp1, data = usdl)
> fm2 <- lm(con ~ gnp + con1 + gnp1, data = usdl)
> ## various equivalent specifications of the LR test
>
> ## Compare two nested models
> lrtest(fm2, fm1)
Likelihood ratio test

Model 1: con ~ gnp + con1 + gnp1
Model 2: con ~ gnp + gnp1
  #Df  LogLik Df  Chisq Pr(>Chisq)    
1   5 -56.069                         
2   4 -65.871 -1 19.605  9.524e-06 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1 
>
> ## with just one model provided, compare this model to a null one
> lrtest(fm2)
Likelihood ratio test

Model 1: con ~ gnp + con1 + gnp1
Model 2: con ~ 1
  #Df   LogLik Df  Chisq Pr(>Chisq)    
1   5  -56.069                         
2   2 -119.091 -3 126.04  < 2.2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1 

+1 এটি জেনে রাখা ভাল (এবং মনে হয় আমি সেই প্যাকেজটি ভুলে গিয়েছি)।
chl

2
@ গ্যাভিনসিম্পসন এটি নির্বোধ বলে মনে হতে পারে তবে আপনি কীভাবে 'লিটারেস্ট (এফএম 2, এফএম 1)' ফলাফল ব্যাখ্যা করবেন? মডেল 2 মডেল 1 এর তুলনায় উল্লেখযোগ্যভাবে আলাদা এবং সুতরাং কন 1 ভেরিয়েবলটি যুক্ত হওয়া কি কার্যকর ছিল? বা সবচেয়ে বড় (এফএম 2) বলছেন যে মডেল 2 মডেল 1 এর চেয়ে উল্লেখযোগ্যভাবে আলাদা? তবে কোন মডেলটি ভাল?
কেরি

5
@ কেরির fm1লগ হওয়ার সম্ভাবনা কম এবং তাই এর চেয়ে গরিব ফিট fm2। এলআরটি আমাদের জানিয়ে দিচ্ছে যে আমরা যে ডিগ্রিটিতে fm1একটি দরিদ্র মডেল তৈরি করেছি তার চেয়ে fm2অপ্রত্যাশিতভাবে বড় যদি মডেলগুলির মধ্যে পৃথক শর্তগুলি কার্যকর হয় (প্রতিক্রিয়াটির ব্যাখ্যা দিয়েছিল)। lrtest(fm2)সঙ্গে তুলনা করা হয় না fm1এ সব, মডেল fm2যদি, যেমন, এই আউটপুটে বলেন যে ক্ষেত্রে সঙ্গে তুলনা হয়: con ~ 1। সেই মডেলটি, নাল মডেল বলে যে এর সেরা পূর্বাভাসকারী conহ'ল নমুনা গড় con(ইন্টারসেপ্ট / ধ্রুবক শব্দ)।
মনিকা পুনরায় ইনস্টল করুন - জি সিম্পসন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.