ต้องการอัลกอริทึมในการคำนวณความน่าจะเป็นที่ข้อมูลนั้นเป็นตัวอย่างจากการแจกแจงแบบปกติเทียบกับการเข้าสู่ระบบแบบปกติ


13

สมมติว่าคุณมีชุดของค่าและคุณต้องการที่จะทราบว่ามีแนวโน้มที่พวกเขาถูกสุ่มตัวอย่างจากการแจกแจงแบบเกาส์ (ปกติ) หรือสุ่มตัวอย่างจากการแจกแจงแบบล็อกนอร์มหรือไม่?

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


1
มันอาจจะเป็นแบบฝึกหัดที่สนุกที่จะลองและบอกลักษณะการกระจายตัวของการแจกแจงในธรรมชาติ / วรรณกรรมที่ตีพิมพ์ จากนั้นอีกครั้ง - มันจะไม่เป็นมากกว่าการออกกำลังกายที่สนุกสนาน สำหรับการรักษาที่จริงจังคุณสามารถมองหาทฤษฎีที่แสดงเหตุผลที่คุณเลือกหรือให้ข้อมูลที่เพียงพอและแสดงภาพความเหมาะสมของการแจกแจงผู้สมัครแต่ละคน
JohnRos

3
ถ้าเป็นเรื่องของการสรุปจากประสบการณ์ฉันจะบอกว่าการแจกแจงเชิงบวกเป็นประเภทที่พบมากที่สุดโดยเฉพาะอย่างยิ่งสำหรับตัวแปรตอบกลับที่เป็นที่สนใจกลางและ lognormals นั้นเป็นเรื่องธรรมดามากกว่าปกติ A 1962 เล่มนักวิทยาศาสตร์เก็งกำไรแก้ไขโดยนักสถิติที่มีชื่อเสียง IJ Good รวมถึงชิ้นส่วนที่ไม่ระบุชื่อ "กฎการทำงานของ Bloggins" ซึ่งมีการยืนยัน "บันทึกการกระจายปกติเป็นปกติมากกว่าปกติ" (กฎอื่น ๆ อีกหลายกฎมีความเข้มงวดมาก)
Nick Cox

ฉันดูเหมือนจะตีความคำถามของคุณแตกต่างจาก JohnRos และ anxoestevez สำหรับฉันคำถามของคุณดูเหมือนหนึ่งเกี่ยวกับการเลือกรูปแบบธรรมดานั่นคือเรื่องของการคำนวณโดยที่คือการแจกแจงแบบปกติหรือการบันทึกปกติและคือข้อมูลของคุณ หากการเลือกรุ่นไม่ใช่สิ่งที่คุณต้องการคุณสามารถชี้แจงได้ไหม M DP(MD)MD
ลูคัส

@lucas ฉันคิดว่าการตีความของคุณไม่แตกต่างจากของฉันมากนัก ไม่ว่าในกรณีใดคุณจำเป็นต้องทำสมมติฐานapriori
anxoestevez

2
ทำไมไม่เพียง แต่คำนวณอัตราส่วนความน่าจะเป็นทั่วไปและแจ้งเตือนผู้ใช้เมื่อเป็นที่โปรดปรานต่อบันทึกปกติ
Scortchi - Reinstate Monica

คำตอบ:


7

คุณสามารถคาดเดาประเภทการแจกจ่ายได้ดีที่สุดโดยปรับการแจกแจงแต่ละแบบ (ปกติหรือ lognormal) ให้เหมาะสมกับข้อมูลตามความเป็นไปได้สูงสุดจากนั้นเปรียบเทียบความน่าจะเป็นในการบันทึกภายใต้แต่ละรุ่น - โมเดลที่มีความเป็นไปได้สูงสุด ตัวอย่างเช่นใน R:

# log likelihood of the data given the parameters (par) for 
# a normal or lognormal distribution
logl <- function(par, x, lognorm=F) {
    if(par[2]<0) { return(-Inf) }
    ifelse(lognorm,
    sum(dlnorm(x,par[1],par[2],log=T)),
    sum(dnorm(x,par[1],par[2],log=T))
    )
}

# estimate parameters of distribution of x by ML 
ml <- function(par, x, ...) {
    optim(par, logl, control=list(fnscale=-1), x=x, ...)
}

# best guess for distribution-type
# use mean,sd of x for starting parameters in ML fit of normal
# use mean,sd of log(x) for starting parameters in ML fit of lognormal
# return name of distribution type with highest log ML
best <- function(x) {
    logl_norm <- ml(c(mean(x), sd(x)), x)$value
        logl_lognorm <- ml(c(mean(log(x)), sd(log(x))), x, lognorm=T)$value
    c("Normal","Lognormal")[which.max(c(logl_norm, logl_lognorm))]
}

ตอนนี้สร้างตัวเลขจากการแจกแจงแบบปกติและใส่การแจกแจงแบบปกติด้วย ML:

set.seed(1)
x = rnorm(100, 10, 2)
ml(c(10,2), x)

ผลิต:

$par
[1] 10.218083  1.787379

$value
[1] -199.9697
...

เปรียบเทียบความเป็นไปได้ในการบันทึกสำหรับ ML ที่พอดีกับการแจกแจงแบบปกติและการแจกแจงแบบปกติ:

ml(c(10,2), x)$value # -199.9697
    ml(c(2,0.2), x, lognorm=T)$value # -203.1891
best(x) # Normal

ลองด้วยการแจกแจงล็อกปกติ:

best(rlnorm(100, 2.6, 0.2)) # lognormal

การมอบหมายจะไม่สมบูรณ์แบบขึ้นอยู่กับ n, Mean และ sd:

> table(replicate(1000, best(rnorm(500, 10, 2))))

Lognormal    Normal 
        6       994 
> table(replicate(1000, best(rlnorm(500, 2.6, 0.2))))

Lognormal    Normal 
      999         1 

1
คุณไม่จำเป็นต้องค้นหาค่าพารามิเตอร์ความน่าจะเป็นสูงสุดประมาณค่าตัวเลขสำหรับแบบปกติหรือแบบบันทึกปกติ (ถึงแม้ว่ามันจะแสดงให้เห็นว่าคุณจะทำให้แนวคิดทั่วไปเป็นอย่างไรเมื่อเปรียบเทียบการกระจายตัวอื่น ๆ ) นอกจากนั้นวิธีการที่เหมาะสมมาก
Scortchi - Reinstate Monica

ฉันเพิ่งจะใช้ R หรือแนวคิดของความน่าจะเป็นสูงสุดดังนั้นนี่คือคำถามพื้นฐาน ฉันรู้ว่าเราไม่สามารถเปรียบเทียบ AIC (หรือ BIC) จากการปรับการแจกแจงแบบปกติให้สอดคล้องกับข้อมูลเทียบกับกับบันทึกของข้อมูลเพราะ AIC หรือ BIC จะไม่สามารถเปรียบเทียบกันได้ ต้องมีสองแบบให้พอดีกับชุดข้อมูลหนึ่งชุด (โดยไม่มีการแปลงไม่มีการยกเว้นนอก ฯลฯ ) และการแปลงข้อมูลจะเปลี่ยน AIC หรือ BIC โดยไม่คำนึงถึงการเปรียบเทียบปลอม แล้ว ML ล่ะ การเปรียบเทียบนี้ถูกต้องหรือไม่
Harvey Motulsky

เราพบการแจกแจงแบบปกติที่เหมาะสมที่สุดและการแจกแจงแบบ lognormal ต่อข้อมูลจากนั้นคำนวณความน่าจะเป็นในการสังเกตข้อมูลโดยสมมติว่าพวกมันมาจากการแจกแจงเหล่านั้น (ความน่าจะเป็นหรือp(X|\theta)) เราไม่ได้แปลงข้อมูล เราพิมพ์การแจกแจงที่ความน่าจะเป็นในการสังเกตข้อมูลสูงสุด วิธีนี้เป็นวิธีที่ถูกต้อง แต่มีข้อเสียที่เราไม่ได้สรุปความน่าจะเป็นของแบบจำลองที่ให้ข้อมูลp(M|X)นั่นคือความน่าจะเป็นที่ข้อมูลนั้นมาจากการแจกแจงแบบปกติ vs lognormal (เช่น p (ปกติ) = 0.1, p (lognormal) = 0.9) ไม่เหมือนกับแนวทางแบบเบย์
waferthin

1
@ ฮาร์วี่จริงพอ แต่ไม่เกี่ยวข้อง - คุณถามเกี่ยวกับการแจกแจงปกติเทียบกับการล็อกปกติกับข้อมูลเดียวกัน & นี่คือสิ่งที่ whannymahoots กำลังตอบ เนื่องจากจำนวนพารามิเตอร์อิสระเหมือนกันสำหรับทั้งสองรุ่นการเปรียบเทียบ AICs หรือ BICs จะช่วยลดความเป็นไปได้ในการเปรียบเทียบบันทึก
Scortchi - Reinstate Monica

@wannymahoots ใด ๆ ที่เหมาะสมก่อนสำหรับวิธีการแบบเบส์ในบริบทนี้ - อาศัยการประมาณความน่าจะเป็นแบบสัมพัทธ์ที่ผู้ใช้ซอฟต์แวร์พยายามที่จะให้พอดีกับข้อมูลปกติหรือบันทึกปกติ - จะไม่เป็นไปอย่างนั้นเพื่อให้ผลลัพธ์ที่คล้ายกันกับแนวทาง ขึ้นอยู่กับความน่าจะเป็น
Scortchi - Reinstate Monica

11

แนวทางของเบย์ต่อปัญหาของคุณคือการพิจารณาความน่าจะเป็นด้านหลังของแบบจำลองเนื่องจากชุดของจุดข้อมูล ,M{Normal,Log-normal}X={x1,...,xN}

P(MX)P(XM)P(M).

ส่วนที่ยากจะได้รับโอกาสร่อแร่ ,

P(XM)=P(Xθ,M)P(θM)dθ.

สำหรับทางเลือกหนึ่งของ , ความน่าจะเป็นชายขอบของเกาส์สามารถหาได้ในรูปแบบปิด เนื่องจากการบอกว่ากระจายตามปกติจะเหมือนกับการบอกว่า } มีการกระจายตามปกติคุณควรจะสามารถใช้โอกาสในการเข้าสู่ระบบปกติเหมือนกันได้ รูปแบบเช่นเดียวกับรูปแบบเกาส์โดยนำไปใช้กับแทนXจำไว้ว่าให้คำนึงถึงการเปลี่ยนแปลงของยาโคบเท่านั้นp(θM)XY={logx1,...,logxNYX

P(XM=Log-Normal)=P(YM=Normal)i|1xi|.

สำหรับวิธีนี้คุณต้องเลือกการกระจายตัวของพารามิเตอร์ - ที่นี่น่าจะเป็น - และความน่าจะเป็นก่อนหน้านี้ .P(θM)P(σ2,μM=Normal)P(M)

ตัวอย่าง:

สำหรับฉันเลือกกระจายปกติผกผันแกมมากับพารามิเตอร์100P(μ,σ2M=Normal)m0=0,v0=20,a0=1,b0=100

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

จากข้อมูลของเมอร์ฟี (2007) (สมการ 203) ความเป็นไปได้ที่จะเกิดการกระจายตัวแบบปกตินั้น

P(XM=Normal)=|vN|12|v0|12b0a0bnaNΓ(aN)Γ(a0)1πN/22N

โดยที่และคือพารามิเตอร์ของ posterior (สมการที่ 196 ถึง 200)aN,bN,vNP(μ,σ2X,M=Normal)

vN=1/(v01+N),mN=(v01m0+ixi)/vN,aN=a0+N2,bN=b0+12(v01m02vN1mN2+ixi2).

ฉันใช้พารามิเตอร์ไฮเปอร์พารามิเตอร์เดียวกันสำหรับการแจกแจงล็อก - ปกติ

P(XM=Log-normal)=P({logx1,...,logxN}M=Normal)i|1xi|.

สำหรับความน่าจะเป็นก่อนบันทึกปกติ ,และข้อมูลที่ดึงมาจากการแจกแจงบันทึกปกติต่อไปนี้P ( M = บันทึกปกติ) = 0.10.1P(M=Log-normal)=0.1

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

หลังมีพฤติกรรมเช่นนี้:

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

เส้นทึบแสดงความน่าจะเป็นด้านหลังเฉลี่ยสำหรับการดึงจุดข้อมูลแตกต่างกัน โปรดทราบว่าสำหรับข้อมูลน้อยถึงไม่มีเลยความเชื่อนั้นใกล้เคียงกับความเชื่อเดิม สำหรับจุดข้อมูลประมาณ 250 จุดอัลกอริทึมนั้นเกือบจะแน่นอนว่าข้อมูลนั้นมาจากการแจกแจงแบบล็อก - ปกติN

เมื่อนำสมการไปใช้งานมันจะเป็นความคิดที่ดีที่จะทำงานกับ log-densities แทนความหนาแน่น แต่ไม่อย่างนั้นมันควรตรงไปตรงมา นี่คือรหัสที่ฉันใช้ในการสร้างแปลง:

https://gist.github.com/lucastheis/6094631


4

ดูเหมือนว่าคุณกำลังมองหาบางสิ่งบางอย่างในทางปฏิบัติเพื่อช่วยนักวิเคราะห์ที่อาจไม่ใช่นักสถิติมืออาชีพและต้องการบางสิ่งบางอย่างเพื่อกระตุ้นให้พวกเขาทำสิ่งที่ควรเป็นเทคนิคการสำรวจมาตรฐานเช่นการดูแปลง qq, แปลงความหนาแน่นเป็นต้น

ในกรณีนี้ทำไมไม่ทำการทดสอบปกติ (Shapiro-Wilk หรืออะไรก็ตาม) กับข้อมูลดั้งเดิมและอีกอันบนบันทึกการแปลงข้อมูลและถ้าค่า p ที่สองสูงกว่าให้ยกค่าสถานะสำหรับนักวิเคราะห์เพื่อพิจารณาการใช้การแปลงบันทึก ? เป็นโบนัสให้แบ่งกราฟิก 2 มิติออกเป็น 2 ส่วนของกราฟเส้นความหนาแน่นและกราฟ qqnorm ของข้อมูลดิบและข้อมูลที่แปลงแล้ว

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


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