লগ-কচী এলোমেলো সংখ্যা জেনারেশন


11

আমাকে লগ-কৌচি বিতরণ থেকে এলোমেলো সংখ্যা আঁকার দরকার যা ঘনত্বযুক্ত: কেউ আমাকে কীভাবে সাহায্য করতে পারে বা কোনও বই / কাগজে আমাকে নির্দেশ করতে পারে যা আমাকে কীভাবে দেখায়?

f(x;μ,σ)=1xπσ[1+(ln(x)μσ)2].

উত্তর:


12

একটি ভেরিয়েবল এর একটি লগ-কচির বিতরণ থাকে যদি এর কৌচি বিতরণ থাকে। সুতরাং, আমাদের কেবল কচিকে র্যান্ডম ভেরিয়েবলগুলি তৈরি করতে হবে এবং লগ-কৌচি বিতরণকারী এমন কিছু পাওয়ার জন্য তাদেরকে ঘনিষ্ট করা দরকার।Xlog(X)

বিপরীত ট্রান্সফর্ম স্যাম্পলিং ব্যবহার করে আমরা সাবধানী বিতরণ থেকে উত্পন্ন করতে পারি , যার মতে আপনি যদি এলোমেলো ইউনিফর্মগুলি কোনও বিতরণের বিপরীত সিডিএফটিতে প্লাগ করেন তবে আপনি যা বের করবেন তা সেই বিতরণ। অবস্থান এবং স্কেল সহ কচির বিতরণে সিডিএফ রয়েছে:μσ

F(x)=1πarctan(xμσ)+12

এটি খুঁজে পেতে এই ফাংশনটি উল্টানো সোজা

F1(y)=μ+σtan[π(y12)]

সুতরাং যদি তবে অবস্থানের সাথে এবং স্কেল এবং সাথে একটি বিতর্কিত বিতরণ রয়েছে log এই বিতরণ থেকে উত্পন্ন করার জন্য কিছু কোড (ব্যবহার না করে :))UUniform(0,1)Y=μ+σtan[π(U12)]μσexp(Y)Rrcauchy

rlogcauchy <- function(n, mu, sigma)
{
    u = runif(n)
    x = mu + sigma*tan(pi*(u-.5))
    return( exp(x) ) 
}

দ্রষ্টব্য: যেহেতু সাবধানী বিতরণটি খুব দীর্ঘ লেজযুক্ত, আপনি যখন এটি কম্পিউটারে ক্ষুদ্রতর করেন তখন আপনি সংখ্যায় "অসীম" মানগুলি পেতে পারেন। আমি নিশ্চিত না যে এ সম্পর্কে কিছু করার দরকার আছে।

এছাড়াও মনে রাখবেন যে আপনি যদি লগ-কচির কোয়ান্টাইল ফাংশনটি সরাসরি ব্যবহার করে বিপরীত রূপান্তর নমুনাটি করতে থাকেন তবে আপনার একই সমস্যা হবে, যেহেতু, গণনা করার পরে, আপনি আসলে একই জিনিসটি শেষ করে -exp(μ+σtan[π(U12)])


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