Model-Selection

通過選擇聚合數據來解決辛普森悖論的示例

  • July 22, 2020

關於解決辛普森悖論的大多數建議是,如果沒有更多上下文,您無法確定聚合數據或分組數據是否最有意義。

但是,我看到的大多數示例都表明分組是一個混淆因素,最好考慮分組。

例如,在如何解決辛普森悖論中,討論了經典的腎結石數據集,普遍認為在解釋中考慮腎結石大小組並選擇治療 A 更有意義。

我正在努力尋找或想到一個應該忽略分組的好例子。

這是來自 R 的 datasauRus 包的辛普森悖論數據集的散點圖,帶有線性回歸趨勢線。 帶有線性回歸趨勢線的散點圖,展示了辛普森悖論

我可以很容易地想到 , 的標籤,x這將使這個數據集成為對每個組進行建模最有意義的數據集。例如,y``group

  • x: 每月看電視的時間
  • y: 考試成績
  • group: 年齡,其中 A 到 E 是 11 到 16 歲

在這種情況下,對整個數據集進行建模使其看起來看更多電視與更高的考試成績相關。分別對每個組進行建模顯示,年齡較大的孩子得分較高,但看電視越多得分越低。後一種解釋對我來說聽起來更合理。

我讀了珍珠,朱迪亞。“實證研究的因果圖”。Biometrika 82.4 (1995): 669-688。它包含一個因果圖,其中建議您不應該以 Z 為條件。

治療、血壓和恢復的因果圖

如果我正確理解了這一點,如果整個數據集模型中的解釋變量導致潛在/分組變量發生變化,那麼聚合數據模型是“最佳”模型。

我仍在努力闡明一個合理的現實示例。

如何在散點圖中標記xy和以製作應忽略分組的數據集?group


這有點轉移注意力,但要回答 Richard Erickson 關於分層模型的問題:

這是數據集的代碼

library(datasauRus)
library(dplyr)
simpsons_paradox <- datasauRus::simpsons_paradox %>%
 filter(dataset == "simpson_2") %>%
 mutate(group = cut(x + y, c(0, 55, 80, 120, 145, 200), labels = LETTERS[1:5])) %>%
 select(- dataset)

整個數據集的線性回歸

lm(y ~ x, data = simpsons_paradox)

給出x1.75 的係數。

包括組的線性回歸

lm(y ~ x + group, data = simpsons_paradox)

給出x-0.82 的係數。

混合效應模型

library(lme4)
lmer(y ~ x + (1 | group), data = simpsons_paradox)

也給出了x-0.82 的係數。因此,如果您不擔心置信區間或組內/組之間的變化,那麼僅使用簡單的線性回歸併沒有太大的好處。

我傾向於 abalter 的解釋,即“如果組足夠重要,可以考慮將其包含在模型中,並且您知道該組,那麼您也可以實際包含它並獲得更好的預測”。

我可以想到一個熱門的例子。如果我們從整體上看城市,我們會在人口密集的城市看到更多的冠狀病毒感染和死亡。很明顯,密度產生相互作用產生感染產生死亡,是嗎?

如果我們在城市內部看,這不成立。在城市內部,通常密度較高的地區人均感染和死亡人數較少。

是什麼賦予了?簡單:密度確實會增加總體感染率,但在許多城市,人口最密集的地區很富裕,而這些地區的健康問題未得到解決的人較少。在這裡,每種影響都是因果關係:密度會增加任何 SIR 模型的感染,但未解決的健康問題也會增加感染和死亡人數。

引用自:https://stats.stackexchange.com/questions/478463

comments powered by Disqus