অনুপ্রেরণামূলক ডেটা থেকে এলোমেলো মাল্টিভারিয়েট মান উত্পন্ন করুন


10

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

তবে কোনও সম্পত্তির রিটার্ন বিতরণের দিকে তাকালে এটি সাধারণত বিতরণ করা হয় না।

এটি সত্যই একটি দুটি অংশের প্রশ্ন:
1) আমার কাছে সমস্ত কিছু যখন জ্ঞাত বন্টন ছাড়াই কিছু বাস্তব-বিশ্বের ডেটা থাকে তখন আমি কীভাবে কোনও প্রকারের পিডিএফ বা সিডিএফ অনুমান করতে পারি?

2) আমি কীভাবে আরএমভিএনরমের মতো পারস্পরিক সম্পর্কযুক্ত মানগুলি তৈরি করতে পারি, তবে এই অজানা (এবং অস্বাভাবিক) বিতরণের জন্য?

ধন্যবাদ!


বিতরণগুলি কোনও পরিচিত বিতরণে মাপসই হয় না। আমি মনে করি প্যারামিট্রিক ধরে নেওয়া এবং তারপরে মন্টি কার্লো অনুমানের জন্য এটি ব্যবহার করা খুব বিপজ্জনক হবে।

আমি দেখতে পারি এমন কোনও ধরণের বুটস্ট্র্যাপ বা "এমিরিকাল মন্টি কার্লো" পদ্ধতি নেই?

উত্তর:


2

(1) এটি সিডিএফ আপনার নিজের সময়সীমা তৈরির প্রয়োজন। এটি তৈরি করতে, প্রথমে হিস্টোগ্রামে আপনার মূল্য পরিবর্তন / রিটার্ন হয়। আপনার বাম-সর্বাধিক জনবহুল বিন দিয়ে শুরু করে বিন জনসংখ্যার একটি সংখ্যাসমূহ নিন। মোট বিন জনসংখ্যার দ্বারা ভাগ করে আপনার নতুন ফাংশনটি স্বাভাবিক করুন। আপনি যা যা রেখে গেছেন তা হল সিডিএফ। এখানে কিছু অদ্ভুত কোড যা কৌশলটি করে:

# Make a histogram of price changes

counts,bin_edges = np.histogram(deltas,numbins,normed=False) # numpy histogram

# Make a CDF of the price changes

n_counts,bin_edges2 = np.histogram(deltas,numbins,normed=True)
cdf = np.cumsum(n_counts)  # cdf not normalized, despite above
scale = 1.0/cdf[-1]
ncdf = scale * cdf

(২) পারস্পরিক সম্পর্কযুক্ত বাছাই করতে একটি কোপুলা ব্যবহার করুন। সম্পর্কযুক্ত সময় সিরিজ উত্পন্ন করার বিষয়ে আমার আগের প্রশ্নের এই উত্তরটি দেখুন ।


4

প্রথম প্রশ্ন সম্পর্কিত, আপনি আপনার ডেটা পুনরায় মডেলিং বিবেচনা করতে পারেন। আপনার ডেটা সময়ের সাথে সংযুক্ত হওয়ার ক্ষেত্রে সমস্যা হবে (সমসাময়িকভাবে সম্পর্কিত না হয়ে) কিন্তু রিটার্নের ডেটার জন্য, একটি সাধারণ বুটস্ট্র্যাপ সম্ভবত ভাল।

আমার ধারণা, দ্বিতীয় প্রশ্নের উত্তরটি লক্ষ্য বন্টনের উপর অনেক বেশি নির্ভরশীল।


3

প্রথম প্রশ্নের উত্তর হ'ল আপনি একটি মডেল তৈরি করেন। আপনার ক্ষেত্রে এর অর্থ একটি বিতরণ পছন্দ করা এবং এর পরামিতিগুলি অনুমান করা।

আপনার কাছে বিতরণ থাকলে আপনি গীবস বা মেট্রোপলিস অ্যালগোরিদম ব্যবহার করে এটি থেকে নমুনা নিতে পারেন।

পাশের নোটে, আপনার কি সত্যিই এই বিতরণ থেকে নমুনা নেওয়া দরকার? সাধারণত আগ্রহ বিতরণের কিছু বৈশিষ্ট্যে থাকে। আপনি বুটস্ট্র্যাপের মাধ্যমে অভিজ্ঞতা অভিজ্ঞতা ব্যবহার করে এটি অনুমান করতে পারেন, বা এই বৈশিষ্ট্যটির জন্য আবার একটি মডেল তৈরি করতে পারেন।


আমি প্রদত্ত সম্পত্তির সম্ভাব্য রিটার্ন নমুনা নিতে আগ্রহী। যেহেতু বিতরণটি স্বাভাবিক নয় এবং সময়ের সাথে সংস্থানগুলি সম্পৃক্ত হয়, এটি বিতরণ চয়ন করার ক্ষেত্রে একটি চ্যালেঞ্জ তৈরি করে। আমি পোর্টফোলিও অপ্টিমাইজেশনের জন্য মন্টে কার্লো পদ্ধতিগুলি অন্বেষণ করছি।
নোহ

1
@ নোয়া, আপনি কি জিআরচির মতো বিভিন্ন স্টোকাস্টিক অস্থিরতা মডেলগুলি বিবেচনা করেছেন?
এমপিটিকাস

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

1
@ নোয়া, মাল্টিভারিয়েট জিআরচ সম্পর্কে কীভাবে? প্রতিটি স্বতন্ত্র সিরিজটি হ'ল নন ডায়াগোনাল কোভারিয়েন্স ম্যাট্রিক্সের সাথে মাল্টিভারিয়েট নরমাল থেকে উদ্ভাবনের সাথে জিআরচ is তারপরে রিটার্নগুলির সাধারণ বিতরণ হবে না তবে তারা পরস্পর সম্পর্কযুক্ত হবে।
mpiktas

3

আমি @ এমপিক্টাসের সাথে আছি যে আমারও মনে হয় আপনার একটি মডেল দরকার।

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


1

ecdf()ফাংশনটি ব্যবহার করে আর ... ব্যবহার করে প্রশ্নের প্রথম অংশের একটি সম্ভাব্য উত্তর

# simulate some data...
N <- 1000
fdata <- c( rnorm(N %/% 2, mean=14), rnorm(N %/% 2, mean=35))

# here's the Empirical CDF of that data...
E1 <- ecdf(fdata)
plot(E1)

# now simulate 1000 numbers from this ECDF...
ns <- 1000
ans <- as.numeric(quantile(E1, runif(ns)))
hist(ans,pro=T,nclass=113,col='wheat2')

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