กลับไปหน้าบทความ

อ่าน 4 นาที

สแตน (ซอฟต์แวร์)

Stanเป็นภาษาการเขียนโปรแกรมเชิงความน่าจะเป็นสำหรับการอนุมานทางสถิติที่เขียนด้วยภาษา C++ ภาษา Stan ใช้เพื่อระบุแบบจำลองทางสถิติ (แบบเบย์เซียน)...

สแตน (ซอฟต์แวร์)

สแตน
ผู้เขียนต้นฉบับทีมพัฒนา Stan
ปล่อย30 สิงหาคม 2555 ( 30 สิงหาคม 2555 )
เวอร์ชันเสถียร
2.39.0 [ 1 ] แก้ไขข้อมูลนี้บนวิกิดาต้า / 19 พฤษภาคม 2026 ( 19 พฤษภาคม 2569 )
เขียนเป็นซี++
ระบบปฏิบัติการระบบปฏิบัติการคล้าย Unix , Microsoft Windows , Mac OS X
แพลตฟอร์มIntel x86 - 32 บิต , x64
พิมพ์ชุดโปรแกรมสถิติ
ใบอนุญาตใบอนุญาต BSD ใหม่
เว็บไซต์mc-stan .org
ที่เก็บข้อมูล
  • github.com/stan-dev/stan

Stanเป็นภาษาการเขียนโปรแกรมเชิงความน่าจะเป็นสำหรับการอนุมานทางสถิติที่เขียนด้วยภาษา C++ [ 2 ] ภาษา Stan ใช้เพื่อระบุแบบจำลองทางสถิติ (แบบเบย์เซียน) ด้วยโปรแกรมเชิงคำสั่งที่คำนวณฟังก์ชันความหนาแน่นความน่าจะเป็นลอการิทึม[ 2 ]

Stan ได้รับอนุญาตภายใต้ใบอนุญาต BSD ใหม่ Stan ได้รับการตั้งชื่อเพื่อเป็นเกียรติแก่Stanislaw Ulamผู้บุกเบิก วิธี การMonte Carlo [ 2 ]

Stan ถูกสร้างขึ้นโดยทีมพัฒนาซึ่งประกอบด้วยสมาชิก 52 คน[ 3 ]ซึ่งรวมถึงAndrew Gelman , Bob Carpenter, Daniel Lee, Ben Goodrich และคนอื่นๆ

ตัวอย่าง

แบบจำลองการถดถอยเชิงเส้นอย่างง่ายสามารถอธิบายได้ดังนี้ โดยที่นอกจากนี้ยังสามารถแสดงได้ในรูปแบบ รูปแบบหลังนี้สามารถเขียนใน Stan ได้ดังนี้:

ข้อมูล{ int < lower = 0 > N ; vector [ N ] x ; vector [ N ] y ; } พารามิเตอร์{ real alpha ; real beta ; real < lower = 0 > sigma ; } แบบจำลอง{ y ~ normal ( alpha + beta * x , sigma ); }

อินเทอร์เฟซ

สามารถเข้าถึงภาษา Stan ได้ผ่านทางอินเทอร์เฟซหลายแบบ:

นอกจากนี้ ยังมีอินเทอร์เฟซระดับสูงกว่าที่จัดเตรียมไว้สำหรับแพ็กเกจที่ใช้ Stan เป็นแบ็กเอนด์ โดยส่วนใหญ่ใช้ภาษา R : [ 4 ]

  • rstanarmเป็นตัวทดแทนโดยตรงสำหรับแบบจำลองความถี่ที่จัดทำโดย R พื้นฐานและlme4โดยใช้ไวยากรณ์สูตรของ R
  • brms [ 5 ]มีโมเดลเชิงเส้นและไม่เชิงเส้นหลากหลายรูปแบบโดยใช้ไวยากรณ์สูตร R
  • โปรแกรม Prophetมีขั้นตอนอัตโนมัติสำหรับการพยากรณ์อนาคตของอนุกรมเวลา

อัลกอริทึม

Stan นำเสนออัลกอริธึมMarkov chain Monte Carlo (MCMC) ที่ใช้การไล่ระดับความชันสำหรับการอนุมานแบบเบย์เซียนวิธีการเบย์เซียนแบบแปรผัน ที่ใช้การไล่ระดับความชัน แบบสุ่มสำหรับการอนุมานแบบเบย์เซียนโดยประมาณ และการเพิ่มประสิทธิภาพ ที่ใช้การไล่ระดับความชัน สำหรับการประมาณค่าความน่าจะเป็นสูงสุดแบบมีค่าปรับ

  • อัลกอริทึม MCMC:
  • อัลกอริทึมการอนุมานแบบแปรผัน:
    • การอนุมานแบบแปรผันของการหาอนุพันธ์อัตโนมัติ[ 7 ]
    • Pathfinder: การอนุมานแบบแปรผันควาซี-นิวตันแบบขนาน[ 8 ]
  • อัลกอริทึมการปรับให้เหมาะสม:

การหาผลต่างอัตโนมัติ

Stan ใช้การ หาอนุพันธ์อัตโนมัติแบบย้อนกลับเพื่อคำนวณเกรเดียนต์ของโมเดล ซึ่งจำเป็นสำหรับ HMC, NUTS, L-BFGS, BFGS และการอนุมานแบบแปรผัน[ 2 ]การหาอนุพันธ์อัตโนมัติภายใน Stan สามารถใช้งานได้นอกภาษาการเขียนโปรแกรมเชิงความน่าจะเป็น

การใช้งาน

Stan ถูกใช้ในสาขาต่างๆ รวมถึงสังคมศาสตร์[ 9 ]สถิติเภสัชกรรม [ 10 ]การวิจัยตลาด[ 11 ]และ การ ถ่ายภาพทางการแพทย์[ 12 ]

ดูเพิ่มเติม

  • PyMCเป็นภาษาการเขียนโปรแกรมเชิงความน่าจะเป็นในภาษา Python
  • ArviZคือไลบรารี Python สำหรับการวิเคราะห์เชิงสำรวจของแบบจำลองเบย์เซียน

อ่านเพิ่มเติม

  • Carpenter, Bob; Gelman, Andrew; Hoffman, Matthew; Lee, Daniel; Goodrich, Ben; Betancourt, Michael; Brubaker, Marcus; Guo, Jiqiang; Li, Peter; Riddell, Allen (2017). "Stan: ภาษาการเขียนโปรแกรมเชิงความน่าจะเป็น" . วารสารซอฟต์แวร์สถิติ . 76 (1): 1– 32. doi : 10.18637/jss.v076.i01 . ISSN  1548-7660 . PMC  9788645 . PMID  36568334 .
  • Gelman, Andrew, Daniel Lee และ Jiqiang Guo (2015). Stan: ภาษาการเขียนโปรแกรมเชิงความน่าจะเป็นสำหรับการอนุมานแบบเบย์เซียนและการเพิ่มประสิทธิภาพวารสารสถิติการศึกษาและพฤติกรรม
  • Hoffman, Matthew D., Bob Carpenter และ Andrew Gelman (2012). Stan ซอฟต์แวร์ที่ปรับขนาดได้สำหรับการสร้างแบบจำลองแบบเบย์เซียนเก็บถาวรเมื่อ 2015-01-21 ที่Wayback Machine , รายงานการประชุมเชิงปฏิบัติการ NIPS ว่าด้วยการเขียนโปรแกรมเชิงความน่าจะเป็น
  • เว็บไซต์ของสแตน
  • Stan sourceคือ ที่เก็บข้อมูล Gitที่โฮสต์อยู่บนGitHub
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Stan_(software)&oldid=1291370927 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ สแตน (ซอฟต์แวร์)

Stanเป็นภาษาการเขียนโปรแกรมเชิงความน่าจะเป็นสำหรับการอนุมานทางสถิติที่เขียนด้วยภาษา C++ ภาษา Stan ใช้เพื่อระบุแบบจำลองทางสถิติ (แบบเบย์เซียน)...

ตัวอย่าง

แบบจำลองการถดถอยเชิงเส้นอย่างง่ายสามารถอธิบายได้ดังนี้ โดยที่นอกจากนี้ยังสามารถแสดงได้ในรูปแบบ รูปแบบหลังนี้สามารถเขียนใน Stan ได้ดังนี้: y n = α + เบต้า x n + ϵ n {\displaystyle y_{n}=\alpha +\beta x_{n}+\epsilon _{n}} ϵ n ~ ปกติ ( 0 , σ ) {\displaystyle...

อินเทอร์เฟซ

สามารถเข้าถึงภาษา Stan ได้ผ่านทางอินเทอร์เฟซหลายแบบ:

อัลกอริทึม

Stan นำเสนออัลกอริธึม Markov chain Monte Carlo (MCMC) ที่ใช้การไล่ระดับความชันสำหรับการอนุมานแบบเบย์เซียน วิธีการเบย์เซียนแบบแปรผัน ที่ใช้การไล่ระดับความชัน แบบสุ่มสำหรับการอนุมานแบบเบย์เซียนโดยประมาณ และ การเพิ่มประสิทธิภาพ ที่ใช้การไล่ระดับความชัน...