টি এল; ডিআর: lme4অপ্টিমাইজেশান ডিফল্টরূপে মডেল পরামিতি সংখ্যা রৈখিক উপস্থিত হতে পারে, এবং উপায় একটি সমতুল্য তুলনায় ধীর glmদলের জন্য ডামি ভেরিয়েবল সঙ্গে মডেল। এটির গতি বাড়ানোর জন্য আমি কি কিছু করতে পারি?
আমি মোটামুটি বৃহত্তর শ্রেণিবদ্ধ লগিট মডেল (fit 50 কে সারি, 100 কলাম, 50 টি গ্রুপ) ফিট করার চেষ্টা করছি। ডেটাতে একটি সাধারণ লগইট মডেল ফিট করা (গ্রুপের জন্য ডামি ভেরিয়েবলগুলি সহ) কাজ করে, তবে শ্রেণিবদ্ধ মডেলটি আটকা পড়েছে বলে মনে হয়: প্রথমটি অপ্টিমাইজেশন পর্ব জরিমানা সম্পূর্ণ করে, তবে দ্বিতীয়টি কোনও পরিবর্তন ছাড়াই এবং থামিয়ে ছাড়াই প্রচুর পুনরাবৃত্তির মধ্য দিয়ে যায় ।
সম্পাদনা: আমার সন্দেহ হয় যে সমস্যাটি মূলত আমার কাছে অনেকগুলি পরামিতি রয়েছে, কারণ যখন আমি maxfnকম মান সেট করার চেষ্টা করি তখন এটি একটি সতর্কতা দেয়:
Warning message:
In commonArgs(par, fn, control, environment()) :
maxfun < 10 * length(par)^2 is not recommended.
যাইহোক, প্যারামিটারের অনুমানগুলি অপ্টিমাইজেশনের কোর্সটি পুরোপুরি পরিবর্তন হচ্ছে না, তাই আমি কী করব তা নিয়ে এখনও বিভ্রান্ত। আমি যখন maxfnঅপ্টিমাইজার নিয়ন্ত্রণগুলিতে সেট করার চেষ্টা করেছি (সতর্কতা সত্ত্বেও), তখন এটি অপ্টিমাইজেশান শেষ করে স্তব্ধ হয়ে গেছে বলে মনে হয়েছিল।
এখানে কিছু কোড যা এলোমেলো ডেটার জন্য সমস্যাটি পুনঃ উত্পাদন করে:
library(lme4)
set.seed(1)
SIZE <- 50000
NGRP <- 50
NCOL <- 100
test.case <- data.frame(i=1:SIZE)
test.case[["grouping"]] <- sample(NGRP, size=SIZE, replace=TRUE, prob=1/(1:NGRP))
test.case[["y"]] <- sample(c(0, 1), size=SIZE, replace=TRUE, prob=c(0.05, 0.95))
test.formula = y ~ (1 | grouping)
for (i in 1:NCOL) {
colname <- paste("col", i, sep="")
test.case[[colname]] <- runif(SIZE)
test.formula <- update.formula(test.formula, as.formula(paste(". ~ . +", colname)))
}
print(test.formula)
test.model <- glmer(test.formula, data=test.case, family='binomial', verbose=TRUE)
এই ফলাফলগুলি:
start par. = 1 fn = 19900.78
At return
eval: 15 fn: 19769.402 par: 0.00000
(NM) 20: f = 19769.4 at 0 <other numbers>
(NM) 40: f = 19769.4 at 0 <other numbers>
আমি ncolঅন্যান্য মানগুলিতে সেট করার চেষ্টা করেছি এবং এটি প্রদর্শিত হবে যে পুনরাবৃত্তির সংখ্যাটি প্রায় কলামে 40 (প্রায়) হয়। স্পষ্টতই, আমি আরও কলামগুলি যুক্ত করার সাথে সাথে এটি একটি বিশাল ব্যথা হয়ে ওঠে। আমি কী অপ্টিমাইজেশন অ্যালগরিদম করতে পারি যে কলামগুলির সংখ্যার উপর নির্ভরতা হ্রাস করবে?
glmerবেশ ধীরে ধীরে, বিশেষত এমন মডেলগুলির জন্য যেগুলির একটি জটিল এলোমেলো প্রভাব কাঠামো রয়েছে (যেমন, অনেকগুলি এলোমেলো slালু, ক্রস এলোমেলো প্রভাব ইত্যাদি) effects আমার প্রথম পরামর্শটি হ'ল সরলিকৃত এলোমেলো প্রভাবগুলির কাঠামো দিয়ে আবার চেষ্টা করা। তবে, আপনি যদি কেবল একটি এলোমেলো ইন্টারসেপ্ট মডেল নিয়ে এই সমস্যাটি অনুভব করছেন তবে আপনার সমস্যাটি কেবল মামলার সংখ্যা হতে পারে, এক্ষেত্রে আপনাকে বড় ডেটার জন্য বিশেষ কিছু সরঞ্জাম চেষ্টা করতে হবে।