การแจกแจงแบบเบ้หลายตัวแปร

การแจกแจงความน่าจะเป็นหลายตัวแปรใน R

Surajit Ray

Professor, University of Glasgow

การแจกแจงแบบเบ้หลายตัวแปร: scatter plot

ข้อมูล flow cytometry -- side scatter (SSC) และ forward scatter (FSC)

การแจกแจงความน่าจะเป็นหลายตัวแปรใน R

การแจกแจงแบบเบ้หลายตัวแปร: contour plot

ข้อมูล flow cytometry -- side scatter (SSC) และ forward scatter (FSC)

การแจกแจงความน่าจะเป็นหลายตัวแปรใน R

การแจกแจง skew-normal แบบตัวแปรเดียว

รูปแบบทั่วไปของ skew-normal เขียนแทนด้วย $SN(\xi,\omega,\alpha)$

  • $\xi$ และ $\omega$ คือพารามิเตอร์ตำแหน่งและสเกล

รูปแบบอย่างง่าย: $z \sim SN(\alpha) $

  • $\alpha$ คือพารามิเตอร์ความเบ้
การแจกแจงความน่าจะเป็นหลายตัวแปรใน R

ช่วงของการแจกแจง skew-normal แบบตัวแปรเดียว

              เปรียบเทียบ $SN(\alpha)$ กับการแจกแจงปกติมาตรฐาน

 

  • เมื่อ $\alpha>0$ จะเบ้ไปทางขวา
  • เมื่อ $\alpha<0$ จะเบ้ไปทางซ้าย
  • $SN(0)$ เหมือนกับการแจกแจงปกติมาตรฐาน
การแจกแจงความน่าจะเป็นหลายตัวแปรใน R

การแจกแจง skew-normal หลายตัวแปร

สัญกรณ์: การแจกแจง skew-normal หลายตัวแปรแบบสามมิติ

$SN(\xi,\Omega,\alpha)$

  • $\xi$ พารามิเตอร์ตำแหน่ง (เวกเตอร์ความยาว $3$)
  • $\Omega$ พารามิเตอร์ความแปรปรวนร่วม (เมทริกซ์ขนาด $3 \times 3$)
  • $\alpha$ พารามิเตอร์ความเบ้ (เวกเตอร์ความยาว $3$)
การแจกแจงความน่าจะเป็นหลายตัวแปรใน R

Contour plot ของการแจกแจง bivariate skew-normal

Bivariate skew-normal

${\xi}={\begin{pmatrix} 1 \\ 2 \end{pmatrix}},\quad { \Omega }={\begin{pmatrix} 1 & 0.5 \\ 0.5 & 2 \end{pmatrix}}$, ${\alpha}={\begin{pmatrix} -3 \\ 3 \end{pmatrix}}$.

การแจกแจงความน่าจะเป็นหลายตัวแปรใน R

ฟังก์ชันสำหรับการแจกแจง skew-normal

จากไลบรารี sn:

  • dmsn(x, xi, Omega, alpha)

  • pmsn(x, xi, Omega, alpha)

  • rmsn(n, xi, Omega, alpha)

    • ต้องระบุ xi, Omega, alpha
การแจกแจงความน่าจะเป็นหลายตัวแปรใน R

ฟังก์ชันสำหรับการแจกแจง skew-t

จากไลบรารี sn:

  • dmst(x, xi, Omega, alpha, nu)

  • pmst(x, xi, Omega, alpha, nu)

  • rmst(n, xi, Omega, alpha, nu )

    • ต้องระบุ xi, Omega, alpha, nu (องศาอิสระ)
การแจกแจงความน่าจะเป็นหลายตัวแปรใน R

การสร้างตัวอย่างจากการแจกแจง skew-normal

สร้างตัวอย่าง 2000 ค่าจากการแจกแจง skew-normal แบบ 3 มิติ

$ SN\left(\xi= \begin{pmatrix} 1 \\ 2 \\ -5 \end{pmatrix} , \Omega={\begin{pmatrix} 1 & 1 & 0 \\ 1 & 2 & 0 \\ 0 & 0 & 5 \end{pmatrix}}, \alpha=\begin{pmatrix} 4 \\ 30 \\ -5 \end{pmatrix} \right)$

# Specify xi, Omega and alpha
xi1 <- c(1, 2, -5) 
Omega1 <- matrix(c(1, 1, 0,
                   1, 2, 0,
                   0, 0, 5), 3, 3)
alpha1 <- c(4, 30, -5)

# Generate samples
skew.sample <- rmsn(n = 2000, xi = xi1, Omega = Omega1, alpha = alpha1)
การแจกแจงความน่าจะเป็นหลายตัวแปรใน R

                                                                          ตัวอย่างจากการแจกแจง skew-normal

การแจกแจงความน่าจะเป็นหลายตัวแปรใน R

การสร้างตัวอย่างจากการแจกแจง skew-t

สร้างตัวอย่าง 2000 ค่าจากการแจกแจง skew-t แบบ 3 มิติ โดย

$\xi= \begin{pmatrix} 1 \\ 2 \\ -5 \end{pmatrix} , \Omega={\begin{pmatrix} 1 & 1 & 0 \\ 1 & 2 & 0 \\ 0 & 0 & 5 \end{pmatrix}}, \alpha=\begin{pmatrix} 4 \\ 30 \\ -5 \end{pmatrix}, df = 4$

 

# Generate samples
skewt.sample <- rmst(n = 2000, xi = xi1, Omega = Omega1, alpha = alpha1, nu = 4)
การแจกแจงความน่าจะเป็นหลายตัวแปรใน R

การประมาณพารามิเตอร์จากข้อมูล

  • ต้องใช้อัลกอริทึมแบบวนซ้ำในการประมาณพารามิเตอร์ของการแจกแจง skew-normal

    • ไม่มีสมการชัดแจ้งสำหรับคำนวณพารามิเตอร์
  • แพ็กเกจ sn มีหลายฟังก์ชัน รวมถึง msn.mle()

การแจกแจงความน่าจะเป็นหลายตัวแปรใน R

การประมาณพารามิเตอร์จากข้อมูล

msn.mle(y = skew.sample, opt.method = "BFGS")
$dp
$dp$beta
        X1    X2    X3
[1,] 1.024 2.021 -4.81

$dp$Omega
        X1      X2      X3
X1  0.9154  0.8865 -0.1507
X2  0.8865  1.8276 -0.3560
X3 -0.1507 -0.3560  5.0352

$dp$alpha
    X1     X2     X3 
 3.670 28.465 -5.029

ตัวอย่างถูกสร้างจาก:

$\xi= \begin{pmatrix} 1 \\ 2 \\ -5 \end{pmatrix} , \Omega={\begin{pmatrix} 1 & 1 & 0 \\ 1 & 2 & 0 \\ 0 & 0 & 5 \end{pmatrix}}, \alpha=\begin{pmatrix} 4 \\ 30 \\ -5 \end{pmatrix} $

การแจกแจงความน่าจะเป็นหลายตัวแปรใน R

มาฝึกกันเถอะ!

การแจกแจงความน่าจะเป็นหลายตัวแปรใน R

Preparing Video For Download...