คำถามติดแท็ก random-generation

การกระทำของการสร้างลำดับของตัวเลขหรือสัญลักษณ์แบบสุ่มหรือ (เกือบตลอด) หลอกแบบสุ่ม; เช่นไม่มีการคาดการณ์หรือรูปแบบใด ๆ

1
การสร้างค่าจากการแจกแจงแบบเกาส์หลายตัวแปร
ฉันกำลังพยายามที่จะจำลองค่าของNNNมิติตัวแปรสุ่มXXXที่มีการแจกแจงแบบปกติหลายตัวแปรที่มีค่าเฉลี่ยเวกเตอร์และความแปรปรวนเมทริกซ์Sμ=(μ1,...,μN)Tμ=(μ1,...,μN)T\mu = (\mu_1,...,\mu_N)^TSSS ผมหวังที่จะใช้วิธีการคล้ายกับวิธีการผกผัน CDF หมายความว่าผมต้องการที่จะเป็นครั้งแรกสร้างมิติเครื่องแบบตัวแปรสุ่มแล้วเสียบเข้าไปใน CDF ผกผันของการกระจายนี้เพื่อที่จะสร้างมูลค่าXNNNUUUXXX ฉันกำลังมีปัญหาเพราะขั้นตอนที่ไม่ได้เป็นเอกสารที่ดีและมีความแตกต่างเล็กน้อยระหว่างฟังก์ชั่น mvnrnd ใน MATLABและคำอธิบายที่ผมพบว่าในวิกิพีเดีย ในกรณีของฉันฉันเลือกพารามิเตอร์ของการแจกแจงแบบสุ่มด้วย โดยเฉพาะอย่างยิ่งผมสร้างแต่ละหมายความว่าจากการกระจายชุด(20,40) ฉันสร้างเมทริกซ์ความแปรปรวนร่วมSโดยใช้ขั้นตอนต่อไปนี้: U ( 20 , 40 )μiμi\mu_iU(20,40)U(20,40)U(20,40)SSS สร้างเมทริกซ์สามเหลี่ยมล่างที่โดยที่L ( i , i ) = 1สำหรับi = 1 .. NและL ( i , j ) = U ( - 1 , 1 )สำหรับ i < jLLLL(i,i)=1L(i,i)=1L(i,i) = …

3
สร้างน้ำหนักที่กระจายอย่างสม่ำเสมอซึ่งรวมเป็นเอกภาพหรือไม่?
เป็นเรื่องปกติที่จะใช้ตุ้มน้ำหนักในการใช้งานเช่นการสร้างแบบจำลองการผสมและการรวมฟังก์ชั่นพื้นฐานเป็นเส้นตรง น้ำหนักwiwiw_iมักจะต้องเชื่อฟังwi≥wi≥w_i ≥ 0 และ 1 ฉันต้องการสุ่มเลือกเวกเตอร์น้ำหนักจากการกระจายเวกเตอร์ดังกล่าวอย่างสม่ำเสมอ∑iwi=1∑iwi=1\sum_{i} w_i=1w=(w1,w2,…)w=(w1,w2,…)\mathbf{w} = (w_1, w_2, …) อาจเป็นการดึงดูดให้ใช้โดยที่ U (0, 1) อย่างไรก็ตามตามที่กล่าวไว้ในความคิดเห็นด้านล่างการกระจายของ\ mathbf {w }ไม่เหมือนกันwi=ωi∑jωjwi=ωi∑jωjw_i = \frac{\omega_i}{\sum_{j} \omega_j}ωi∼ωi∼\omega_i \simww\mathbf{w} อย่างไรก็ตามเนื่องจากข้อ จำกัด∑iwi=1∑iwi=1\sum_{i} w_i=1ดูเหมือนว่ามิติของปัญหาคือn−1n−1n-1และควรจะเลือกww\mathbf{w}โดยเลือกพารามิเตอร์n−1n−1n-1ตาม การกระจายและการคำนวณ\ mathbf {w} ที่สอดคล้องกันww\mathbf{w}จากพารามิเตอร์เหล่านั้น (เพราะเมื่อมีการระบุน้ำหนักn−1n−1n-1น้ำหนักที่เหลือจะถูกกำหนดอย่างสมบูรณ์) ปัญหาดูเหมือนจะคล้ายกับปัญหาการเลือกจุดทรงกลม (แต่แทนที่จะเลือก 3 เวกเตอร์ที่ norm เป็นเอกภาพฉันต้องการเลือก -vector ซึ่ง norm เป็นเอกภาพ) n ℓ 1ℓ2ℓ2ℓ_2nnnℓ1ℓ1ℓ_1 ขอบคุณ!

1
การต่อสู้และความสัมพันธ์ในลำดับความคลาดเคลื่อนต่ำ (Halton / Sobol)
ขณะนี้ฉันกำลังทำงานในโครงการที่ฉันสร้างค่าสุ่มโดยใช้ชุดจุดที่มีความคลาดเคลื่อน / กึ่งสุ่มต่ำเช่นชุดจุด Halton และ Sobol เหล่านี้เป็นหลักdddมิติเวกเตอร์ที่เลียนแบบdddมิติเครื่องแบบ (0,1) ตัวแปร แต่มีการแพร่กระจายที่ดีขึ้น ในทางทฤษฎีพวกเขาควรจะช่วยลดความแปรปรวนของการประมาณของฉันในส่วนอื่นของโครงการ แต่น่าเสียดายที่ฉันพบเจอปัญหาการทำงานกับพวกเขาและงานเขียนของพวกเขาส่วนใหญ่นั้นหนาแน่น ดังนั้นฉันจึงหวังที่จะได้รับข้อมูลเชิงลึกจากคนที่มีประสบการณ์กับพวกเขาหรืออย่างน้อยก็หาวิธีที่จะประเมินสิ่งที่เกิดขึ้นโดยประจักษ์ หากคุณทำงานกับพวกเขา: การต่อสู้คืออะไร? และผลกระทบอะไรที่มีต่อกระแสคะแนนที่สร้างขึ้น โดยเฉพาะมีผลเมื่อขนาดของคะแนนที่สร้างเพิ่มขึ้นหรือไม่ ทำไมถ้าฉันสร้างกระแส Sobol สองจุดด้วย MatousekAffineOwen scrambling ฉันได้รับกระแสสองจุดที่แตกต่างกัน เหตุใดจึงไม่เป็นเช่นนี้เมื่อฉันใช้ scrambling แบบย้อนกลับด้วยคะแนนฮาลตัน? มีวิธีการแย่งชิงอื่น ๆ ที่มีอยู่สำหรับชุดจุดเหล่านี้ - และถ้าเป็นเช่นนั้นมีการใช้ MATLAB หรือไม่? หากคุณไม่ได้ทำงานกับพวกเขา: ว่าฉันมีลำดับS 1 , S 2 , … , S nของตัวเลขสุ่มที่คาดคะเนสถิติประเภทใดที่ฉันควรใช้เพื่อแสดงว่าพวกเขาไม่ได้มีความสัมพันธ์กัน? และสิ่งที่จำนวนnฉันจะต้องพิสูจน์ให้เห็นว่าผลของฉันคือนัยสำคัญทางสถิติ? นอกจากนี้ฉันจะทำสิ่งเดียวกันได้อย่างไรถ้าฉันมีnซีเควนซ์S 1 , S 2 …

1
ตั้งค่า Seed ก่อนโค้ดบล็อกหรือหนึ่งครั้งต่อโปรเจ็กต์หรือไม่
มันเป็นคำแนะนำมาตรฐานในการตั้งค่าเมล็ดสุ่มเพื่อให้ผลลัพธ์สามารถทำซ้ำได้ อย่างไรก็ตามเนื่องจากเมล็ดมีความก้าวหน้าเนื่องจากมีการสุ่มจับหมายเลขหลอกผลลัพธ์อาจมีการเปลี่ยนแปลงหากมีส่วนใดของรหัสดึงหมายเลขเพิ่มเติม เมื่อมองแวบแรกการควบคุมเวอร์ชันดูเหมือนจะเป็นทางออกสำหรับเรื่องนี้เพราะอย่างน้อยมันจะช่วยให้คุณย้อนกลับไปทำซ้ำรุ่นที่มีอยู่เมื่อคุณจดบันทึกผลลัพธ์ลงในบันทึกหรือกระดาษ อย่างไรก็ตามเนื่องจากใช้เวลาเพียงหนึ่งครั้งในการทำสิ่งต่าง ๆ หากคุณอัปเดต R ผลลัพธ์อาจเปลี่ยนแปลงได้เช่นกัน ฉันรู้ว่านี่อาจเป็นเพียงปัญหาในบางกรณี แต่ฉันอยากรู้ว่ามีวิธีปฏิบัติที่ดีที่สุดที่นี่หรือไม่ นี่คือสิ่งที่ฉันดิ้นรนในการทำงานของตัวเอง


1
วิธีตัวอย่างอย่างสม่ำเสมอจากพื้นผิวของ hyper-ellipsoid (ระยะทาง Mahalanobis คงที่)?
ในกรณีหลายตัวแปรมูลค่าจริงมีวิธีการอย่างสม่ำเสมอตัวอย่างจุดจากพื้นผิวที่ Mahalanobis ระยะห่างจากค่าเฉลี่ยของค่าคงที่หรือไม่ แก้ไข: นี่แค่เดือดลงไปที่จุดสุ่มตัวอย่างอย่างสม่ำเสมอจากพื้นผิวของไฮเปอร์ - อิลลิพอยด์ที่ตรงกับสมการ ( x - μ )TΣ- 1( x - μ ) = d2.(x−μ)TΣ−1(x−μ)=d2.(x-\mu)^T \Sigma^{-1}(x-\mu) = d^2. เพื่อให้แม่นยำยิ่งขึ้นโดย "สม่ำเสมอ" ฉันหมายถึงตัวอย่างที่องค์ประกอบแต่ละพื้นที่dAdAdAของพื้นผิวไฮเปอร์ประกอบด้วยมวลความน่าจะเป็นเดียวกัน

6
มีการแจกแจงแบบ univariate ใด ๆ ที่เราไม่สามารถสุ่มตัวอย่างได้หรือไม่?
เรามีวิธีการที่หลากหลายสำหรับการสร้างแบบสุ่มจากการแจกแจงแบบไม่มีตัวแปร (การแปลงผกผันยอมรับ - ปฏิเสธมหานคร - เฮสติ้งส์เป็นต้น) และดูเหมือนว่าเราสามารถสุ่มตัวอย่างจากการแจกแจงที่ถูกต้องใด ๆ คุณสามารถให้ตัวอย่างของการแจกแจงแบบไม่แปรซึ่งเป็นไปไม่ได้ที่จะสุ่มสร้างจากอะไร ผมคิดว่าตัวอย่างเช่นว่าที่มันเป็นไปไม่ได้ไม่ได้อยู่ (?) จึงขอบอกว่าโดย "ไปไม่ได้" เราหมายถึงยังมีกรณีที่มีมาก computationally แพงเช่นที่จำลองความต้องการแรงเดรัจฉานเช่นการวาดภาพจำนวนมากของกลุ่มตัวอย่างที่จะยอมรับเพียง ไม่กี่คน ถ้าตัวอย่างดังกล่าวไม่ได้อยู่ที่เราสามารถจริงพิสูจน์ว่าเราสามารถสร้างแบบสุ่มดึงออกมาจากใด ๆ ที่จัดจำหน่ายถูกต้อง? ฉันแค่อยากรู้อยากเห็นหากมีตัวอย่างตัวอย่างสำหรับเรื่องนี้

2
การโยนเหรียญเป็นวิธีที่ยุติธรรมในการสุ่มกลุ่มเป็นสองกลุ่มหรือไม่?
ดังนั้นตัวฉันและลุงของฉันจึงโต้เถียงกันว่าการพลิกเหรียญเป็นการสุ่มอย่างแท้จริงหรือไม่ ฉันโต้เถียงมันไม่ใช่เพราะในความเป็นจริงเหรียญ tosser มักจะจัดการเหรียญดังนั้นผลไม่ใช่ 50/50 ดังนั้นจึงไม่ใช่ทางเลือกที่ดีสำหรับเทคนิคการสุ่มสำหรับการมอบหมายกลุ่มในการทดลองทางคลินิก อย่างไรก็ตามเขาระบุว่ามันเป็นความไม่สมบูรณ์แบบนาทีในการโยนเหรียญที่สร้างแบบแผน ดังนั้นเขาจึงตั้งสมมติฐานเครื่องจักรที่จะสามารถโยนเหรียญที่ยุติธรรมได้ตลอดกาลและวางมันไว้บนหัวและพูดตามตรงฉันก็แค่ต้องการใครสักคนมาโต้แย้งเรื่องนี้กับฉัน การโยนเหรียญเป็นวิธีที่ยุติธรรมในการสุ่มกลุ่มเป็นสองกลุ่มหรือไม่?

2
ฉันจะสุ่มตัวอย่างจากการกระจายแบบไม่ต่อเนื่อง (หมวดหมู่) ในพื้นที่บันทึกได้อย่างไร
สมมติว่าฉันมีการแจกแจงแบบไม่ต่อเนื่องที่กำหนดโดย vectorเช่นนั้นหมวดหมู่จะถูกวาดด้วยความน่าจะเป็นเป็นต้น จากนั้นฉันค้นพบว่าค่าบางอย่างในการแจกแจงมีขนาดเล็กจนทำให้ค่าตัวเลขลอยตัวของคอมพิวเตอร์ของฉันต่ำลงดังนั้นเพื่อชดเชยฉันทำการคำนวณทั้งหมดของฉันในพื้นที่ล็อก ตอนนี้ผมต้องเข้าสู่ระบบปริภูมิเวกเตอร์theta_N)θ0,θ1,...,θNθ0,θ1,...,θN\theta_0, \theta_1, ..., \theta_N000θ0θ0\theta_0log(θ0),log(θ1),...,log(θN)log(θ0),log(θ1),...,log(θN)log(\theta_0), log(\theta_1), ..., log(\theta_N) เป็นไปได้หรือไม่ที่จะสุ่มตัวอย่างจากการแจกแจงที่มีความน่าจะเป็นดั้งเดิม (หมวดหมู่ถูกวาดด้วยความน่าจะเป็น ) แต่ไม่เคยออกจากพื้นที่บันทึก? กล่าวอีกนัยหนึ่งฉันจะสุ่มตัวอย่างจากการกระจายนี้โดยไม่มีอันเดอร์โฟลว์ได้อย่างไรiiiθiθi\theta_i

3
จะสร้างค่าที่กระจายอย่างสม่ำเสมอในช่วงเวลาได้อย่างมีประสิทธิภาพได้อย่างไร
(a, b)สมมติว่าผมต้องการที่จะสร้างชุดของตัวเลขสุ่มจากช่วงเวลาที่ ลำดับที่สร้างควรมีคุณสมบัติที่เรียงลำดับด้วย ฉันสามารถนึกถึงสองวิธีในการบรรลุเป้าหมายนี้ อนุญาตnเป็นความยาวของลำดับที่จะสร้าง อัลกอริทึมที่ 1: Let `offset = floor((b - a) / n)` for i = 1 up to n: generate a random number r_i from (a, a+offset) a = a + offset add r_i to the sequence r อัลกอริทึมที่ 2: for i = 1 up to n: …


2
สิ่งนี้จะทำให้มีอคติในสิ่งที่ควรเป็นตัวเลขสุ่มหรือไม่
สมมติว่าไฟล์ข้อมูลที่มี 80 ล้านไฟล์และเลขศูนย์ถูกสร้างแบบสุ่ม จากไฟล์นี้เราต้องการสร้างรายการจำนวนเต็มทศนิยมแบบสุ่ม นี่คือแผนที่จะทำการแปลงนี้ แบ่งตัวเลข 80 ล้านหลักเป็นกลุ่ม 4 หลัก แปลงเลขฐานสอง 4 หลักเป็นทศนิยม ยกเลิกค่าทศนิยมทั้งหมดที่มากกว่า 9 สิ่งนี้ควรส่งผลให้เกิดสตริงของจำนวนเต็มแบบสุ่มจาก 0-9 นี่คือความกังวล เลขฐานสอง 24 หลักที่ประกอบด้วยการจัดกลุ่ม 6 ตัวของเลขฐานสอง 4 หลักที่สอดคล้องกับค่า 10 ถึง 15 ประกอบด้วย 17 อันและ 7 ศูนย์เท่านั้น ความไม่สมดุลนี้จะส่งผลกระทบต่อการแจกแจงของเลขจำนวนเต็มคู่กับคี่หรือทำให้การสุ่มของสตริงสุดท้ายของเลขทศนิยมในทางใดทางหนึ่งหรือไม่? อัปเดต: จากคำตอบที่โพสต์ดูเหมือนว่าวิธีการที่ระบุข้างต้นเป็นเสียง ฉันเห็นด้วยกับข้อสรุปนั้น อย่างไรก็ตามฉันยังไม่เข้าใจว่าทำไมการลบมากกว่าสองเท่าของค่าศูนย์จากสตริงเลขฐานสองจึงไม่ทำให้ผลที่ออกมามีเลขคี่น้อยลง ฉันขอคำอธิบาย

5
จะสร้างลำดับด้วยค่าเฉลี่ยอย่างไร
ฉันรู้วิธีการสร้างลำดับที่มีค่าเฉลี่ย0ตัวอย่างเช่นใน Matlab ถ้าฉันต้องการสร้างลำดับของความยาวมันคือ:± 1±1\pm 1000± 1±1\pm 1100001000010000 2*(rand(1, 10000, 1)<=.5)-1 อย่างไรก็ตามวิธีการสร้างลำดับมีค่าเฉลี่ยคือโดยที่เป็นที่ต้องการเล็กน้อย± 1±1\pm 10.050.050.05111

3
อะไรคือข้อได้เปรียบของเครื่องกำเนิดไฟฟ้าแบบเอกซ์โพเนนเชียลแบบสุ่มโดยใช้วิธีของ Ahrens และ Dieter (1972) แทนที่จะใช้การแปลงผกผัน?
คำถามของฉันเป็นแรงบันดาลใจR 's rexp()ในตัวเครื่องกำเนิดไฟฟ้าจำนวนสุ่มชี้แจงฟังก์ชั่น เมื่อพยายามที่จะสร้างการกระจายชี้แจงตัวเลขสุ่มตำราหลายแนะนำผกผันเปลี่ยนวิธีการตามที่ระบุไว้ในหน้านี้วิกิพีเดีย ฉันรู้ว่ามีวิธีการอื่นเพื่อให้งานนี้สำเร็จ โดยเฉพาะอย่างยิ่งR 's รหัสที่มาใช้วิธีการที่ระบุไว้ในกระดาษโดย Ahrens & หิวโหย (1972) ฉันมั่นใจว่าวิธี Ahrens-Dieter (AD) นั้นถูกต้อง ยังฉันไม่เห็นประโยชน์ของการใช้วิธีการของพวกเขาเมื่อเทียบกับวิธีการแปลงผกผัน (IT) โฆษณาไม่เพียง แต่ซับซ้อนในการติดตั้งมากกว่าไอที ดูเหมือนจะไม่ได้รับประโยชน์ความเร็วอย่างใดอย่างหนึ่ง นี่คือรหัสRของฉันที่จะเปรียบเทียบทั้งสองวิธีแล้วตามด้วยผลลัพธ์ invTrans <- function(n) -log(runif(n)) print("For the inverse transform:") print(system.time(invTrans(1e8))) print("For the Ahrens-Dieter algorithm:") print(system.time(rexp(1e8))) ผล: [1] "For the inverse transform:" user system elapsed 4.227 0.266 4.597 [1] "For …

2
ทำไม runif ไม่สร้างผลลัพธ์เดียวกันทุกครั้ง
ทำไมเครื่องกำเนิดตัวเลขแบบสุ่มrunif()ใน R ไม่สร้างผลลัพธ์เหมือนกันทุกครั้ง? ตัวอย่างเช่น: X <- runif(100) X กำลังสร้างเอาต์พุตที่แตกต่างกันทุกครั้ง เหตุผลในการสร้างผลลัพธ์ที่แตกต่างกันทุกครั้งคืออะไร? มันทำหน้าที่อะไรในพื้นหลังที่จะทำเช่นนี้?

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.