จำนวนตัวแปรอิสระที่ จำกัด ไว้ที่หนึ่งอาจป้อนในสมการถดถอยหลายคืออะไร? ฉันมีตัวทำนาย 10 ตัวที่ฉันต้องการตรวจสอบในแง่ของการมีส่วนร่วมของพวกเขากับตัวแปรผลลัพธ์ ฉันควรใช้การแก้ไข bonferroni เพื่อปรับสำหรับการวิเคราะห์หลายครั้งหรือไม่
จำนวนตัวแปรอิสระที่ จำกัด ไว้ที่หนึ่งอาจป้อนในสมการถดถอยหลายคืออะไร? ฉันมีตัวทำนาย 10 ตัวที่ฉันต้องการตรวจสอบในแง่ของการมีส่วนร่วมของพวกเขากับตัวแปรผลลัพธ์ ฉันควรใช้การแก้ไข bonferroni เพื่อปรับสำหรับการวิเคราะห์หลายครั้งหรือไม่
คำตอบ:
คุณต้องคิดเกี่ยวกับสิ่งที่คุณหมายถึงโดย "ขีด จำกัด " มีข้อ จำกัด เช่นเมื่อคุณมีตัวทำนายมากกว่ากรณีคุณพบปัญหาในการประมาณค่าพารามิเตอร์ (ดูการจำลอง R เล็กน้อยที่ด้านล่างของคำตอบนี้)
อย่างไรก็ตามฉันคิดว่าคุณกำลังพูดถึงข้อ จำกัด ที่อ่อนนุ่มเกี่ยวกับพลังงานทางสถิติและการฝึกฝนทางสถิติที่ดี ในกรณีนี้ภาษาของ "ขีด จำกัด " ไม่เหมาะสมจริง ๆ แต่ขนาดของกลุ่มตัวอย่างที่ใหญ่กว่านั้นมีแนวโน้มที่จะทำให้มีเหตุผลมากกว่าที่จะมีตัวทำนายมากขึ้นและเกณฑ์ของจำนวนตัวทำนายที่สมเหตุสมผลนั้นมีเหตุผลเพียงพอที่จะทำให้เกิดความต่อเนื่องของความสมเหตุสมผล คุณอาจพบว่าการอภิปรายเกี่ยวกับกฎของหัวแม่มือสำหรับขนาดตัวอย่างในการถดถอยหลายครั้งที่เกี่ยวข้องเนื่องจากกฎของหัวแม่มือจำนวนมากอ้างอิงถึงจำนวนผู้ทำนาย
คะแนนน้อย
ฉันเขียนการจำลองเล็กน้อยนี้เพื่อเน้นความสัมพันธ์ระหว่างขนาดตัวอย่างและการประมาณค่าพารามิเตอร์ในการถดถอยหลายครั้ง
set.seed(1)
fitmodel <- function(n, k) {
# n: sample size
# k: number of predictors
# return linear model fit for given sample size and k predictors
x <- data.frame(matrix( rnorm(n*k), nrow=n))
names(x) <- paste("x", seq(k), sep="")
x$y <- rnorm(n)
lm(y~., data=x)
}
fitmodel
ฟังก์ชั่นใช้เวลาสองข้อโต้แย้งn
สำหรับขนาดของกลุ่มตัวอย่างและk
จำนวนพยากรณ์ ฉันไม่นับค่าคงที่เป็นตัวทำนาย แต่ถูกประมาณ จากนั้นฉันจะสร้างข้อมูลแบบสุ่มและเหมาะสมกับตัวแบบการถดถอยทำนายตัวแปร ay จากk
ตัวแปรตัวทำนายและคืนค่าที่พอดี
เมื่อคุณพูดถึงคำถามที่คุณสนใจว่าตัวทำนาย 10 ตัวมากเกินไปการเรียกใช้ฟังก์ชันต่อไปนี้จะแสดงสิ่งที่เกิดขึ้นเมื่อขนาดตัวอย่างคือ 9, 10, 11 และ 12 ตามลำดับ นั่นคือขนาดตัวอย่างคือหนึ่งในจำนวนที่น้อยกว่าจำนวนของตัวทำนายถึงสองมากกว่าจำนวนของตัวทำนาย
summary(fitmodel(n=9, k=10))
summary(fitmodel(n=10, k=10))
summary(fitmodel(n=11, k=10))
summary(fitmodel(n=12, k=10))
Call:
lm(formula = y ~ ., data = x)
Residuals:
ALL 9 residuals are 0: no residual degrees of freedom!
Coefficients: (2 not defined because of singularities)
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.31455 NA NA NA
x1 0.34139 NA NA NA
x2 -0.45924 NA NA NA
x3 0.42474 NA NA NA
x4 -0.87727 NA NA NA
x5 -0.07884 NA NA NA
x6 -0.03900 NA NA NA
x7 1.08482 NA NA NA
x8 0.62890 NA NA NA
x9 NA NA NA NA
x10 NA NA NA NA
Residual standard error: NaN on 0 degrees of freedom
Multiple R-squared: 1, Adjusted R-squared: NaN
F-statistic: NaN on 8 and 0 DF, p-value: NA
ขนาดตัวอย่างน้อยกว่าหนึ่งตัวทำนาย เป็นไปได้ที่จะประมาณ 9 พารามิเตอร์เท่านั้นซึ่งหนึ่งในนั้นคือค่าคงที่
Call:
lm(formula = y ~ ., data = x)
Residuals:
ALL 10 residuals are 0: no residual degrees of freedom!
Coefficients: (1 not defined because of singularities)
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.1724 NA NA NA
x1 -0.3615 NA NA NA
x2 -0.4670 NA NA NA
x3 -0.6883 NA NA NA
x4 -0.1744 NA NA NA
x5 -1.0331 NA NA NA
x6 0.3886 NA NA NA
x7 -0.9886 NA NA NA
x8 0.2778 NA NA NA
x9 0.4616 NA NA NA
x10 NA NA NA NA
Residual standard error: NaN on 0 degrees of freedom
Multiple R-squared: 1, Adjusted R-squared: NaN
F-statistic: NaN on 9 and 0 DF, p-value: NA
ขนาดตัวอย่างเท่ากับจำนวนผู้ทำนาย มันเป็นไปได้ที่จะประมาณ 10 พารามิเตอร์ซึ่งหนึ่งในนั้นคือค่าคงที่
Call:
lm(formula = y ~ ., data = x)
Residuals:
ALL 11 residuals are 0: no residual degrees of freedom!
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.9638 NA NA NA
x1 -0.8393 NA NA NA
x2 -1.5061 NA NA NA
x3 -0.4917 NA NA NA
x4 0.3251 NA NA NA
x5 4.4212 NA NA NA
x6 0.7614 NA NA NA
x7 -0.4195 NA NA NA
x8 0.2142 NA NA NA
x9 -0.9264 NA NA NA
x10 -1.2286 NA NA NA
Residual standard error: NaN on 0 degrees of freedom
Multiple R-squared: 1, Adjusted R-squared: NaN
F-statistic: NaN on 10 and 0 DF, p-value: NA
ขนาดตัวอย่างคือหนึ่งในจำนวนที่มากกว่าตัวทำนาย พารามิเตอร์ทั้งหมดได้รับการประมาณรวมถึงค่าคงที่
Call:
lm(formula = y ~ ., data = x)
Residuals:
1 2 3 4 5 6 7 8 9 10 11
0.036530 -0.042154 -0.009044 -0.117590 0.171923 -0.007976 0.050542 -0.011462 0.010270 0.000914 -0.083533
12
0.001581
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.14680 0.11180 1.313 0.4144
x1 0.02498 0.09832 0.254 0.8416
x2 1.01950 0.13602 7.495 0.0844 .
x3 -1.76290 0.26094 -6.756 0.0936 .
x4 0.44832 0.16283 2.753 0.2218
x5 -0.76818 0.15651 -4.908 0.1280
x6 -0.33209 0.18554 -1.790 0.3244
x7 1.62276 0.21562 7.526 0.0841 .
x8 -0.47561 0.18468 -2.575 0.2358
x9 1.70578 0.31547 5.407 0.1164
x10 3.25415 0.46447 7.006 0.0903 .
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.2375 on 1 degrees of freedom
Multiple R-squared: 0.995, Adjusted R-squared: 0.9452
F-statistic: 19.96 on 10 and 1 DF, p-value: 0.1726
ขนาดตัวอย่างนั้นมากกว่าตัวทำนายสองเท่าและในที่สุดก็เป็นไปได้ที่จะประเมินความพอดีของแบบจำลองโดยรวม
ฉันมักจะมองสิ่งนี้จากมุมมองว่าแบบจำลองที่พอดีกับพารามิเตอร์จำนวนหนึ่งมีแนวโน้มที่จะให้ผลลัพธ์การคาดการณ์นอกตัวอย่างที่แม่นยำเท่ากับการคาดการณ์ที่ทำกับตัวอย่างการพัฒนาแบบจำลองดั้งเดิมหรือไม่ เส้นโค้งการปรับเทียบหมายถึงข้อผิดพลาดกำลังสองของ X * Beta และดัชนีของการเลือกปฏิบัติที่คาดเดาได้คือมาตรการบางอย่างที่ใช้โดยทั่วไป นี่คือที่บางส่วนของกฎของหัวแม่มือมาจากเช่นกฎ 15: 1 (ขนาดตัวอย่างที่มีประสิทธิภาพ 15 ต่อการตรวจสอบพารามิเตอร์หรือการประมาณ)
เกี่ยวกับหลายหลากการปรับที่สมบูรณ์แบบสำหรับหลายหลากสมมติว่ามีการถือแบบจำลองและการกระจายตัวเป็นไปตามสมมติฐานคือการทดสอบทั่วโลกที่ betas ทั้งหมด (นอกเหนือจากการสกัดกั้น) เป็นศูนย์ โดยทั่วไปจะมีการทดสอบโดยใช้อัตราส่วนความน่าจะเป็นหรือการทดสอบ F
มีสองวิธีโดยรวมในการพัฒนาแบบจำลองที่มีแนวโน้มที่จะทำงานได้ดี (1) มีขนาดตัวอย่างที่เพียงพอและพอดีกับโมเดลที่ระบุไว้ล่วงหน้าทั้งหมดและ (2) ใช้การประเมินความเป็นไปได้สูงสุดที่ถูกลงโทษเพื่ออนุญาตให้มีอิสระในระดับที่มีประสิทธิภาพในการถดถอยเท่านั้นเนื่องจากขนาดตัวอย่างปัจจุบันจะรองรับ [การเลือกตัวแปรแบบขั้นตอนโดยไม่มีการลงโทษไม่ควรไม่มีบทบาทเนื่องจากเป็นที่ทราบกันว่าใช้งานไม่ได้]
โดยหลักการแล้วไม่มีการ จำกัด จำนวนตัวทำนายที่คุณสามารถมีได้ คุณสามารถประมาณ 2 พันล้าน "เบต้า" ในหลักการ แต่สิ่งที่เกิดขึ้นในทางปฏิบัติคือถ้าไม่มีข้อมูลเพียงพอหรือมีข้อมูลก่อนเพียงพอมันจะไม่พิสูจน์การออกกำลังกายที่มีผลมาก จะไม่มีการกำหนดพารามิเตอร์ใดเป็นพิเศษและคุณจะไม่ได้เรียนรู้อะไรมากมายจากการวิเคราะห์
ตอนนี้ถ้าคุณไม่มีข้อมูลก่อนหน้ามากมายเกี่ยวกับแบบจำลองของคุณ (โครงสร้างแบบจำลอง, ค่าพารามิเตอร์, จุดรบกวน ฯลฯ ) จากนั้นคุณจะต้องใช้ข้อมูลเพื่อให้ข้อมูลนี้ นี่เป็นสถานการณ์ที่พบได้บ่อยที่สุดซึ่งปกติแล้วคุณจะต้องมีเหตุผลที่ดีในการรวบรวมข้อมูล (และใช้จ่าย $$$) เกี่ยวกับสิ่งที่คุณรู้อยู่แล้ว หากนี่เป็นสถานการณ์ของคุณข้อ จำกัด ที่สมเหตุสมผลคือการสังเกตจำนวนมากต่อพารามิเตอร์ คุณมี 12 พารามิเตอร์ (Betas 10 ความชัน, 1 จุดตัดและพารามิเตอร์เสียง) ดังนั้นการสังเกตมากกว่า 100 ครั้งจะสามารถกำหนดพารามิเตอร์ของคุณได้ดีพอที่จะสรุปได้
แต่ไม่มีกฎ "ยากและเร็ว" ด้วยผู้ทำนายเพียง 10 คนคุณจะไม่มีปัญหากับเวลาในการคำนวณ (รับคอมพิวเตอร์ที่ดีกว่าถ้าคุณทำ) นั่นหมายถึงการทำงานมากขึ้นเพราะคุณมีข้อมูล 11 มิติที่จะดูดซับทำให้ยากต่อการมองเห็นข้อมูล หลักการพื้นฐานจากการถดถอยที่มีตัวแปรตาม 1 ตัวเท่านั้นนั้นไม่แตกต่างกัน
ปัญหาของการแก้ไข bonferroni คือเพื่อให้เป็นวิธีที่เหมาะสมในการปรับระดับความสำคัญของคุณโดยไม่ต้องใช้พลังงานมากเกินไปคุณต้องใช้สมมติฐานที่คุณกำลังแก้ไขให้เป็นอิสระ (เช่นการเรียนรู้ว่าสมมติฐานหนึ่งเป็นจริงไม่บอกคุณว่า สมมติฐานอื่นเป็นจริง) สิ่งนี้ไม่เป็นความจริงสำหรับ "t-test" มาตรฐานในการถดถอยหลายครั้งสำหรับการมีประสิทธิภาพร่วมเป็นศูนย์ตัวอย่างเช่น สถิติการทดสอบขึ้นอยู่กับสิ่งอื่นในแบบจำลอง - ซึ่งเป็นวิธีวงเวียนในการบอกว่าสมมติฐานนั้นขึ้นอยู่กับ หรือวิธีที่พูดบ่อยกว่านี้คือการแจกแจงการสุ่มตัวอย่างของเงื่อนไข t-value บนตัวทำนาย ith เป็นศูนย์ขึ้นอยู่กับพารามิเตอร์อื่น ๆ ที่เป็นศูนย์ ดังนั้นการใช้การแก้ไข bonferroni ที่นี่อาจจะทำให้คุณ "ต่ำลง" โดยรวม