দুর্ভাগ্যক্রমে, স্ট্যান্ডার্ড স্বাভাবিক (যা থেকে অন্যান্য সমস্ত নির্ধারণ করা যেতে পারে, যেহেতু সাধারণটি একটি লোকেশন-স্কেল পরিবার) কোয়ান্টাইল ফাংশন একটি বদ্ধ ফর্ম (যেমন একটি 'সুন্দর সূত্র') স্বীকার করে না। একটি বদ্ধ ফর্মের নিকটতম জিনিসটি হ'ল স্ট্যান্ডার্ড স্বাভাবিক কোয়ান্টাইল ফাংশন হ'ল ফাংশন, , যা ডিফারেনশিয়াল সমীকরণকে সন্তুষ্ট করেW
ঘ2Wঘপি2= ডাব্লু ( ডিWঘপি)2
প্রাথমিক অবস্থার এবং । বেশিরভাগ কম্পিউটিং পরিবেশে এমন একটি ফাংশন রয়েছে যা সংখ্যাগতভাবে স্বাভাবিক কোয়ান্টাইল ফাংশন গণনা করে। আর তে, আপনি টাইপ করবেনW ( 1 / 2 ) = 0W'( 1 / 2 ) = 2 π--√
qnorm(p, mean=mu, sd=sigma)
ডিস্ট্রিবিউশনের 'ম কোয়ান্টাইল পেতে ।পিএন( μ , σ)2)
সম্পাদনা: সমস্যার একটি সংশোধিত বোঝার সাথে, তথ্যটি নরমালদের মিশ্রণ থেকে উত্পন্ন হয়, যাতে পর্যবেক্ষণ করা ডেটার ঘনত্ব হয়:
p ( x ) = ∑আমিWআমিপিআমি( এক্স )
যেখানে এবং প্রতিটি গড় সঙ্গে কিছু স্বাভাবিক ঘনত্ব এবং মানক চ্যুতির । এটি পর্যবেক্ষণ করা ডেটার সিডিএফ অনুসরণ করে∑iwi=1pi(x)μiσi
F(y)=∫y−∞∑iwipi(x)dx=∑iwi∫y−∞pi(x)=∑iwiFi(y)
যেখানে স্বাভাবিক সিডিএফ সঙ্গে গড় এবং মানক চ্যুতির । সংহতকরণ এবং সংমিশ্রণকে আন্তঃসংযোগ করা যেতে পারে কারণ এই সংহতগুলি সীমাবদ্ধ। এই সিডিএফ একটি কম্পিউটারে গণনা করার জন্য অবিচ্ছিন্ন এবং যথেষ্ট সহজ, সুতরাং বিপরীত সিডিএফ, , যা কোয়ান্টাইল ফাংশন নামেও পরিচিত, একটি লাইন অনুসন্ধান করে গণনা করা যায়। আমি এই বিকল্পটিতে ডিফল্ট হয়েছি কারণ উপাদানগুলির বিতরণের কোয়ান্টাইলগুলির একটি ক্রিয়াকলাপ হিসাবে নরমালদের মিশ্রণের কোয়ান্টাইল ফাংশনের কোনও সাধারণ সূত্র মাথায় আসে না।μ i σ i F - 1Fi(x)μiσiF−1
নিম্নলিখিত আর কোডটি সংখ্যার সাথে লাইন অনুসন্ধানের জন্য বাইসেকশন ব্যবহার করে calc গণনা করে। F_inv () ফাংশনটি কোয়ান্টাইল ফাংশন, আপনাকে প্রতিটি কোয়ান্টিলের সমাধান করতে হবে, । ডাব্লু i , μ i , σ i পিF−1wi,μi,σip
# evaluate the function at the point x, where the components
# of the mixture have weights w, means stored in u, and std deviations
# stored in s - all must have the same length.
F = function(x,w,u,s) sum( w*pnorm(x,mean=u,sd=s) )
# provide an initial bracket for the quantile. default is c(-1000,1000).
F_inv = function(p,w,u,s,br=c(-1000,1000))
{
G = function(x) F(x,w,u,s) - p
return( uniroot(G,br)$root )
}
#test
# data is 50% N(0,1), 25% N(2,1), 20% N(5,1), 5% N(10,1)
X = c(rnorm(5000), rnorm(2500,mean=2,sd=1),rnorm(2000,mean=5,sd=1),rnorm(500,mean=10,sd=1))
quantile(X,.95)
95%
7.69205
F_inv(.95,c(.5,.25,.2,.05),c(0,2,5,10),c(1,1,1,1))
[1] 7.745526
# data is 20% N(-5,1), 45% N(5,1), 30% N(10,1), 5% N(15,1)
X = c(rnorm(5000,mean=-5,sd=1), rnorm(2500,mean=5,sd=1),
rnorm(2000,mean=10,sd=1), rnorm(500, mean=15,sd=1))
quantile(X,.95)
95%
12.69563
F_inv(.95,c(.2,.45,.3,.05),c(-5,5,10,15),c(1,1,1,1))
[1] 12.81730