Lme4 (> 1.0) দিয়ে লাগানো দ্বিপদী জিএলএমএমের ফিট কীভাবে মূল্যায়ন করবেন?


19

আমার একটি দ্বিপদী বিতরণ এবং লগইট লিঙ্ক ফাংশন সহ একটি জিএলএমএম রয়েছে এবং আমার অনুভূতি রয়েছে যে তথ্যটির একটি গুরুত্বপূর্ণ দিকটি মডেলটিতে ভালভাবে উপস্থাপন করা হয়নি।

এটি পরীক্ষা করতে, আমি লগিট স্কেলে লিনিয়ার ফাংশন দ্বারা ডেটাটি ভালভাবে বর্ণিত কিনা তা জানতে চাই। সুতরাং, আমি জানতে চাই যে অবশিষ্টাংশগুলি ভাল আচরণ করে। তবে কোন অবশিষ্টাংশ প্লট করার পরিকল্পনা করেছে এবং কীভাবে প্লটটি ব্যাখ্যা করা যায় তা আমি খুঁজে পাচ্ছি না।

মনে রাখবেন যে আমি lme4 এর নতুন সংস্করণ ( গিটহাবের বিকাশ সংস্করণ ) ব্যবহার করছি:

packageVersion("lme4")
## [1] ‘1.1.0’

আমার প্রশ্ন: আমি লগইট লিঙ্ক ফাংশন সহ দ্বিপদী জেনারালাইজড লিনিয়ার মিশ্রিত মডেলগুলির অবশিষ্টাংশ কীভাবে পরিদর্শন ও ব্যাখ্যা করব?

নিম্নলিখিত তথ্যটি আমার আসল তথ্যগুলির কেবলমাত্র 17% উপস্থাপন করে, তবে ফিটিংটি ইতিমধ্যে আমার মেশিনে প্রায় 30 সেকেন্ড সময় নেয়, তাই আমি এটি এটিকে ছেড়ে চলেছি:

require(lme4)
options(contrasts=c('contr.sum', 'contr.poly'))

dat <- read.table("http://pastebin.com/raw.php?i=vRy66Bif")
dat$V1 <- factor(dat$V1)

m1 <- glmer(true ~ distance*(consequent+direction+dist)^2 + (direction+dist|V1), dat, family = binomial)

সহজ প্লট ( ?plot.merMod) নিম্নলিখিত উত্পাদন করে:

plot(m1)

এখানে চিত্র বর্ণনা লিখুন

এটি কি আমাকে ইতিমধ্যে কিছু বলছে?


1
আমি পারে ফিরে আসা এবং এই সময়ে একটি ফাটল নিতে সময় খুঁজে, কিন্তু আমি মনে করি সাধারণ উত্তর এটি বাইনারি মডেল থেকে অবশিষ্টাংশ সঙ্গে একটি মহান চুক্তি না করা কঠিন হয়। আমার মূল আবিষ্কারের এতদূর চক্রান্ত আপনি উপরের উপর একটু সালে জুম, এবং একটি মসৃণ লাইন যোগ করা থেকে (ব্যবহার type=c("p","smooth")মধ্যে plot.merMod, অথবা চলন্ত ggplotযদি আস্থা অন্তর চান) যে দেখে মনে হচ্ছে একটি ছোট কিন্তু গুরুত্বপূর্ণ প্যাটার্ন আছে মত, আপনি যা অন্য কোনও লিঙ্ক ফাংশন গ্রহণ করে ঠিক করতে সক্ষম হতে পারে। এটি
এতক্ষণ

@ বেনবোলকার ধন্যবাদ এবং আপনি কি এই পোস্টটি এবং প্রশ্নের উত্তর হিসাবে freakonomics এর লিঙ্কটি পোস্ট করতে পারবেন না? কমপক্ষে আপনি 150 পয়েন্ট পাবেন।
হেনরিক 15

3
আমি এই সিভি থ্রেডটি পেয়েছি, stats.stackexchange.com/questions/63566/… , খুব সহায়ক হতে পারে। পোস্টটি কীভাবে আর।
নোভা

@ হেনরিক আপনি কি দয়া করে আমাকে ব্যাখ্যা করতে পারবেন মডেলটি কীভাবে true ~ distance*(consequent+direction+dist)^2 + (direction+dist|V1)কাজ করে? উইল মধ্যে মিথস্ক্রিয়া মডেল দিতে অনুমান distance*consequent, distance*direction, distance*distএবং ঢাল directionএবং dist যে পরিবর্তনশীল V1? বর্গটি কী (consequent+direction+dist)^2বোঝায়?
এবিসি

@ হেনরিক আমি আপনার কোডটি চালিয়েছি এবং এটি দেখায় Warning message: In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, : Model failed to converge with max|grad| = 0.123941 (tol = 0.001, component 1)। কেন?
এবিসি

উত্তর:


18

সংক্ষিপ্ত উত্তর যেহেতু আমার কাছে ভাল সময়ের জন্য সময় নেই: এটি একটি চ্যালেঞ্জিং সমস্যা; বাইনারি ডেটা প্রায় সর্বদা ফিটের সচ্ছলতা নির্ধারণের জন্য এক ধরণের বিন্ন বা স্মুথযুক্ত প্রয়োজন। এটি উপরে fortify.lmerMod(যেমন থেকে lme4, পরীক্ষামূলক) ব্যবহার করতে ggplot2এবং বিশেষত geom_smooth()আপনার উপরের একই অবশিষ্টাংশ-বনাম-ফিট প্লটটি আঁকতে কিছুটা সহায়ক ছিল , তবে আত্মবিশ্বাসের অন্তর দিয়ে (আমি y সীমাটি আরও জুম করতে কিছুটা সংকীর্ণ করেছি ( -5,5) অঞ্চল)। এটি লিঙ্ক ফাংশনটি টুইট করে উন্নত করা যেতে পারে এমন কিছু নিয়মতান্ত্রিক প্রকরণের পরামর্শ দিয়েছে। (আমি অন্যান্য ভবিষ্যদ্বাণীকারীদের বিরুদ্ধে অবশিষ্টাংশ প্লট করার চেষ্টাও করেছি, তবে এটি খুব একটা কার্যকর হয়নি))

আমি মডেলটিকে সমস্ত 3-টি ইন্টারঅ্যাকশনগুলির সাথে ফিট করার চেষ্টা করেছি, তবে এটি কোনওভাবেই বিচ্যুতি বা স্মুথড রেসিডুয়াল বক্ররেখা আকারে উন্নত হয়নি।

(logistic(x))λλ

## uses (fragile) internal C calls for speed; could use plogis(),
##  qlogis() for readability and stability instead
logitpower <- function(lambda) {
    L <- list(linkfun=function(mu)
              .Call(stats:::C_logit_link,mu^(1/lambda),PACKAGE="stats"),
              linkinv=function(eta)
              .Call(stats:::C_logit_linkinv,eta,PACKAGE="stats")^lambda,
              mu.eta=function(eta) {
                  mu <-  .Call(stats:::C_logit_linkinv,eta,PACKAGE="stats")
                  mu.eta <-  .Call(stats:::C_logit_mu_eta,eta,PACKAGE="stats")
                  lambda*mu^(lambda-1)*mu.eta
              },
              valideta = function(eta) TRUE ,
              name=paste0("logit-power(",lambda,")"))
    class(L) <- "link-glm"
    L
}

λ

এছাড়াও দেখুন: http://freakonometrics.hypotheses.org/8210


3

এটি বায়োস্ট্যাটাস্টিকস / এপিডেমিওলজি কোর্সে খুব সাধারণ থিম এবং মূলত মডেলটির প্রকৃতির কারণে এটির জন্য খুব ভাল সমাধান নেই। প্রায়শই সমাধানটি অবশিষ্টাংশগুলি ব্যবহার করে বিশদ ডায়াগনস্টিকগুলি এড়ানো।

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


-1

আপনি মডেলের ফিট চেক করতে অবশিষ্ট প্লটের পরিবর্তে এআইসি ব্যবহার করতে পারেন। আর ইন কমান্ড: এআইসি (মডেল 1) এটি আপনাকে একটি নম্বর দেবে ... সুতরাং আপনাকে এটিকে অন্য মডেলের সাথে তুলনা করতে হবে (আরও ভবিষ্যদ্বাণীকারীদের সাথে উদাহরণস্বরূপ) - এআইসি (মডেল 2), যা অন্য একটি নম্বর দেবে। দুটি আউটপুট তুলনা করুন এবং আপনি কম এআইসির মান সহ মডেলটি চান।

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


3
ওপি যদি প্রতিযোগী মডেলগুলির সাথে তুলনা করার চেষ্টা করে তবে এটি আরও কার্যকর হবে তবে তারা যা করার চেষ্টা করছে তা মনে হচ্ছে না এবং পরম মডেল ফিটকে মূল্যায়নের জন্য এআইসি ব্যবহার করা যাবে না।
প্যাট্রিক কৌলম্বে

-3

লাগানো বনাম অবশিষ্টাংশ প্লট কোনও (পরিষ্কার) প্যাটার্ন প্রদর্শন করা উচিত নয়। প্লটটি দেখায় যে মডেলটি ডেটা নিয়ে ভাল কাজ করে না। দেখুন http://www.r-bloggers.com/model-ificationsation-interpreting-residual-plots/


1
আমি মনে করি আপনি ভুল, লিঙ্ক ফাংশন দ্বারা একটি নির্দিষ্ট প্যাটার্নের পূর্বাভাস দেওয়া হয়েছে: stats.stackexchange.com/q/25068/442
হেনরিক

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