ตัวอย่าง code สำหรับsampling แบบขนานใน cmdstan

Mac OS/Linux

for i in {1..4} 
do 
    ./my_model sample random seed=12345 id=$i data file=my_data output file=samples$i.csv & 
done

Windows

for /l %x in (1, 1, 4) do start /b model sample random seed=12345 id=%x data file=my_data output file=samples%x.csv

เอามาจาก cmdstan-guide-2.20.0.pdf

ติดตั้ง CmdStan บน Windows 10

ตัวอย่างการติดตั้ง CmdStan (2.17.1) บน Windows 10 ครับ ในที่นี้ ผมใช้กับ Rtools 3.5 ครับ

เริ่มจากการที่เราไป download ตัว zip ของ CmdStan แล้วก็ extract ไว้ที่ไหนสักแห่งตามต้องการครับ

จากนั้นก็เปิด Command Prompt ของ Windows ครับ แล้วใช้คำสั่ง cd เพื่อเปลี่ยนไปยัง path ของ CmdStan ที่ extract ไว้ครับ

แล้วก็ทำการสร้างไฟล์ ชื่อ local (ไม่มีสกุลต่อท้าย) ในโฟลเดอร์ที่ชื่อ make ที่อยู่ path ของ CmdStan โดยในไฟล์ local นี้มีสองรรทัดนี้ครับ

CC=g++

CXX=g++

จากนั้นก็พิมพ์ PATH = c:\rtools\mingw_64\bin;c:\rtools\bin;$PATH เพื่อทำการเซ็ตค่า PATH ให้รู้จักตัว compiler ใน Rtools

แล้วก็ทำการพิมพ์ make build เพื่อทำการ compile ตัว CmdStan ได้เลยครับ

เมื่อเสร็จแล้วจะมีข้อความบอกครับ จากนั้นลองทำสอบกับตัวอย่างที่มาด้วยโดยพิมพ์

make /examples/Bernoulli/Bernoulli.exe

เพื่อสร้างตัวโมเดลจากไฟล์ .stan

จากนั้นก็ลองใช้งานโมเดลกับข้อมูลที่มีมาด้วย โดยพิมพ์

examples\Bernoulli\Bernoulli.exe sample data file=examples/Bernoulli/Bernoulli.data.R

 

เผื่อสงสัยกัน เหตุผลที่ผมใช้ Cmdstan แทนที่จะใช้ rstan เพราะผมใช้งานผ่าน Mathematica ครับ