Answers:
首先,他说他将进行回归分析,然后向我们展示方差分析。为什么?
方差分析(ANOVA)只是一种比较模型解释的方差与模型解释的方差的技术。由于回归模型具有解释性和无法解释的成分,因此可以将ANOVA应用于它们。在许多软件包中,ANOVA结果通常通过线性回归进行报告。回归也是一种非常通用的技术。实际上,t检验和方差分析都可以回归形式表示。它们只是回归的特例。
例如,这是样本回归输出。结果是某些汽车的每加仑英里数,独立变量是汽车是国内还是国外:
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
让我们使用与上述相同的示例并使用一个常数say 来查看比例缩放对回归斜率和相关性的影响。X
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
该相关性保持不变DO R平方。
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)。
什么是方差分析,为什么我们要进行方差分析?
方差分析是一种我们比较方差以做出决策的技术。响应变量(称为Y
)是定量变量,而X
可以是定量的或定性的(具有不同水平的因子)。双方X
并Y
可以在数量上的一个或多个。通常我们说定性变量为方差分析,回归上下文中的方差分析很少讨论。可能这是您困惑的原因。定性变量(因子(例如组))的零假设是组的平均值无差异/相等,而在回归分析中,我们测试线的斜率是否显着不同于0。
让我们看一个示例,其中X和Y都是定量的,但我们可以同时进行回归分析和定性因子ANOVA,但可以将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转换为因子来进行常规ANOVA(因子/定性变量的平均ANOVA)。
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测试零假设β= 0(替代假设β不等于0)。在这里,我们进行了F检验,即模型所解释的变异率与误差(残差)之间的关系。模型方差来自于您所拟合的线所说明的数量,而残差来自于模型未予说明的值。显着的F表示beta值不等于零,意味着两个变量之间存在显着的关系。
> 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的F分布。因此,在这种情况下,我们不能排除斜率不等于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表显示,这是查看模型解释多少变化的一种简便方法。