কেন কেন্দ্রিং পিসিএ (এসভিডি এবং ইগেন পচানোর জন্য) মধ্যে পার্থক্য আনতে পারে?


30

আপনার ডেটা পিসিএর জন্য কেন্দ্রীভূত করে (বা ডি-অর্থ)? আমি শুনেছি এটি গণিতকে সহজ করে তোলে বা এটি প্রথম পিসিকে ভেরিয়েবলগুলির মাধ্যম দ্বারা প্রভাবিত হতে বাধা দেয় তবে আমার মনে হয় আমি এখনও দৃ 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 )XXX/(n1)


5
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
ttnphns

2
through the origin, rather than the main axis of the point cloud। পিসিএ সর্বদা উত্স ছিদ্র করে। যদি ডেটা কেন্দ্রিক হয় তবে মূল = সেন্ট্রয়েড।
ttnphns

আপনাকে ধন্যবাদ, ওভারভিউটি আমার জন্য বিশেষভাবে পরিষ্কার জিনিসগুলি সহায়তা করেছিল। সুতরাং এটি কেবল নামকরণের একটি বিষয়? আমি ধরে হল ম্যাট্রিক্সের চারপাশে ভিত্তি করে একটি গণনা, যেখানে এটি সাধারণত কেন্দ্রিক ডেটাসেটে সঞ্চালিত গণনা হিসাবে সংজ্ঞায়িত হয় (যেখানে ম্যাট্রিক্স)। যদিও এটি বিভ্রান্তিকর কনভেনশন মনে হচ্ছে। চলছে। XX
জেনিট

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

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

উত্তর:


33

আপনি যেমন নিজেকে মন্তব্য করেছেন এবং মন্তব্যগুলিতে @ttnphns দ্বারা ব্যাখ্যা করেছেন তেমন, গণনা কোভারিয়েন্স ম্যাট্রিক্স অন্তর্নিহিতভাবে কেন্দ্রীকরণ সম্পাদন করে: সংজ্ঞা অনুসারে, গড় থেকে গড় স্কোয়ার বিচ্যুতি । কেন্দ্রিক এবং অ-কেন্দ্রিক ডেটাতে অভিন্ন কোভেরিয়েন্স ম্যাট্রিক থাকবে। সুতরাং যদি পিসিএ দ্বারা আমরা নিম্নলিখিত পদ্ধতিটি বুঝতে পারি: তবে কেন্দ্রীকরণ কোনও পার্থক্য রাখে না।

DataCovariance matrixEigen-decomposition,

[উইকিপিডিয়া:] উপবৃত্তের অক্ষগুলি খুঁজতে, আমাদের প্রথমে প্রতিটি ভেরিয়েবলের গড়টি ডেটাসেট থেকে বিয়োগের উত্সের চারপাশের ডেটাগুলি বিয়োগ করতে হবে। তারপরে, আমরা তথ্যের কোভেরিয়েন্স ম্যাট্রিক্স গণনা করি ...

এবং সুতরাং আপনি সঠিকভাবে পর্যবেক্ষণ করতে পারেন যে এটি খুব নির্ভুল সূত্র নয়।

লোকেরা যখন "নন-কেন্দ্রিক ডেটাতে পিসিএ" সম্পর্কে কথা বলেন, তাদের অর্থ হল যে কোভারিয়েন্স ম্যাট্রিক্সের পরিবর্তে ইগেন-পচন। ম্যাথবিএফ ম্যাট্রিক্সে সঞ্চালিত হয় । যদি কেন্দ্রিক হয় তবে এটি ঠিক কোভারিয়েন্স ম্যাট্রিক্স হবে। যদি না হয় তবে। সুতরাং যদি পিসিএ দ্বারা আমরা নিম্নলিখিত পদ্ধতিটি বুঝতে পারি: এক্সXX/(n1)X

Data XMatrix XX/(n1)Eigen-decomposition,

তারপরে কেন্দ্রীকরণ অনেক গুরুত্বপূর্ণ বিষয় এবং ডেটা কেন্দ্রীভূত করার ফলে কীভাবে রেগ্রেশন এবং পিসিএর বিরতি থেকে মুক্তি পাওয়া যায়?

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

Data XSingular value decomposition.

Xsvd


1
আপনার উত্তরের জন্য একটি পরিষ্কার যুক্তি তৈরি করতে আমার একটি পরামর্শ পেয়েছি। যেহেতু আপনার দুটি প্রথম (ইগেন) উদাহরণে আপনি পচা এমএসসিপি ম্যাট্রিক্সের কথা বলছেন X'X/(n-1)এবং এসএসসিপি ম্যাট্রিক্সের কথা নয় X'X- এটি এসভিডি উদাহরণে সমতা দেখানো হবে, X/sqrt(n-1)পরিবর্তে পচে যাওয়া X(যেমন আপনি বর্তমানে কথা বলছেন)। [অবশ্যই পার্থক্যটি কেবলমাত্র স্কেল পার্টে (ইগেনভ্যালুগুলি) ইগেনভেেক্টর নয়, তবে এটি আরও ভালভাবেই করা হয়েছে, আমি ভেবে দেখব My] আমার দ্বিতীয় বিষয়টি মনে করিয়ে দেওয়া হবে যে কেন্দ্রীকরণকে কেন্দ্র করে Xকোনও স্থান গ্রহণ না করা মাত্রই বেসেল সংশোধন n-1অপ্রয়োজনীয় হয়ে যায়, nস্বাগতম!
ttnphns

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