আমি একটি স্পারস / গ্যাপি ডেটা সেটের উপর ভিত্তি করে কোভারিয়েন্স ম্যাট্রিক্সকে পচানোর চেষ্টা করছি। আমি লক্ষ করছি যে ল্যাম্বডা যোগফল (ব্যাখ্যা করা বৈকল্পিক) হিসাবে গণনা করা হয়েছে svd, ক্রমবর্ধমান gappy ডেটা দিয়ে প্রশস্ত করা হচ্ছে। ফাঁক ছাড়াই svdএবং eigenএকই ফলাফলের ছাঁটাই।
এটি eigenপচন ধরে বলে মনে হচ্ছে না । আমি ব্যবহারের দিকে svdঝুঁকছিলাম কারণ ল্যাম্বদা মান সর্বদা ইতিবাচক থাকে তবে এই প্রবণতা উদ্বেগজনক। এমন কিছু সংশোধন রয়েছে যা প্রয়োগ করা দরকার, বা এ svdজাতীয় সমস্যার জন্য আমার পুরোপুরি এড়ানো উচিত ।
###Make complete and gappy data set
set.seed(1)
x <- 1:100
y <- 1:100
grd <- expand.grid(x=x, y=y)
#complete data
z <- matrix(runif(dim(grd)[1]), length(x), length(y))
image(x,y,z, col=rainbow(100))
#gappy data
zg <- replace(z, sample(seq(z), length(z)*0.5), NaN)
image(x,y,zg, col=rainbow(100))
###Covariance matrix decomposition
#complete data
C <- cov(z, use="pair")
E <- eigen(C)
S <- svd(C)
sum(E$values)
sum(S$d)
sum(diag(C))
#gappy data (50%)
Cg <- cov(zg, use="pair")
Eg <- eigen(Cg)
Sg <- svd(Cg)
sum(Eg$values)
sum(Sg$d)
sum(diag(Cg))
###Illustration of amplification of Lambda
set.seed(1)
frac <- seq(0,0.5,0.1)
E.lambda <- list()
S.lambda <- list()
for(i in seq(frac)){
zi <- z
NA.pos <- sample(seq(z), length(z)*frac[i])
if(length(NA.pos) > 0){
zi <- replace(z, NA.pos, NaN)
}
Ci <- cov(zi, use="pair")
E.lambda[[i]] <- eigen(Ci)$values
S.lambda[[i]] <- svd(Ci)$d
}
x11(width=10, height=5)
par(mfcol=c(1,2))
YLIM <- range(c(sapply(E.lambda, range), sapply(S.lambda, range)))
#eigen
for(i in seq(E.lambda)){
if(i == 1) plot(E.lambda[[i]], t="n", ylim=YLIM, ylab="lambda", xlab="", main="Eigen Decomposition")
lines(E.lambda[[i]], col=i, lty=1)
}
abline(h=0, col=8, lty=2)
legend("topright", legend=frac, lty=1, col=1:length(frac), title="fraction gaps")
#svd
for(i in seq(S.lambda)){
if(i == 1) plot(S.lambda[[i]], t="n", ylim=YLIM, ylab="lambda", xlab="", main="Singular Value Decomposition")
lines(S.lambda[[i]], col=i, lty=1)
}
abline(h=0, col=8, lty=2)
legend("topright", legend=frac, lty=1, col=1:length(frac), title="fraction gaps")

svdযদি ফলাফলটি ইগেনভ্যালুগুলির ভিন্ন আকার না রাখি তবে প্রদত্ত ফলাফল সম্পর্কে আমি এতটা উদ্বিগ্ন হব না। ফলাফল স্পষ্টতই চলমান ইগুভ্যালুগুলিকে তার চেয়ে বেশি গুরুত্ব দিচ্ছে।