একটানা এবং বাইনারি ভেরিয়েবলের মিশ্রণের ভিত্তিতে পিসিএ এবং উপাদান স্কোর


13

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

# Generate synthetic dataset
set.seed(12345)
n <- 100
x1 <- rnorm(n)
x2 <- runif(n, -2, 2)
x3 <- x1 + x2 + rnorm(n)
x4 <- rbinom(n, 1, 0.5)
x5 <- rbinom(n, 1, 0.6)
data <- data.frame(x1, x2, x3, x4, x5)

# Correlation matrix with appropriate coefficients
# Pearson product-moment: 2 continuous variables
# Point-biserial: 1 continuous and 1 binary variable
# Phi: 2 binary variables
# For testing purposes use hetcor function
library(polycor)
C <- as.matrix(hetcor(data=data))

# Run PCA
pca <- princomp(covmat=C)
L <- loadings(pca)

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


1
আমি আপনার প্রশ্নটি বুঝতে পেরেছি কিনা তা নিশ্চিত নই। এটি বাইনারি ভেরিয়েবলের জন্য কেন আলাদা হবে?

@ ইনসানোডাগ: সুতরাং আপনি পরামর্শ দিয়েছি যে আমি লোডিং ম্যাট্রিক্সের সাথে ডেটা ম্যাট্রিক্সকে গুণতে পারি?
আন্দ্রেজ

উত্তর:


9

আমার মনে হয় ইনসোনডাগ ঠিক আছে। আমি জলিফের প্রধান উপাদানগুলির বিশ্লেষণকে উদ্ধৃত করেছি:

পিসিএ যখন বর্ণনামূলক কৌশল হিসাবে ব্যবহৃত হয়, বিশ্লেষণে ভেরিয়েবলগুলির কোনও বিশেষ ধরণের হওয়ার কোনও কারণ নেই। [...] পিসিএর মূল উদ্দেশ্য - সংক্ষেপে সংখ্যক ডাইরভেটিভ ভেরিয়েবল ব্যবহার করে ভেরিয়েবলের মূল সেটে উপস্থিত বেশিরভাগ সংক্ষিপ্তসার - মূল ভেরিয়েবলগুলির প্রকৃতি নির্বিশেষে অর্জন করা যায়।পি

লোডিং ম্যাট্রিক্সের সাথে ডেটা ম্যাট্রিক্সকে গুণিত করা পছন্দসই ফলাফল দেবে। তবে princomp()ফাংশনে আমার কিছু সমস্যা হয়েছে তাই আমি এর prcomp()পরিবর্তে ব্যবহার করেছি ।

ফাংশনটির রিটার্ন মানগুলির মধ্যে একটি prcomp()হ'ল xযা ব্যবহার করে সক্রিয় করা হয় retx=TRUE। এই এক্সটি আর ডকুমেন্টেশনে বর্ণিত লোডিং ম্যাট্রিক্স দ্বারা ডেটা ম্যাট্রিক্সের গুণক:

    rotation: the matrix of variable
              loadings (i.e., a matrix whose columns
              contain the eigenvectors).  The function princomp returns
              this in the element loadings’.

           x: if retx is true the value of the rotated data (the centred
              (and scaled if requested) data multiplied by the rotation
              matrix) is returned.  Hence, cov(x)’ is the diagonal matrix
              diag(sdev^2)’.  For the formula method, napredict()’ is
              applied to handle the treatment of values omitted by the
              na.action’.

এটি দরকারী ছিল কিনা তা আমাকে জানাবেন, বা যদি এর আরও সংশোধন প্রয়োজন হয়।

-

আইটি জোলিফ। প্রধান উপাদান বিশ্লেষণ. স্প্রিঙ্গের। দ্বিতীয় সংস্করণ. 2002. পিপি 339-343।


@ ডিজস_স্ট্যাটস: আপনার উত্তরের জন্য ধন্যবাদ আমি prcomp () দিয়ে চেষ্টা করেছি এবং সমস্ত ভেরিয়েবল সরবরাহ করেছিলাম। সংখ্যা হিসাবে (); ফলাফল প্রশংসনীয় বলে মনে হচ্ছে। আপনি দয়া করে জলিফ থেকে পৃষ্ঠা নম্বর সরবরাহ করতে পারেন?
আন্দ্রেজ

@ আন্দ্রেজ আমি উত্তরটি সম্পাদনা করেছি। উদ্ধৃতি অধ্যায় 13.1, পৃষ্ঠা 339 থেকে
deps_stats
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.