อัลฟาในการแจกแจงดิริชเลตคืออะไร?


26

ฉันค่อนข้างใหม่กับสถิติแบบเบย์และฉันได้พบกับการวัดความสัมพันธ์ที่ถูกต้องคือSparCCที่ใช้กระบวนการ Dirichlet ในส่วนหลังของอัลกอริทึม ฉันได้ลองใช้อัลกอริทึมทีละขั้นตอนเพื่อเข้าใจสิ่งที่เกิดขึ้นจริง ๆ แต่ฉันไม่แน่ใจว่าสิ่งที่alphaพารามิเตอร์เวกเตอร์ในการแจกแจง Dirichlet และวิธีการปกติalphaเวกเตอร์พารามิเตอร์?

การดำเนินการอยู่ในPythonการใช้NumPy: https://docs.scipy.org/doc/numpy/reference/generated/numpy.random.dirichlet.html

เอกสารบอกว่า:

alpha: array พารามิเตอร์ของการแจกแจง (k มิติสำหรับตัวอย่างของมิติ k)

คำถามของฉัน:

  1. การalphasกระจายมีผลกระทบอย่างไร?;

  2. การเป็นalphasปกติได้อย่างไร?; และ

  3. จะเกิดอะไรขึ้นเมื่อalphasไม่ใช่จำนวนเต็ม?

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

# Reproducibility
np.random.seed(0)

# Integer values for alphas
alphas = np.arange(10)
# array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

# Dirichlet Distribution
dd = np.random.dirichlet(alphas) 
# array([ 0.        ,  0.0175113 ,  0.00224837,  0.1041491 ,  0.1264133 ,
#         0.06936311,  0.13086698,  0.15698674,  0.13608845,  0.25637266])

# Plot
ax = pd.Series(dd).plot()
ax.set_xlabel("alpha")
ax.set_ylabel("Dirichlet Draw")

ป้อนคำอธิบายรูปภาพที่นี่


6
คุณมีปัญหากับรายการ Wikipedia ของการแจกจ่ายนี้หรือไม่?
ซีอาน

2
ขอโทษฉันไม่คิดว่าฉันพูดถูก ฉันเข้าใจว่าการกระจายความน่าจะเป็น / pdf / pmf คืออะไร แต่ฉันก็สับสนว่าการปรับมาตรฐานเกิดขึ้นได้อย่างไร จากวิกิพีเดียมันก็ดูเหมือนว่าการฟื้นฟูที่เกิดขึ้นผ่านทางฟังก์ชันแกมมาหลังจาก1} ฉันได้ยินมาว่าเรียกว่าการกระจายตัวของการแจกแจงและมันยากที่จะเห็นว่าจาก eqns บนวิกิพีเดีย xiα1
O.rka

1
ถ้าคุณทำให้อัลฟาเป็นมาตรฐานคุณจะได้ค่าเฉลี่ยของการแจกแจง ถ้าคุณทำให้การแจกแจงเป็นปกติคุณต้องแน่ใจว่าอินทิกรัลนั้นสนับสนุนมากกว่าเท่ากับ 1 และมันจึงเป็นการกระจายความน่าจะเป็นที่ถูกต้อง
Eskapp

1
การแจกแจง Dirichlet เป็นการกระจายผ่านซิมเพล็กซ์ดังนั้นการกระจายข้ามการแจกแจงแบบ จำกัด แน่นอน หากคุณตั้งเป้าหมายในการกระจายการกระจายอย่างต่อเนื่องคุณควรดูที่กระบวนการ Dirichlet
ซีอาน

คำตอบ:


67

การแจกแจง Dirichletเป็นการแจกแจงความน่าจะเป็นแบบหลายตัวแปรที่อธิบายตัวแปรซึ่งแต่ละและที่ถูกกำหนดโดย เวกเตอร์ของพารามิเตอร์ในเชิงบวกมูลค่าalpha_k) พารามิเตอร์ไม่จำเป็นต้องเป็นจำนวนเต็ม แต่จะต้องเป็นจำนวนจริงบวกเท่านั้น พวกเขาจะไม่ "ปกติ" ในทางใด ๆ พวกเขาเป็นพารามิเตอร์ของการกระจายนี้X 1 , , X k x i( 0 , 1 ) N i = 1 x i = 1k2X1,,Xkxi(0,1)i=1Nxi=1α=(α1,,αk)

การแจกแจง Dirichlet เป็นการวางนัยทั่วไปของการแจกแจงเบต้าในหลายมิติดังนั้นคุณสามารถเริ่มต้นด้วยการเรียนรู้เกี่ยวกับการแจกแจงเบต้า Beta คือการกระจาย univariate ของตัวแปรสุ่มแปรโดยพารามิเตอร์และ\สัญชาตญาณที่ดีเกี่ยวกับมันมาถ้าคุณจำได้ว่ามันเป็นคอนจูเกตก่อนสำหรับการกระจายทวินามและถ้าเราสมมติเบต้าแปรก่อนโดยและสำหรับการกระจายทวินามของพารามิเตอร์น่าจะเป็นแล้วกระจายหลังของนี้ยังมี การแจกแจงเบต้าแปรสภาพโดยα β α β พีพีα ' = α + จำนวนความสำเร็จβ ' = β + จำนวนของความล้มเหลวα βX(0,1)αβαβppα=α+number of successesและ{จำนวนของความล้มเหลว} ดังนั้นคุณสามารถคิดถึงและณpseudocounts (พวกเขาไม่จำเป็นต้องเป็นจำนวนเต็ม) ของความสำเร็จและความล้มเหลว (ตรวจสอบหัวข้อนี้ด้วย )β=β+number of failuresαβ

ในกรณีของการกระจาย Dirichlet, มันเป็นคอนจูเกตก่อนสำหรับการกระจายพหุนาม หากในกรณีของการแจกแจงทวินามเราสามารถคิดในแง่ของการวาดลูกบอลสีขาวและสีดำที่มีการแทนที่จากโกศแล้วในกรณีของการกระจาย Multinomial ที่เรากำลังวาดด้วยลูกเปลี่ยนปรากฏในสีซึ่งแต่ละสี ของลูกสามารถวาดด้วยความน่าจะเป็นP_1การกระจาย Dirichlet เป็นคอนจูเกตก่อนหน้าสำหรับความน่าจะเป็นและพารามิเตอร์สามารถคิดเป็นpseudocountsของลูกบอลของแต่ละสีสันนิษฐานว่านิรนัยk P 1 ,Nkp 1 , , p k α 1 , , α k α 1 , , α k α 1 + n 1 , , α k + n kp1,,pkp1,,pkα1,,αk(แต่คุณควรอ่านเกี่ยวกับข้อผิดพลาดของการให้เหตุผลด้วย ) ใน Dirichlet-multinomial modelได้รับการอัพเดตโดยการสรุปรวมกับจำนวนที่สังเกตได้ในแต่ละหมวดหมู่:ในรูปแบบที่คล้ายกันในกรณีของรุ่นเบต้า - ทวินามα1,,αkα1+n1,,αk+nk

ค่าที่สูงกว่าของ , "น้ำหนัก" ที่มากขึ้นของและจำนวนที่มากขึ้นของ "มวล" รวมจะถูกกำหนดให้มัน (จำได้ว่าในจำนวนทั้งหมดจะต้องเป็น ) ถ้าทั้งหมดเท่ากันการแจกแจงจะสมมาตร ถ้าสามารถคิดได้ว่าเป็นการลดน้ำหนักที่ผลักไปทางสุดขั้วในขณะที่มันอยู่ในระดับสูงมันจะดึงดูดต่อค่ากลางบางส่วน (ศูนย์กลางในแง่ที่ว่าทุกจุดมีความเข้มข้นรอบตัวไม่ใช่ใน รู้สึกว่ามันเป็นศูนย์กลางสมมาตร) ถ้าคะแนนจะถูกกระจายอย่างสม่ำเสมอX ฉันx 1 + + x k = 1 α ฉันα ฉัน < 1 x ฉันx ฉันα 1 = = α k = 1αiXix1++xk=1αiαi<1xixiα1==αk=1

สิ่งนี้สามารถเห็นได้ในแปลงด้านล่างซึ่งคุณสามารถเห็นการแจกแจงแบบดิริแชตขนาดเล็ก (น่าเสียดายที่เราสามารถสร้างแผนการที่เหมาะสมได้มากถึงสามมิติ) โดยกำหนดพารามิเตอร์โดย (a) , (b) (ค) (d)0.2α 1 = α 2 = α 3 = 10 α 1 = 1 , α 2 = 10 , α 3 = 5 α 1 = α 2 = α 3 = 0.2α1=α2=α3=1α1=α2=α3=10α1=1,α2=10,α3=5α1=α2=α3=0.2

ตัวอย่างที่แตกต่างจากการแจกแจง Dirichlet สี่อย่าง

การแจกแจงริชเลต์บางครั้งเรียกว่า"การกระจายตัวของการแจกแจง"เนื่องจากมันอาจถูกมองว่าเป็นการกระจายตัวของความน่าจะเป็น ขอให้สังเกตว่าเนื่องจากแต่ละและแล้ว 's มีความสอดคล้องกับครั้งแรกและครั้งที่สองสัจพจน์ของความน่าจะเป็น ดังนั้นคุณสามารถใช้การแจกแจง Dirichlet เป็นการแจกแจงความน่าจะเป็นสำหรับเหตุการณ์ที่ไม่ต่อเนื่องที่อธิบายโดยการแจกแจงเช่นหมวดหมู่หรือมัลติโนเมียล มันไม่ได้เป็นk i = 1 x i = 1 x i kxi(0,1)i=1kxi=1xiความจริงที่ว่ามันเป็นการกระจายตัวของการแจกแจงใด ๆ ตัวอย่างเช่นมันไม่เกี่ยวข้องกับความน่าจะเป็นของตัวแปรสุ่มต่อเนื่องหรือแม้กระทั่งบางตัวแปรที่ไม่ต่อเนื่อง (เช่นตัวแปรปัวซองแบบกระจายแบบปัวซงอธิบายถึงความน่าจะเป็น การกระจายของดีริชเลต์เหนือความน่าจะเป็นคุณต้องมีตัวแปรสุ่มจำนวนอนันต์ )k


2
คำอธิบายที่น่าเหลือเชื่อ
O.rka

14

คำเตือน: ฉันไม่เคยทำงานกับการกระจายนี้มาก่อน คำตอบนี้อยู่บนพื้นฐานนี้บทความวิกิพีเดียและการตีความของฉันมัน


การแจกแจง Dirichlet เป็นการกระจายความน่าจะเป็นหลายตัวแปรที่มีคุณสมบัติคล้ายกับการแจกแจงแบบเบต้า

PDF ถูกกำหนดดังนี้:

{x1,,xK}1B(α)i=1Kxiαi1

กับ ,และ1K2xi(0,1)i=1Kxi=1

หากเราดูการแจกแจงเบต้าที่เกี่ยวข้องอย่างใกล้ชิด:

{x1,x2(=1x1)}1B(α,β)x1α1x2β1

เราจะเห็นว่าทั้งสองจะมีการแจกแจงเดียวกันถ้า 2 ดังนั้นขอให้ยึดการตีความของเราในครั้งแรกแล้วคุยไป 2K=2K>2


ในสถิติแบบเบย์การแจกแจงแบบเบต้าจะใช้เป็นคอนจูเกตก่อนหน้าสำหรับพารามิเตอร์ทวินาม (ดูการแจกแจงแบบเบต้า ) ก่อนหน้านี้สามารถกำหนดเป็นความรู้ก่อนหน้านี้ในและ (หรือสอดคล้องกับการแจกแจง Dirichletและ ) หากมีการทดลองใช้ทวินามแล้วมีความสำเร็จและความล้มเหลวของการกระจายหลังเป็นแล้วเป็นดังนี้:และB (ฉันจะไม่ทำสิ่งนี้เพราะนี่อาจเป็นสิ่งแรกที่คุณเรียนรู้ด้วยสถิติแบบเบย์)αβα1α2ABα1,pos=α1+Aα2,pos=α2+B

ดังนั้นการแจกแจงแบบเบต้าจึงแทนการแจกแจงแบบหลังบางส่วนบนและซึ่งสามารถตีความได้ว่าเป็นความน่าจะเป็นของความสำเร็จและความล้มเหลวตามลำดับในการแจกแจงแบบทวินาม และยิ่งมีข้อมูล (และ ) มากเท่าไหร่การกระจายของหลังนี้ก็จะแคบลงเท่านั้นx1x2(=1x1)AB


ตอนนี้เรารู้วิธีการแจกแจงแบบแล้วเราสามารถทำให้การกระจายแบบมัลติโนเมียลเป็นแบบกระจายแทนที่จะเป็นแบบทวินาม ซึ่งหมายความว่าแทนที่จะเป็นสองผลลัพธ์ที่เป็นไปได้ (ความสำเร็จหรือความล้มเหลว) เราจะอนุญาตให้มีผลลัพธ์ (ดูว่าทำไมมันถึง generalizes เพื่อ Beta / Binom ถ้า ?) ผลลัพธ์แต่ละค่าเหล่านี้จะมีความน่าจะเป็นซึ่งเท่ากับ 1 ตามความน่าจะเป็นK=2KK=2Kxi

αiจากนั้นจะมีบทบาทคล้ายกับและในการกระจายเบต้าก่อนหน้านี้สำหรับและได้รับการอัปเดตในลักษณะที่คล้ายกันα1α2xi

ดังนั้นตอนนี้เพื่อรับคำถามของคุณ:

การalphasกระจายมีผลต่ออย่างไร

การกระจายเป็นที่สิ้นสุดโดยข้อ จำกัดและ1 ตรวจสอบว่าส่วนของพื้นที่มิติได้รับมวลมากที่สุด คุณสามารถเห็นสิ่งนี้ในภาพนี้ (ไม่ฝังที่นี่เพราะฉันไม่ได้เป็นเจ้าของภาพ) ยิ่งข้อมูลมีอยู่ในส่วนหลัง (โดยใช้การตีความนั้น) ยิ่งดังนั้นยิ่งแน่ใจว่าคุณมีค่าของหรือความน่าจะเป็นสำหรับผลลัพธ์แต่ละรายการ ซึ่งหมายความว่าความหนาแน่นจะเข้มข้นมากขึ้นxi(0,1)i=1Kxi=1αiKi=1Kαixi

การเป็นalphasมาตรฐานได้อย่างไร

การทำให้เป็นมาตรฐานของการแจกแจง (ทำให้แน่ใจว่าอินทิกรัลเท่ากับ 1) ต้องผ่านเทอม :B(α)

B(α)=i=1KΓ(αi)Γ(i=1Kαi)

อีกครั้งถ้าเราดูที่กรณีเราจะเห็นว่าตัวประกอบ normalizing นั้นเหมือนกับในการแจกแจงแบบเบต้าซึ่งใช้สิ่งต่อไปนี้:K=2

B(α1,α2)=Γ(α1)Γ(α2)Γ(α1+α2)

สิ่งนี้ขยายไปถึง

B(α)=Γ(α1)Γ(α2)Γ(αK)Γ(α1+α2++αK)

จะเกิดอะไรขึ้นเมื่ออัลฟาไม่ใช่จำนวนเต็ม?

การตีความที่ไม่เปลี่ยนแปลงสำหรับแต่อย่างที่คุณเห็นในภาพที่ผมเชื่อมโยงก่อนถ้ามวลของการกระจายสะสมที่ขอบของช่วงสำหรับx_iในมืออื่น ๆ ที่จะเป็นจำนวนเต็มและมีKα i < 1 x i K K 2αi>1αi<1xiKK2


1
ขอบคุณสำหรับสิ่งนี้. คำอธิบายของคุณมีประโยชน์มาก ฉันหวังว่าฉันจะได้ทำเครื่องหมายทั้งสองอย่างถูกต้อง
O.rka
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.