লিমার মডেল রূপান্তর করতে ব্যর্থ


12

আমার ডেটা এখানে বর্ণিত হয়েছে যখন কোনও পুনরাবৃত্তি ব্যবস্থা আনোভা ফিটিং করার সময় এওভের "ত্রুটি () মডেলটি একক ত্রুটি" সৃষ্টি করতে পারে?

আমি lmerআমার বেস কেসটি ব্যবহার করে কোনও মিথস্ক্রিয়াটির প্রভাবটি দেখার চেষ্টা করছি :

my_null.model <- lmer(value ~ Condition+Scenario+ 
                             (1|Player)+(1|Trial), data = my, REML=FALSE)

my.model <- lmer(value ~ Condition*Scenario+ 
                             (1|Player)+(1|Trial), data = my, REML=FALSE)

চালনাটি anovaআমাকে তাৎপর্যপূর্ণ ফলাফল দেয়, তবে আমি যখন এলোমেলো opeাল ( (1+Scenario|Player)) এর জন্য অ্যাকাউন্ট দেওয়ার চেষ্টা করি তখন এই ত্রুটিটি দিয়ে মডেল ব্যর্থ হয়:

  Warning messages:
 1: In commonArgs(par, fn, control, environment()) :
   maxfun < 10 * length(par)^2 is not recommended.
 2: In optwrap(optimizer, devfun, getStart(start, rho$lower, rho$pp),  :
  convergence code 1 from bobyqa: bobyqa -- maximum number of function evaluations exceeded
 3: In commonArgs(par, fn, control, environment()) :
  maxfun < 10 * length(par)^2 is not recommended.
 4: In optwrap(optimizer, devfun, opt$par, lower = rho$lower, control = control,  :
   convergence code 1 from bobyqa: bobyqa -- maximum number of function evaluations exceeded
 5: In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv,  :
   Model failed to converge with max|grad| = 36.9306 (tol = 0.002)
 6: In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv,  :
   Model failed to converge: degenerate  Hessian with 1 negative eigenvalues

বিকল্পভাবে যদি এটি প্রচুর পুনরাবৃত্তির পরে রূপান্তর করতে ব্যর্থ হয় (আমি এটি সেট করেছিলাম 100 000) এবং আমি পরে একই ফলাফল পাচ্ছি 50kএবং এর 100kঅর্থ এটি আসল মানটির খুব কাছাকাছি, কেবল এটি পৌঁছায় না। তাহলে আমি কি আমার ফলাফলগুলি এভাবে রিপোর্ট করতে পারি?

মনে রাখবেন যে আমি যখন পুনরাবৃত্তিগুলি এত উচ্চতর সেট করি আমি কেবল এই সতর্কতাগুলি পাই:

 Warning messages:
1: In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv,  :
 Model failed to converge with max|grad| = 43.4951 (tol = 0.002)
2: In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv,  :
 Model failed to converge: degenerate  Hessian with 1 negative eigenvalues

উত্তর:


8

একত্রিতকরণের মূল্যায়নের বিকল্প পদ্ধতির জন্য এই কথোপকথনটি দেখুন । বিশেষত, বেন বলকারের এই মন্তব্য:

ধন্যবাদ। একটি এমনকি সহজ পরীক্ষা হ'ল এমন একটি উপযুক্ত উদাহরণ গ্রহণ করা যা আপনাকে কনভার্জিনের সতর্কতা দেয় এবং এর ফলাফলগুলি একবার দেখে
relgrad <- with(fitted_model@optinfo$derivs,solve(Hessian,gradient))
max(abs(relgrad))
এবং এটি যুক্তিসঙ্গতভাবে ছোট কিনা তা দেখুন (উদাহরণস্বরূপ <0.001?)

বিকল্পভাবে, আপনি এখানে বলকারের পরামর্শ চেষ্টা করতে পারেন , এটি একটি ভিন্ন অপ্টিমাইজার চেষ্টা করে।


1
সর্বাধিক (অ্যাবস (রিগ্রেড)) আপনাকে যদি 2.9239489e-05 এর মান দেয় তবে কোনটি করা উচিত?
জেনস

1
@ জেনস তখন তা সত্যই সত্যই ছোট হবে (ই -05 এর অর্থ "প্রথম শূন্যের পরে একটি বিন্দু সহ" 5 টি শূন্য লিখুন এবং তারপরে আপনি বাম দিকে যে সংখ্যাগুলি দেখবেন)। সুতরাং এক যে মান দিয়ে বেশ খুশি হবে!
আর্থার চামচ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.