我正在阅读一篇论文,作者写道:
通过使用多元回归分析研究了 A、B、C 对 Y 的影响。A、B、C 以 Y 为因变量进入回归方程。方差分析见表 3。B 对 Y 的影响是显着的,B 与 Y 的相关系数为 0.27。
英语不是我的母语,我在这里真的很困惑。
首先,他说他会进行回归分析,然后他向我们展示了方差分析。为什么?
然后他写了相关系数,这不是来自相关分析吗?或者这个词也可以用来描述回归斜率?
我正在阅读一篇论文,作者写道:
通过使用多元回归分析研究了 A、B、C 对 Y 的影响。A、B、C 以 Y 为因变量进入回归方程。方差分析见表 3。B 对 Y 的影响是显着的,B 与 Y 的相关系数为 0.27。
英语不是我的母语,我在这里真的很困惑。
首先,他说他会进行回归分析,然后他向我们展示了方差分析。为什么?
然后他写了相关系数,这不是来自相关分析吗?或者这个词也可以用来描述回归斜率?
首先,他说他会进行回归分析,然后他向我们展示了方差分析。为什么?
方差分析 (ANOVA) 只是一种比较模型解释的方差与模型未解释的方差的技术。由于回归模型既有已解释的部分,也有未解释的部分,因此很自然可以将 ANOVA 应用于它们。在许多软件包中,方差分析结果通常用线性回归报告。回归也是一种非常通用的技术。事实上,t检验和ANOVA都可以用回归的形式表示;它们只是回归的一个特例。
例如,这是一个示例回归输出。结果是某些汽车的每加仑英里数,自变量是汽车是国产的还是国外的:
Source | SS df MS Number of obs = 74
-------------+------------------------------ F( 1, 72) = 13.18
Model | 378.153515 1 378.153515 Prob > F = 0.0005
Residual | 2065.30594 72 28.6848048 R-squared = 0.1548
-------------+------------------------------ Adj R-squared = 0.1430
Total | 2443.45946 73 33.4720474 Root MSE = 5.3558
------------------------------------------------------------------------------
mpg | Coef. Std. Err. t P>|t| [95% Conf. Interval]
-------------+----------------------------------------------------------------
1.foreign | 4.945804 1.362162 3.63 0.001 2.230384 7.661225
_cons | 19.82692 .7427186 26.70 0.000 18.34634 21.30751
------------------------------------------------------------------------------
您可以在左上角看到报告的 ANOVA。总体 F 统计量为 13.18,p 值为 0.0005,表明该模型具有预测性。这是方差分析输出:
Number of obs = 74 R-squared = 0.1548
Root MSE = 5.35582 Adj R-squared = 0.1430
Source | Partial SS df MS F Prob > F
-----------+----------------------------------------------------
Model | 378.153515 1 378.153515 13.18 0.0005
|
foreign | 378.153515 1 378.153515 13.18 0.0005
|
Residual | 2065.30594 72 28.6848048
-----------+----------------------------------------------------
Total | 2443.45946 73 33.4720474
请注意,您可以在那里恢复相同的 F 统计量和 p 值。
然后他写了相关系数,这不是来自相关分析吗?或者这个词也可以用来描述回归斜率?
假设只使用 B 和 Y 进行分析,从技术上讲,我不同意选择这个词。在大多数情况下,斜率和相关系数不能互换使用。在一种特殊情况下,这两者是相同的,即自变量和因变量都是标准化的(也就是以 z 分数为单位)。
例如,让我们将每加仑英里数与汽车价格关联起来:
| price mpg
-------------+------------------
price | 1.0000
mpg | -0.4686 1.0000
而这里是同样的测试,使用标准化变量,你可以看到相关系数保持不变:
| sdprice sdmpg
-------------+------------------
sdprice | 1.0000
sdmpg | -0.4686 1.0000
现在,这是使用原始变量的两个回归模型:
. reg mpg price
Source | SS df MS Number of obs = 74
-------------+------------------------------ F( 1, 72) = 20.26
Model | 536.541807 1 536.541807 Prob > F = 0.0000
Residual | 1906.91765 72 26.4849674 R-squared = 0.2196
-------------+------------------------------ Adj R-squared = 0.2087
Total | 2443.45946 73 33.4720474 Root MSE = 5.1464
------------------------------------------------------------------------------
mpg | Coef. Std. Err. t P>|t| [95% Conf. Interval]
-------------+----------------------------------------------------------------
price | -.0009192 .0002042 -4.50 0.000 -.0013263 -.0005121
_cons | 26.96417 1.393952 19.34 0.000 24.18538 29.74297
------------------------------------------------------------------------------
...这是具有标准化变量的变量:
. reg sdmpg sdprice
Source | SS df MS Number of obs = 74
-------------+------------------------------ F( 1, 72) = 20.26
Model | 16.0295482 1 16.0295482 Prob > F = 0.0000
Residual | 56.9704514 72 .791256269 R-squared = 0.2196
-------------+------------------------------ Adj R-squared = 0.2087
Total | 72.9999996 73 .999999994 Root MSE = .88953
------------------------------------------------------------------------------
sdmpg | Coef. Std. Err. t P>|t| [95% Conf. Interval]
-------------+----------------------------------------------------------------
sdprice | -.4685967 .1041111 -4.50 0.000 -.6761384 -.2610549
_cons | -7.22e-09 .1034053 -0.00 1.000 -.2061347 .2061347
------------------------------------------------------------------------------
可以看到,原始变量的斜率为-0.0009192,标准化变量的斜率为-0.4686,也就是相关系数。
所以,除非 A、B、C 和 Y 是标准化的,否则我不会同意文章的“相关性”。相反,我只是选择 B 增加一个单位与 Y 的平均值高 0.27 相关。
在更复杂的情况下,当涉及多个自变量时,上述现象将不再成立。
首先,他说他会进行回归分析,然后他向我们展示了方差分析。为什么?
方差分析表是您可以从回归中获得的部分信息的汇总。(您可能认为方差分析是回归的一种特殊情况。在任何一种情况下,您都可以将平方和划分为可用于检验各种假设的分量,这称为方差分析表。)
然后他写了相关系数,这不是来自相关分析吗?或者这个词也可以用来描述回归斜率?
相关性与回归斜率不同,但两者是相关的。但是,除非他们遗漏了一个词(或者可能是几个词),否则 B 与 Y 的成对相关性并不能直接告诉您多元回归中斜率的重要性。在简单的回归中,两者是直接相关的,这样的关系确实成立。在多元回归中,偏相关以相应的方式与斜率相关。
我在 R 中提供的代码只是一个示例,如果您没有使用 R 的经验,您可以看到答案。我只是想用示例做一些案例。
相关与回归
一个 Y 和一个 X 的简单线性相关和回归:
该模型:
y = a + betaX + error (residual)
假设我们只有两个变量:
X = c(4,5,8,6,12,15)
Y = c(3,6,9,8,6, 18)
plot(X,Y, pch = 19)
在散点图上,点越接近直线,两个变量之间的线性关系越强。
让我们看看线性相关性。
cor(X,Y)
0.7828747
现在线性回归和拉出R 平方值。
reg1 <- lm(Y~X)
summary(reg1)$r.squared
0.6128929
因此模型的系数为:
reg1$coefficients
(Intercept) X
2.2535971 0.7877698
X 的 beta 值为 0.7877698。因此输出模型将是:
Y = 2.2535971 + 0.7877698 * X
回归中 R 平方值的平方根与r
线性回归中的相同。
sqrt(summary(reg1)$r.squared)
[1] 0.7828747
让我们使用上面相同的例子来看看回归斜率和相关性的规模效应X
,并乘以一个常数 say 12
。
X = c(4,5,8,6,12,15)
Y = c(3,6,9,8,6, 18)
X12 <- X*12
cor(X12,Y)
[1] 0.7828747
相关性与 R-squared 一样保持不变。
reg12 <- lm(Y~X12)
summary(reg12)$r.squared
[1] 0.6128929
reg12$coefficients
(Intercept) X12
0.53571429 0.07797619
您可以看到回归系数发生了变化,但 R 平方没有变化。现在另一个实验让我们添加一个常量X
,看看这会产生什么影响。
X = c(4,5,8,6,12,15)
Y = c(3,6,9,8,6, 18)
X5 <- X+5
cor(X5,Y)
[1] 0.7828747
添加后相关性仍然没有改变5
。让我们看看这将如何影响回归系数。
reg5 <- lm(Y~X5)
summary(reg5)$r.squared
[1] 0.6128929
reg5$coefficients
(Intercept) X5
-4.1428571 0.9357143
R 平方和相关性没有规模效应,但截距和斜率有。因此斜率与相关系数不同(除非变量用均值 0 和方差 1标准化)。
什么是方差分析以及我们为什么进行方差分析?
ANOVA 是我们比较方差以做出决策的技术。响应变量(称为Y
)是定量变量,X
可以是定量的或定性的(不同水平的因素)。两者X
和Y
可以是一个或多个。通常我们说定性变量的方差分析,回归上下文中的方差分析较少讨论。可能这可能是您困惑的原因。定性变量(例如组)中的零假设是组的平均值不不同/相等,而在回归分析中,我们测试线的斜率是否与 0 显着不同。
让我们看一个例子,我们可以同时进行回归分析和定性因素方差分析,因为 X 和 Y 都是定量的,但我们可以将 X 视为因素。
X1 <- rep(1:5, each = 5)
Y1 <- c(12,14,18,12,14, 21,22,23,24,18, 25,23,20,25,26, 29,29,28,30,25, 29,30,32,28,27)
myd <- data.frame (X1,Y1)
数据如下所示。
X1 Y1
1 1 12
2 1 14
3 1 18
4 1 12
5 1 14
6 2 21
7 2 22
8 2 23
9 2 24
10 2 18
11 3 25
12 3 23
13 3 20
14 3 25
15 3 26
16 4 29
17 4 29
18 4 28
19 4 30
20 4 25
21 5 29
22 5 30
23 5 32
24 5 28
25 5 27
现在我们同时进行回归和方差分析。第一次回归:
reg <- lm(Y1~X1, data=myd)
anova(reg)
Analysis of Variance Table
Response: Y1
Df Sum Sq Mean Sq F value Pr(>F)
X1 1 684.50 684.50 101.4 6.703e-10 ***
Residuals 23 155.26 6.75
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
reg$coefficients
(Intercept) X1
12.26 3.70
现在通过将 X1 转换为因子来进行常规方差分析(因子/定性变量的平均方差分析)。
myd$X1f <- as.factor (myd$X1)
regf <- lm(Y1~X1f, data=myd)
anova(regf)
Analysis of Variance Table
Response: Y1
Df Sum Sq Mean Sq F value Pr(>F)
X1f 4 742.16 185.54 38.02 4.424e-09 ***
Residuals 20 97.60 4.88
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
您可以看到更改后的 X1f Df 在上述情况下为 4 而不是 1。
与定性变量的方差分析相比,在我们进行回归分析的定量变量的背景下 - 方差分析 (ANOVA) 由计算组成,这些计算提供有关回归模型中可变性水平的信息,并构成显着性检验的基础。
基本上 ANOVA 测试零假设 beta = 0(替代假设 beta 不等于 0)。在这里,我们进行 F 检验模型解释的变异性与误差(残差)的比率。模型方差来自您拟合的线所解释的量,而残差来自模型未解释的值。显着的 F 表示 beta 值不等于 0,表示两个变量之间存在显着关系。
> anova(reg1)
Analysis of Variance Table
Response: Y
Df Sum Sq Mean Sq F value Pr(>F)
X 1 81.719 81.719 6.3331 0.0656 .
Residuals 4 51.614 12.904
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
在这里,我们可以看到高相关性或 R 平方但仍然不显着的结果。有时你可能会得到一个低相关性仍然显着相关性的结果。在这种情况下关系不显着的原因是我们没有足够的数据(n = 6,残差 df = 4),所以应该看 F 分布,分子 1 df vs 4 分母 df。所以这种情况我们不能排除斜率不等于0。
让我们看另一个例子:
X = c(4,5,8,6,2, 5,6,4,2,3, 8,2,5,6,3, 8,9,3,5,10)
Y = c(3,6,9,8,6, 8,6,8,10,5, 3,3,2,4,3, 11,12,4,2,14)
reg3 <- lm(Y~X)
anova(reg3)
Analysis of Variance Table
Response: Y
Df Sum Sq Mean Sq F value Pr(>F)
X 1 69.009 69.009 7.414 0.01396 *
Residuals 18 167.541 9.308
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
此新数据的 R 平方值:
summary(reg3)$r.squared
[1] 0.2917296
cor(X,Y)
[1] 0.54012
尽管相关性低于以前的情况,但我们得到了一个显着的斜率。更多数据会增加 df 并提供足够的信息,以便我们可以排除斜率不等于零的零假设。
让我们再举一个负相关的例子:
X1 = c(4,5,8,6,12,15)
Y1 = c(18,16,2,4,2, 8)
# correlation
cor(X1,Y1)
-0.5266847
# r-square using regression
reg2 <- lm(Y1~X1)
summary(reg2)$r.squared
0.2773967
sqrt(summary(reg2)$r.squared)
[1] 0.5266847
由于值是平方根,因此此处不会提供有关正面或负面关系的信息。但是量级是一样的。
多元回归案例:
多元线性回归试图通过将线性方程拟合到观测数据来模拟两个或多个解释变量与响应变量之间的关系。上面的讨论可以扩展到多元回归的情况。在这种情况下,我们在术语中有多个 beta:
y = a + beta1X1 + beta2X2 + beta2X3 + ................+ betapXp + error
Example:
X1 = c(4,5,8,6,2, 5,6,4,2,3, 8,2,5,6,3, 8,9,3,5,10)
X2 = c(14,15,8,16,2, 15,3,2,4,7, 9,12,5,6,3, 12,19,13,15,20)
Y = c(3,6,9,8,6, 8,6,8,10,5, 3,3,2,4,3, 11,12,4,2,14)
reg4 <- lm(Y~X1+X2)
让我们看看模型的系数:
reg4$coefficients
(Intercept) X1 X2
2.04055116 0.72169350 0.05566427
因此,您的多元线性回归模型将是:
Y = 2.04055116 + 0.72169350 * X1 + 0.05566427* X2
现在让我们测试 X1 和 X2 的 beta 是否大于 0。
anova(reg4)
Analysis of Variance Table
Response: Y
Df Sum Sq Mean Sq F value Pr(>F)
X1 1 69.009 69.009 7.0655 0.01656 *
X2 1 1.504 1.504 0.1540 0.69965
Residuals 17 166.038 9.767
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
这里我们说 X1 的斜率大于 0,但我们不能判断 X2 的斜率大于 0。
请注意,斜率不是 X1 和 Y 或 X2 和 Y 之间的相关性。
> cor(Y, X1)
[1] 0.54012
> cor(Y,X2)
[1] 0.3361571
在多变量情况下(其中变量大于两个部分相关性开始发挥作用。部分相关性是两个变量的相关性,同时控制第三个或更多其他变量。
source("http://www.yilab.gatech.edu/pcor.R")
pcor.test(X1, Y,X2)
estimate p.value statistic n gn Method Use
1 0.4567979 0.03424027 2.117231 20 1 Pearson Var-Cov matrix
pcor.test(X2, Y,X1)
estimate p.value statistic n gn Method Use
1 0.09473812 0.6947774 0.3923801 20 1 Pearson Var-Cov matrix
方差分析 (ANOVA) 和回归实际上非常相似(有人会说它们是同一回事)。
在方差分析中,通常您有一些类别(组)和一个定量响应变量。您计算总体误差量、组内误差量和组间误差量。
在回归中,您不必再有组,但您仍然可以将误差量划分为总体误差、回归模型解释的误差量和回归模型未解释的误差。回归模型通常使用 ANOVA 表显示,这是查看模型解释了多少变化的简单方法。