কীভাবে আর-এ অনুগ্রহ করে দেখাতে পারেন যে ক্রস-বৈধকরণের পদ্ধতিগুলি এআইসি এবং বিআইসির সমতুল্য?


26

এই সাইটের অন্য কোথাও একটি প্রশ্নের মধ্যে বেশ কয়েকটি উত্তরে উল্লেখ করা হয়েছে যে এআইসি লেভ-ওয়ান-আউট (এলইউ) ক্রস-বৈধকরণের সমতুল্য এবং বিআইসির কে-ফোল্ড ক্রস বৈধতার সমতুল্য। এটি কি আর-তে অভিজ্ঞতার সাথে দেখানোর কোনও উপায় আছে যে এলইউ এবং কে-ফোল্ডের সাথে জড়িত কৌশলগুলি এআইসি এবং বিআইসির মানগুলির সমতুল্য হিসাবে পরিষ্কার এবং প্রদর্শিত হয়েছে? ভাল মন্তব্য কোড এই ক্ষেত্রে সহায়ক হবে। তদতিরিক্ত, বিআইসি প্রদর্শনের সময় দয়া করে lme4 প্যাকেজটি ব্যবহার করুন। একটি নমুনা ডেটাসেটের জন্য নীচে দেখুন ...

library(lme4) #for the BIC function

generate.data <- function(seed)
{
    set.seed(seed) #Set a seed so the results are consistent (I hope)
    a <- rnorm(60) #predictor
    b <- rnorm(60) #predictor
    c <- rnorm(60) #predictor
    y <- rnorm(60)*3.5+a+b #the outcome is really a function of predictor a and b but not predictor c
    data <- data.frame(y,a,b,c) 
    return(data)    
}

data <- generate.data(76)
good.model <- lm(y ~ a+b,data=data)
bad.model <- lm(y ~ a+b+c,data=data)
AIC(good.model)
BIC(logLik(good.model))
AIC(bad.model)
BIC(logLik(bad.model))

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

notable.seeds <- read.csv("http://student.ucr.edu/~rpier001/res.csv")$seed

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

AICDiff <- AIC(bad.model) - AIC(good.model) 
BICDiff <- BIC(logLik(bad.model)) - BIC(logLik(good.model))
disagreement <- sum(abs(c(AICDiff,BICDiff)))

যেখানে আমার মতবিরোধ মেট্রিক কেবলমাত্র পর্যবেক্ষণগুলি উল্লেখযোগ্য হলেই যুক্তিসঙ্গতভাবে প্রযোজ্য। উদাহরণ স্বরূপ,

are.diff <- sum(sign(c(AICDiff,BICDiff)))
notable <- ifelse(are.diff == 0 & AICDiff != 0,TRUE,FALSE)

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


+1 কোডটি লিখতে সহজ হবে, তবুও আমি একটি পরিষ্কার, উদাহরণস্বরূপ ডেটাসেট দেখতে আগ্রহী।

আমি স্পষ্ট এবং উদাহরণস্বরূপ ডেটাসেটে সবার কী প্রয়োজন তা আমি নিশ্চিত নই, তবে আমি একটি নমুনা ডেটাসেট অন্তর্ভুক্ত করার চেষ্টা করেছি।
রাসেলপিয়ের্স 26'10

সুতরাং দেখুন: আপনি যা সরবরাহ করেছেন তা অকেজো সেটের উদাহরণ, কারণ বিআইসি এবং এআইসি একই ফলাফল দেয়: এআইসির জন্য 340 ভি। 342 এবং বিআইসির জন্য 349 বনাম 353 - সুতরাং উভয় ক্ষেত্রেই মডেল জিতবে। এই রূপান্তরটি সহ পুরো ধারণাটি হ'ল নির্দিষ্ট ক্রস-বৈধকরণটি তার সম্পর্কিত আইসি হিসাবে একই মডেলটি নির্বাচন করবে।

আমি একটি সাধারণ স্ক্যানিং করেছি এবং উদাহরণস্বরূপ seed seed বীজের জন্য আইসিগুলি একমত নয়।

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

উত্তর:


5

আমার নিজের প্রশ্নের আংশিক উত্তর দেওয়ার প্রয়াসে, আমি উইকিপিডিয়ায় লিভ-ওয়ান-আউট ক্রস বৈধকরণের বিবরণটি পড়েছি

মূল নমুনা থেকে বৈধতা ডেটা হিসাবে একক পর্যবেক্ষণ এবং প্রশিক্ষণ ডেটা হিসাবে অবশিষ্ট পর্যবেক্ষণ ব্যবহার জড়িত। এটি পুনরাবৃত্তি করা হয় যে নমুনার প্রতিটি পর্যবেক্ষণ একবার বৈধতা ডেটা হিসাবে ব্যবহৃত হয়।

আর কোডে, আমি সন্দেহ করি যে এর অর্থ এইরকম কিছু হবে ...

resid <- rep(NA, Nobs) 
for (lcv in 1:Nobs)
    {
        data.loo <- data[-lcv,] #drop the data point that will be used for validation
        loo.model <- lm(y ~ a+b,data=data.loo) #construct a model without that data point
            resid[lcv] <- data[lcv,"y"] - (coef(loo.model)[1] + coef(loo.model)[2]*data[lcv,"a"]+coef(loo.model)[3]*data[lcv,"b"]) #compare the observed value to the value predicted by the loo model for each possible observation, and store that value
    }

... এআইসির সাথে সম্পর্কিত এমন রেসিডিতে মান দেওয়ার কথা রয়েছে। অনুশীলনে উপরে বর্ণিত এলইউ লুপের প্রতিটি পুনরাবৃত্তি থেকে বর্গক্ষেত্রের অবশিষ্টাংশের যোগফল উল্লেখযোগ্য.সীজগুলির জন্য এআইসির একটি ভাল ভবিষ্যদ্বাণী, r ^ 2 = .9776। তবে, অন্য কোথাও একজন অবদানকারী পরামর্শ দিয়েছিলেন যে এলইওকে এআইসির সমেত হওয়া উচিত (কমপক্ষে রৈখিক মডেলগুলির জন্য), সুতরাং আমি কিছুটা হতাশ হয়েছি যে r ^ 2 এর কাছাকাছি নয়। স্পষ্টতই এটি আসলে কোনও উত্তর নয় - আরও ভাল উত্তর দেওয়ার চেষ্টা করার জন্য কাউকে উত্সাহিত করার চেষ্টা করার মতো অতিরিক্ত কোডের মতো।

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


দ্রষ্টব্য যে এটি অনুগ্রহের জন্য আপনার গ্রহণযোগ্য উত্তর হবে (আপনি যদি উত্তরটি বেছে না
নেন বাউটি

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