相关性
当我们在衡量两个变量的相关关系的时候,我们可以用协方差来进行描述。协方差的公式为
协即协同的意思,X的方差是与的乘积的期望,如今把一个换成,其形式接近方差,又有二者的参与,由此得出协方差的名称。
虽然协方差能反映两个随机变量的相关程度(协方差大于0的时候表示两者正相关,小于0的时候表示两者负相关),但是协方差值的大小并不能很好地度量两个随机变量的关联程度,例如,现在二维空间中分布着一些数据,我们想知道数据点坐标X轴和Y轴的相关程度,如果X与Y的相关程度较小但是数据分布的比较离散,这样会导致求出的协方差值较大,用这个值来度量相关程度是不合理的。
所以,为了更好地度量两个随机变量的相关程度,引入了Pearson相关系数,其在协方差的基础上除以了两个随机变量的标准差,容易得出,pearson是一个介于-1和1之间的值,当两个变量的线性关系增强时,相关系数趋于1或-1;当一个变量增大,另一个变量也增大时,表明它们之间是正相关的,相关系数大于0;如果一个变量增大,另一个变量却减小,表明它们之间是负相关的,相关系数小于0;如果相关系数等于0,表明它们之间不存在线性相关关系。
皮尔逊相关系数(Pearson Correlation)公式如下:
上面应该表示的是总体的相关系数。我们会将样本的相关系数用r表示。我把 r 的公式写的再详细一点。
R语言里面的协方差和相关系数的函数分别是cov
和 cor
。输入参数可以是向量,也可以是矩阵,如果是矩阵,将对每个column两两计算。比如我们用鸢尾花(iris)的数据集做测试。
# 因为第5列是字符串,所以不算相关性。
> cor(iris[,-5])
Sepal.Length Sepal.Width Petal.Length Petal.Width
Sepal.Length 1.0000000 -0.1175698 0.8717538 0.8179411
Sepal.Width -0.1175698 1.0000000 -0.4284401 -0.3661259
Petal.Length 0.8717538 -0.4284401 1.0000000 0.9628654
Petal.Width 0.8179411 -0.3661259 0.9628654 1.0000000
我觉得考试的时候,相关系数也会让你算的。
好像去年的题目里有要做相关系数的检验,但老师上课也没讲,作业也没提。反正如果要检验的话,就用 cor.test()吧相关系数也常称为线性相关系数。这是因为,实际上相关系数并不是刻画了X,Y之间一般关系的程度,而只是线性关系的程度。
除了皮尔逊相关系数,还有Sperman相关系数,其刻画的是秩次相关。如果你?cor,会在method那边看到spearman。不过cor默认的相关系数计算是皮尔逊。
参考文章:
https://www.zhihu.com/question/19734616 TimXP的答案
一元线性回归
参数模拟
一元线性回归的方程写为
分别代表线性模型的截距和斜率,被称为模型的系数(coefficient)或者参数(parameter)。e是误差项。误差项满足一个正态分布,。
但由于模型的参数是未知的,我们就需要用训练数据来估计模型参数,我们可以更根据给定的 (x,y) 来估计出模型参数。这样,我们就可以根据给定的 x 来估计 y 了。
关于误差项的问题,暂时不在这里深究了。
但我们实际上可以选择无数的模型参数,我们怎么选择最好的那一组模型呢。我们依据的准则就是希望我们模拟出来的那根直线尽可能地靠近数据点(接近程度,closeness)。衡量接近程度的方法有许多,但对于线性回归而言,最常用的还是残差平方和最小化准则(最小二乘法,least squares)。
对于残差平方和最小化,我们需要一些推导和定义的步骤
-
首先我们先定义残差(residual):
-
残差平方和( residual sum of squares,RSS,Res SS)
-
最后根据一番神奇的推导╮(╯_╰)╭,我们就可以算出两个参数的值了。
稍微指代一下。
那么就变成了
模型的显著性检验(模型的意义)
在利用最小二乘法得到了参数之后,我们就可以建立一个模型了。之后需要做的一步就是检验这个模型是否具有显著性,或者说我们所谓的模型是否有意义。即(x,y)之间是否具有线性关系。
当然,在讲下面的假设检验之前,再次引入一些概念。
-
总平方和( total sum of square,Total SS,TSS),即我们前面所说的。指的是在执行回归分析之前响应变量(因变量)中的固有变异性
-
回归平方和(regression sum of squares,Reg SS 或者 explained sum of squares,ESS),即响应变量执行回归分析之后,被解释的变异性。计算是利用总平方和减去残差平方和。
-
残差平方和:现在我们对于残差平方和有了更深的认识,即其测量的是进行回归之后仍无法解释的变量。
在讲完概念之后,我们就可以做假设检验了。
假设检验第一步首先是建立零假设和备则假设。
显著性
这里我们用的是 F 统计量来做假设检验。其实原理跟之前的ANOVA比较像,ANOVA比较的是组间差异和组内差异,而线性回归的统计检验比较的是回归平方和 和 残差平方和的大小。同样的,我们还要考虑自由度的问题。所以最后 F 统计量的式子为
这里的 p 是预测变量的数目,n是数据点的数目。这里写成这样是方便后面的多元线性回归再写一遍。
因为我们只有一个预测变量,那么 F 统计量就是
前面忘说了,我们一般将MS称为Mean Squre,即均方。
参数的准确性
我们之前提到用点估计来估计总体参数并不是那么的准确。这里也是同理,我们用模型参数 来估计真实的参数也不是那么地准确。我们之前用样本均值的抽样分布来估计我们的样本均值距离我们的真值有多远,同时构建置信区间。这里我们也可以用同样的方法。
在之前构建样本均值的抽样分布中,最重要的一个概念就是标准误(standard error,se)。这里我们也需要构建两个参数的标准误,利用下面的公式
可以发现,我们这里未知的就是 这个值了。这个值的计算是 ,但通常是未知的。我们就需要用残差标准误(Residual Standard Error)来估计。
跟上面一样,方便后面的多元线性回归再写一遍。由于我们就一个变量,所以
标准误差已经得到了,我们可以用来构建置信区间,也可以用来做参数检验了。这里不做演示,因为最后 lm 函数会输出一切。我这里只是把 t 统计量写下。
假设检验为:
然后 t 统计量就是:
老样子,这里就一个参数是,所以是 t(n-2)。
这里的t检验其实等价于我们之前的F检验,因为就一个参数,我们F检验也是检验是否等于0。
但到了后面的多元线性回归,我们利用 t 检验做的是一个个做参数的统计检验,而 F 检验检验的则是一个整体模型的显著性。
评估模型的准确性
一旦我们接受了备则假设,即这个模型的线性关系是显著的。那我们就会想要量化模型拟合数据的程度。判断模型拟合的准确性主要有两个相关的量化指标:残差标准误和统计量
残差标准误
我们之前已经提到过了残差标准误的计算方法。(残差标准误其实是对误差项的标准偏差的估计。大体而言,它是响应值偏离真正的回归直线的平均量。这段话不看也行╮(╯_╰)╭。)
再次提下残差标准误的计算:
统计量
RSE提供了一个模型对数据拟合的绝对测量方法。但其是一个绝对值,并不能很直观地展现模型拟合的能力。所以我们就会用统计量来展现。
里面的每个元素我们前面都已经讲过了。总体而言,统计量测量的是Y的变异中能被X所解释的部分所占比例。接近1,说明回归能解释响应变量的大部分变异。
统计量衡量了X和Y之间的线性关系。其实我们如果展开了统计量的式子,会发现(皮尔逊相关性)。可以说的通用形式,因为相关系数只能用于单变量的情况,如果是多元线性回归,就只能用统计量了。
相关性和一元线性回归关系
之前我们提到过相关性
指代一下,就是
然后一元线性回归的是
那么
线性回归的R语言实现我放在后面的多元再说。
网友评论