আপনার ডেটা পিসিএর জন্য কেন্দ্রীভূত করে (বা ডি-অর্থ)? আমি শুনেছি এটি গণিতকে সহজ করে তোলে বা এটি প্রথম পিসিকে ভেরিয়েবলগুলির মাধ্যম দ্বারা প্রভাবিত হতে বাধা দেয় তবে আমার মনে হয় আমি এখনও দৃ feel়ভাবে ধারণাটি উপলব্ধি করতে সক্ষম হইনি।
উদাহরণস্বরূপ, শীর্ষস্থানীয় উত্তর এখানে ডেটা কেন্দ্রীকরণ কীভাবে রিগ্রেশন এবং পিসিএর বিরতি থেকে মুক্তি পাবে? কেন্দ্র না করে কীভাবে বিন্দু মেঘের মূল অক্ষের চেয়ে প্রথম পিসিএটিকে উত্সের মধ্য দিয়ে টানবে describes কোভরিয়েন্স ম্যাট্রিক্সের আইজেনভেেক্টরগুলির কাছ থেকে পিসি কীভাবে নেওয়া হয় তা বোঝার ভিত্তিতে আমি বুঝতে পারি না কেন এটি হবে।
তদ্ব্যতীত, কেন্দ্রীভূত না করে এবং ছাড়া আমার নিজের গণনাগুলি বোধগম্য নয়।
iris
আর-তে ডেটাসেটের সেটোসা ফুলগুলি বিবেচনা করুন I আমি নীচের হিসাবে নমুনা কোভারিয়েন্স ম্যাট্রিক্সের ইগেনভেেক্টর এবং ইগেনভ্যালু গণনা করেছি।
data(iris)
df <- iris[iris$Species=='setosa',1:4]
e <- eigen(cov(df))
> e
$values
[1] 0.236455690 0.036918732 0.026796399 0.009033261
$vectors
[,1] [,2] [,3] [,4]
[1,] -0.66907840 0.5978840 0.4399628 -0.03607712
[2,] -0.73414783 -0.6206734 -0.2746075 -0.01955027
[3,] -0.09654390 0.4900556 -0.8324495 -0.23990129
[4,] -0.06356359 0.1309379 -0.1950675 0.96992969
আমি যদি প্রথমে ডেটাसेटকে কেন্দ্র করে রাখি তবে আমি ঠিক একই ফলাফল পেয়ে থাকি। এটি একেবারে সুস্পষ্ট বলে মনে হচ্ছে, কেননা কেন্দ্রীকরণ মোটেও covariance ম্যাট্রিক্স পরিবর্তন করে না।
df.centered <- scale(df,scale=F,center=T)
e.centered<- eigen(cov(df.centered))
e.centered
prcomp
ঠিক এই eigenvalue-eigenvector একযোগে ফাংশন ফলাফল হিসাবে ভাল, উভয় কেন্দ্রিক এবং uncentered ডেটা সেটটি জন্য।
p<-prcomp(df)
p.centered <- prcomp(df.centered)
Standard deviations:
[1] 0.48626710 0.19214248 0.16369606 0.09504347
Rotation:
PC1 PC2 PC3 PC4
Sepal.Length -0.66907840 0.5978840 0.4399628 -0.03607712
Sepal.Width -0.73414783 -0.6206734 -0.2746075 -0.01955027
Petal.Length -0.09654390 0.4900556 -0.8324495 -0.23990129
Petal.Width -0.06356359 0.1309379 -0.1950675 0.96992969
যাইহোক, prcomp
ফাংশন ডিফল্ট বিকল্প থাকে center = TRUE
। এই বিকল্পটি অক্ষম করার ফলে নিরীক্ষিত তথ্যগুলির জন্য নিম্নলিখিত পিসির ফলাফল হয় ( মিথ্যাতে সেট থাকলে p.centered
একই থাকে center
):
p.uncentered <- prcomp(df,center=F)
> p.uncentered
Standard deviations:
[1] 6.32674700 0.22455945 0.16369617 0.09766703
Rotation:
PC1 PC2 PC3 PC4
Sepal.Length -0.8010073 0.40303704 0.4410167 0.03811461
Sepal.Width -0.5498408 -0.78739486 -0.2753323 -0.04331888
Petal.Length -0.2334487 0.46456598 -0.8317440 -0.19463332
Petal.Width -0.0395488 0.04182015 -0.1946750 0.97917752
কেন এটি অনাহীন তথ্যের কোভারিয়েন্স ম্যাট্রিক্সে আমার নিজস্ব ইগেনভেেক্টর গণনা থেকে আলাদা? এটি গণনার সাথে কি করতে হবে? আমি উল্লেখ করেছি দেখেছি যে prcomp
পিসি গণনার জন্য ইজেনভ্যালু পচানোর চেয়ে এসভিডি পদ্ধতি নামে কিছু ব্যবহার করে। ফাংশনটি উত্তরোত্তর princomp
ব্যবহার করে তবে এর ফলাফলগুলি অভিন্ন prcomp
। আমার সমস্যাটি কি এই পোস্টের উপরে বর্ণিত উত্তরের সাথে সম্পর্কিত?
সম্পাদনা: সহায়ক @ttnphns দ্বারা ইস্যুটি সাফ হয়ে গেছে। এই প্রশ্নের নীচে তার মন্তব্য দেখুন: যদি ডেটা কেন্দ্রিক না করে প্রথমে কোভারিয়েন্স ম্যাট্রিক্সের ইগেনভেেক্টর গণনা করার অর্থ কী? এবং এই উত্তরে: https://stats.stackexchange.com/a/22520/3277 । সংক্ষেপে: একটি সমবায় ম্যাট্রিক্স স্পষ্টভাবে ইতিমধ্যে ডেটা কেন্দ্রিক জড়িত। পিসিএ কেন্দ্রিক উপাত্ত বিএফ এর এসভিডি বা আইজেন্ডেকম্পোজেশন ব্যবহার করে এবং কোভেরিয়েন্স ম্যাট্রিক্স এর পরে সমান ।এক্স ′ এক্স / ( এন - 1 )
through the origin, rather than the main axis of the point cloud
। পিসিএ সর্বদা উত্স ছিদ্র করে। যদি ডেটা কেন্দ্রিক হয় তবে মূল = সেন্ট্রয়েড।
Based on my understanding of how the PC's are obtained from the covariance matrix's eigenvectors...
আপনার লিঙ্ক করা উত্তরে মন্তব্যগুলি পড়ুন। কোভেরিয়েন্সগুলি তথ্যকে কেন্দ্র করে বোঝায়, কেন্দ্রিয় উপাত্তগুলিতে পিসিএ "সমবায়িকাগুলিতে" = পিসিএ। আপনি যদি মূল ভেরিয়েবলগুলি কেন্দ্র না করেন তবেX
এই জাতীয় ডেটা ভিত্তিক পিসিএX'X/n [or n-1]
ম্যাট্রিক্সে = পিসিএ হবে । এছাড়াও গুরুত্বপূর্ণ ওভারভিউ দেখুন: stats.stackexchange.com/a/22520/3277 ।