รูปแบบเชิงปริมาณจำลองพฤติกรรมบางส่วนของโลกโดย (ก) เป็นตัวแทนของวัตถุโดยบางส่วนของคุณสมบัติเชิงตัวเลขของพวกเขาและ (ข) การรวมตัวเลขเหล่านี้ในทางที่ชัดเจนในการผลิตออกเป็นตัวเลขที่ยังเป็นตัวแทนของคุณสมบัติที่น่าสนใจ
ในแผนผังนี้อินพุตตัวเลขสามตัวทางด้านซ้ายจะถูกรวมเข้าด้วยกันเพื่อสร้างเอาต์พุตตัวเลขหนึ่งตัวทางด้านขวา บรรทัดตัวเลขระบุค่าที่เป็นไปได้ของอินพุตและเอาต์พุต จุดแสดงค่าเฉพาะที่ใช้งานอยู่ ทุกวันนี้คอมพิวเตอร์ดิจิทัลมักจะทำการคำนวณ แต่ไม่จำเป็น: แบบจำลองได้รับการคำนวณด้วยดินสอและกระดาษหรือโดยการสร้างอุปกรณ์ "อนาล็อก" ในวงจรไม้โลหะและวงจรอิเล็กทรอนิกส์
ตัวอย่างเช่นรูปแบบก่อนหน้าอาจรวมสามอินพุต R
รหัสสำหรับรุ่นนี้อาจมีลักษณะเช่น
inputs <- c(-1.3, 1.2, 0) # Specify inputs (three numbers)
output <- sum(inputs) # Run the model
print(output) # Display the output (a number)
เอาท์พุทมันเป็นเพียงตัวเลข
-0.1
เราไม่สามารถรู้โลกได้อย่างสมบูรณ์แบบ:แม้ว่าแบบจำลองจะทำงานอย่างที่โลกทำ แต่ข้อมูลของเรานั้นไม่สมบูรณ์และสิ่งต่าง ๆ ในโลกจะแตกต่างกันไป การจำลอง (Stochastic) ช่วยให้เราเข้าใจว่าความไม่แน่นอนและความแปรปรวนดังกล่าวในแบบจำลองข้อมูลควรจะแปลเป็นความไม่แน่นอนและความแปรปรวนในผลลัพธ์ พวกเขาทำเช่นนั้นโดยเปลี่ยนแปลงอินพุตแบบสุ่มรันโมเดลสำหรับแต่ละรูปแบบและสรุปเอาต์พุตรวม
"สุ่ม" ไม่ได้หมายถึงโดยพลการ ผู้สร้างแบบจำลองต้องระบุ (ไม่ว่าจะรู้เท่าทันหรือไม่ก็ตาม) ความถี่ที่ตั้งใจของอินพุตทั้งหมด ความถี่ของเอาต์พุตให้ผลสรุปโดยละเอียดที่สุด
รูปแบบเดียวกันแสดงด้วยอินพุตแบบสุ่มและผลลัพธ์แบบสุ่ม (คำนวณ)
รูปแสดงความถี่ด้วยฮิสโตแกรมเพื่อแสดงการกระจายของตัวเลข ตั้งใจความถี่การป้อนข้อมูลจะแสดงสำหรับปัจจัยการผลิตที่เหลือในขณะที่การคำนวณความถี่เอาท์พุทที่ได้จากการทำงานแบบหลายครั้งมีการแสดงทางด้านขวา
แต่ละชุดของอินพุตไปยังโมเดลที่กำหนดขึ้นจะสร้างเอาต์พุตตัวเลขที่คาดการณ์ได้ เมื่อใช้โมเดลในการจำลองแบบสโตแคสติกเอาต์พุตจะเป็นการแจกแจง (เช่นสีเทายาวที่แสดงทางด้านขวา) การแพร่กระจายของการกระจายเอาท์พุทบอกเราว่ารูปแบบผลลัพธ์ที่สามารถคาดว่าจะแตกต่างกันไปเมื่ออินพุทของมันแตกต่างกันไป
ตัวอย่างโค้ดก่อนหน้านี้อาจถูกแก้ไขเช่นนี้เพื่อเปลี่ยนเป็นแบบจำลอง:
n <- 1e5 # Number of iterations
inputs <- rbind(rgamma(n, 3, 3) - 2,
runif(n, -2, 2),
rnorm(n, 0, 1/2))
output <- apply(inputs, 2, sum)
hist(output, freq=FALSE, col="Gray")
เอาท์พุทของมันได้รับการสรุปด้วยฮิสโตแกรมของตัวเลขทั้งหมดที่สร้างขึ้นโดยวนซ้ำโมเดลด้วยอินพุตแบบสุ่มเหล่านี้:
เมื่อมองไปด้านหลังเราอาจตรวจสอบอินพุตสุ่มจำนวนมากที่ส่งผ่านไปยังโมเดลนี้:
rownames(inputs) <- c("First", "Second", "Third")
print(inputs[, 1:5], digits=2)
ผลลัพธ์แสดงห้าครั้งแรกจากการทำซ้ำโดยมีหนึ่งคอลัมน์ต่อการวนซ้ำ:100,000
[,1] [,2] [,3] [,4] [,5]
First -1.62 -0.72 -1.11 -1.57 -1.25
Second 0.52 0.67 0.92 1.54 0.24
Third -0.39 1.45 0.74 -0.48 0.33
อาจจะเป็นคำตอบของคำถามที่สองคือการจำลองสามารถใช้ได้ทุกที่ ในทางปฏิบัติค่าใช้จ่ายที่คาดหวังจากการจำลองควรต่ำกว่าผลประโยชน์ ประโยชน์ของการทำความเข้าใจและความแปรปรวนเชิงปริมาณคืออะไร มีสองพื้นที่หลักที่สิ่งนี้สำคัญ:
ค้นหาความจริงเช่นเดียวกับในวิทยาศาสตร์และกฎหมาย ตัวเลขนั้นมีประโยชน์ แต่ก็มีประโยชน์มากกว่าที่จะทราบว่าตัวเลขนั้นถูกต้องหรือแน่นอน
การตัดสินใจเช่นเดียวกับในธุรกิจและชีวิตประจำวัน การตัดสินใจสมดุลความเสี่ยงและผลประโยชน์ ความเสี่ยงขึ้นอยู่กับความเป็นไปได้ของผลลัพธ์ที่ไม่ดี การจำลองแบบสุ่มช่วยประเมินความเป็นไปได้นั้น
ระบบคอมพิวเตอร์มีพลังมากพอที่จะทำให้แบบจำลองที่เหมือนจริงและซับซ้อนซ้ำ ๆ กัน ซอฟต์แวร์มีการพัฒนาเพื่อรองรับการสร้างและสรุปค่าสุ่มอย่างรวดเร็วและง่ายดาย (ดังR
ตัวอย่างที่สองแสดง) ปัจจัยทั้งสองนี้ได้รวมกันในช่วง 20 ปีที่ผ่านมา (และอื่น ๆ ) จนถึงจุดที่การจำลองเป็นกิจวัตร สิ่งที่เหลือคือการช่วยให้ผู้คน (1) ระบุการแจกแจงที่เหมาะสมของอินพุตและ (2) เข้าใจการกระจายของสัญญาณ นั่นคือโดเมนของความคิดของมนุษย์ที่ซึ่งคอมพิวเตอร์ได้รับความช่วยเหลือเพียงเล็กน้อย