ฉันสามารถทดสอบสมมติฐานหาข้อมูลปกติได้หรือไม่


11

ฉันมีการรวบรวมข้อมูลซึ่ง แต่เดิมฉันคิดว่ามันถูกแจกจ่ายตามปกติ จากนั้นฉันก็ดูมันและตระหนักว่าไม่ใช่เพราะส่วนใหญ่เป็นข้อมูลที่เบ้และฉันก็ทำการทดสอบ shapiro-wilks ด้วย

ฉันยังต้องการวิเคราะห์โดยใช้วิธีการทางสถิติและฉันต้องการทดสอบสมมติฐานสำหรับความเบ้

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

คำตอบ:


8

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

2ωϕ(xξω)Φ(α(xξω))

โดยที่คือฟังก์ชั่นความหนาแน่นปกติมาตรฐานและΦ ( )คือ CDF ปกติมาตรฐาน โปรดทราบว่าความหนาแน่นนี้เป็นสมาชิกของชั้นเรียนที่อธิบายไว้ในคำตอบของฉันคำถามนี้ϕ()Φ()

บันทึกความน่าจะเป็นบนพื้นฐานของตัวอย่างของการสังเกตอิสระจากการแจกแจงนี้คือ:n

-nเข้าสู่ระบบ(ω)+Σผม=1nเข้าสู่ระบบφ(x-ξω)+เข้าสู่ระบบΦ(α(x-ξω))

มันเป็นความจริงที่ว่าไม่มีวิธีแก้ปัญหาแบบปิดสำหรับ MLE นี้ แต่สามารถแก้ไขได้เป็นตัวเลข ตัวอย่างเช่นในRคุณสามารถเขียนรหัสฟังก์ชั่นความน่าจะเป็นได้ (หมายเหตุฉันทำให้มันมีขนาดกะทัดรัด / มีประสิทธิภาพน้อยกว่าที่เป็นไปได้เพื่อให้มันโปร่งใสอย่างสมบูรณ์ว่าวิธีนี้คำนวณฟังก์ชันความน่าจะเป็นข้างบน):

set.seed(2345)

# generate standard normal data, which is a special case
n = 100 
X = rnorm(n) 

# Calculate (negative) log likelihood for minimization
# P[1] is omega, P[2] is xi and P[3] is alpha
L = function(P)
{

    # positivity constraint on omega
    if( P[1] <= 0 ) return(Inf)

    S = 0
    for(i in 1:n) 
    {
        S = S - log( dnorm( (X[i] - P[2])/P[1] ) ) 
        S = S - log( pnorm( P[3]*(X[i] - P[2])/P[1] ) ) 
    }


    return(S + n*log(P[1]))
}

ตอนนี้เราเพิ่งย่อขนาดฟังก์ชั่นนี้ (นั่นคือเพิ่มโอกาส) คุณสามารถทำเช่นนี้ได้โดยไม่ต้องสัญญาซื้อขายล่วงหน้าคำนวณโดยใช้วิธี Simplexซึ่งเป็นเริ่มต้นใช้งานในแพคเกจในoptim()R

เกี่ยวกับวิธีการทดสอบเบ้:เราสามารถอย่างชัดเจนสำหรับการทดสอบลาดปกติเมื่อเทียบกับปกติ (ตั้งแต่ปกติเป็นรุ่นย่อย) โดย constraining และทำทดสอบอัตราส่วนความน่าจะเป็นα=0

# log likelihood constraining alpha=0. 
L2 = function(Q) L(c(Q[1],Q[2],0))

# log likelihood from the constrained model
-optim(c(1,1),L2)$value
[1] -202.8816

# log likelihood from the full model
-optim(c(1,1,1),L)$value
[1] -202.0064

# likelihood ratio test statistic
LRT = 2*(202.8816-202.0064)

# p-value under the null distribution (chi square 1)
1-pchisq(LRT,1)
[1] 0.1858265

ดังนั้นเราจึงไม่ปฏิเสธสมมติฐานว่างที่ (เช่นไม่เอียง)α=0

ที่นี่การเปรียบเทียบนั้นง่ายเนื่องจากการแจกแจงแบบปกติเป็นแบบจำลองย่อย ในกรณีทั่วไปคุณสามารถเปรียบเทียบการแจกแจงการอ้างอิงแบบเอียงโดยทั่วไปตัวอย่างเช่นAIC s (ดังที่ทำไว้ที่นี่ ) หากคุณใช้การประมาณค่าความน่าจะเป็นสูงสุดในการแข่งขันทั้งหมด ตัวอย่างเช่นคุณสามารถใส่ข้อมูลโดยความเป็นไปได้สูงสุดภายใต้การแจกแจงแกมม่าและภายใต้ความเบ้ปกติและดูว่าโอกาสที่เพิ่มเข้ามานั้นแสดงให้เห็นถึงความซับซ้อนที่เพิ่มขึ้นของความเบ้ - ปกติ (3 พารามิเตอร์แทน 2) คุณสามารถลองใช้การทดสอบ Kolmogorov Smirnov หนึ่งตัวอย่างเพื่อเปรียบเทียบข้อมูลของคุณกับการประมาณค่าแบบกระชับที่ดีที่สุดจากตระกูลแบบปกติ


1
+1 ฉันคิดว่านี่เป็นคำตอบที่ชัดเจนอย่างละเอียดและสร้างสรรค์ ฉันมี 1 nitpick / ข้อกังวลในวรรคสุดท้ายคือการใช้ AIC ปัญหาที่ฉันมี w / เกณฑ์ข้อมูลที่หลากหลายคือพวกเขาคิดว่าพารามิเตอร์ทั้งหมดมีส่วนร่วมอย่างเท่าเทียมกันกับความสามารถของแบบจำลองเพื่อให้พอดีกับข้อมูล เมื่อประเมินแบบจำลองการถดถอยหลายแบบที่แตกต่างกันฉันคิดว่ามันดี อย่างไรก็ตามหากตรวจสอบการแจกแจงที่แตกต่างกันมันไม่ชัดเจนสำหรับผมที่พารามิเตอร์ทั้งหมดมีความยืดหยุ่นเท่ากัน ดังนั้นฉันไม่สบายใจกับที่ ตำแหน่งของคุณเกี่ยวกับปัญหานี้คืออะไร?
gung - Reinstate Monica

+1 ฉันกังวลเล็กน้อยเกี่ยวกับปัญหาบางอย่างของ Azzalini skew normal เช่น: (1) Fisher data matrix ของ , พารามิเตอร์ความเบ้เป็นเอกพจน์ที่α = 0ซึ่งบ่งบอกถึงปัญหาเชิงอนุมาน ณ จุดนี้โดยเฉพาะเมื่อใช้ สถิติอัตราส่วนความน่าจะเป็น (2) ความน่าจะเป็นรายละเอียดของαเป็นปกติมากแบน ; (3) มีจุดผันสองจุดและข้อต่อ MLE ของ( μ , σ , α )ไม่มีอยู่สำหรับชุดข้อมูลบางชุด αα=0α(μ,σ,α)

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

α=0±0.9α±αα

1
α

5

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


5
Azzalini skew normalเป็นการกระจายความนิยมที่ได้รับการเสนอในปี 1985 มันได้รับการสนับสนุนในไลน์จริงทั้งหมด

1
@Procrastinator ฉันรู้ว่าตอนนี้และอาจจะเคยได้ยินมาก่อน แต่ฉันเดาว่าประเด็นของฉันคือเนื่องจากฉันไม่เคยได้ยินมาก่อนบางทีมันอาจจะคลุมเครือกว่าการแจกแจงแบบเบ้เล็กน้อย ฉันได้รับจุดเกี่ยวกับการสนับสนุนเหนือเส้นจริงทั้งหมดซึ่งตรงข้ามกับตัวอย่างของฉันซึ่งมีการสนับสนุนเฉพาะใน [0.∞) หรือ {a, ∞) หากมีการเพิ่มพารามิเตอร์ shift การแจกแจงเหล่านี้ล้วนเป็นเพียงการประมาณเพื่ออธิบายวิธีการกระจายข้อมูล เรารู้จริงหรือไม่ว่าค่าลบทั้งหมดเป็นไปได้? ในกรณีที่ปฏิบัติข้อมูลอาจมีขอบเขตที่ต่ำและบน
Michael R. Chernick

1
@Procrastinator ที่ไม่มีส่วนเกี่ยวข้องกับความคิดเห็นของฉัน ฉันกำลังบอกว่าข้อมูลจริงมักจะถูกล้อมรอบแม้ว่าพวกเขาสามารถประมาณได้ดีกับการแจกแจงที่ไม่มีขอบเขต
Michael R. Chernick

1
@Procrastinator ไม่มาก หากคุณได้รับจำนวน จำกัด คุณไม่สามารถบอกได้ว่าข้อมูลนั้นมาจากการกระจายที่ไม่ต่อเนื่องหรือต่อเนื่อง สิ่งนี้เป็นจริงสำหรับขอบเขต ฉันกำลังพูดว่านอกเหนือจากข้อมูลที่คุณจะรู้อย่างเคร่งครัดบนพื้นฐานของสิ่งที่คุณวัดว่ามีขอบเขตและต่อเนื่องหรือไม่ต่อเนื่องหรือไม่ ตัวอย่างเช่นหากคุณกำลังวัดน้ำหนักของบุคคลที่คุณรู้ว่าน้ำหนักนั้นมีค่ามากกว่า 0 และมีข้อ จำกัด ทางกายภาพข้างต้นระบุไว้ที่ 5,000 ปอนด์
Michael R. Chernick

1
นอกจากนี้แม้ว่าการวัดน้ำหนักสามารถกำหนดได้เฉพาะตำแหน่งทศนิยมจำนวนหนึ่งเท่านั้น แต่ก็มีเหตุผลที่จะรักษาน้ำหนักอย่างต่อเนื่อง ทีนี้ถ้าคุณจะพลิกเหรียญ 10 ครั้งคุณรู้ว่าจำนวนหัวที่คุณจะได้รับจะต้องเป็นจำนวนเต็มระหว่าง 0 ถึง 10 (แยกกันและ จำกัด ขอบเขต) ประเด็นของฉันคือขอบเขตการกระจายมักจะชัดเจนมาก ไม่ชัดเจนเมื่อตัดสินใจระหว่างการแจกแจงแบบต่อเนื่องและแบบแยก
Michael R. Chernick

1

ดังนั้นในที่สุดโซลูชันของฉันคือการดาวน์โหลดแพ็คเกจfGarchและ snormFitจัดทำโดย fGarch เพื่อรับ MLEs สำหรับพารามิเตอร์ไปยัง Skewed-Normal

จากนั้นฉันเสียบพารามิเตอร์เหล่านั้นด้วยdsnormฟังก์ชั่นที่จัดทำโดย fGarch ในการทดสอบ Kolmogorov-Smirnov


คุณจะรวมการทดสอบ MLE และการทดสอบ Kolmogorov-Smirnov ซึ่งเป็นการทดสอบแบบไม่ใช้พารามิเตอร์ได้อย่างไร

ฉันอยากจะชี้ให้เห็นว่าฉันไม่รู้ว่าฉันกำลังทำอะไรอยู่ ฉันคิดว่า KS ทำงานเหมือนไค - สแควร์และดูความแตกต่างระหว่างข้อมูลตัวอย่างที่ฉันมีกับการกระจายตัวเอง ks.test ของ Rs จะยอมรับข้อมูลตัวอย่างในตอนแรกจากนั้นจะมีการแจกแจงพร้อมกับพารามิเตอร์ของการแจกแจงนั้น ฉันใช้ MLEs เป็นพารามิเตอร์ นอกจากนี้การสันนิษฐานของฉัน / remberance ว่า Chi-squared งานยังอาจผิด ...
Squidly

H0:λ=0

H0=λ=0H0

1
@Procrastinator มีความดีมากมายของการทดสอบแบบพอดีตาม cdf เชิงประจักษ์ Kolmogorov Smirnov เป็นหนึ่ง การทดสอบเหล่านี้สามารถใช้ในการเปรียบเทียบเชิงประจักษ์กับการแจกแจงแบบเฉพาะเจาะจงใด ๆ (และด้วยการปรับเมื่อมีการประมาณค่าพารามิเตอร์ที่ไม่รู้จักก่อนการทดสอบคุณมีสิทธิ์อย่างยิ่งที่จะปฏิเสธการแจกแจงแบบปกติเช่นไม่ได้บอกว่า ต้องการทำสิ่งนี้อย่างเป็นทางการที่เขาสามารถทดสอบความเบ้อย่างมีนัยสำคัญแล้วทำการทดสอบแบบ KS หรือไคสแควร์สำหรับความเบ้ปกติการปรับสามารถทำได้สำหรับการทดสอบหลายครั้งทำไมต้องพอใจกับ OP?
Michael R. Chernick

0

ตรวจสอบhttp://www.egyankosh.ac.in/bitstream/123456789/25807/1/Unit6.pdfและhttp://en.wikipedia.org/wiki/Skewness

คุณสามารถใช้การทดสอบ Karl Pearson สำหรับความเบ้ อัตราส่วนของโมเมนต์ที่สามต่อลูกบาศก์ของการเบี่ยงเบนมาตรฐานเรียกว่าสัมประสิทธิ์ความเบ้ การแจกแจงแบบสมมาตรจะมีความเบ้ = 0


2
ฉันไม่ต้องการเบี่ยงเบนข้อมูลของฉัน ฉันรู้ว่ามันเบ้ ฉันต้องการทราบว่าข้อมูลของฉันเป็นไปตามการแจกแจงแบบเบ้หรือไม่
Squidly

2
คุณกำลังใช้ซอฟต์แวร์ตัวใด R มีแพ็คเกจ 'sn' (เอียงปกติ) ที่มีฟังก์ชันที่คำนวณค่าประมาณ ML ฉันไม่แน่ใจเกี่ยวกับฟังก์ชั่นที่แน่นอน - ลองดูเว็บไซต์นี้azzalini.stat.unipd.it/SNสำหรับรายละเอียดเกี่ยวกับแพ็กเกจ R
NaN

0

ใน SPSS คุณจะได้รับการประมาณค่าความเบ้ (โดยไปที่การวิเคราะห์และจากนั้นอธิบายและจากนั้นทำเครื่องหมายความเบ้) จากนั้นคุณจะได้รับคะแนนความเบ้และ SE (ข้อผิดพลาดมาตรฐาน) ของความเบ้ แบ่งความเบ้ของ SE และถ้าคะแนนของคุณอยู่ระหว่าง + -1.96 โดยทั่วไปจะเบ้ ถ้ามันไม่เบ้มันก็มีการทดสอบแบบไม่อิงตัวแปรมากมายอยู่ที่นั่น! ขอให้โชคดีและดีที่สุด!

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