การสร้างตัวเลขสุ่มแบบพาราเมตริกด้วย MATLAB

ฉันสงสัยว่าเป็นไปได้หรือไม่ที่จะสร้างการแจกแจงแบบสุ่มซึ่งเป็นฟังก์ชันของพารามิเตอร์บางตัว กล่าวอีกนัยหนึ่ง การใช้ MATLAB ฉันพิมพ์ rand(1,5) ฉันมีการแจกแจงแบบสุ่มสม่ำเสมอของตัวเลข 5 ตัวระหว่าง 0 ถึง 1 เป็นไปได้หรือไม่ที่ผลลัพธ์นี้เป็นฟังก์ชันของพารามิเตอร์บางตัว คุณรู้อัลกอริทึมเกี่ยวกับเรื่องนั้นบ้างไหม? ฉันแค่ต้องการสิ่งนั้นในช่วงเวลาที่ไม่ต้องการการแสดง 2D


person Nicholas    schedule 07.06.2013    source แหล่งที่มา
comment
เป็นฟังก์ชัน ...ยังไงกันแน่? คุณช่วยยกตัวอย่างอินพุต/เอาท์พุตที่คุณคาดหวังได้ไหม   -  person Rody Oldenhuis    schedule 07.06.2013
comment
@RodyOldenhuis ตัวอย่างเช่นสมมติว่ามีฟังก์ชันของพารามิเตอร์บางตัวและยังมีฟังก์ชันของจำนวนค่าทั้งหมดที่ฉันต้องการในโดเมน [0,1] ของฉัน ดังนั้น f(a,N) ที่ให้ค่า a จะให้การแจกแจงตัวเลขสุ่มที่แน่นอน: f(1,3) -> 0.256 0.434 0.876 แทนเช่น: f(1.5,3) -> 0.342 0.573 0.972 ฉันกำลังมองหาบางอย่างเช่นนั้นถ้ามันมีอยู่จริง   -  person Nicholas    schedule 07.06.2013


คำตอบ (1)


ฉันคิดว่าคุณต้องการทำสิ่งนี้:
http://en.wikipedia.org/wiki/Inverse_transform_sampling< /ก>

ใน MATLAB นั้นค่อนข้างตรงไปตรงมา คุณเพียงแค่ระบุฟังก์ชัน

n = 10000;         % number of random draws
r = rand(n, 1);    % generate uniform random numbers

f = @norminv;      % specify transforming function
tr = f(r);         % transformed numbers, now normally distributed
hist(tr, 30)       % plot histogram

ตัวอย่างนี้ค่อนข้างซับซ้อน เนื่องจากเราสามารถใช้ randn ได้เลย แต่โดยทั่วไปแล้ววิธีการนี้ก็ยังคงอยู่
หากคุณมีกล่องเครื่องมือสถิติ และคุณต้องการสุ่มตัวอย่างจากการแจกแจงยอดนิยมรายการใดรายการหนึ่ง ลองดูตัวสร้างตัวเลขสุ่มที่คุณสามารถใช้ได้
ลิงก์

person Prashant Kumar    schedule 07.06.2013
comment
ฉันเห็น n แต่พารามิเตอร์ของฉันอยู่ที่ไหน ฉันกำลังมองหารุ่นสุ่มที่มี f(a,N) - person Nicholas; 07.06.2013
comment
จำนวนพารามิเตอร์ไม่สำคัญจริงๆ หลังจากแปลงตัวเลขแล้ว นั่นคือทั้งหมดที่คุณต้องการ ตัวอย่างเช่น ลองพิจารณา f = @(x) norminv(x,10,5) ซึ่งจะแปลงเป็นการแจกแจงแบบปกติโดยมีศูนย์กลางอยู่ที่ 10 โดยมีซิกมา 5 - person Prashant Kumar; 07.06.2013
comment
น่าสนใจ ฉันสามารถใช้ sigma เป็นพารามิเตอร์ได้ ฟังก์ชัน rand ให้ตัวเลขเป็น [0,1] กับฉันเสมอหรือไม่ - person Nicholas; 07.06.2013
comment
@Nicholas ลองใช้ความช่วยเหลือโดย:help rand สำหรับคำถามประเภทนี้ - person Dennis Jaheruddin; 07.06.2013