অ ইতিবাচক-নির্দিষ্ট কোভেরিয়েন্স ম্যাট্রিক্স সহ সাধারণত বিতরণ করা এলোমেলো সংখ্যা তৈরি করুন


15

আমি একটি নমুনার নমুনা কোভরিয়েন্স ম্যাট্রিক্স অনুমান করেছি Cএবং একটি প্রতিসাম্য ম্যাট্রিক্স পাই। দিয়ে Cআমি n ভারিটেট স্বাভাবিক বিতরণকৃত আরএন তৈরি করতে চাই তবে অতএব আমার কোলেস্কি পচন দরকার CC ইতিবাচক নির্দিষ্ট না হলে আমার কী করা উচিত ?


1
এই প্রশ্নটির সাথে পার্থক্য কী স্ট্যাকওভারফ্লো :: প্রশ্নগুলি / 17295627/… ?
ডিকোয়া

1
ইতিবাচক-সেমিাইডফিনেট ম্যাট্রিকের একাধিক বর্গমূল রয়েছে ( উদাহরণস্বরূপ stats.stackexchange.com/a/71303/919 এর শেষে ব্যাখ্যাটি দেখুন )। আপনার অগত্যা চোলস্কি পচন দ্বারা উত্পাদিত প্রয়োজন নেই। এটিতে সমস্যার কেন্দ্রস্থল রয়েছে: বর্গাকার শিকড়গুলি গণনা করার জন্য এমন একটি পদ্ধতি আবিষ্কার করুন যা ম্যাট্রিক্স এককালেও কাজ করে। @ অ্যামিবা শিরোনাম পরামর্শ দেয় আপনার ব্যাখ্যাটি সঠিক is
whuber

উত্তর:


8

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


কোভেরিয়েন্স ম্যাট্রিক্সের বীজগণিত বিশ্লেষণ

যেহেতু একটি কোভেরিয়েন্স ম্যাট্রিক্স, এটি অগত্যা প্রতিসাম্য এবং ধনাত্মক-সেমিডেফিনাইট। পটভূমি তথ্য সম্পূর্ণ করতে, আসুন desired কাঙ্ক্ষিত উপায়ের ভেক্টর হোনCμ

যেহেতু প্রতিসম হয়, এর একক মান মূল্য ক্ষয় (এসভিডি) এবং এর আইজেন্ডেকম্পোজেশনটি স্বয়ংক্রিয়ভাবে ফর্মটি ধারণ করেসি

সি=ভীডি2ভী'

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

বহুবিহীন এলোমেলো মান উত্পন্ন হচ্ছে

আসুন একটি প্রমিত বহুচলকীয় সাধারন বন্টন আছে: প্রতিটি উপাদানের শূন্য গড়, ইউনিট ভ্যারিয়েন্স আছে, এবং সব covariances শূন্য আছেন: তার সহভেদাংক ম্যাট্রিক্স পরিচয় আমি । তারপরে র্যান্ডম ভেরিয়েবল Y = V D X এর কোভারিয়েন্স ম্যাট্রিক্স রয়েছেএক্সআমিওয়াই=ভীডিএক্স

Cov(Y)=E(YY)=E(VDXXDV)=VDE(XX)DV=VDIDV=VD2V=C.

ফলে দৈব চলক গড় সঙ্গে একটি বহুচলকীয় সাধারন ডিস্ট্রিবিউশন আছে μ এবং সহভেদাংক ম্যাট্রিক্স সিμ+YμC

গণনা এবং উদাহরণ কোড

নিম্নলিখিত Rকোডটি প্রদত্ত মাত্রাগুলি এবং র‌্যাঙ্কের একটি কোভারিয়েন্স ম্যাট্রিক্স উত্পন্ন করে, এসভিডি (বা, মন্তব্যযুক্ত আউট কোডে একটি ইজেনডিকোপজেশন সহ) এর সাথে বিশ্লেষণ করে, বিশ্লেষণটি নির্দিষ্ট সংখ্যার উপলব্ধির উত্স তৈরি করতে ব্যবহার করে (গড় ভেক্টর 0 সহ ) , এবং তারপরে সেই ডেটাগুলির কোভেরিয়েন্স ম্যাট্রিক্সকে সংখ্যাসূচকভাবে এবং গ্রাফিকভাবে উদ্দেশ্যে কোভেরিয়েন্স ম্যাট্রিক্সের সাথে তুলনা করে। দেখানো, এটা উত্পন্ন 10 , 000 উপলব্ধির যেখানে মাত্রা ওয়াই হয় 100 এবং পদে সি হল 50 । আউটপুট হয়Y010,000Y100C50

        rank           L2 
5.000000e+01 8.846689e-05 

অর্থাৎ ডাটা পদে হয় এবং সহভেদাংক ম্যাট্রিক্স তথ্য থেকে অনুমান করা যেমন দুরুত্বে 8 × 10 - 5 এর সি পাসে --which। আরও বিশদ বিশদ চেক হিসাবে, সি এর গুণফলগুলি তার অনুমানগুলির বিরুদ্ধে চক্রান্ত করে। তারা সকলেই সমতার লাইনের কাছে থাকে:508×105CC

ব্যক্তিত্ব

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

n <- 100         # Dimension
rank <- 50
n.values <- 1e4  # Number of random vectors to generate
set.seed(17)
#
# Create an indefinite covariance matrix.
#
r <- min(rank, n)+1
X <- matrix(rnorm(r*n), r)
C <- cov(X)
#
# Analyze C preparatory to generating random values.
# `zapsmall` removes zeros that, due to floating point imprecision, might
# have been rendered as tiny negative values.
#
s <- svd(C)
V <- s$v
D <- sqrt(zapsmall(diag(s$d)))
# s <- eigen(C)
# V <- s$vectors
# D <- sqrt(zapsmall(diag(s$values)))
#
# Generate random values.
#
X <- (V %*% D) %*% matrix(rnorm(n*n.values), n)
#
# Verify their covariance has the desired rank and is close to `C`.
#
s <- svd(Sigma <- cov(t(X)))
(c(rank=sum(zapsmall(s$d) > 0), L2=sqrt(mean(Sigma - C)^2)))

plot(as.vector(C), as.vector(Sigma), col="#00000040",
     xlab="Intended Covariances",
     ylab="Estimated Covariances")
abline(c(0,1), col="Gray")

2
+1 তবে আপনি যখন আপনার প্রথম বাক্যে "অনির্দিষ্ট" বলবেন, আপনি ঠিক কী বোঝাতে চাইছেন? আমি উইকিপিডিয়ায় পরীক্ষা করেছি এবং এটি বলেছে যে পজিটিভ সেমাইডাইফিনেট অনির্দিষ্ট নয়, অর্থাত্ অনির্দিষ্ট মানে সি এর ইতিবাচক এবং নেতিবাচক উভয়মূল্য রয়েছে। আপনি কি সেখানে বলতে চাচ্ছেন?
অ্যামিবা বলেছেন মনিকাকে

2
@ আমেবা হ্যাঁ, এটি একটি স্লিপ ছিল। লক্ষ্য করার জন্য ধন্যবাদ। "অনির্দিষ্ট" অর্থ ম্যাট্রিক্সের স্বাক্ষরটিতে ইতিবাচক এবং নেতিবাচক উভয় লক্ষণই রয়েছে, "" সেমিডেফিনাইট "এর অর্থ স্বাক্ষরটির একটি মাত্র চিহ্ন রয়েছে।
whuber

6

সমাধান পদ্ধতি একটি :

  1. 0.5(C+CT)
  2. D+(mmin(eigenvalue(D)))I

ম্যাটল্যাবে কোডটি হবে

D = 0.5 * (C + C');
D =  D + (m - min(eig(CD)) * eye(size(D));

সমাধানের পদ্ধতি বি : তাদের পার্থক্যের ফ্রোবিনিয়াস রীতি অনুযায়ী সি এর নিকটতম ম্যাট্রিক্স ডি সন্ধান করার জন্য একটি উত্তল এসডিপি (সেমিডেফিনেট প্রোগ্রাম) প্রণয়ন এবং সমাধান করুন, যেমন ডি ন্যূনতম ইগেনুয়ালু মি নির্দিষ্ট করে ধনাত্মক সুনির্দিষ্ট।

ম্যাটল্যাবের অধীনে সিভিএক্স ব্যবহার করে কোডটি হবে:

n = size(C,1);
cvx_begin
variable D(n,n)
minimize(norm(D-C,'fro'))
D -m *eye(n) == semidefinite(n)
cvx_end

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


2

আপনি যে মডেলটি অনুমান করছেন তার কথা চিন্তা করেই আমি শুরু করব।

যদি কোনও কোভেরিয়েন্স ম্যাট্রিক্স ইতিবাচক অর্ধ-নির্দিষ্ট না হয় তবে এটি ইঙ্গিত দিতে পারে যে আপনার ভেরিয়েবলগুলিতে আপনার একটি কোলিনারিটি সমস্যা রয়েছে যা মডেলটির সাথে একটি সমস্যা নির্দেশ করবে এবং অগত্যা সংখ্যাসূচক পদ্ধতিতে সমাধান করা উচিত নয়।

যদি সংখ্যাসূচক কারণে ম্যাট্রিক্স ইতিবাচক অর্ধ-চূড়ান্ত না হয়, তবে এখানে কিছু সমাধান রয়েছে যা এখানে পড়তে পারেন


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

1

একটি উপায় হ'ল ইগেনুয়ালু পচন থেকে ম্যাট্রিক্স গণনা করা। এখন আমি স্বীকার করব আমি এই প্রক্রিয়াগুলির পিছনে গণিতের খুব বেশি কিছু জানি না তবে আমার গবেষণা থেকে এই সহায়তা ফাইলটি দেখার পক্ষে ফলপ্রসূ মনে হচ্ছে:

http://stat.ethz.ch/R-manual/R-patched/library/Matrix/html/chol.html

আর সম্পর্কিত অন্যান্য কমান্ড

এছাড়াও, ম্যাট্রিক্স প্যাকেজে 'কাছের পিডি' পরীক্ষা করে দেখুন।

দুঃখিত আমি আরও সাহায্য করতে পারি না তবে আমার আশেপাশে আমার অনুসন্ধানগুলি আপনাকে সঠিক দিকে ঠেলে দিতে সহায়তা করতে পারে hope


হাই, লিংকগুলির জন্য THX। ইগেন মান পচনের প্রতি সম্মানজনক, এই পচনটি কোনও উপকারে আসে না, কারণ সেখান থেকে আপনি স্কোয়ার রুট ম্যাট্রিক্সের জন্য জটিল ইগেনভ্যালু পান, তবে আমার পুনরায় মূল্যবান ম্যাট্রিক্স দরকার।
ক্লাউস

1

আর এর ম্যাট্রিক্স প্যাকেজে নিকট পিডি ফাংশন থেকে আপনি ফলাফল পেতে পারেন This এটি আপনাকে একটি সত্যিকারের মূল্যবান ম্যাট্রিক্স ফিরিয়ে দেবে।

library(Matrix)
A <- matrix(1, 3,3); A[1,3] <- A[3,1] <- 0
n.A <- nearPD(A, corr=T, do2eigen=FALSE)
n.A$mat

# 3 x 3 Matrix of class "dpoMatrix"
#           [,1]      [,2]      [,3]
# [1,] 1.0000000 0.7606899 0.1572981
# [2,] 0.7606899 1.0000000 0.7606899
# [3,] 0.1572981 0.7606899 1.0000000

আর এর ব্যবহারকারীদের জন্য এটি আমার উত্তরে সমাধান পদ্ধতি বি এর খারাপ "দরিদ্র" সংস্করণ (কম নিয়ন্ত্রণ সহ) নাও হতে পারে।
মার্ক এল স্টোন

আমি সম্মতি জানাই এটি অনুকূল নয় তবে কখনও কখনও এটি কৌশলটি করে।
ডঃ মাইক
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.