ggbiplot

ggbiplot เป็น package อันหนึ่งที่ช่วยให้วาดกราฟ PCA ได้ง่ายขึ้น แต่มันถูกเขียนมาหลายปีแล้ว และก็ไม่ค่อยได้อัพเดทมาสักระยะ เวลาติดตั้งกับ R รุ่นใหม่ๆ( >4 ) ก็อาจจะมีปัญหาอยู่บ้าง วิธีการลงก็ทำตามนี้นะครับ

Sys.setenv(R_REMOTES_NO_ERRORS_FROM_WARNINGS="true")
devtools::install_github("vqv/ggbiplot")

หวังว่าคนช่วยได้

ลองดึงข้อมูลจากเว็บมาplotด้วยภาษาWolfram

พอเรารู้วิธีการดึงข้อมูลมาแล้วเราก็สามารถนำไปประยุกต์ในเรื่องต่างๆได้เช่น ลองทำเป็น API แบบง่ายๆสำหรับดูแนวโน้วการระบาด ในตัวอย่าง API ที่ผมลองทำนี้ก็เอาค่า new cases ย้อนหลัง 3 วันมาคูณกันแล้วหารากที่ 3 เพื่อดูค่าเฉลี่ยแบบ exponential แล้วก็ลองหาความชันของค่านี้ดูแบบ 7 วันย้อนหลังว่าแนวโน้มการควบคุมดีขึ้นบ้างไหม ซึ่งแน่นอนเราอยากให้ค่านี้เป็นลบ

cmdstan กับ opencl

หลังจากที่ลง opencl sdk แล้วก็ให้เพิ่มไฟล์ local ในโฟลเดอร์ make ของ cmdstan โดยที่ใน local พิมพ์ตามนี้ครับ

STAN_OPENCL=true
OPENCL_DEVICE_ID=0
OPENCL_PLATFORM_ID=0 

CC = g++
CXXFLAGS += -fpermissive
LDFLAGS_OPENCL= -L"$(AMDAPPSDKROOT)lib\x86_64" -lOpenCL

จากนั้นก็ให้ make ตามปกติครับ

จาก Stan Math Library: OpenCL CPU/GPU Support (mc-stan.org)

สุ่มเลขใน Stan

มีคนถามมาว่าจะรันสุ่มเลขจาก distribution แบบไม่ต้องมีพารามิเตอร์หรือใส่ค่าให้พารามิเตอร์ให้กับ distribution ไปเลยทำยังไงใน Stan

ตัวอย่างcodeนะครับ

### test.stan ##
data {
 real a;
 real b;
 real ab;
 real bb;
}
generated quantities{
  real gm;
  real bt;
  gm = gamma_rng(a,1/b);
  bt = beta_rng(ab,bb);
}



### run the stan code in R
library(cmdstanr)
library(bayesplot)       
library(patchwork)

# the parameters of the distributions are given as the data
data_list <- list(a=1.5,b=0.001,ab=15,bb=1)

#compile the model
mod <- cmdstan_model(test.stan)

#do the sampling
fit <- mod$sample(data = data_list,chains = 1,fixed_param = T)

# draw the histograms
mcmc_hist(fit$draws(c("gm","bt")))