Uniformক্যের সমতুল্য বিতরণ করা ওজন উত্পন্ন করে?


14

মিশ্রণ মডেলিংয়ের মতো অ্যাপ্লিকেশনগুলিতে ওজন ব্যবহার করা এবং বেসিক ফাংশনগুলিকে রৈখিকভাবে একত্রিত করা সাধারণ is ওজন wi প্রায়ই মেনে চলবে wi 0 এবং iwi=1 । আমি এ জাতীয় ভেক্টরগুলির অভিন্ন বিতরণ থেকে এলোমেলোভাবে ওয়েট ভেক্টর w=(w1,w2,) নিতে চাই।

এটা ব্যবহার করা প্রলুব্ধকর যেতে পারে wi=ωijωj যেখানেωiU (0, 1), তবে নীচের মন্তব্যে যেমন আলোচনা করা হয়েছে,বিতরণwঅভিন্ন নয়।

যাইহোক, বাধ্যতা দেওয়া iwi=1 , মনে হয় যে সমস্যার অন্তর্নিহিত মাত্রা হয় n1 , এবং যে এটা সম্ভব হওয়া উচিত একটি চয়ন করতে w চয়ন করে n1 পরামিতি কিছু বন্টন অনুযায়ী এবং তারপর কম্পিউটিং এই পরামিতিগুলি থেকে সংশ্লিষ্ট w (কারণ একবার ওজনের n1 নির্দিষ্ট করে দেওয়া হয়, বাকি ওজন পুরোপুরি নির্ধারিত হয়)।

সমস্যাটি গোলক পয়েন্ট বাছাইয়ের সমস্যার মতো দেখা যায় (তবে, 3-ভেক্টর বাছাইয়ের পরিবর্তে যাদের আদর্শ একত্ব, আমি এন -ভেক্টর বাছাই করতে চাই যার 1 আদর্শটি একতা)।2n1

ধন্যবাদ!


3
আপনার পদ্ধতিটি সিমপ্লেক্সে অভিন্ন বিতরণকারী ভেক্টর তৈরি করে না। আপনি যা সঠিকভাবে চান তা করতে, সবচেয়ে সোজা উপায় হ'ল আইড এক্স পি ( 1 ) এলোমেলো ভেরিয়েবল তৈরি করা এবং তারপরে তাদের যোগফলের মাধ্যমে এগুলি স্বাভাবিক করা ize আপনি কেবলমাত্র n - 1 টির সরাসরি সরাসরি আঁকতে অন্য কোনও পদ্ধতি সন্ধানের মাধ্যমে এটি করার চেষ্টা করতে পারেন তবে E x p ( 1 ) ভেরিয়েটগুলি খুব দক্ষতার সাথে ইউ ( 0 , 1 ) বৈকল্পিক থেকে উত্পন্ন হতে পারে বলে দক্ষতা ট্রেডঅফ সম্পর্কে আমার সন্দেহ আছে ।nExp(1)n1Exp(1)U(0,1)
কার্ডিনাল

উত্তর:


22

চয়ন করুন অবিশেষে (মাধ্যমে এন - 1 ব্যবধান অভিন্ন reals [ 0 , 1 ] )। গুণফলগুলি বাছাই করুন যাতে 0 x 1x n - 1 । সেটএক্স[0,1]এন-1এন-1[0,1]0এক্স1এক্সএন-1

w=(x1,x2x1,x3x2,,xn1xn2,1xn1).

যেহেতু আমরা সাজানো পুনরুদ্ধার করতে পারেন আংশিক অঙ্কের মাধ্যমে W আমি , ম্যাপিং এক্সW হয় ( এন - 1 ) ! থেকে 1; বিশেষ করে, তার ইমেজ এন - 1 মধ্যে সিমপ্লেক্স আর এন । কারণ (ক) কেমন প্রতিটি swap 'র একটি রৈখিক রূপান্তর, (খ) এটা পূর্ববর্তী সূত্র রৈখিক, এবং (গ) রূপান্তরের রৈখিক ডিস্ট্রিবিউশন এর একরূপতা সংরক্ষণ, এর একরূপতা এক্স এর একরূপতা বোঝা W উপর এন - 1 সিমপ্লেক্স।xiwixw(n1)!n1Rnxw n1 বিশেষ করে, নোট যে marginals না অগত্যা স্বাধীন।w

3D point plot

এই 3 ডি পয়েন্ট প্লটটি জন্য এই অ্যালগরিদমের 2000 পুনরাবৃত্তির ফলাফলগুলি দেখায় । পয়েন্টগুলি সিম্প্লেক্সে সীমাবদ্ধ এবং প্রায় এটির উপরে একত্রে বিতরণ করা হয়।n=3


কারণ এই অ্যালগরিদম সঞ্চালনের সময় , এটা বড় জন্য অদক্ষ হয় এন । কিন্তু এই প্রশ্নের উত্তর দেয়! একটি ভাল উপায় (সাধারণ) থেকে উপর অবিশেষে বিতরণ মান উৎপন্ন এন - 1 -simplex আঁকা হয় এন অভিন্ন reals ( এক্স 1 , ... , x এন ) ব্যবধান উপর [ 0 , 1 ] , কম্পিউটO(nlog(n))O(n)nn1n(x1,,xn)[0,1]

yi=log(xi)

(যা প্রতিটি তোলে সম্ভাব্যতা সঙ্গে ইতিবাচক 1 , কোথা তাদের যোগফল প্রায় নিশ্চয় অশূন্য হয়) এবং সেটyi1

w=(y1,y2,,yn)/(y1+y2++yn).

এই কাজ কারণ প্রতিটি একটি আছে Γ ( 1 ) বন্টন, যা বোঝা W একটি Dirichlet হয়েছে ( 1 , 1 , 1 ) বন্টন - এবং অভিন্ন নয়।yiΓ(1)w(1,1,1)

[3D point plot 2]


1
@Chris যদি "এর Dir (1)" দ্বারা আপনাকে পরামিতি সঙ্গে Dirichlet বন্টন মানে = ( 1 , 1 , ... , 1 ) , তারপর উত্তর হবে হ্যাঁ। (α1,,αn)(1,1,,1)
শুক্রবার

1
(+1) একটি ছোটখাটো মন্তব্য: অন্তর্দৃষ্টিটি দুর্দান্ত। (ক) ব্যাখ্যা করার ক্ষেত্রে যত্ন নেওয়া দরকার হতে পারে, কারণ মনে হয় যে অংশটির "রৈখিক রূপান্তর" এলোমেলো একটি। তবে, উত্পাদনের প্রক্রিয়াটির বিনিময়যোগ্যতা এবং একটি নির্দিষ্ট আক্রমণাত্মক সম্পত্তি ব্যবহার করে এটি অতিরিক্ত আনুষ্ঠানিকতার ব্যয়ে সহজেই কাজ করা হয়।
10:25

1
আরও নির্দিষ্ট ভাবে: একটি ঘনত্ব ডিস্ট্রিবিউশন , আকার একজন IID নমুনা ক্রম পরিসংখ্যান ঘনত্ব এন হয় এন ! f ( x 1 ) f ( x n ) 1 ( x 1 < x 2 < < x n ) । ক্ষেত্রে = 1 [ 0 , 1 ] ( এক্স )fnn!f(x1)f(xn)1(x1<x2<<xn)f=1[0,1](x), অর্ডার পরিসংখ্যান বিতরণ একটি বহুপ্রান্তে সমান। এই বিন্দু থেকে নেওয়া, অবশিষ্ট রূপান্তরগুলি হস্তক্ষেপমূলক এবং ফলাফল অনুসরণ করে।
কার্ডিনাল

1
@ কার্ডিনাল এটি একটি আকর্ষণীয় বিষয়, তবে আমি মনে করি এটি বিবেচনা করে না, যদিও আপনি ঠিক বলেছেন যে অতিরিক্ত বিশদ সাহায্য করতে পারে। অদলবদল (আসলে প্রতিবিম্ব, কো লিনিয়ার রূপান্তরগুলি) এলোমেলো নয়: সেগুলি পূর্বনির্ধারিত। কার্যত, খোদাই করা হয়েছে ( এন - 1 ) !In1=[0,1]n1(n1)!অঞ্চলগুলি, যার মধ্যে একটি অন্যের থেকে আলাদা হয় এবং প্রতিটি অঞ্চল এবং বিশিষ্ট অঞ্চলের মধ্যে পূর্বনির্ধারিত অ্যাফাইন বাইজেকশন রয়েছে। যেহেতু, আমাদের কেবলমাত্র অতিরিক্ত সত্যের প্রয়োজন এটি হ'ল কোনও অঞ্চলে অভিন্ন বন্টন এটির যে কোনও পরিমাপযোগ্য উপসেটের উপর একরকম, যা সম্পূর্ণ তুচ্ছতা।
শুক্রবার

2
@ শুভ: আকর্ষণীয় মন্তব্য। ভাগ করে নেওয়ার জন্য ধন্যবাদ! আমি সবসময় এই জাতীয় বিষয়গুলি সম্পর্কে আপনার অন্তর্দৃষ্টিপূর্ণ চিন্তার প্রশংসা করি। "এলোমেলো রৈখিক রূপান্তর" এ আমার আগের মন্তব্য সম্বন্ধে আমার পয়েন্ট ছিল, অন্তত মাধ্যমে ব্যবহার রূপান্তর নমুনা বিন্দু উপর নির্ভর করে ω । এটি ভাবার আরেকটি উপায় হ'ল এখানে একটি স্থির, পূর্বনির্ধারিত ফাংশন টি রয়েছে : R n - 1R n - 1 যেমন ডাব্লু = টি ( এক্স ) , তবে আমি সেই ফাংশনটিকে রৈখিক বলব না, যদিও এটি উপসর্গগুলিতে লিনিয়ার রয়েছে though পার্টিশনটি ( এন - 1 )xωT:Rn1Rn1w=T(x)(n1)-cube. :)
cardinal

1
    zz <- c(0, log(-log(runif(n-1))))
    ezz <- exp(zz)
    w <- ezz/sum(ezz)

The first entry is put to zero for identification; you would see that done in multinomial logistic models. Of course, in multinomial models, you would also have covariates under the exponents, rather than just the random zzs. The distribution of the zzs is the extreme value distribution; you'd need this to ensure that the resulting weights are i.i.d. I initially put rnormals there, but then had a gut feeling that this ain't gonna work.


That doesn't work. Did you try looking at a histogram?
cardinal

4
Your answer is now almost correct. If you generate n iid Exp(1) and divide each by the sum, then you will get the correct distribution. See Dirichlet distribution for more details, though it doesn't discuss this explicitly.
cardinal

1
Given the terminology you are using, you sound a little confused.
cardinal

2
Actually, the Wiki link does discuss this (fairly) explicitly. See the second paragraph under the Support heading.
cardinal

1
This characterization is both too restrictive and too general. It is too general in that the resulting distribution of w must be "uniform" on the n1 simplex in Rn. It is too restrictive in that the question is worded generally enough to allow that w be some function of an n1-variate distribution, which in turn presumably, but not necessarily, consists of n1 independent (and perhaps iid) variables.
whuber

0

সমাধান সুস্পষ্ট। নিম্নলিখিত ম্যাথল্যাব কোডটি 3 ওজনের উত্তর সরবরাহ করে।

function [  ] = TESTGEN( )
SZ  = 1000;
V  = zeros (1, 3);
VS = zeros (SZ, 3);
for NIT=1:SZ   
   V(1) = rand (1,1);     % uniform generation on the range 0..1
   V(2) = rand (1,1) * (1 - V(1));
   V(3) = 1 - V(1) - V(2);  
   PERM = randperm (3);    % random permutation of values 1,2,3
   for NID=1:3
         VS (NIT, NID) = V (PERM(NID));
    end
end 
figure;
scatter3 (VS(:, 1), VS(:,2), VS (:,3));
end

enter image description here


1
আপনার প্রান্তিকের সঠিক বিতরণ নেই। ডিরিচলেট বিতরণ (র্যান্ডম সংখ্যা জেনারেশন বিভাগ, যা আপনি কোড করেছেন এমন অ্যালগরিদম রয়েছে) সম্পর্কিত উইকিপিডিয়া নিবন্ধ থেকে বিচার করে, আপনাকে ভি (1) এর জন্য বিটা (1,2) বিতরণ ব্যবহার করা উচিত, ইউনিফর্ম নয় [0,1] বন্টন।
soakley

It does appear that the density increases in the corners of this tilted triangle. Nonetheless, it provides a nice geometric display of the problem.
DWin
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.