Robust Standard Errors: แซนด์วิชแก้อะไรได้ และแก้อะไรไม่ได้

Clinical Epidemiology ResearchMethodology and Research Design THUniqcret doctor knowledges TH
Robust Standard Errors: แซนด์วิชแก้อะไรได้ และแก้อะไรไม่ได้
On this page

Read the English version

บทคัดย่อ

ตารางถดถอยจำนวนมากรายงาน robust standard error โดยไม่บอกว่ามันซ่อมอะไร แบบจำลองถดถอยมีแบบจำลองค่าเฉลี่ย (mean model) สำหรับผลลัพธ์เฉลี่ย และแบบจำลองความแปรปรวน (variance model) สำหรับความกระจายรอบค่าเฉลี่ยนั้น เมื่อความกระจายเปลี่ยนไปตามตัวแปรร่วม ซึ่งเรียกว่าความแปรปรวนไม่คงที่ (heteroskedasticity) ความชันจากวิธีกำลังสองน้อยที่สุดยังไม่เอนเอียงหากแบบจำลองค่าเฉลี่ยถูกต้อง แต่ค่าคลาดเคลื่อนมาตรฐานแบบอิงแบบจำลอง (model-based standard error) อาจชี้นำผิด ตัวประมาณแบบแซนด์วิชสร้างความแปรปรวนขึ้นใหม่จากกำลังสองของส่วนเหลือ (residual) ของแต่ละคน การเปลี่ยนแปลงนี้ไปได้ทั้งสองทิศ robust standard error จะใหญ่กว่าเมื่อความแปรปรวนส่วนเหลือที่มากอยู่ที่ค่าตัวแปรร่วมซึ่งห่างจากค่าเฉลี่ยและมีอิทธิพลเชิงตำแหน่ง (leverage) สูง และอาจเล็กกว่าในกรณีอื่น ในผู้ใหญ่จำลอง 2,000 คนที่ความดันโลหิตกระจายมากขึ้นตามอายุ robust standard error ของอายุเป็น 1.13 เท่าของค่าแบบอิงแบบจำลอง ส่วนตัวบ่งชี้อายุต่ำกว่า 40 ปีเป็น 0.74 เท่า ในการศึกษาซ้ำที่ใช้ผู้ใหญ่จำลองครั้งละ 200 คน ช่วงเชื่อมั่นแบบ robust ครอบคลุมค่าจริงในข้อมูลจำลองประมาณ 95% ของครั้ง บทความนี้แสดงวิธีคำนวณ เลือก และรายงาน robust standard error แบบแซนด์วิช รวมทั้งสิ่งที่มันแก้ไม่ได้


ภาพสรุป ข้อมูลจำลอง

robust standard error ที่ไม่มีใครอธิบายได้

คณะผู้วิจัยกำลังร่างรายงานจากกลุ่มประชากรในชุมชน 2,000 คน อายุ 30 ถึง 80 ปี คำถามหนึ่งคือความดันโลหิตซิสโตลิก (systolic blood pressure, SBP) หน่วย mmHg เพิ่มขึ้นตามอายุอย่างไร กลุ่มประชากรนี้เป็นของสมมติและข้อมูลเป็นข้อมูลจำลอง

แผนภาพการกระจายแสดงว่าความดันโลหิตของผู้สูงอายุแปรปรวนมากกว่าของคนอายุน้อยอย่างชัดเจน ตารางถดถอยทุกตารางในร่างรายงานรายงาน robust standard error แต่ไม่มีใครในคณะบอกได้ว่ามันซ่อมอะไร หรือทำให้ช่วงเชื่อมั่นกว้างขึ้นหรือแคบลง

การกระจายไม่เท่ากันแบบนี้เรียกว่าความแปรปรวนไม่คงที่ (heteroskedasticity) คือความแปรปรวนของผลลัพธ์รอบเส้นถดถอยเปลี่ยนไปตามตัวแปรร่วม คำตอบสั้น ๆ มีสองส่วน robust standard error เปลี่ยนค่าคลาดเคลื่อนมาตรฐาน แต่ไม่แตะค่าประมาณ ส่วนช่วงเชื่อมั่นจะกว้างขึ้นหรือแคบลงขึ้นกับว่าความแปรปรวนที่มากอยู่ตรงไหน และกลุ่มประชากรนี้แสดงให้เห็นทั้งสองทิศ

ความแปรปรวนคงที่และไม่คงที่

การถดถอยเส้นตรงเขียนความดันโลหิตของแต่ละคนเป็นค่าเฉลี่ยตามอายุของคนนั้นบวกความคลาดเคลื่อน:

$$y_i = \beta_0 + \beta_1 x_i + e_i$$

ในสมการนี้ $y_i$ คือ SBP ของคนที่ $i$ และ $x_i$ คืออายุ $\beta_0$ คือจุดตัดแกน (intercept) $\beta_1$ คือความชัน และ $e_i$ คือความคลาดเคลื่อน ส่วนเหลือ (residual) $\hat e_i$ ประมาณค่าความคลาดเคลื่อนนี้ คือค่าที่สังเกตได้ลบค่าที่แบบจำลองให้ วิธีกำลังสองน้อยที่สุดสามัญ (ordinary least squares, OLS) ซึ่งเป็นวิธีปรับแบบจำลองที่ใช้กันทั่วไป ทำให้ผลรวมกำลังสองของส่วนเหลือน้อยที่สุด

ค่าคลาดเคลื่อนมาตรฐานของ OLS ตามปกติสมมติว่า $\mathrm{Var}(e_i \mid x_i)$ ซึ่งคือความแปรปรวนของความคลาดเคลื่อนในกลุ่มคนที่อายุเท่ากัน มีค่าเดียวคือ $\sigma^2$ สำหรับทุกคน ภาวะที่ความแปรปรวนคงที่เรียกว่าความแปรปรวนคงที่ (homoskedasticity) เมื่อความแปรปรวนเปลี่ยนไปตาม $x_i$ และเขียนเป็น $\sigma_i^2$ ความคลาดเคลื่อนก็เป็นแบบความแปรปรวนไม่คงที่

ในกลุ่มประชากรจำลอง ความกระจายแบบสุ่มที่เติมให้ SBP ของแต่ละคนมีส่วนเบี่ยงเบนมาตรฐาน $4 + 0.008\,(\text{age} - 30)^2$ mmHg นั่นคือ 4 mmHg ที่อายุ 30 ปี 9 ที่อายุ 55 ปี และ 24 ที่อายุ 80 ปี ปัจจัยจำลองอื่นเพิ่มความแปรผันอีก ส่วนเหลือรอบเส้นตรงของอายุจึงกว้างกว่านี้ โดยเฉพาะในช่วงอายุน้อย แผนภาพส่วนเหลือเทียบกับค่าที่แบบจำลองให้ หรือเทียบกับอายุ ก็ยังแสดงรูปพัดที่เปิดออกไปทางอายุมาก

แผนภาพแบบแผนผัง ซ้าย: แผนภาพส่วนเหลือเมื่อความแปรปรวนคงที่ เป็นแถบเรียบเสมอกันรอบศูนย์ ขวา: รูปแบบความแปรปรวนที่ฝังไว้ในการจำลอง แถบแรเงาครอบคลุมสองส่วนเบี่ยงเบนมาตรฐานทั้งสองข้างของศูนย์ โดยใช้ส่วนเบี่ยงเบนมาตรฐานของความกระจายแบบสุ่มที่เติมให้ SBP คือ 4 mmHg ที่อายุ 30 ปี เพิ่มเป็น 24 ที่อายุ 80 ปี ส่วนเหลือรอบเส้นตรงของอายุอย่างเดียวยังรวมความแปรผันจำลองอื่นของกลุ่มประชากรไว้ด้วย แถบของมันจึงกว้างกว่าที่วาด โดยเฉพาะในช่วงอายุน้อย แต่ก็ยังบานออกไปทาง 80 จุดในภาพเป็นเพียงตัวอย่างประกอบ ไม่ใช่ข้อมูลรายบุคคลของกลุ่มประชากร

ความชันที่ยังถูกต้อง

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

ในกลุ่มประชากรจำลอง ความชันที่ประมาณได้คือ 0.66 mmHg ต่อปีของอายุ ความดันโลหิตจำลองไม่ได้เพิ่มตามอายุตามเส้นตรงพอดี เป้าหมายในที่นี้จึงเป็นความชันของเส้นตรงเอง คือค่าที่การปรับเส้นตรงลู่เข้าหาในกลุ่มตัวอย่างขนาดใหญ่มาก ค่าจริงในข้อมูลจำลองนี้คือ 0.67 คำนวณจากประชากรจำลองขนาดใหญ่ที่กลุ่มประชากรนี้ถูกสุ่มมา ผลลัพธ์จาก Stata ด้านล่างแสดงการปรับนี้ ซึ่งบทความเรียกว่ารูปแบบ A (รูปแบบการกำหนดแบบจำลอง หรือ specification คือวิธีหนึ่งในการตั้งการถดถอย) พร้อมค่าคลาดเคลื่อนมาตรฐานแบบอิงแบบจำลอง

Stata: รูปแบบ A พร้อมค่าคลาดเคลื่อนมาตรฐานแบบอิงแบบจำลอง

โค้ด Stata w6_sim.do (บรรทัด 278-279 จาก 440)
* Specification A: SBP on age (the high-leverage ages are the high-variance ages)
regress sbp age
ผลลัพธ์จากการรัน w6_sim.log
. * Specification A: SBP on age (the high-leverage ages are the high-variance ages)
. regress sbp age

      Source |       SS           df       MS      Number of obs   =     2,000
-------------+----------------------------------   F(1, 1998)      =    951.44
       Model |  189678.648         1  189678.648   Prob > F        =    0.0000
    Residual |  398321.189     1,998  199.359955   R-squared       =    0.3226
-------------+----------------------------------   Adj R-squared   =    0.3222
       Total |  587999.837     1,999  294.146992   Root MSE        =    14.119

------------------------------------------------------------------------------
         sbp | Coefficient  Std. err.      t    P>|t|     [95% conf. interval]
-------------+----------------------------------------------------------------
         age |   .6644293   .0215406    30.85   0.000     .6221848    .7066737
       _cons |   88.26957   1.232598    71.61   0.000     85.85226    90.68689
------------------------------------------------------------------------------
ข้อมูลจำลอง ช่องโค้ดและช่องผลลัพธ์เป็นข้อความที่ตัดมาจากสคริปต์การจำลองเบื้องหลังชุดบทความนี้และผลลัพธ์ที่มันพิมพ์ออกมา ชื่อไฟล์และเลขบรรทัดเพียงบันทึกว่าข้อความที่ตัดมาอยู่ตรงไหนในสคริปต์นั้น และทุกอย่างที่ต้องใช้อ่านก็แสดงไว้ที่นี่แล้ว รูปแบบ A ซึ่งเป็นการถดถอยเส้นตรงของ SBP ตามอายุ ให้ความชันของอายุ 0.6644 mmHg ต่อปี โดยมีค่าคลาดเคลื่อนมาตรฐานแบบอิงแบบจำลอง 0.0215

ค่าคลาดเคลื่อนมาตรฐานแบบอิงแบบจำลองสมมติอะไร

ข้อสมมติเรื่องความแปรปรวนเข้ามาทางค่าคลาดเคลื่อนมาตรฐาน ให้ $\bar x$ เป็นอายุเฉลี่ย และ $S_{xx} = \sum_i (x_i - \bar x)^2$ เป็นความกระจายของอายุรอบค่าเฉลี่ย เครื่องหมายหมวก (hat) แสดงค่าประมาณ ความแปรปรวนของความชันแบบอิงแบบจำลองจึงเป็น

$$\widehat{\mathrm{Var}}_{\text{model}}(\hat\beta_1) = \frac{s^2}{S_{xx}}$$

ในสมการนี้ $s^2 = \sum_i \hat e_i^2 / (n - 2)$ รวมกำลังสองของส่วนเหลือของทั้ง $n$ คนเป็นความแปรปรวนเดียว สูตรนี้ถูกต้องก็ต่อเมื่อทุกคนมีความแปรปรวนค่าเดียวกัน เมื่อความแปรปรวนเปลี่ยนไปตามอายุ $s^2$ เป็นค่าเฉลี่ยที่ผิด เพราะความชันพึ่งพาคนที่อยู่ห่างจากอายุเฉลี่ยมากที่สุด ค่าคลาดเคลื่อนมาตรฐาน ช่วงเชื่อมั่น และค่า P จึงอาจผิดได้ทั้งสองทิศ

ตรวจหาความแปรปรวนที่ไม่เท่ากัน

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

การทดสอบอย่างเป็นทางการช่วยหนุนสิ่งที่แผนภาพแสดงได้ การทดสอบ Breusch-Pagan (Breusch-Pagan test) ถามว่าตัวแปรร่วมทำนายกำลังสองของส่วนเหลือได้หรือไม่ ฉบับที่ใช้ในที่นี้ไม่สมมติว่าความคลาดเคลื่อนมีการแจกแจงปกติ ในกลุ่มประชากรจำลอง ได้ค่าสถิติไคสแควร์ 184.24 ที่องศาอิสระ 1

ให้ถือการทดสอบนี้เป็นหลักฐานสนับสนุนเท่านั้น ในกลุ่มตัวอย่างใหญ่ มันอาจชี้ความต่างที่เล็กเกินกว่าจะสำคัญ และในการศึกษาขนาดเล็กอาจมองไม่เห็นความต่างที่มีอยู่ งานวิจัยที่ทำให้ robust standard error ถูกใช้กว้างขวางในการถดถอยเชิงเส้นยังเสนอการทดสอบโดยตรงที่ครอบคลุมกว่านี้ด้วย [1]

Stata: การทดสอบ Breusch-Pagan หลังการปรับแบบจำลองแบบอิงแบบจำลอง

โค้ด Stata w6_sim.do (บรรทัด 284-284 จาก 440)
estat hettest age, iid
ผลลัพธ์จากการรัน w6_sim.log
Assumption: i.i.d. error terms
Variable: age

H0: Constant variance

    chi2(1) = 184.24
Prob > chi2 = 0.0000
ข้อมูลจำลอง ข้อความที่ตัดมาจากสคริปต์การจำลองของชุดบทความนี้และผลลัพธ์ของมัน คำสั่งนี้ทดสอบการปรับรูปแบบ A คือ SBP ตามอายุ ว่าความแปรปรวนเปลี่ยนไปตามอายุหรือไม่ การเติม iid ท้ายคำสั่งคือการขอฉบับที่ไม่สมมติว่าความคลาดเคลื่อนมีการแจกแจงปกติ บรรทัดผลของการทดสอบได้ค่าสถิติไคสแควร์ 184.24 ที่องศาอิสระ 1

ตัวประมาณแบบแซนด์วิช

robust standard error หรือเรียกว่าค่าคลาดเคลื่อนมาตรฐานแบบแซนด์วิช (sandwich) หรือแบบสอดคล้องกับความแปรปรวนไม่คงที่ (heteroskedasticity-consistent) แทนที่ความแปรปรวนรวมค่าเดียวด้วยกำลังสองของส่วนเหลือของแต่ละคน [1, 2] ในรูปเมทริกซ์ ให้ $X$ เป็นเมทริกซ์ออกแบบ (design matrix) ซึ่งมีหนึ่งแถวต่อหนึ่งคน คอลัมน์หนึ่งของเลข 1 สำหรับจุดตัดแกน และหนึ่งคอลัมน์ต่อตัวแปรร่วมหนึ่งตัว ให้ $X'$ เป็นเมทริกซ์สลับเปลี่ยน (transpose) ของมัน คือสลับแถวกับคอลัมน์ และ $(X'X)^{-1}$ เป็นเมทริกซ์ผกผันของ $X'X$ ซึ่งเป็นรูปเมทริกซ์ของการหารด้วยมัน

$$\widehat{\mathrm{Var}}(\hat\beta) = (X'X)^{-1}\, X'\,\mathrm{diag}(\hat e_i^2)\, X\,(X'X)^{-1}$$

ในสมการนี้ $\hat\beta$ เก็บสัมประสิทธิ์ที่ประมาณได้ทั้งหมด และ $\mathrm{diag}(\hat e_i^2)$ คือเมทริกซ์ทแยงมุมของกำลังสองของส่วนเหลือ ตัวประกอบด้านนอกสองตัว คือ $(X'X)^{-1}$ เป็นขนมปัง (bread) และตัวประกอบตรงกลางเป็นเนื้อ (meat) จึงเป็นที่มาของชื่อตัวประมาณแบบแซนด์วิช (sandwich estimator) ถ้าแทนกำลังสองของส่วนเหลือทุกตัวด้วย $s^2$ ที่รวมไว้ เนื้อจะกลายเป็น $s^2 X'X$ และสูตรจะยุบเป็นสูตรแบบอิงแบบจำลอง $s^2 (X'X)^{-1}$ สำหรับความชันค่าเดียว สูตรย่อเหลือ

$$\widehat{\mathrm{Var}}_{\text{HC0}}(\hat\beta_1) = \frac{\sum_i (x_i - \bar x)^2\, \hat e_i^2}{S_{xx}^2}$$

กำลังสองของส่วนเหลือแต่ละตัวมีน้ำหนักเป็นสัดส่วนกับ $(x_i - \bar x)^2$ ซึ่งคือกำลังสองของระยะห่างระหว่างอายุของคนนั้นกับอายุเฉลี่ย ตัวอย่างคำนวณด้วยมือด้านล่างแสดงว่าสูตรนี้มาจากไหน

HC0, HC1, HC2 และ HC3

สูตรข้างต้นคือ HC0 ซึ่งเป็นฉบับดั้งเดิม กำลังสองของส่วนเหลือมักประเมินความแปรปรวนที่มันแทนต่ำเกินไป โดยเฉพาะในคนที่มีอิทธิพลเชิงตำแหน่งสูง ฉบับหลัง ๆ จึงปรับค่าเหล่านี้ให้สูงขึ้น [3] อิทธิพลเชิงตำแหน่ง (leverage) $h_{ii}$ ของคนที่ $i$ วัดว่าค่าตัวแปรร่วมของเขาอยู่ห่างจากของคนอื่นทั้งหมดเพียงใด เมื่อมีตัวแปรร่วมตัวเดียวมันเท่ากับ $1/n + (x_i - \bar x)^2 / S_{xx}$ และคนที่มีอิทธิพลเชิงตำแหน่งสูงดึงเส้นที่ปรับเข้าหาตัวเอง

ในกลุ่มตัวอย่างขนาดใหญ่ทั้งสี่ฉบับให้ค่าตรงกัน ในกลุ่มตัวอย่างขนาดเล็ก HC0 และ HC1 มักเล็กเกินไป และการศึกษาจำลองหนึ่งแนะนำ HC3 เมื่อกลุ่มตัวอย่างเล็ก [4] ใน R แพ็กเกจ sandwich คำนวณได้ทั้งสี่ฉบับ และฟังก์ชัน vcovHC ของมันใช้ HC3 เว้นแต่จะสั่งเป็นอย่างอื่น [5] หากต้องการให้ได้เหมือน vce(robust) ของ Stata ใน R ให้ระบุ type = "HC1"

ตัวอย่างคำนวณด้วยมือ: แซนด์วิชของความชันหนึ่งค่า ทีละขั้น

ตัวอย่างคำนวณด้วยมือ เขียนเป็นสัญลักษณ์ และใช้ตัวเลขของกลุ่มประชากรจำลองในขั้นสุดท้าย ให้การถดถอยเส้นตรงของ $y_i$ บนตัวแปรร่วมหนึ่งตัว $x_i$ สำหรับ $n$ คน โดยมีส่วนเหลือ $\hat e_i$ เช่นเดิม $\bar x$ คือค่าเฉลี่ยของ $x$ และ $S_{xx} = \sum_i (x_i - \bar x)^2$

  1. ความชันคือผลรวมถ่วงน้ำหนักของผลลัพธ์

    \[ \hat\beta_1 = \sum_i w_i\, y_i, \quad w_i = \frac{x_i - \bar x}{S_{xx}} \]

    คนที่อยู่ห่างจากค่าเฉลี่ยของ $x$ มากที่สุดได้น้ำหนักมากที่สุด ไม่ว่าจะห่างไปทางใด

  2. ความแปรปรวนของมัน ทีละคน

    \[ \mathrm{Var}(\hat\beta_1) = \sum_i w_i^2\, \sigma_i^2 = \frac{\sum_i (x_i - \bar x)^2\, \sigma_i^2}{S_{xx}^2} \]

    ในที่นี้ $\sigma_i^2$ คือความแปรปรวนของผลลัพธ์ของคนที่ $i$ รอบแบบจำลองค่าเฉลี่ย

  3. ทางลัดแบบอิงแบบจำลอง

    \[ \widehat{\mathrm{Var}}_{\text{model}}(\hat\beta_1) = \frac{s^2\, S_{xx}}{S_{xx}^2} = \frac{s^2}{S_{xx}} \]

    ความแปรปรวนรวมค่าเดียว $s^2$ แทนที่ $\sigma_i^2$ ทุกตัว

  4. แซนด์วิช HC0

    \[ \widehat{\mathrm{Var}}_{\text{HC0}}(\hat\beta_1) = \frac{\sum_i (x_i - \bar x)^2\, \hat e_i^2}{S_{xx}^2} \]

    กำลังสองของส่วนเหลือของแต่ละคนเองแทนความแปรปรวนของคนนั้น

  5. หารค่าหนึ่งด้วยอีกค่าหนึ่ง

    \[ \frac{\widehat{\mathrm{Var}}_{\text{HC0}}}{\widehat{\mathrm{Var}}_{\text{model}}} \approx \frac{\sum_i (x_i - \bar x)^2\, \hat e_i^2 \,/\, S_{xx}}{\sum_i \hat e_i^2 \,/\, n} \]

    ตัวเศษคือค่าเฉลี่ยของกำลังสองของส่วนเหลือที่ถ่วงน้ำหนักด้วย $(x_i - \bar x)^2$ และตัวส่วนคือค่าเฉลี่ยที่ไม่ถ่วงน้ำหนัก อัตราส่วนจะมากกว่า 1 เมื่อกำลังสองของส่วนเหลือที่ใหญ่อยู่ห่างจาก $\bar x$

  6. ถอดรากที่สอง ในกลุ่มประชากรจำลอง

    \[ \frac{0.0243}{0.0215} = 1.13, \quad \frac{0.6558}{0.8871} = 0.74 \]

    ข้อมูลจำลอง: ค่าคลาดเคลื่อนมาตรฐานแบบ HC1 หารด้วยค่าแบบอิงแบบจำลอง เริ่มจากความชันของอายุ แล้วจึงเป็นความต่างของกลุ่มอายุต่ำกว่า 40 ปี เมื่อมี 2,000 คน HC1 กับ HC0 แทบไม่ต่างกัน

ผลลัพธ์: robust standard error ใหญ่กว่าเมื่อกำลังสองของส่วนเหลือที่ใหญ่อยู่ที่ค่าที่มีอิทธิพลเชิงตำแหน่งสูงซึ่งห่างจาก $\bar x$ และเล็กกว่าเมื่อมันอยู่ใกล้ $\bar x$

ค่าคลาดเคลื่อนมาตรฐานขยับไปทางไหน

ทิศทางของการเปลี่ยนแปลงไม่ตายตัว robust standard error ใหญ่กว่าเมื่อความแปรปรวนส่วนเหลือที่มากอยู่ที่ค่าของ $x$ ซึ่งมีอิทธิพลเชิงตำแหน่งสูง และอาจเล็กกว่าในกรณีอื่น กลุ่มประชากรจำลองแสดงทั้งสองทิศ โดยใช้ผู้ใหญ่ 2,000 คนเดิมและความดันโลหิตชุดเดิมในสองรูปแบบการกำหนดแบบจำลอง (specification) สรุปไว้ในตาราง

ข้อมูลจำลอง ผู้ใหญ่ 2,000 คน ค่าคลาดเคลื่อนมาตรฐานมีหน่วยเดียวกับค่าประมาณแต่ละตัว และ Stata กับ R ให้ค่าเดียวกันถึงทศนิยมสี่ตำแหน่ง อัตราส่วนในกลุ่มตัวอย่างขนาดใหญ่คือ robust standard error หารด้วยค่าแบบอิงแบบจำลองในประชากรจำลองขนาดใหญ่ แบบ robust ใหญ่กว่าในรูปแบบ A และเล็กกว่าในรูปแบบ B
รูปแบบค่าประมาณ (ค่าจริงในข้อมูลจำลอง)ค่าคลาดเคลื่อนมาตรฐานแบบอิงแบบจำลองค่าคลาดเคลื่อนมาตรฐาน HC1ค่าคลาดเคลื่อนมาตรฐาน HC3HC1 หารด้วยค่าแบบอิงแบบจำลอง (อัตราส่วนในกลุ่มตัวอย่างขนาดใหญ่)
A: SBP ตามอายุ หน่วย mmHg ต่อปี0.66 (0.67)0.02150.02430.02431.13 (1.15)
B: SBP ตามตัวบ่งชี้อายุต่ำกว่า 40 ปี หน่วย mmHg-17.65 (-17.86)0.88710.65580.65670.74 (0.75)

รูปแบบ A: ความดันโลหิตตามอายุ แบบ robust ใหญ่กว่า

อายุกระจายสม่ำเสมอตั้งแต่ 30 ถึง 80 ปี ผู้ที่มีอิทธิพลเชิงตำแหน่งสูงจึงเป็นผู้อายุน้อยที่สุดและผู้อายุมากที่สุด ผู้อายุมากที่สุดเป็นกลุ่มที่ความดันโลหิตกระจายมากที่สุดด้วย แซนด์วิชจึงให้น้ำหนักมากกับกำลังสองของส่วนเหลือที่ใหญ่ และ robust standard error เพิ่มจาก 0.0215 เป็น 0.0243 mmHg ต่อปี นั่นคือ 1.13 เท่าของค่าแบบอิงแบบจำลอง เทียบกับ 1.15 ในประชากรจำลองขนาดใหญ่

ช่วงเชื่อมั่นจึงกว้างขึ้นตามไปด้วย ขณะที่ความชันเองไม่ขยับ HC3 ให้ 0.0243 เท่ากันถึงทศนิยมสี่ตำแหน่ง เพราะเมื่อมีผู้ใหญ่ 2,000 คน ไม่มีใครมีอิทธิพลเชิงตำแหน่งมากนัก R ให้ตัวเลขเดียวกัน

Stata: รูปแบบ A พร้อม HC1 ซึ่งเป็น robust standard error ของ vce(robust)

โค้ด Stata w6_sim.do (บรรทัด 286-286 จาก 440)
regress sbp age, vce(robust)
ผลลัพธ์จากการรัน w6_sim.log
. regress sbp age, vce(robust)

Linear regression                               Number of obs     =      2,000
                                                F(1, 1998)        =     750.63
                                                Prob > F          =     0.0000
                                                R-squared         =     0.3226
                                                Root MSE          =     14.119

------------------------------------------------------------------------------
             |               Robust
         sbp | Coefficient  std. err.      t    P>|t|     [95% conf. interval]
-------------+----------------------------------------------------------------
         age |   .6644293   .0242514    27.40   0.000     .6168686    .7119899
       _cons |   88.26957   1.203478    73.35   0.000     85.90937    90.62978
------------------------------------------------------------------------------
ข้อมูลจำลอง ข้อความที่ตัดมาจากสคริปต์การจำลองของชุดบทความนี้และผลลัพธ์ของมัน การปรับ SBP ตามอายุแบบเดิมด้วย vce(robust) ซึ่งคือ robust standard error แบบ HC1 ของ Stata ความชันไม่เปลี่ยน ส่วนค่าคลาดเคลื่อนมาตรฐานของมันเพิ่มจาก 0.0215 เป็น 0.0243

Stata: รูปแบบ A พร้อม HC3

โค้ด Stata w6_sim.do (บรรทัด 289-289 จาก 440)
regress sbp age, vce(hc3)
ผลลัพธ์จากการรัน w6_sim.log
. regress sbp age, vce(hc3)

Linear regression                               Number of obs     =      2,000
                                                F(1, 1998)        =     749.16
                                                Prob > F          =     0.0000
                                                R-squared         =     0.3226
                                                Root MSE          =     14.119

------------------------------------------------------------------------------
             |             Robust HC3
         sbp | Coefficient  std. err.      t    P>|t|     [95% conf. interval]
-------------+----------------------------------------------------------------
         age |   .6644293   .0242751    27.37   0.000     .6168221    .7120364
       _cons |   88.26957   1.204652    73.27   0.000     85.90707    90.63208
------------------------------------------------------------------------------
ข้อมูลจำลอง ข้อความที่ตัดมาจากสคริปต์การจำลองของชุดบทความนี้และผลลัพธ์ของมัน การปรับ SBP ตามอายุแบบเดิมด้วย vce(hc3) ให้ค่าคลาดเคลื่อนมาตรฐาน HC3 เท่ากับ 0.0243 ซึ่งเท่ากับ HC1 ถึงทศนิยมสี่ตำแหน่ง

R: รูปแบบ A พร้อม HC3 จากแพ็กเกจ sandwich

โค้ด R w6_sim_r.R (บรรทัด 214-214 จาก 316)
print(lmtest::coeftest(fa, vcov. = sandwich::vcovHC(fa, type = "HC3")))
ผลลัพธ์จากการรัน w6_sim_r.log
> print(lmtest::coeftest(fa, vcov. = sandwich::vcovHC(fa,
+     type = "HC3")))

t test of coefficients:

             Estimate Std. Error t value  Pr(>|t|)
(Intercept) 88.269574   1.204652  73.274 < 2.2e-16 ***
age          0.664429   0.024275  27.371 < 2.2e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
ข้อมูลจำลอง ข้อความที่ตัดมาจากสคริปต์การจำลองฉบับ R ของชุดบทความนี้และผลลัพธ์ของมัน ก่อนคำสั่งนี้ fa <- lm(sbp ~ age, data = d) ปรับเส้นตรงของ SBP ตามอายุกับข้อมูลของกลุ่มประชากรซึ่งเก็บไว้ใน d แถวของอายุตรงกับค่าคลาดเคลื่อนมาตรฐาน HC3 ของ Stata คือ 0.0243

รูปแบบ B: ตัวบ่งชี้อายุต่ำกว่า 40 ปี แบบ robust เล็กกว่า

รูปแบบ B แทนที่อายุด้วยตัวบ่งชี้ที่เป็น 1 สำหรับผู้ใหญ่อายุต่ำกว่า 40 ปี และเป็น 0 สำหรับคนอื่น ผู้ใหญ่ 387 คนจาก 2,000 คนมีค่านี้ การแบ่งอายุเป็นสองกลุ่มนี้ทำเพื่อแสดงทิศทางตรงข้ามของการเปลี่ยนแปลงเท่านั้น การวิเคราะห์จริงควรคงอายุไว้เป็นตัวแปรต่อเนื่อง ค่าสัมประสิทธิ์ตอนนี้เป็นความต่างของ SBP เฉลี่ย กลุ่มอายุต่ำกว่า 40 ปีลบกลุ่มที่เหลือ: -17.65 mmHg เทียบกับค่าจริงในข้อมูลจำลอง -17.86

คราวนี้คนที่มีอิทธิพลเชิงตำแหน่งสูงคือผู้ที่อายุต่ำกว่า 40 ปี 387 คน ซึ่งเป็นกลุ่มที่เล็กกว่า และเป็นกลุ่มที่นิ่งด้วย ความแปรปรวนส่วนเหลือที่มากอยู่ในผู้สูงอายุ ซึ่งเป็นกลุ่มที่ใหญ่กว่าและมีอิทธิพลเชิงตำแหน่งต่ำ ค่าคลาดเคลื่อนมาตรฐานแบบอิงแบบจำลองรวมความแปรปรวนของสองกลุ่มแล้วใช้ผลนั้นกับทั้งสองกลุ่ม จึงประเมินความไม่แน่นอนของกลุ่มเล็กที่นิ่งสูงเกินไป และประเมินของกลุ่มใหญ่ที่แกว่งมากต่ำเกินไป ความผิดพลาดอย่างแรกชนะ เพราะค่าเฉลี่ยของผู้ที่อายุต่ำกว่า 40 ปี 387 คนมีส่วนต่อความไม่แน่นอนของความต่างมากที่สุด

robust standard error ลดลงจาก 0.8871 เป็น 0.6558 mmHg คือ 0.74 เท่าของค่าแบบอิงแบบจำลอง เทียบกับ 0.75 ในประชากรจำลองขนาดใหญ่ คราวนี้ช่วงเชื่อมั่นแบบ robust เป็นช่วงที่แคบกว่า ใน R fb <- lm(sbp ~ under40, data = d) ให้ค่าคลาดเคลื่อนมาตรฐานเท่ากันถึงทศนิยมสี่ตำแหน่ง โดยเป็นรากที่สองของความแปรปรวนจาก vcov(fb) สำหรับแบบอิงแบบจำลอง และจาก sandwich::vcovHC(fb, type = "HC1") ซึ่งตรงกับ vce(robust) ของ Stata หรือ type = "HC3" สำหรับแบบ robust

Stata: รูปแบบ B พร้อมค่าคลาดเคลื่อนมาตรฐานแบบอิงแบบจำลอง

โค้ด Stata w6_sim.do (บรรทัด 293-294 จาก 440)
* Specification B: SBP under 40 versus 40 and over (the smaller group is the low-variance group)
regress sbp under40
ผลลัพธ์จากการรัน w6_sim.log
. * Specification B: SBP under 40 versus 40 and over (the smaller group is the low-variance group)
. regress sbp under40

      Source |       SS           df       MS      Number of obs   =     2,000
-------------+----------------------------------   F(1, 1998)      =    395.85
       Model |  97232.6389         1  97232.6389   Prob > F        =    0.0000
    Residual |  490767.198     1,998  245.629228   R-squared       =    0.1654
-------------+----------------------------------   Adj R-squared   =    0.1649
       Total |  587999.837     1,999  294.146992   Root MSE        =    15.673

------------------------------------------------------------------------------
         sbp | Coefficient  Std. err.      t    P>|t|     [95% conf. interval]
-------------+----------------------------------------------------------------
     under40 |  -17.65015     .88712   -19.90   0.000    -19.38993   -15.91037
       _cons |   128.4365    .390232   329.13   0.000     127.6711    129.2018
------------------------------------------------------------------------------
ข้อมูลจำลอง ข้อความที่ตัดมาจากสคริปต์การจำลองของชุดบทความนี้และผลลัพธ์ของมัน ก่อนคำสั่งนี้ generate byte under40 = age < 40 สร้างตัวบ่งชี้ ซึ่งเป็น 1 สำหรับผู้ใหญ่อายุต่ำกว่า 40 ปี และเป็น 0 สำหรับคนอื่น สัมประสิทธิ์ของ under40 คือ -17.65 mmHg เป็นความต่างของ SBP เฉลี่ย และค่าคลาดเคลื่อนมาตรฐานแบบอิงแบบจำลองของมันคือ 0.8871

Stata: รูปแบบ B พร้อม HC1

โค้ด Stata w6_sim.do (บรรทัด 298-298 จาก 440)
regress sbp under40, vce(robust)
ผลลัพธ์จากการรัน w6_sim.log
. regress sbp under40, vce(robust)

Linear regression                               Number of obs     =      2,000
                                                F(1, 1998)        =     724.34
                                                Prob > F          =     0.0000
                                                R-squared         =     0.1654
                                                Root MSE          =     15.673

------------------------------------------------------------------------------
             |               Robust
         sbp | Coefficient  std. err.      t    P>|t|     [95% conf. interval]
-------------+----------------------------------------------------------------
     under40 |  -17.65015   .6558071   -26.91   0.000    -18.93629   -16.36401
       _cons |   128.4365   .4172295   307.83   0.000     127.6182    129.2547
------------------------------------------------------------------------------
ข้อมูลจำลอง ข้อความที่ตัดมาจากสคริปต์การจำลองของชุดบทความนี้และผลลัพธ์ของมัน การปรับตามตัวบ่งชี้อายุต่ำกว่า 40 ปีแบบเดิมด้วย vce(robust) ซึ่งคือ HC1 ของ Stata robust standard error ลดลงเป็น 0.6558 คราวนี้ช่วงเชื่อมั่นจึงแคบลง

Stata: รูปแบบ B พร้อม HC3

โค้ด Stata w6_sim.do (บรรทัด 301-301 จาก 440)
regress sbp under40, vce(hc3)
ผลลัพธ์จากการรัน w6_sim.log
. regress sbp under40, vce(hc3)

Linear regression                               Number of obs     =      2,000
                                                F(1, 1998)        =     722.47
                                                Prob > F          =     0.0000
                                                R-squared         =     0.1654
                                                Root MSE          =     15.673

------------------------------------------------------------------------------
             |             Robust HC3
         sbp | Coefficient  std. err.      t    P>|t|     [95% conf. interval]
-------------+----------------------------------------------------------------
     under40 |  -17.65015   .6566548   -26.88   0.000    -18.93795   -16.36235
       _cons |   128.4365   .4172796   307.79   0.000     127.6181    129.2548
------------------------------------------------------------------------------
ข้อมูลจำลอง ข้อความที่ตัดมาจากสคริปต์การจำลองของชุดบทความนี้และผลลัพธ์ของมัน การปรับตามตัวบ่งชี้อายุต่ำกว่า 40 ปีแบบเดิมด้วย vce(hc3) ให้ค่าคลาดเคลื่อนมาตรฐาน HC3 เท่ากับ 0.6567 ใกล้เคียงกับ HC1

ความครอบคลุม: ช่วงเชื่อมั่นครอบคลุมค่าจริงบ่อยเพียงใด

ค่าคลาดเคลื่อนมาตรฐานตัดสินได้จากช่วงเชื่อมั่นที่มันสร้าง ความครอบคลุม (coverage) ของช่วงเชื่อมั่น 95% คือสัดส่วนของการศึกษาซ้ำที่ช่วงเชื่อมั่นครอบคลุมค่าที่ต้องการประมาณ ควรอยู่ใกล้ 95% เพื่อตรวจสอบ การจำลองสุ่มการศึกษาใหม่ 5,000 ครั้ง ครั้งละผู้ใหญ่ 200 คน จากสมการของกลุ่มประชากรนี้ และปรับทั้งสองรูปแบบใน Stata

ค่าคลาดเคลื่อนมาตรฐานแบบมอนติคาร์โล (Monte Carlo standard error) วัดว่าค่าความครอบคลุมจะแกว่งไปมากเพียงใดหากรันการจำลองทั้งหมดใหม่อีกครั้ง เพราะสุ่มการศึกษามาเพียง 5,000 ครั้ง ความครอบคลุม $p$ ที่ประมาณจากการศึกษา $m$ ครั้งมีค่าคลาดเคลื่อนมาตรฐานแบบมอนติคาร์โลเท่ากับ $\sqrt{p(1 - p)/m}$ ซึ่งเท่ากับ 0.0031 เมื่อ p เท่ากับ 95% พอดี

ในรูปแบบ A ช่วงเชื่อมั่นแบบอิงแบบจำลองครอบคลุมค่าจริงในข้อมูลจำลอง 91.7% ของครั้ง เพราะช่วงแคบเกินไป ส่วน HC1 และ HC3 ได้ 95.0% และ 95.1% ในรูปแบบ B ช่วงเชื่อมั่นแบบอิงแบบจำลองครอบคลุม 99.0% ของครั้ง เพราะช่วงกว้างเกินไป ส่วน HC1 และ HC3 ได้ 94.7% และ 95.1% ความครอบคลุมแบบ robust ทั้งสี่ค่าใกล้ 95% แต่เมื่อใช้เพียง 200 คนต่อการศึกษา ช่วงแบบ robust ก็ยังอาจต่ำกว่านั้นเล็กน้อย [4]

ข้อมูลจำลอง ผลจาก Stata: สัดส่วนของช่วงเชื่อมั่น 95% ที่ครอบคลุมค่าจริงในข้อมูลจำลอง จากการศึกษาจำลอง 5,000 ครั้ง ครั้งละผู้ใหญ่ 200 คน พร้อมค่าคลาดเคลื่อนมาตรฐานแบบมอนติคาร์โลในวงเล็บ เมื่อความครอบคลุมเท่ากับ 95% พอดี ค่าคลาดเคลื่อนมาตรฐานแบบมอนติคาร์โลคือ 0.0031
รูปแบบช่วงแบบอิงแบบจำลองช่วง HC1ช่วง HC3
A: SBP ตามอายุ0.9168 (0.0039)0.9496 (0.0031)0.9512 (0.0030)
B: SBP ตามตัวบ่งชี้อายุต่ำกว่า 40 ปี0.9898 (0.0014)0.9466 (0.0032)0.9506 (0.0031)
ข้อมูลจำลอง ผลจาก Stata สลับระหว่างสองรูปแบบเพื่อดูว่าช่วงเชื่อมั่น 95% แบบอิงแบบจำลองและแบบ robust ครอบคลุมค่าจริงในข้อมูลจำลองบ่อยเพียงใดในการศึกษาจำลอง 5,000 ครั้ง ครั้งละผู้ใหญ่ 200 คน ทุกความครอบคลุมแสดงพร้อมค่าคลาดเคลื่อนมาตรฐานแบบมอนติคาร์โล และค่าเริ่มต้นเป็นค่าเดียวกับในตารางด้านบน

ทางเลือก: สร้างแบบจำลองความแปรปรวนแทน

robust standard error ปะความไม่แน่นอนและปล่อยค่าประมาณไว้ตามเดิม เมื่อเข้าใจรูปแบบของความแปรปรวนแล้ว การสร้างแบบจำลองของมันอาจให้ค่าประมาณที่แม่นยำขึ้นด้วย กำลังสองน้อยที่สุดแบบถ่วงน้ำหนัก (weighted least squares, WLS) ถ่วงน้ำหนักแต่ละคนด้วยส่วนกลับของความแปรปรวนของเขา คนอายุน้อยที่ค่านิ่งจึงมีน้ำหนักมากขึ้น และผู้สูงอายุที่ค่าแกว่งมีน้ำหนักน้อยลง กำลังสองน้อยที่สุดนัยทั่วไป (generalized least squares, GLS) ขยายแนวคิดนี้ไปถึงโครงสร้างความแปรปรวนและสหสัมพันธ์เต็มรูป WLS เป็นกรณีพิเศษที่ไม่มีสหสัมพันธ์

การแปลงค่า เช่นการใช้ลอการิทึมของผลลัพธ์ อาจทำให้ความแปรปรวนที่เพิ่มตามค่าเฉลี่ยนิ่งลง แต่ก็เปลี่ยนสเกลของผล และเปลี่ยนคำถามที่กำลังตอบด้วย อีกทางหนึ่ง แบบจำลองเชิงเส้นวางนัยทั่วไปใช้ family ที่ฟังก์ชันความแปรปรวนตรงกับข้อมูลได้ ฟังก์ชันความแปรปรวน (variance function) $V(\mu)$ เชื่อมความแปรปรวนกับค่าเฉลี่ย $\mu$ ตัวอย่างเช่น family แกมมาเหมาะกับค่าใช้จ่ายที่ความกระจายเพิ่มตามค่าเฉลี่ย

ตอนว่าด้วย link และ family ของชุดบทความนี้ แสดงว่า family กำหนดค่าคลาดเคลื่อนมาตรฐานอย่างไร แบบจำลองความแปรปรวนที่สร้างขึ้นเองก็อาจผิดได้ จึงอาจใช้คู่กับ robust standard error เป็นหลักประกัน

แซนด์วิชเดียวกันในแบบจำลองอื่น

แซนด์วิชถูกใช้ทุกที่ที่ส่วนความแปรปรวนของแบบจำลองเป็นเพียงค่าประมาณ modified Poisson regression ประมาณ risk ratio สำหรับผลลัพธ์แบบสองค่า และแซนด์วิชซ่อมค่าคลาดเคลื่อนมาตรฐานที่ความแปรปรวนแบบปัวซงของมันทำให้ผิด สมการประมาณค่าวางนัยทั่วไป (generalized estimating equations, GEE) สร้างแบบจำลองผลลัพธ์เฉลี่ยตลอดการมาตรวจซ้ำ และแซนด์วิชที่รวมภายในผู้ป่วยแต่ละคนช่วยปกป้องค่าคลาดเคลื่อนมาตรฐาน หากสหสัมพันธ์ที่สมมติไว้ระหว่างการมาตรวจผิด แบบจำลอง Andersen-Gill ซึ่งเป็นการถดถอยสำหรับอัตราการนอนโรงพยาบาลซ้ำ จัดกลุ่มแซนด์วิชตามผู้ป่วย เพราะการนอนโรงพยาบาลหลายครั้งของผู้ป่วยคนเดียวสัมพันธ์กัน

สิ่งที่แซนด์วิชแก้ไม่ได้

robust standard error ช่วยแก้ค่าคลาดเคลื่อนมาตรฐานเมื่อข้อสมมติเรื่องความแปรปรวนผิด แต่ไม่ได้แก้แบบจำลองค่าเฉลี่ยที่ผิด และสัมประสิทธิ์ที่ลำเอียงก็ยังคงลำเอียงอยู่ เมื่อความดันโลหิตเพิ่มตามเส้นโค้ง แต่แบบจำลองบังคับให้เป็นเส้นตรง robust standard error ซื่อสัตย์ต่อความชันของเส้นตรงนั้นเท่านั้น [6] กลุ่มประชากรจำลองเป็นกรณีแบบนั้น ค่าคลาดเคลื่อนมาตรฐานทั้งสองแบบของมันอธิบายความชันของเส้นตรง ไม่ใช่เส้นโค้ง

ช่องว่างที่กว้างระหว่าง robust standard error กับค่าแบบอิงแบบจำลองควรอ่านเป็นสัญญาณให้ตรวจแบบจำลองค่าเฉลี่ย มากกว่าอ่านเป็นการแก้ไข [7] แซนด์วิชยังต้องการข้อมูลมากพอ เมื่อมีการสังเกตน้อย มันมักเล็กเกินไป จึงนิยมใช้ HC3 ในกลุ่มตัวอย่างขนาดเล็ก [4] รูปแบบแบบจัดกลุ่มที่ใช้ใน GEE และ Andersen-Gill ต้องการกลุ่มจำนวนมาก ไม่ใช่เพียงแถวจำนวนมาก และเมื่อมีกลุ่มน้อย มันอาจเล็กเกินไปแม้แบบจำลองจะถูก

ความเข้าใจผิดที่พบบ่อยและวิธีแก้

  • "ใช้ robust standard error ทุกครั้ง แล้วปัญหาจบ"

    นี่คือรูปแบบที่พบในชีวิตประจำวันของความเชื่อที่ว่า robust standard error แก้แบบจำลองที่กำหนดผิดได้ robust standard error ปล่อยสัมประสิทธิ์ทุกตัวไว้ที่เดิม

    วิธีแก้: robust standard error ช่วยแก้ค่าคลาดเคลื่อนมาตรฐานเมื่อข้อสมมติเรื่องความแปรปรวนผิด แต่ไม่ได้แก้แบบจำลองค่าเฉลี่ยที่ผิด และสัมประสิทธิ์ที่ลำเอียงก็ยังคงลำเอียงอยู่ เมื่อมีการสังเกตน้อยหรือมีกลุ่มน้อย แซนด์วิชเองก็อาจเล็กเกินไป

  • "robust standard error ใหญ่กว่าเสมอ จึงเป็นทางเลือกที่ระมัดระวัง"

    ในรูปแบบ B ในกลุ่มประชากร 2,000 คน robust standard error เป็น 0.74 เท่าของค่าแบบอิงแบบจำลอง และในการศึกษาจำลองซ้ำที่ใช้ผู้ใหญ่ครั้งละ 200 คน ช่วงเชื่อมั่นแบบอิงแบบจำลองครอบคลุมค่าจริงในข้อมูลจำลอง 99.0% ของครั้ง

    วิธีแก้: ให้คาดว่าเกิดได้ทั้งสองทิศ robust standard error ใหญ่กว่าเมื่อความแปรปรวนส่วนเหลือที่มากอยู่ที่ค่าของ $x$ ซึ่งมีอิทธิพลเชิงตำแหน่งสูง และอาจเล็กกว่าในกรณีอื่น

  • "การทดสอบความแปรปรวนไม่คงที่ไม่มีนัยสำคัญ แสดงว่าความแปรปรวนคงที่"

    การทดสอบในการศึกษาขนาดเล็กมีอำนาจต่ำ และการทดสอบในการศึกษาขนาดใหญ่อาจชี้ความต่างที่เล็กเกินกว่าจะสำคัญ

    วิธีแก้: ตัดสินความแปรปรวนจากแผนภาพส่วนเหลือ และควรเลือกค่าคลาดเคลื่อนมาตรฐานไว้ในแผนการวิเคราะห์ ไม่ใช่เลือกหลังการทดสอบ

  • "HC1 และ HC3 ใช้แทนกันได้"

    ทั้งสองให้ค่าตรงกันในกลุ่มตัวอย่างขนาดใหญ่ เช่นในกลุ่มประชากร 2,000 คนนี้ แต่ HC1 มักเล็กเกินไปเมื่อมีการสังเกตน้อยหรือบางคนมีอิทธิพลเชิงตำแหน่งสูง

    วิธีแก้: ในกลุ่มตัวอย่างขนาดเล็ก ให้เลือก HC3 และระบุฉบับที่ใช้ในส่วนวิธีการ

สิ่งที่ควรทำในการวิเคราะห์ของคุณเอง

อภิธานศัพท์

heteroskedasticity (ความแปรปรวนไม่คงที่)
ความแปรปรวนของส่วนเหลือที่เปลี่ยนไปตามค่าของตัวแปรร่วม ส่วนความแปรปรวนคงที่เรียกว่า homoskedasticity
robust (sandwich) standard error (ค่าคลาดเคลื่อนมาตรฐานแบบแซนด์วิช)
ค่าคลาดเคลื่อนมาตรฐานที่ยังใช้ได้ในกลุ่มตัวอย่างขนาดใหญ่เมื่อข้อสมมติเรื่องความแปรปรวนผิด โดยมีเงื่อนไขว่าแบบจำลองค่าเฉลี่ยถูกต้อง
sandwich estimator
สูตรความแปรปรวนที่มีขนมปังชุดเดียวกันอยู่สองด้านของเนื้อ ซึ่งสร้างจากกำลังสองของส่วนเหลือของแต่ละคน
HC0 to HC3 (ตัวประมาณ HC0 ถึง HC3)
ฉบับต่าง ๆ ของตัวประมาณแบบแซนด์วิช: HC0 ใช้กำลังสองของส่วนเหลือดิบ HC1 ปรับขนาดด้วย n/(n - k) และ HC2 กับ HC3 ขยายค่าตามอิทธิพลเชิงตำแหน่ง
leverage
ค่าตัวแปรร่วมของคนหนึ่งอยู่ห่างจากของคนอื่นทั้งหมดเพียงใด คนที่มีอิทธิพลเชิงตำแหน่งสูงดึงเส้นที่ปรับเข้าหาตัวเอง
variance function (ฟังก์ชันความแปรปรวน)
ในแบบจำลองเชิงเส้นวางนัยทั่วไป คือกฎที่ family กำหนดเพื่อเชื่อมความแปรปรวนของผลลัพธ์กับค่าเฉลี่ยของมัน
weighted least squares
วิธีกำลังสองน้อยที่สุดที่ถ่วงน้ำหนักแต่ละคนด้วยส่วนกลับของความแปรปรวนของผลลัพธ์ของเขา
generalized least squares
วิธีกำลังสองน้อยที่สุดที่ยอมให้ความแปรปรวนไม่เท่ากันและการสังเกตสัมพันธ์กัน กำลังสองน้อยที่สุดแบบถ่วงน้ำหนักเป็นกรณีพิเศษที่ไม่มีสหสัมพันธ์
coverage
สัดส่วนของการศึกษาซ้ำที่ช่วงเชื่อมั่น 95% ครอบคลุมค่าที่ต้องการประมาณ
Monte Carlo standard error
ความไม่แน่นอนของผลการจำลองที่เกิดจากการรันการศึกษาจำลองเป็นจำนวนครั้งจำกัด
generalized estimating equations (GEE) (สมการประมาณค่าวางนัยทั่วไป)
วิธีสำหรับข้อมูลวัดซ้ำหรือข้อมูลที่เป็นกลุ่ม ซึ่งสร้างแบบจำลองผลลัพธ์เฉลี่ยและใช้ค่าคลาดเคลื่อนมาตรฐานแบบแซนด์วิชที่รวมภายในแต่ละกลุ่ม
Andersen-Gill model (แบบจำลอง Andersen-Gill)
การถดถอยสำหรับอัตราของเหตุการณ์ที่เกิดซ้ำ เช่นการนอนโรงพยาบาลซ้ำ ซึ่งมักรายงานพร้อมค่าคลาดเคลื่อนมาตรฐานแบบแซนด์วิชที่จัดกลุ่มตามผู้ป่วย

เอกสารอ้างอิง

  1. White H. A heteroskedasticity-consistent covariance matrix estimator and a direct test for heteroskedasticity. Econometrica. 1980;48(4):817-838. doi:10.2307/1912934 https://doi.org/10.2307/1912934
  2. Huber PJ. The behavior of maximum likelihood estimates under nonstandard conditions. In: Proceedings of the Fifth Berkeley Symposium on Mathematical Statistics and Probability, Vol. 1. Berkeley: University of California Press; 1967. p. 221-233. https://projecteuclid.org/euclid.bsmsp/1200512988
  3. MacKinnon JG, White H. Some heteroskedasticity-consistent covariance matrix estimators with improved finite sample properties. J Econom. 1985;29(3):305-325. doi:10.1016/0304-4076(85)90158-7 https://doi.org/10.1016/0304-4076(85)90158-7
  4. Long JS, Ervin LH. Using heteroscedasticity consistent standard errors in the linear regression model. Am Stat. 2000;54(3):217-224. doi:10.1080/00031305.2000.10474549 https://doi.org/10.1080/00031305.2000.10474549
  5. Zeileis A. Econometric computing with HC and HAC covariance matrix estimators. J Stat Softw. 2004;11(10):1-17. doi:10.18637/jss.v011.i10 https://doi.org/10.18637/jss.v011.i10
  6. Freedman DA. On the so-called "Huber sandwich estimator" and "robust standard errors". Am Stat. 2006;60(4):299-302. doi:10.1198/000313006X152207 https://doi.org/10.1198/000313006X152207
  7. King G, Roberts ME. How robust standard errors expose methodological problems they do not fix, and what to do about it. Polit Anal. 2015;23(2):159-179. doi:10.1093/pan/mpu015 https://doi.org/10.1093/pan/mpu015

ประเด็นสำคัญ

  • ความแปรปรวนไม่คงที่ไม่ทำให้ความชันจากวิธีกำลังสองน้อยที่สุดเอนเอียงเมื่อแบบจำลองค่าเฉลี่ยถูกต้อง แต่ค่าคลาดเคลื่อนมาตรฐานแบบอิงแบบจำลองอาจชี้นำผิด
  • แซนด์วิชแทนที่ความแปรปรวนรวมค่าเดียวด้วยกำลังสองของส่วนเหลือของแต่ละคน โดยถ่วงน้ำหนักด้วยกำลังสองของระยะห่างของคนนั้นจากค่าเฉลี่ยของตัวแปรร่วม
  • robust standard error ใหญ่กว่าเมื่อความแปรปรวนส่วนเหลือที่มากอยู่ที่ค่าของ x ซึ่งมีอิทธิพลเชิงตำแหน่งสูง และอาจเล็กกว่าในกรณีอื่น กลุ่มประชากรจำลองแสดงทั้งสองทิศ
  • HC3 ขยายส่วนเหลือของคนที่มีอิทธิพลเชิงตำแหน่งสูง และมักเป็นฉบับที่นิยมใช้ในกลุ่มตัวอย่างขนาดเล็ก
  • robust standard error ช่วยแก้ค่าคลาดเคลื่อนมาตรฐานเมื่อข้อสมมติเรื่องความแปรปรวนผิด แต่ไม่ได้แก้แบบจำลองค่าเฉลี่ยที่ผิด และสัมประสิทธิ์ที่ลำเอียงก็ยังคงลำเอียงอยู่ ให้ตรวจแบบจำลองค่าเฉลี่ยก่อน

อ่านต่อในวิกิ: [[risk-regression-models-epidemiology-th]] [[repeated-measures-modeling-guide-th]]

0
ถึงนักอ่านชาวไทยและต่างชาติทำความเข้าใจบริบททางการแพทย์ของผมอ่านต่อ →ถึงนักอ่านชาวไทยและต่างชาติทำความเข้าใจเนื้อหาของผมที่นอกเหนือจากการแพทย์อ่านต่อ →

ความคิดเห็น

ยังไม่มีความคิดเห็น มาเป็นคนแรกกันเลย

เข้าสู่ระบบเพื่อแสดงความคิดเห็น