আমি এখন যা বিশ্বাস করি তা সরবরাহ করে এটি একটি সর্বোত্তম উত্তর; অতএব আমি আরও ভাল পরামর্শ দিয়ে শুরু করতে আমার উত্তর সম্পাদনা করেছি।
দ্রাক্ষালতা পদ্ধতি ব্যবহার
এই থ্রেডে: কীভাবে দক্ষতার সাথে এলোমেলো ইতিবাচক-সেমাইডাইফিনিট পারস্পরিক সম্পর্ক ম্যাট্রিক্স তৈরি করতে হয়? - আমি র্যান্ডম পারস্পরিক সম্পর্ক মেট্রিকেস উত্পন্ন করার জন্য দুটি দক্ষ অ্যালগরিদমের জন্য কোডটি বর্ণনা এবং সরবরাহ করেছি provided উভয়ই লেবান্ডোস্কি, কুরোভিকা এবং জোয়ের একটি কাগজ থেকে এসেছে (২০০৯) এর ।
প্রচুর পরিসংখ্যান এবং মতলব কোডের জন্য দয়া করে আমার উত্তরটি এখানে দেখুন । এখানে আমি কেবল এটিই বলতে চাই যে লতা পদ্ধতিটি আংশিক পরস্পর সম্পর্কিত কোনও বিতরণের সাথে এলোমেলো সম্পর্ক সম্পর্কিত ম্যাট্রিক্স তৈরি করতে দেয় ("আংশিক" শব্দটি নোট করুন) এবং বৃহত্তর অফ-ডায়াগোনাল মানগুলির সাথে সম্পর্কযুক্ত ম্যাট্রিক তৈরি করতে ব্যবহার করা যেতে পারে। এই থ্রেড থেকে প্রাসঙ্গিক চিত্র এখানে:
সাবপ্লটগুলির মধ্যে যে একমাত্র জিনিসটি পরিবর্তিত হয়, তা হ'ল একটি প্যারামিটার যা নিয়ন্ত্রণ করে আংশিক সম্পর্কের বিতরণটি দিকে কেন্দ্রীভূত হয় । ওপি যেমন প্রায় ডায়াগোনাল সাধারণ বিতরণ চেয়েছিল, এখানে অফ-ডায়াগোনাল উপাদানগুলির হিস্টোগ্রামের প্লট রয়েছে (উপরের মতো একই ম্যাট্রিকের জন্য):±1
আমি মনে করি এই বিতরণগুলি যুক্তিসঙ্গতভাবে "সাধারণ", এবং স্ট্যান্ডার্ড বিচ্যুতি কীভাবে ধীরে ধীরে বৃদ্ধি পায় তা দেখতে পাবে। আমার যুক্ত করা উচিত যে অ্যালগরিদম খুব দ্রুত। বিশদ জন্য লিঙ্কযুক্ত থ্রেড দেখুন।
আমার আসল উত্তর
আপনার পদ্ধতির একটি সোজা-ফরওয়ার্ড পরিবর্তন সম্ভবত কৌশলটি করতে পারে (আপনি বিতরণটি কীভাবে স্বাভাবিক হতে চান তার উপর নির্ভর করে)। এই উত্তরটি উপরে @ কার্ডিনালের মন্তব্যগুলি দ্বারা অনুপ্রাণিত হয়েছিল এবং আমার নিজের প্রশ্নের উত্তর @ পিএসরকার উত্তর দ্বারা কীভাবে কিছু শক্তিশালী পারস্পরিক সম্পর্ক রয়েছে তার সাথে একটি বৃহত পূর্ণ-র্যাঙ্কের এলোমেলো সংযোগ ম্যাট্রিক্স কীভাবে তৈরি করা যায়?
কৌশলটি হ'ল আপনার সম্পর্কিত সম্পর্কযুক্ত নমুনাগুলি তৈরি করা (বৈশিষ্ট্য নয়, নমুনা)) এখানে একটি উদাহরণ রয়েছে: আমি এলোমেলো ম্যাট্রিক্স এর আকারের (স্ট্যান্ডার্ড সাধারণ থেকে সমস্ত উপাদান) তৈরি করি এবং তারপরে প্রতিটি সারিতে থেকে এলোমেলো সংখ্যা যুক্ত করি , । জন্য পারস্পরিক সম্পর্ক ম্যাট্রিক্স (বৈশিষ্ট্য standardizing পরে) উপাদান প্রায় স্বাভাবিকভাবে স্ট্যানডার্ড ডেভিয়েশন সঙ্গে বিতরণ করা-তির্যক বন্ধ থাকবে । এএক্স 1000 × 100 [ - এ / 2 , এ / 2 ] এ = 0 , 1 , 2 , 5 এ = 0 এক্স ⊤ এক্স 1 / √XX1000×100[−a/2,a/2]a=0,1,2,5a=0X⊤X একটি>0একটিএকটি=0,1,2,51/1000−−−−√a>0, আমি ভেরিয়েবলগুলি কেন্দ্র না করেই পারস্পরিক সম্পর্ক মেট্রিক্স গণনা করি (এটি সন্নিবেশিত পারস্পরিক সম্পর্ক সংরক্ষণ করে) এবং অফ-তির্যক উপাদানের মানক বিচ্যুতিটি এই চিত্রের উপরে দেখানো হিসাবে বৃদ্ধি পায় (সারিগুলি ):aa=0,1,2,5
এই সমস্ত ম্যাট্রিক অবশ্যই অবশ্যই ইতিবাচক নির্দিষ্ট। মাতলাব কোডটি এখানে:
offsets = [0 1 2 5];
n = 1000;
p = 100;
rng(42) %// random seed
figure
for offset = 1:length(offsets)
X = randn(n,p);
for i=1:p
X(:,i) = X(:,i) + (rand-0.5) * offsets(offset);
end
C = 1/(n-1)*transpose(X)*X; %// covariance matrix (non-centred!)
%// convert to correlation
d = diag(C);
C = diag(1./sqrt(d))*C*diag(1./sqrt(d));
%// displaying C
subplot(length(offsets),3,(offset-1)*3+1)
imagesc(C, [-1 1])
%// histogram of the off-diagonal elements
subplot(length(offsets),3,(offset-1)*3+2)
offd = C(logical(ones(size(C))-eye(size(C))));
hist(offd)
xlim([-1 1])
%// QQ-plot to check the normality
subplot(length(offsets),3,(offset-1)*3+3)
qqplot(offd)
%// eigenvalues
eigv = eig(C);
display([num2str(min(eigv),2) ' ... ' num2str(max(eigv),2)])
end
এই কোডের আউটপুট (ন্যূনতম এবং সর্বাধিক ইগেনভ্যালুগুলি):
0.51 ... 1.7
0.44 ... 8.6
0.32 ... 22
0.1 ... 48