আমি 200 সাবজেক্ট এবং 1000 ভেরিয়েবলের সাথে আমার ডেটা পূর্বাভাসের ক্রস-বৈধকরণের কাজ করছি। আমি আগ্রহী রিজ রিগ্রেশনটি ভেরিয়েবলের সংখ্যা হিসাবে (আমি ব্যবহার করতে চাই) নমুনার সংখ্যার চেয়ে বেশি। সুতরাং আমি সঙ্কুচিত অনুমানকারী ব্যবহার করতে চাই। নীচে উদাহরণস্বরূপ ডেটা তৈরি করা হয়েছে:
#random population of 200 subjects with 1000 variables
M <- matrix(rep(0,200*100),200,1000)
for (i in 1:200) {
set.seed(i)
M[i,] <- ifelse(runif(1000)<0.5,-1,1)
}
rownames(M) <- 1:200
#random yvars
set.seed(1234)
u <- rnorm(1000)
g <- as.vector(crossprod(t(M),u))
h2 <- 0.5
set.seed(234)
y <- g + rnorm(200,mean=0,sd=sqrt((1-h2)/h2*var(g)))
myd <- data.frame(y=y, M)
myd[1:10,1:10]
y X1 X2 X3 X4 X5 X6 X7 X8 X9
1 -7.443403 -1 -1 1 1 -1 1 1 1 1
2 -63.731438 -1 1 1 -1 1 1 -1 1 -1
3 -48.705165 -1 1 -1 -1 1 1 -1 -1 1
4 15.883502 1 -1 -1 -1 1 -1 1 1 1
5 19.087484 -1 1 1 -1 -1 1 1 1 1
6 44.066119 1 1 -1 -1 1 1 1 1 1
7 -26.871182 1 -1 -1 -1 -1 1 -1 1 -1
8 -63.120595 -1 -1 1 1 -1 1 -1 1 1
9 48.330940 -1 -1 -1 -1 -1 -1 -1 -1 1
10 -18.433047 1 -1 -1 1 -1 -1 -1 -1 1
আমি ক্রস বৈধতার জন্য নিম্নলিখিতগুলি করতে চাই -
(1) ডেটা দুটি ভাগে বিভক্ত করুন - প্রথমার্ধটি প্রশিক্ষণ হিসাবে এবং দ্বিতীয়ার্ধটি পরীক্ষা হিসাবে ব্যবহার করুন
(২) কে-ফোল্ড ক্রস বৈধতা (আমার মামলার জন্য 10 টি ভাঁজ বা অন্য কোনও উপযুক্ত ভাঁজ সম্পর্কে পরামর্শ স্বাগত)
আমি কেবল ডেটাটি দুটি (লাভ এবং পরীক্ষা) এর মধ্যে নমুনা করতে পারি এবং সেগুলি ব্যবহার করতে পারি:
# using holdout (50% of the data) cross validation
training.id <- sample(1:nrow(myd), round(nrow(myd)/2,0), replace = FALSE)
test.id <- setdiff(1:nrow(myd), training.id)
myd_train <- myd[training.id,]
myd_test <- myd[test.id,]
আমি আর প্যাকেজ lm.ridgeথেকে ব্যবহার করছি MASS।
library(MASS)
out.ridge=lm.ridge(y~., data=myd_train, lambda=seq(0, 100,0.001))
plot(out.ridge)
select(out.ridge)
lam=0.001
abline(v=lam)
out.ridge1 =lm.ridge(y~., data=myd_train, lambda=lam)
hist(out.ridge1$coef)
out.ridge1$ym
hist(out.ridge1$xm)
আমার দুটি প্রশ্ন আছে -
(1) আমি কীভাবে পরীক্ষার সেটটি পূর্বাভাস দিতে পারি এবং নির্ভুলতার গণনা করতে পারি (ভবিষ্যদ্বাণী বনাম বাস্তবের পারস্পরিক সম্পর্ক হিসাবে)?
(২) আমি কী-ভাঁজ বৈধতা কীভাবে সম্পাদন করতে পারি? বলুন 10-ভাঁজ?
rmsপ্যাকেজ ols, calibrateএবং validateদ্বিঘাত দণ্ডনীয়তা (শৈলশিরা রিগ্রেশন) সঙ্গে ফাংশন।