当我合并产生两个显着回归的数据时,为什么我的回归不显着?

机器算法验证 回归 统计学意义 回归系数
2022-04-09 19:33:44

抱歉标题令人困惑,我认为这是一个一般统计问题,但我在 R 工作。我有来自不同国家的两个样本(n = 240 和 n = 1,010)的组合数据集,当我运行线性在每个数据集中相同的三个变量之间进行回归,两个数据集都会产生显着的结果,并且系数几乎相同。但是,当我合并数据集并在合并的数据集上运行相同的回归时,它不再重要。谁能解释一下?

万一这很重要,回归的形式为lm(a~b*c)

4个回答

如果没有看到您的数据,这很难明确回答。一种可能性是您的数据集跨越自变量的不同范围。众所周知,组合不同组的数据有时可以反转每个组中单独看到的相关性。这种效应被称为辛普森悖论

如果您的数据看起来像这样,那么原因可能更明显。您的两条原始回归线几乎是平行的,并且看起来相当合理,但它们结合起来会产生不同的结果,这可能不是很有帮助。

回归

此图表的数据来自使用 R 代码

exdf <- data.frame(
  x=c(-64:-59, -52:-47),
  y=c(-8.29, -8.36, -9.05, -9.30, -9.20, -9.69, 
      -7.90, -8.34, -8.49, -8.85, -9.38, -9.65),
  col=c(rep("blue",6), rep("red",6)) )
fitblue  <- lm(y ~ x, data=exdf[exdf$col=="blue",])
fitred   <- lm(y ~ x, data=exdf[exdf$col=="red" ,])
fitcombo <- lm(y ~ x, data=exdf)
plot(y ~ x, data=exdf, col=col)
abline(fitblue , col="blue")
abline(fitred  , col="red" )
abline(fitcombo, col="black")

哪个报告

> summary(fitblue)

Call:
lm(formula = y ~ x, data = exdf[exdf$col == "blue", ])

Residuals:
       1        2        3        4        5        6 
-0.00619  0.20295 -0.20790 -0.17876  0.20038 -0.01048 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) -26.14895    2.91063  -8.984  0.00085 ***
x            -0.27914    0.04731  -5.900  0.00413 ** 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.1979 on 4 degrees of freedom
Multiple R-squared:  0.8969,    Adjusted R-squared:  0.8712 
F-statistic: 34.81 on 1 and 4 DF,  p-value: 0.004128

> summary(fitred)

Call:
lm(formula = y ~ x, data = exdf[exdf$col == "red", ])

Residuals:
        7         8         9        10        11        12 
-0.005238 -0.095810  0.103619  0.093048 -0.087524 -0.008095 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) -26.06505    1.12832  -23.10 2.08e-05 ***
x            -0.34943    0.02278  -15.34 0.000105 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.0953 on 4 degrees of freedom
Multiple R-squared:  0.9833,    Adjusted R-squared:  0.9791 
F-statistic: 235.3 on 1 and 4 DF,  p-value: 0.0001054

> summary(fitcombo)

Call:
lm(formula = y ~ x, data = exdf)

Residuals:
    Min      1Q  Median      3Q     Max 
-0.8399 -0.4548 -0.0750  0.4774  0.9999 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) -9.269561   1.594455  -5.814  0.00017 ***
x           -0.007109   0.028549  -0.249  0.80839    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.617 on 10 degrees of freedom
Multiple R-squared:  0.006163,  Adjusted R-squared:  -0.09322 
F-statistic: 0.06201 on 1 and 10 DF,  p-value: 0.8084

离您的统计数据不太远,可以通过进一步的工作来更接近

由于异常值和/或非线性关系,每个数据集中的数据点也可能具有完全不同的分布xy,但仍具有几乎相同的线性回归系数、标准误差和统计显着性p-价值观。结合这两个数据集可以创建一个不再具有强线性关系的数据集。参见Anscombe 的四重奏可以在此处找到共享相同汇总统计信息但完全不同的散点图的众多数据集的可视化表示。我的建议是仔细检查两个数据集的散点图。

有关辛普森悖论的更多信息,请参阅 Pearl, J. 和 Mackenzie, D. (2018)。悖论多!The Book of Why: The New Science of Cause and Effect (Kindle ed., pp. 2843-3283)。纽约:基本书籍。另请参阅珍珠的因果关系。

在他的书中,Pearl 举了一个与你非常相似的例子。问题是存在一个影响自变量和因变量的混杂变量。在珀尔的例子中,问题是,为什么抗心脏病药物对女性有害,对男性有害,但对人有益?(当两个性别样本合并时)。答案是性别是一个混杂变量,会影响服用药物的人(女性更有可能),以及心脏病发作的患病率(男性更有可能)。混淆变量的解决方案是以它们为条件。可以通过两种方式完成:(1)使用回归分析,使性别成为一个变量;(2)分别分析药物对两性的平均疗效;然后计算加权平均值(按性别人口百分比加权,

珀尔会说,你必须有一个你正在研究的现象的模型,即一个详尽的理论,它考虑了响应中涉及的所有变量。开发这样的模型和理论可能需要几个月的阅读才能理解该领域其他人的工作。但是,请记住,一个遗漏的变量可能会使结果产生偏差,并使它们变得毫无意义或完全错误。

珀尔还会写道,您无法从数据中提取因果关系。为此,您需要一个理论模型。但是,一旦有了理论和模型,就可以使用数据来支持它们。