এটি একটি বাগ না।
আমরা মন্তব্যগুলিতে যেমন (ব্যাপকভাবে) অনুসন্ধান করেছি, তখন দুটি জিনিস ঘটছে। প্রথমটি হ'ল U কলামগুলি এসভিডি প্রয়োজনীয়তাগুলি পূরণ করতে বাধ্য হয়: প্রত্যেকটির অবশ্যই ইউনিটের দৈর্ঘ্য থাকতে হবে এবং অন্য সকলের কাছে অর্থেগোনাল হওয়া উচিত। দেখার U একটি র্যান্ডম ম্যাট্রিক্স থেকে তৈরি করা একটি দৈব চলক যেমন X একটি নির্দিষ্ট SVD অ্যালগরিদম মাধ্যমে, আমরা যার ফলে লক্ষ করুন যে, এই কে ( কে + 1 ) / 2 বৈশিষ্ট্যগুলি স্বাধীন সীমাবদ্ধতার কলাম মধ্যে পরিসংখ্যানগত নির্ভরতা তৈরি ইউ ।
এই নির্ভরতাগুলি ইউ এর উপাদানগুলির মধ্যে পারস্পরিক সম্পর্কগুলি অধ্যয়ন করে আরও বা কম পরিমাণে প্রকাশিত হতে পারে , তবে একটি দ্বিতীয় ঘটনাটি উদ্ভূত হয় : এসভিডি সমাধানটি অনন্য নয়। সর্বনিম্ন, ইউ প্রতিটি কলাম স্বতন্ত্রভাবে উপেক্ষিত হতে পারে, কমপক্ষে কে কলামগুলির সাথে 2ট পৃথক সমাধান দেয় । স্ট্রং সম্পর্কযুক্তরূপে (মাত্রাধিক 1 / 2 ) উপযুক্তভাবে কলাম লক্ষণ পরিবর্তন দ্বারা প্রবর্তিত করা যেতে পারে। (এই কাজ করতে ওয়ান ওয়ে দেওয়া হয় অ্যামিবা এর উত্তর আমার প্রথম মন্তব্য এই থ্রেড: আমি জোর সব তোমার দর্শন লগ করা আমি আমি , আমি = 1 ,ট1 / 2uii,i=1,…,k সমান সম্ভাবনার সাথে এগুলি সমস্ত নেতিবাচক বা সমস্ত ধনাত্মক করে তুলতে একই চিহ্ন থাকতে হবে)) অন্যদিকে, সমান সম্ভাবনা সহ এলোমেলোভাবে, স্বাধীনভাবে লক্ষণগুলি বেছে নিয়ে সমস্ত সম্পর্কগুলি নিখরচায় করা যেতে পারে। (আমি "সম্পাদনা" বিভাগে নীচে একটি উদাহরণ দিই))
যত্ন সহ, U এর উপাদানগুলির স্ক্যাটারপ্ল্লট ম্যাট্রিকগুলি পড়ার সময় আমরা এই দুটি ঘটনা আংশিকভাবে বুঝতে পারি । কিছু বৈশিষ্ট্য - যেমন পয়েন্টগুলির উপস্থিতি প্রায় একইভাবে সু-সংজ্ঞায়িত বৃত্তাকার অঞ্চলে বিতরণ করা হয় - স্বাধীনতার অভাবকে বিশ্বাস করে। অন্যরা যেমন স্প্রেটারপ্লটগুলি স্পষ্ট নানজারো পারস্পরিক সম্পর্ককে দেখায়, স্পষ্টতই অ্যালগরিদমে করা পছন্দগুলির উপর নির্ভর করে - তবে এই জাতীয় পছন্দগুলি কেবল প্রথম স্থানে স্বাধীনতার অভাবের কারণে সম্ভব।
এসভিডি (বা কোলেস্কি, এলআর, এলইউ, ইত্যাদি) এর মতো একটি পচা অ্যালগরিদমের চূড়ান্ত পরীক্ষাটি এটি যা দাবি করে তা করে কিনা। এই পরিস্থিতিতে এটা যখন SVD ম্যাট্রিক্সের ট্রিপল ফেরৎ যে চেক করতে যথেষ্ট (U,D,V) , যে X উদ্ধার করা হয়, আপ অপেক্ষিত ফ্লোটিং পয়েন্ট ত্রুটির, পণ্য দ্বারা UDV′ ; যে U এবং V এর কলামগুলি অরথনোরাল; এবং যে D তির্যক, তার তির্যক উপাদান অ নেতিবাচক হয়, এবং অবরোহী সাজানো থাকে। আমি svd
অ্যালগোরিদম এ জাতীয় পরীক্ষা প্রয়োগ করেছিR
এবং এটি কখনও ভুল হিসাবে দেখা যায় নি। যদিও এটি কোনও আশ্বাস নয় যে এটি পুরোপুরি সঠিক, এই জাতীয় অভিজ্ঞতা - যা আমি বিশ্বাস করি যে অনেক লোক ভাগ করে নিয়েছে - পরামর্শ দেয় যে কোনও বাগের প্রকাশের জন্য কিছু অসাধারণ ধরণের ইনপুট প্রয়োজন।
নিম্নলিখিতটি কীভাবে উত্থাপিত প্রশ্নে উত্থিত নির্দিষ্ট পয়েন্টগুলির আরও বিশদ বিশ্লেষণ।
R
এর svd
পদ্ধতিটি ব্যবহার করে প্রথমে আপনি পরীক্ষা করতে পারবেন যে k বাড়ার সাথে সাথে U এর সহগের মধ্যে পারস্পরিক সম্পর্ক দুর্বল হয়, তবে সেগুলি এখনও ননজারো। আপনি যদি কেবল বৃহত্তর সিমুলেশন সম্পাদন করেন তবে আপনি দেখতে পাবেন সেগুলি উল্লেখযোগ্য। (যখন k=3 , 50000 পুনরাবৃত্তিগুলি পর্যাপ্ত হওয়া উচিত)) প্রশ্নের উত্থানের বিপরীতে, সম্পর্কগুলি "সম্পূর্ণরূপে অদৃশ্য হয়ে যায়"।
দ্বিতীয়ত, এই ঘটনাটি অধ্যয়ন করার একটি ভাল উপায় হ'ল সহগতির স্বাধীনতার বুনিয়াদি প্রশ্নে ফিরে যাওয়া । যদিও পারস্পরিক সম্পর্কগুলি বেশিরভাগ ক্ষেত্রে শূন্যের কাছাকাছি থাকে, তবে স্বাধীনতার অভাব স্পষ্টভাবে স্পষ্ট is এটি U এর সহগের সম্পূর্ণ মাল্টিভারিয়েট বিতরণ অধ্যয়ন করে সর্বাধিক স্পষ্ট হয়ে উঠেছে । বিতরণের প্রকৃতি এমনকি ছোট সিমুলেশনেও উদ্ভাসিত হয় যেখানে ননজারো সম্পর্কিত সম্পর্ক (এখনও) সনাক্ত করা যায় না। উদাহরণস্বরূপ, সহগের একটি স্কেটরপ্লট ম্যাট্রিক্স পরীক্ষা করুন। এই কার্যকর করতে, আমি প্রতিটি কৃত্রিম ডেটাসেটের আকার নির্ধারণ করে 4 এবং রাখা k=2 ফলে অঙ্কন 10004×2 ম্যাট্রিক্স U এর উপলব্ধি, 1000×8 ম্যাট্রিক্স তৈরি করে । এখানে U মধ্যে তাদের অবস্থানের তালিকাভুক্ত ভেরিয়েবলগুলি সহ এখানে পূর্ণ স্ক্রেটারপ্ল্লট ম্যাট্রিক্স রয়েছে :
প্রথম কলামে নিচে স্ক্যান মধ্যে স্বাধীনতার একটা মজার অভাব প্রকাশ করে u11 এবং অন্যান্য uij : কিভাবে সঙ্গে scatterplot উপরের পাদ এ বর্ণন u21 প্রায় শূন্য হইলে, উদাহরণস্বরূপ; অথবা (u11,u22) সম্পর্ক এবং নীচের দিকে-opালু মেঘের (u21,u12) জোড়ার বর্ণনা দিয়ে উপবৃত্তাকার wardর্ধ্বমুখী cloudালু মেঘ পরীক্ষা করুন । একটি নিবিড় দৃষ্টিভঙ্গি এই সহগের প্রায় সকলের মধ্যেই স্বাধীনতার স্পষ্ট অভাব প্রকাশ করে: তাদের বেশিরভাগই দূরবর্তীভাবে স্বতন্ত্র দেখায়, যদিও তাদের বেশিরভাগই শূন্যের পারস্পরিক সম্পর্কের প্রদর্শন করে।
(এনবি: বেশিরভাগ বৃত্তাকার মেঘগুলি প্রতিটি কলামের সমস্ত উপাদানগুলির স্কোয়ারের যোগফলকে unityক্যবদ্ধ করতে বাধ্য করে নরমালাইজেশন অবস্থার দ্বারা তৈরি হাইপারস্পিয়ার থেকে অনুমান হয়))
k=3 এবং k=4 সাথে স্ক্যাটারপ্ল্লট ম্যাট্রিকগুলি একই ধরণের নিদর্শন প্রদর্শন করে: এই ঘটনাগুলি k=2 তে সীমাবদ্ধ নয় বা তারা প্রতিটি সিমুলেটেড ডেটাসেটের আকারের উপর নির্ভর করে না: এগুলি কেবল উত্পন্ন এবং পরীক্ষা করা আরও কঠিন হয়ে যায়।
এই নিদর্শনগুলির জন্য ব্যাখ্যাগুলি একক মান পচনায় U প্রাপ্ত করতে ব্যবহৃত অ্যালগরিদমগুলিতে যায় তবে আমরা জানি স্বাধীনতার এই ধরণগুলি অবশ্যই U এর খুব সংজ্ঞায়িত বৈশিষ্ট্যের দ্বারা উপস্থিত থাকতে হবে : যেহেতু প্রতিটি ধারাবাহিক কলাম পূর্ববর্তীটির (জ্যামিতিকভাবে) অরথোগোনাল এই orthogonality শর্তগুলি সহগের মধ্যে কার্যকরী নির্ভরতা আরোপ করে, যার ফলে এটি সম্পর্কিত র্যান্ডম ভেরিয়েবলের মধ্যে পরিসংখ্যানিক নির্ভরতাতে অনুবাদ করে।
সম্পাদন করা
মন্তব্যের প্রতিক্রিয়া হিসাবে, এই নির্ভরশীলতা ঘটনাটি যে পরিমাণে অন্তর্নিহিত অ্যালগরিদমকে প্রতিবিম্বিত করে (কোনও এসভিডি গণনা করতে) এবং প্রক্রিয়াটির প্রকৃতিতে তারা কতটা অন্তর্নিহিত সে বিষয়ে মন্তব্য করা মূল্যবান হতে পারে।
নির্দিষ্ট কোফিসিয়েন্টস মধ্যে সম্পর্কযুক্তরূপে নিদর্শন SVD অ্যালগরিদম দ্বারা তৈরি নির্বিচারে পছন্দের উপর একটি মহান চুক্তি, নির্ভর কারণ সমাধান অনন্য নয়: কলাম U সবসময় স্বাধীনভাবে দ্বারা গুন করা যেতে পারে −1 বা 1 । সাইনটি বেছে নেওয়ার কোনও অভ্যন্তরীণ উপায় নেই। সুতরাং, দুই SVD আলগোরিদিম চিহ্নের পৃথক (নির্বিচারে অথবা সম্ভবত এমনকি র্যান্ডম) পছন্দ করতে, তখন তারা এর scatterplots বিভিন্ন নিদর্শন হতে পারে (uij,ui′j′) মান। আপনি যদি এটি দেখতে চান stat
তবে নীচের কোডটিতে ফাংশনটি প্রতিস্থাপন করুন
stat <- function(x) {
i <- sample.int(dim(x)[1]) # Make a random permutation of the rows of x
u <- svd(x[i, ])$u # Perform SVD
as.vector(u[order(i), ]) # Unpermute the rows of u
}
এটি প্রথমে এলোমেলোভাবে পর্যবেক্ষণগুলি পুনরায় অর্ডার করে x
, এসভিডি সম্পাদন করে, তারপরে u
মূল পর্যবেক্ষণের ক্রমটি মেলানোর জন্য বিপরীত ক্রম প্রয়োগ করে । যেহেতু প্রভাবটি মূল স্ক্রেটারপ্লটগুলির প্রতিবিম্বিত এবং ঘোরানো সংস্করণগুলির মিশ্রণ গঠন করে, তাই ম্যাট্রিক্সের স্ক্যাটারপ্লটগুলি আরও বেশি ইউনিফর্ম দেখাবে। সমস্ত নমুনা পারস্পরিক সম্পর্কগুলি শূন্যের খুব কাছাকাছি থাকবে (নির্মাণের দ্বারা: অন্তর্নিহিত সম্পর্কগুলি একেবারে শূন্য)। তা সত্ত্বেও, স্বাধীনতার অভাব এখনও সুস্পষ্ট হতে হবে (যে প্রদর্শিত অভিন্ন বিজ্ঞপ্তি আকার বিশেষ করে মধ্যবর্তী ui,j এবং ui,j′)।
মূল স্ক্র্যাটারপ্লটগুলির (কিছু উপরের চিত্রে দেখানো হয়েছে) কিছু অংশের কোয়াড্রেন্টে তথ্যের অভাব কীভাবে R
এসভিডি অ্যালগরিদম কলামগুলির জন্য চিহ্নগুলি নির্বাচন করে তা থেকে উদ্ভূত হয়েছিল ।
সিদ্ধান্ত সম্পর্কে কিছুই পরিবর্তন। যেহেতু U এর দ্বিতীয় কলামটি প্রথমটির দিকে অর্থোগোনাল, এটি (মাল্টিভারিয়েট এলোমেলো ভেরিয়েবল হিসাবে বিবেচিত) প্রথমটির উপর নির্ভরশীল (এটি মাল্টিভারিয়েট এলোমেলো পরিবর্তনশীল হিসাবেও বিবেচিত)। আপনার কাছে একটি কলামের সমস্ত উপাদান অপরের সমস্ত উপাদান থেকে পৃথক থাকতে পারে না; আপনি যা করতে পারেন তা হ'ল ডেটাগুলি এমন উপায়ে দেখা উচিত যা নির্ভরতাগুলি অস্পষ্ট করে - তবে নির্ভরতা অব্যাহত থাকবে।
কে > 2R
কেসগুলি পরিচালনা করতে এবং স্ক্যাটারপ্ল্লট ম্যাট্রিক্সের একটি অংশ আঁকতে এখানে কোড আপডেট করা হয়েছে ।k>2
k <- 2 # Number of variables
p <- 4 # Number of observations
n <- 1e3 # Number of iterations
stat <- function(x) as.vector(svd(x)$u)
Sigma <- diag(1, k, k); Mu <- rep(0, k)
set.seed(17)
sim <- t(replicate(n, stat(MASS::mvrnorm(p, Mu, Sigma))))
colnames(sim) <- as.vector(outer(1:p, 1:k, function(i,j) paste0(i,",",j)))
pairs(sim[, 1:min(11, p*k)], pch=".")