নির্দিষ্ট উপায়ে এবং স্ট্যান্ডার্ড বিচ্যুতি যেমন নির্দিষ্ট সীমাবদ্ধতাগুলি পূরণ করে এমন ডেটা কীভাবে অনুকরণ করবেন?


56

এই প্রশ্নটি মেটা-বিশ্লেষণে আমার প্রশ্ন দ্বারা অনুপ্রাণিত । তবে আমি কল্পনা করি যে এটি প্রাসঙ্গিক বিষয়গুলি শেখানোর ক্ষেত্রেও কার্যকর হবে যেখানে আপনি একটি ডেটাসেট তৈরি করতে চান যা কোনও বিদ্যমান প্রকাশিত ডেটাসেটকে হুবহু মিরর করে।

আমি জানি যে প্রদত্ত বিতরণ থেকে এলোমেলো ডেটা কীভাবে তৈরি করা যায়। সুতরাং উদাহরণস্বরূপ, যদি আমি কোনও সমীক্ষার ফলাফলগুলি সম্পর্কে পড়ি তবে:

  • ১০২ এর গড়,
  • 5.2 এর একটি মানক বিচ্যুতি এবং
  • একটি নমুনা আকার 72।

আমি rnormআর ব্যবহার করে অনুরূপ ডেটা উত্পন্ন করতে পারি example উদাহরণস্বরূপ,

set.seed(1234)
x <- rnorm(n=72, mean=102, sd=5.2)

অবশ্যই গড় এবং এসডি যথাক্রমে 102 এবং 5.2 এর সমান হবে না:

round(c(n=length(x), mean=mean(x), sd=sd(x)), 2)
##     n   mean     sd 
## 72.00 100.58   5.25 

সাধারণভাবে আমি সীমাবদ্ধতার একটি সেটকে সন্তুষ্ট করে এমন ডেটা অনুকরণ করতে কীভাবে আগ্রহী। উপরের ক্ষেত্রে, প্রতিবন্ধগুলি হ'ল নমুনা আকার, গড় এবং মানক বিচ্যুতি। অন্যান্য ক্ষেত্রে, অতিরিক্ত বাধা থাকতে পারে। উদাহরণ স্বরূপ,

  • ডেটা বা অন্তর্নিহিত ভেরিয়েবলের মধ্যে একটি সর্বনিম্ন এবং সর্বাধিক হতে পারে।
  • ভেরিয়েবলটি কেবলমাত্র পূর্ণসংখ্যার মান বা অ-নেতিবাচক মানগুলি গ্রহণ করতে পারে known
  • তথ্য আন্তঃসম্পর্ক সম্পর্কিত একাধিক ভেরিয়েবল অন্তর্ভুক্ত থাকতে পারে।

প্রশ্নাবলি

  • সাধারণভাবে, আমি কীভাবে এমন ডেটা সিমুলেট করতে পারি যা সীমাবদ্ধতার একটি সেটকে পুরোপুরি সন্তুষ্ট করে?
  • এই সম্পর্কে কোন নিবন্ধ লেখা আছে? আর-তে কোনও প্রোগ্রাম রয়েছে যা এটি করে?
  • উদাহরণস্বরূপ, আমি কীভাবে একটি ভেরিয়েবল সিমুলেট করব এবং করব যাতে এটির একটি নির্দিষ্ট গড় এবং এসডি থাকে?

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

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

4
বিটিডাব্লু, সর্বশেষ প্রশ্নটি অবস্থান-স্কেল বিতরণ পরিবারের জন্য তুচ্ছ। উদাহরণস্বরূপ, x<-rnorm(72);x<-5.2*(x-mean(x))/sd(x)+102কৌতুক করে।
whuber

1
@ শুভর, যেমন আমার উত্তরের মন্তব্যে (যে এই "কৌশল" উল্লেখ করেছে) এবং অন্য উত্তরের একটি মন্তব্যে কার্ডিনাল সংকেত হিসাবে - এই পদ্ধতিটি সাধারণভাবে একই বন্টনীয় পরিবারের মধ্যে পরিবর্তনগুলি রাখবে না, যেহেতু আপনি বিভক্ত হচ্ছেন নমুনা স্ট্যান্ডার্ড বিচ্যুতি দ্বারা।
ম্যাক্রো

5
@ ম্যাক্রো এটি একটি ভাল বিষয়, তবে সম্ভবত সর্বোত্তম জবাব হ'ল "অবশ্যই তাদের একই বিতরণ হবে না"! আপনি যে বিতরণটি চান তা হ'ল সীমাবদ্ধতার উপর বিতরণ শর্তযুক্ত । সাধারণভাবে যা পিতামাতাদের বিতরণ হিসাবে একই পরিবার থেকে হবে না। উদাহরণস্বরূপ, সাধারণ বিতরণ থেকে অঙ্কিত গড় 4 এবং এসডি 1 সহ 4 মাপের একটি নমুনার প্রতিটি উপাদান [-1.5, 1.5] এ প্রায় অভিন্ন সম্ভাবনা থাকতে চলেছে , কারণ শর্তগুলি সম্ভাব্য মানগুলির উপরের এবং নিম্ন সীমানাকে রাখে।
হোবার

উত্তর:


26

সাধারণভাবে, আপনার নমুনাটির গড় এবং বৈকল্পিকটি একটি পূর্বনির্ধারিত মানের সাথে ঠিক সমান করতে, আপনি যথাযথভাবে স্থান পরিবর্তন করতে পারেন এবং ভেরিয়েবলটি স্কেল করতে পারেন। বিশেষ করে, যদি একটি নমুনা, তারপরে নতুন ভেরিয়েবলX1,X2,...,Xn

Zi=c1(XiX¯sX)+c2

যেখানে হল নমুনা গড় এবং নমুনা ভ্যারিয়েন্স হয় হয় যেমন যে নমুনা গড় এর ঠিক এবং তাদের নমুনা ভ্যারিয়েন্স হয় ঠিক । অনুরূপভাবে নির্মিত উদাহরণ সীমাবদ্ধ করতে পারে -গুলি 2 এক্স =1X¯=1ni=1nXiজেডআইসি2সি1sX2=1n1i=1n(XiX¯)2Zic2c1

Bi=a+(ba)(Ximin({X1,...,Xn})max({X1,...,Xn})min({X1,...,Xn}))

ডেটা তৈরি করবে যা অন্তর মধ্যে সীমাবদ্ধ । B1,...,Bn(a,b)

দ্রষ্টব্য: এই ধরণের স্থানান্তর / স্কেলিংগুলি সাধারণভাবে ডেটা বন্টনকারী পরিবারকে পরিবর্তিত করবে, এমনকি মূল তথ্যটি কোনও অবস্থান-স্কেল পরিবার থেকে আসে।

প্রেক্ষাপটে মধ্যে সাধারণ বণ্টনেরmvrnorm ফাংশন R আপনি একটি প্রাক নির্দিষ্ট সাথে স্বাভাবিক (অথবা বহুচলকীয় স্বাভাবিক) ডেটা সিমুলেট করতে পারবেন নমুনা সেটিং দ্বারা অর্থ / সহভেদাংক empirical=TRUE। সুনির্দিষ্টভাবে, এই ফাংশনটি সাধারণভাবে বিতরণ করা ভেরিয়েবলের শর্তাধীন বিতরণ থেকে ডেটা সিমুলেট করে , নমুনার গড় এবং (কো) ভেরিয়েন্সটি পূর্ব নির্ধারিত মানের সমান । নোট করুন যে ফলস্বরূপ প্রান্তিক বিতরণগুলি সাধারণ নয় , যেমন @ প্রশ্নে প্রধান প্রশ্নের উত্তরে একটি মন্তব্যে উল্লেখ করেছেন।

এখানে একটি সরল অবিচ্ছিন্ন উদাহরণ যেখানে নমুনাটির অর্থ ( -র নমুনা থেকে ) 0 হওয়া সীমাবদ্ধ এবং নমুনার মান বিচ্যুতি 1 টি রয়েছে We বন্টন:n=4

library(MASS)
 z = rep(0,10000)
for(i in 1:10000)
{
    x = mvrnorm(n = 4, rep(0,1), 1, tol = 1e-6, empirical = TRUE)
    z[i] = x[1]
}
hist(z, col="blue")

                  এখানে চিত্র বর্ণনা লিখুন


1
স্বাভাবিকভাবে, বিতরণ করা হইনি যদিও তারা প্রায় হতে পারে তাই যদি নমুনা আকার বড়। @ শানের উত্তরের প্রথম মন্তব্য এটির প্রতি ইঙ্গিত দেয়। Zi
কার্ডিনাল

1
ঠিক আছে, এটি করতে খুব সুন্দর একটি জিনিস ... এবং প্রায়শই সময় খুব বেশি ঝামেলার কারণ হয় না ।
কার্ডিনাল

1
+1 টি। উদাহরণস্বরূপ, ইউনিফর্মটি হ'ল উপায়, সঠিক উত্তর। (প্লটের প্রান্তে আপাত নামিয়ে দেওয়া কেমন আছ histograms স্বপক্ষে একজন হস্তনির্মিত বস্তু নয়।)
whuber

1
@ শুভ, এই উদাহরণটি উত্সাহিত করার জন্য ধন্যবাদ। নমুনাটির গড় / বৈচিত্র্য সম্পর্কে শর্ত দেওয়ার পরে প্রান্তিক বিতরণগুলি পরিবর্তিত হয়ে যায় বলে মনে করা হয় যে, ওপি-র প্রশ্নের আত্মার সর্বোত্তম "উত্তর" কেবলমাত্র জনসংখ্যার সাথে ডেটা সীমাবদ্ধ করা / নমুনা হিসাবে উল্লিখিত তারতম্যের সমান? পরিমাণগুলি (যেমন ওপি নিজেই পরামর্শ দিয়েছিলেন), তাই না? এইভাবে, আপনি নমুনার পরিমাণগুলি পছন্দসইগুলির সাথে "অনুরূপ" পাবেন এবং প্রান্তিক বিতরণগুলি আপনি তাদের হতে চেয়েছিলেন are
ম্যাক্রো

1
@ হুবুহু, যদি আপনার নমুনাটি স্বাভাবিক থাকে তবে একটি বিতরণ আছে, হ্যাঁ? প্রশ্নে "নতুন" ভেরিয়েবলটি কেবল লিনিয়ার সংমিশ্রণ হবে । Ti=(XiX¯)/stTi
ম্যাক্রো

22

কাগজপত্রের জন্য আপনার অনুরোধ সম্পর্কিত, এখানে রয়েছে:

এটি আপনি যা খুঁজছেন তা পুরোপুরি নয়, তবে এটি মিলের গ্রিস্ট হিসাবে পরিবেশন করতে পারে।


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

উদাহরণস্বরূপ, একটি সেট তৈরি করতে একটি সাধারণ বন্টনের যে একটি প্রদত্ত নমুনা অর্থ থাকবে, থেকে ডেটা , এবং ভ্যারিয়েন্স, : আপনি দুই পয়েন্ট মান ঠিক করতে হবে এবং । যেহেতু নমুনাটির অর্থ হ'ল: অবশ্যই হবে: নমুনার বৈকল্পিকতা হল: এভাবে (উপরের স্থলে জন্য স্থির করার পরে , ফয়েলিং / বিতরণ, এবং পুনরায় সাজানো ... ) আমরা পেতে: Nx¯s2yz

x¯=i=1N2xi+y+zN
y
y=Nx¯(i=1N2xi+z)
s2=i=1N2(xix¯)2+(yx¯)2+(zx¯)2N1
y
2(Nx¯i=1N2xi)z2z2=Nx¯2(N1)+i=1N2xi2+[i=1N2xi]22Nx¯i=1N2xi(N1)s2
যদি আমরা , , এবং আরএইচএসের উপকার হিসাবে, আমরা চতুর্ভুজ সূত্র ব্যবহার করে জন্য সমাধান করতে পারি । উদাহরণস্বরূপ, ইন , নিম্নলিখিত কোড ব্যবহার করা যেতে পারে: a=2b=2(Nx¯i=1N2xi)czR
find.yz = function(x, xbar, s2){
  N    = length(x) + 2
  sumx = sum(x)
  sx2  = as.numeric(x%*%x)          # this is the sum of x^2
  a    = -2
  b    = 2*(N*xbar - sumx)
  c    = -N*xbar^2*(N-1) - sx2 - sumx^2 + 2*N*xbar*sumx + (N-1)*s2
  rt   = sqrt(b^2 - 4*a*c)

  z    = (-b + rt)/(2*a)
  y    = N*xbar - (sumx + z)
  newx = c(x, y, z)
  return(newx)
}

set.seed(62)
x    = rnorm(2)
newx = find.yz(x, xbar=0, s2=1)
newx                                # [1] 0.8012701  0.2844567  0.3757358 -1.4614627
mean(newx)                          # [1] 0
var(newx)                           # [1] 1

এই পদ্ধতির সম্পর্কে কিছু জিনিস বুঝতে হবে। প্রথমত, এটি কাজ করার গ্যারান্টিযুক্ত নয়। উদাহরণস্বরূপ, এটি সম্ভব যে আপনার প্রাথমিক ডেটা এমন যে কোনও মান এবং বিদ্যমান নেই যা ফলাফলের সমান বৈকল্পিকতা তৈরি করবে । বিবেচনা: N2yzs2

set.seed(22)    
x    = rnorm(2)
newx = find.yz(x, xbar=0, s2=1)
Warning message:
In sqrt(b^2 - 4 * a * c) : NaNs produced
newx                                # [1] -0.5121391  2.4851837        NaN        NaN
var(c(x, mean(x), mean(x)))         # [1] 1.497324

দ্বিতীয়ত, যেখানে মানককরণ আপনার সমস্ত প্রকরণের প্রান্তিক বিতরণকে আরও অভিন্ন করে তোলে, এই পদ্ধতির শুধুমাত্র শেষ দুটি মানকেই প্রভাবিত করে, তবে তাদের প্রান্তিক বিতরণগুলি ত্রুটিযুক্ত করে তোলে:

set.seed(82)
xScaled = matrix(NA, ncol=4, nrow=10000)
for(i in 1:10000){
  x           = rnorm(4)
  xScaled[i,] = scale(x)
}

(plotোকান প্লট)

set.seed(82)
xDf = matrix(NA, ncol=4, nrow=10000)
i   = 1
while(i<10001){
  x       = rnorm(2)
  xDf[i,] = try(find.yz(x, xbar=0, s2=2), silent=TRUE)  # keeps the code from crashing
  if(!is.nan(xDf[i,4])){ i = i+1 }                      # increments if worked
}

(plotোকান প্লট)

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

library(moments)
set.seed(7900)  
x = rnorm(18)
newx.ss7900 = find.yz(x, xbar=0, s2=1)
skewness(newx.ss7900)                       # [1] 1.832733
kurtosis(newx.ss7900) - 3                   # [1] 4.334414
ks.test(newx.ss7900, "pnorm")$statistic     # 0.1934226

set.seed(200)  
x = rnorm(18)
newx.ss200 = find.yz(x, xbar=0, s2=1)
skewness(newx.ss200)                        # [1] 0.137446
kurtosis(newx.ss200) - 3                    # [1] 0.1148834
ks.test(newx.ss200, "pnorm")$statistic      # 0.1326304 

set.seed(4700)  
x = rnorm(18)
newx.ss4700 = find.yz(x, xbar=0, s2=1)
skewness(newx.ss4700)                       # [1]  0.3258491
kurtosis(newx.ss4700) - 3                   # [1] -0.02997377
ks.test(newx.ss4700, "pnorm")$statistic     # 0.07707929S

(প্লট যুক্ত করুন)


10

সাধারণ কৌশল হ'ল 'প্রত্যাখ্যান পদ্ধতি', যেখানে আপনি কেবল সীমাবদ্ধতাগুলি পূরণ না করে এমন ফলাফলগুলি প্রত্যাখ্যান করেন। আপনার যদি একরকম গাইডেন্স না থাকে (যেমন MCMC), তবে আপনি প্রচুর পরিমাণে কেস তৈরি করতে পারেন (আপনার দৃশ্যের উপর নির্ভর করে) যা প্রত্যাখ্যান করা হয়েছে!

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

একটি কুরুচিপূর্ণ উদাহরণ হিসাবে যেখানে আমরা দৈর্ঘ্য 100 সহ একটি এলোমেলো ইউনিফর্ম ভেক্টর সন্ধান করব যার অর্থ = 0 এবং মান বিচ্যুতি = 1 1

# simplistic optimisation example
# I am looking for a mean of zero and a standard deviation of one
# but starting from a plain uniform(0,1) distribution :-)
# create a function to optimise
fun <- function(xvec, N=100) {
  xmin <- xvec[1]
  xmax <- xvec[2]
  x <- runif(N, xmin, xmax)
  xdist <- (mean(x) - 0)^2 + (sd(x) - 1)^2
  xdist
}
xr <- optim(c(0,1), fun)

# now lets test those results
X <- runif(100, xr$par[1], xr$par[2])
mean(X) # approx 0
sd(X)   # approx 1

7
সম্ভাব্যতা শূন্যের সাথে সংঘবদ্ধতাগুলি পূরণ করা শক্ত। ;-) হাতে সুনির্দিষ্ট উদাহরণের জন্য, একটি উপযুক্ত স্থানান্তর এবং প্রসারণ সহজেই বর্ণিত লক্ষ্যগুলি অর্জন করতে পারে, যদিও এই জাতীয় ক্রিয়াকলাপের মাধ্যমে ডেটা বন্টন কীভাবে বিভ্রান্ত হয় তা দেখার জন্য কিছুটা গভীরতর বিশ্লেষণ করতে চাইতে পারেন।
কার্ডিনাল

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

1
@ কার্ডিনাল - সম্মত একটি ইনপুট সিমুলেটেড সংখ্যা এবং আউটপুট উভয়ের বিতরণ (অর্থাত্ একটি হিস্টোগ্রাম) এর দিকে নজর দেওয়া উচিত কারণ কখনও কখনও এটি সত্যিই খুব আশ্চর্যজনক দেখা যায়!
শান

9

আর-তে কোনও প্রোগ্রাম রয়েছে যা এটি করে?

Runuran আর প্যাকেজ র্যান্ডম variates জেনারেট করার জন্য অনেক পদ্ধতি রয়েছে। এটি ইউএনইউ.আরান (ইউনিভার্সাল নন-ইউনিফর্ম র‌্যান্ডম নম্বর জেনারেটর) প্রকল্পের সি লাইব্রেরি ব্যবহার করে । র্যান্ডম variate প্রজন্মের মাঠের আমার নিজের জ্ঞান সীমাবদ্ধ কিন্তু Runuran চিত্র একটা চমৎকার ওভারভিউ প্রদান করে। রুনুরান প্যাকেজে নীচে উপলব্ধ পদ্ধতি রয়েছে, যা ভিগনেট থেকে নেওয়া:

অবিচ্ছিন্ন বিতরণ:

  • অভিযোজিত প্রত্যাখ্যান নমুনা
  • বিপরীত রূপান্তরিত ঘনত্ব প্রত্যাখ্যান
  • বিপরীতমুখী সিডিএফের বহুপদী ইন্টারপোলেশন
  • ইউনিফর্ম-এর সরল অনুপাত
  • রূপান্তরিত ঘনত্ব প্রত্যাখ্যান

পৃথক বিতরণ:

  • বিচ্ছিন্ন স্বয়ংক্রিয় প্রত্যাবর্তন বিপরীত
  • উপনাম-উরন পদ্ধতি
  • বিচ্ছিন্ন বিপর্যয়ের জন্য গাইড-সারণী পদ্ধতি

বহু বিতরণ বিতরণ:

  • অনুপাতের-ইউনিফর্ম পদ্ধতির সাথে হিট এবং রান অ্যালগরিদম m
  • বহুভোজী নায়েভ অনুপাত-ইউনিফর্ম পদ্ধতি

উদাহরণ:

দ্রুত উদাহরণের জন্য, ধরুন আপনি 0 থেকে 100 এর মধ্যে সীমাবদ্ধ একটি সাধারণ বিতরণ উত্পন্ন করতে চেয়েছিলেন:

require("Runuran")

## Normal distribution bounded between 0 and 100
d1 <- urnorm(n = 1000, mean = 50, sd = 25, lb = 0, ub = 100)

summary(d1)
sd(d1)
hist(d1)

urnorm()ফাংশন একটি সুবিধাজনক মোড়কের ফাংশন। আমি বিশ্বাস করি যে পর্দার আড়ালে এটি ইনভার্স সিডিএফ পদ্ধতির বহুভুজ ইন্টারপোলেশন ব্যবহার করে তবে নিশ্চিত নই। আরও জটিল কিছু বলার জন্য, 0 থেকে 100 এর মধ্যে আবদ্ধ একটি বিচ্ছিন্ন সাধারণ বিতরণ:

require("Runuran")

## Discrete normal distribution bounded between 0 and 100
# Create UNU.RAN discrete distribution object
discrete <- unuran.discr.new(pv = dnorm(0:100, mean = 50, sd = 25), lb = 0, ub = 100)

# Create UNU.RAN object using the Guide-Table Method for Discrete Inversion
unr <- unuran.new(distr = discrete, method = "dgt")

# Generate random variates from the UNU.RAN object
d2 <- ur(unr = unr, n = 1000)

summary(d2)
sd(d2)
head(d2)
hist(d2)

3

দেখে মনে হচ্ছে যে গতকাল প্রকাশিত আপনার প্রয়োজনীয়তার কোনও আর প্যাকেজ রয়েছে! কেম গোল্ডফিল্ড দ্বারা সিমস্টুডি

মডেলিং কৌশলগুলি অন্বেষণ করতে বা ডেটা উত্পন্নকরণের প্রক্রিয়াগুলি আরও ভালভাবে বোঝার জন্য ডেটা সেটগুলি সিমুলেট করে। ব্যবহারকারী covariates মধ্যে সম্পর্কের একটি সেট নির্দিষ্ট করে, এবং এই স্পেসিফিকেশন উপর ভিত্তি করে ডেটা উত্পন্ন। চূড়ান্ত ডেটা সেটগুলি এলোমেলোভাবে নিয়ন্ত্রণের ট্রায়ালগুলি, পুনরাবৃত্ত পরিমাপ (অনুদৈর্ঘ্য) ডিজাইনগুলি এবং ক্লাস্টার এলোমেলোভাবে পরীক্ষাগুলি থেকে উপাত্ত উপস্থাপন করতে পারে। বিভিন্ন প্রক্রিয়া (এমসিএআর, এমএআর, এনএমএআর) ব্যবহার করে মিসিংনেস তৈরি করা যায়।


1
ভিনিগেটে বা প্রোগ্রামের হোম পেজে কোনও সীমাবদ্ধতার সঠিক মিলনের কথা উল্লেখ করা হয়নি। আপনি কেন মনে করেন এই প্যাকেজটি শর্তাধীন বিতরণগুলি থেকে অঙ্কনের প্রয়োজনীয়তা পূরণ করে?
জিজি

2

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

i=1nf(xi)
i=1nxi=μ0i=1nxi2=σ02

2

এই উত্তরটি সেই ক্ষেত্রে আরেকটি পদ্ধতির বিবেচনা করে যেখানে আপনি পরিবর্তনকে একটি নির্দিষ্ট পরিসরে মিথ্যা বলতে এবং অতিরিক্তভাবে গড় এবং / বা বৈকল্পিকতা নির্দেশ করতে চান।

ইউনিট ব্যবধানে আমাদের মনোযোগ সীমাবদ্ধ করুন । আসুন সাধারণতার জন্য একটি ওজনযুক্ত গড় ব্যবহার করুন, সুতরাং দিয়ে কিছু ওজন ঠিক করুন , বা যদি আপনি মানক ওজন চান তবে সেট করুন । ধরুন এবং এর পরিমাণগুলি respectively যথাক্রমে পছন্দসই (ওজনযুক্ত) গড় এবং (ওজনযুক্ত) বৈচিত্রকে উপস্থাপন করে। উপরের উপরের প্রয়োজনীয় কারণ এটি ইউনিটের ব্যবধানে সম্ভব সর্বাধিক বৈকল্পিক। আমরা এই মুহুর্তের বিধিনিষেধগুলি থেকে কিছু প্রকারের অঙ্কন করতে আগ্রহী ।[0,1]wk[0,1]k=1Nwk=1wk=1/Nμ(0,1)0<σ2<μ(1μ)σ2x1,...,xN[0,1]

প্রথমে আমরা মতো কোনও বিতরণ থেকে কিছু । এই বিতরণটি চূড়ান্ত বিতরণের আকারকে প্রভাবিত করবে। তারপরে আমরা একটি লজিস্টিক ফাংশন ব্যবহার করে সেগুলি ইউনিট অন্তর সীমাবদ্ধ রাখি : N ( 0 , 1 ) [ 0 , 1 ]y1,...,yNN(0,1)[0,1]

xk=11+e(ykvh)

আমরা এটি করার আগে, উপরের সমীকরণে যেমনটি দেখা গেছে, আমরা এর অনুবাদ এবং স্কেল এর সাথে রূপান্তর করব । এটি @ ম্যাক্রোর উত্তরের প্রথম সমীকরণের সাথে সমান। কৌশলটি এখন এবং চয়ন করার জন্য যাতে রূপান্তরিত ভেরিয়েবল এর পছন্দসই মুহুর্ত থাকে s তা হল, আমাদের ধরে রাখতে নিম্নলিখিতগুলির দুটি বা দুটি প্রয়োজন: h v h vykhvhvx1,...,xN

μ=k=1Nwk1+e(ykvh)σ2=k=1Nwk(1+e(ykvh))2(k=1Nwk1+e(ykvh))2

বিশ্লেষণাত্মকভাবে এবং জন্য এই সমীকরণগুলি উল্টানো সম্ভব নয়, তবে সংখ্যাসূচকভাবে এটি করা সরাসরি এগিয়ে থাকে, বিশেষত যেহেতু এবং এর সাথে ডেরিভেটিভগুলি গণনা করা সহজ; এটি কেবল নিউটনের পদ্ধতির কয়েকটি পুনরাবৃত্তি গ্রহণ করে।vhvh

প্রথম উদাহরণ হিসাবে, ধরা যাক আমরা কেবলমাত্র ওজনযুক্ত গড়কে সীমাবদ্ধ করতে যত্ন করি না ভেরিয়েশনটি। ফিক্স , , , । তারপরে অন্তর্নিহিত বিতরণগুলির জন্য , এবং আমরা যথাক্রমে নিম্নলিখিত হিস্টোগ্রামগুলি দিয়ে শেষ করি এবং যেমন পরিবর্তনের গড়টি ঠিক (এমনকি ছোট জন্যও ):ভি = 1 ডব্লু কে = 1 / এন এন = 200000 এন ( 0 , 1 ) এন ( 0 , 0.1 ) ইউনিফ ( 0 , 1 ) 0.8 এনμ=0.8v=1wk=1/NN=200000N(0,1)N(0,0.1)Unif(0,1) 0.8N

Example1

এর পরে, আসল এবং ভিন্নতা উভয়ই সীমাবদ্ধ করি। নিন , , এবং তিন আকাঙ্ক্ষিত স্ট্যান্ডার্ড ডেভিয়েশন বিবেচনা । একই অন্তর্নিহিত বিতরণ ব্যবহার করে , এখানে প্রত্যেকের জন্য হিস্টোগ্রাম রয়েছে:ডব্লু কে = 1 / এন এন = 2000 σ = 0.1 , 0.05 , 0.01 এন ( 0 , 1 )μ=0.2wk=1/NN=2000σ=0.1,0.05,0.01N(0,1)

উদাহরণ 2

নোট করুন যে এগুলি কিছুটা বিটা-বিতরণ দেখতে পারে তবে তারা তা নয়।


1

আমার উত্তরে এখানে , আমি এটি করার জন্য তিনটি আর প্যাকেজ তালিকাভুক্ত করেছি:


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