多元回归分析模型matlab,线性回归分析结论论文

2022年 10月 28日 发表评论
腾讯云正在大促:点击直达 阿里云超级红包:点击领取
免费/便宜/高性价比服务器汇总入口(已更新):点击这里了解
一个模型好不好,其实很好判断,直接找出真实标签和预测值的差异就行。在分类算法中,这种差异的衡量用一种角度来判断,那就是是否预测到了正确的分类,而对于回归类算法,有两种不同的解读来看待回归的结果:

是否能预测到较为正确的数值

是否拟合到了足够的信息

是否预测到了较为正确的数值

指标汇总:RSS,MSE,RMSE,MAE

1. RSS 残差平方和

RSS 衡量了预测值和真实值的差异,既是损失函数,也是回归类模型的评估指标之一。但是,RSS 是和 m 相关的,所以为了消除 m 的影响,引入了 MSE (Mean square error) 的概念。 2. MSE?均方误差

均方误差 MSE 是在 RSS 的基础上除以样本量,得到了每个样本的平均误差,这个平均误差就可以和我们标签的取值范围放在一起比较,以此获得一个较为可靠的评估依据。但是 MSE 的单位是 y 的平方,和 y 的的单位量纲仍不统一,所以,引入了 RMSE (Root mean square error). 3. RMSE?均方根误差 4. MAE?平均绝对误差

MAE?(Mean absolute error)?和 RMSE?的量纲是一样的,但一般来说 RMSE?>?MAE.

Question: RMSE/MSE?和 MAE 的区别

从意义上来讲, RMSE/MSE 是用来衡量真实值和预测值的偏差,MAE 能更好地反映真实值和预测值误差的实际情况。

MSE 对误差取了平方 (令 e = 真实值 - 预测值),因此,如果 e > 1,则 MSE 会进一步增大误差。如果数据中存在异常点,那么 e 值就会很大,而 e 则会远大于 |e|. 因此,相对于使用 MAE 计算损失,使用 MSE 的模型会赋予异常点更大的权重。所以,如果训练数据被异常点所污染,那么 MAE 就会更好用。

?此外,如下图,MAE 不可导,而且所有导数的绝对值都相同,优化时无法确定更新速度。也就是说,即使对于很小的损失值,梯度也很大,这样不利于模型的学习。而 MSE 在这种情况下表现就很好,MSE 损失的梯度随损失增大而增大,而损失趋于0时则会减小,这使得在训练结束时,使用 MSE 模型的结果会更精确。

是否拟合到了足够的信息对于回归类算法而言,只探索数据预测是否准确是不足够的。除了数据本身的数值大小外,我们还希望模型能够捕捉到数据的 规律,比如数据的分布,单调性等,而是否捕获了这些信息无法使用以上指标如 MSE/MAE 来衡量。

对于上图,其中红色线是我们的真实标签,而蓝色线是我们的拟合模型。这张图像上,前半部分的拟合非常成功,看上去我们的真实标签和我们的预测结果几乎重合,但后半部分的拟合却非常糟糕,模型向着与真实标签完全相反的方向去了。对于这样的一个拟合模型,如果我们使用 MSE 来对它进行判断,它的 MSE 会很小,因为大部分样本其实都被完美拟合了,少数样本的真实值和预测值的巨大差异在被均分到每个样本上之后,MSE就会很小。但这样的拟合结果必然不是一个好结果,因为一旦新样本是处于拟合曲线的后半段的,预测结果必然会有巨大的偏差,而这不是我们希望看到的。 所以,我们希望找到新的指标,除了判断预测的数值是否正确之外,还能够判断我们的模型是否拟合了足够多的,数值之外的信息。一般来说,方差越大,数据的离散程度就越大,信息量越多,而这个信息量不仅包括了数值的大小,还包括了我们希望模型捕捉的那些规律。所以为了衡量模型对数据上的信息量的捕捉,我们定义了 R-square (R 方) 来帮助我们:

y 是真实标签,? 是预测结果,y- 是平均值(原谅我打不出来这个符号),等式的分子如果除以 m 就是方差。方差的本质是任意一个 y 值和样本均值的差异,差异越大,这些值所带的信息就越多。在 R-squre 中,分子是真实值与预测值的差值,也就是模型没有没有捕获到的信息总量,分母是真实标签所带的信息量,也就是数据本来的信息总量。 所以 R-squre 衡量的是 1 -?模型没有捕获的信息量占总信息量的比例。因此,R-squre 越接近于1越好。

我们另外再接触几个概念

TSS?总离差平方和TSS (Total Sum of Squares) 也叫做 SST 总离差平方和,就是指真实标签 y 的离均差平方和,说明未考虑 x 与 y 的回归关系时,y 的总变异。

ESS?解释平方和 ESS (Explained Sum of Squares) 也叫做 SSR 回归平方和,它反映了在 y 的变异中,由于 x 和 y 的直线关系而使 y 的变异减少的部分,也就是当考虑 x (注意:x 不一定是一个变量,这里只是对自变量的指代) 这个因素时,因 x 导致 y 的变异程度减少的部分。ESS越大,证明自变量 x 对 y 的解释性就越强,回归效果也就越好。

RSS 残差平方和前面已经说过 RSS 的概念,这里用另外一种角度来再次解释下。RSS 反映的是除了 x 对 y 的线性影响之外,其它因素对 y 的变异程度的影响。也就是在总离差平方和 TSS 中无法用自变量 x 来解析的部分。RSS 越小,说明回归方程的估计误差越小。

而TSS = RSS + ESS?

将其代入?R-square 的公式,则有

意思就是我们的模型对真实的标签值 y 解释的程度。

线性回归的各种P值 1. R-square 的 p 值

在说 R-square 的 显著性之前,我们先聊下线性回归与方差分析之间的关系。

线性回归和方差分析还有关系?答案是肯定的。这里以一元线性回归为例,因为这样容易看懂。 对于随机设计的方差分析,它们其实一共也是两个变量,一个是分组变量,一个是分析的变量。比如,比较3种药物的降压效果,药物就是分组变量,有3个取值;血压值就是分析的变量。当然,对于方差分析来讲,分析变量一般都是连续型资料,而分组变量一般都是分类资料。我们再回过头看一下线性回归的形式,也应该发现, 最简单的线性回归也是两个变量,一个是因变量,一个是自变量。比如体重对肺活量的影响。 对于线性回归来讲,自变量和因变量都是连续型资料。如果将这线性回归中的两个变量与方差分析中的两个变量比较一下,可以发现他们是一致的。 方差分析中的分析变量实际上就是线性回归中的因变量,方差分析中的分组变量就是线性回归中的自变量。 这两个方法的目的都是为了看自变量(分组变量)对因变量(分析变量)的影响。比较一下,可以发现,线性回归和方差分析的结果变量是一样的,都是连续型资料,而自变量就不一样了,方差分析中是分类资料,而线性回归中是连续型资料。但他们都可以统一到一个大的范畴中,即一般线性模型。其实如果把方差分析的形式改一下,大家可能就更容易理解了。一般的方差分析的数据大都列成这样的形式:

如果A、B、C分别用1、2、3来表示,列成下面的格式:

怎么样,这种形式跟线性回归的形式差不多了吧?y 就是因变量,x 就是自变量。唯一与线性回归不同的地方是:线性回归中的x和y是一一对应的,而这里的x和y是一对多的,即1个x对应多个y值,但这不影响分析。其实即使在线性回归中,偶尔也会出现一对多的现象的。比如体重对肺活量的影响,如果有好几个人体重相同而肺活量不同,就出现了一对多的现象。这就跟方差分析更像了。

回过头来再说 R-square 的 显著性

方差分析在比较什么呢?就是在一定的自由度下,我们希望组间差异大于组内差异,组内差异一般视为误差部分。如果组间差异与组内差异相差不大时,我们就没有理由认为处理因素的效应有差异。而对于回归分析呢?如果解释平方和和残差平方和相差不大,也就是说解释的部分跟没有解释的部分差别不大,这就像我们用 y = y-(y 的均值),解释 y 一样,所以还不如不解释。再来对比下二者的统计量公式:

方差分析的统计量公式:

F =?MS 组间/MS 组内? MS组间 也称为组间均方,是组间的总变异 (每组样本均数减去总体样本均数的平方和) 除以自由度。这里的自由度为组别-1. MS组内也称组内均方,是组内的总变异 (每个样本减去其对应组别均数的平方和) 除以自由度。这里的自由度为总样本-组别数。由于同一组的处理因素相同,所以组内变异主要反映了随机误差。

线性回归的统计量公式:

F =?MSR/MSE是不是跟方差分析的统计量公式长得很像,这里的 R 是 regression 回归,E 是 error 误差。而 MSR = SSR / ( k - 1);MSE = SSE / (T - k)这里的 SSR 就是我们上面的 ESS 解释平方和,k 是自变量的个数,k-1 ?是它的自由度;SSE 是我们上面的 RSS 残差平方和,T 是样本总数,T-k 是它的自由度。那么 SSR 的自由度为什么是 k-1,SSE 的自由度为什么是 T - k 呢?总离差平方和 SST 可分解为回归平方和(SSR)与残差平方和(SSE)两部分。与这种分解相对应,相应自由度也可以被分解为两部分。SST 具有 T - 1个自由度。这是因为 y 均值的约束使其丢掉了一个自由度。由于回归函数中含有k个参数,也就是 k 个自变量的系数,而这 k 个参数受一个约束条件制约,所以 SSR 具有 k -1 个自由度。因为 SSE 中含有 T 个残差,这些残差值被 k 个参数所约束,所以 SSE 具有 T - k个自由度。所以,当计算完F值之后,根据表格得出 P 值就OK了。? 2. 回归系数?的 p 值一般使用T检验来推断回归系数是否为0. 检验的假设为:H 0:β i = 0H 1:β i ≠ 0α = 0.05,检验统计量为: t bi = b i? / S bi.? ? 其中,S bi 是第 i 个回归系数的标准误。 3. 校正 R-square根据前面的解释,R 方给出了目标变量的可变性程度,由模型或自变量解释。如果该值为0.7,则意味着自变量解释了目标变量中70%的变化。R方始终介于0和1之间。R方越高,说明模型解释的变化越多,反之亦然。 这个指标完成了评价线性回归模型的第二个问题:是否拟合到了足够的信息。R方统计并不完美。事实上,它有一个主要缺陷。 不管我们在回归模型中添加多少变量,它的值永远不会减少 (可以自行思考和实验下为什么永远不会减少)。也就是说,即使我们在数据中添加冗余变量,R方的值也不会减少。它要么保持不变,要么随着新的自变量的增加而增加。这显然没有意义,因为有些自变量在确定目标变量时可能没有用处。所以,引入了 Adjust R square 来处理了这个问题。公式: 在这里

n 表示数据集中的数据点数量

k 表示自变量的个数

R 代表模型确定的 R 方值

因此,如果 R 方在增加一个新的自变量时没有显著增加,那么校正 R 方值实际上会减少。 另一方面,如果增加新的自变量,我们看到R方值显著增加,那么调整R方值也会增加。

我们实验一下:

data x=c(1:20)^2, r=sample(1:1000,20))fit fit2 summary(fit)summary(fit2)

总体思路是我们用 y 作为因变量,x 作为自变量,可以看到,我们选的 y 和 x 还是有肉眼可见的相似程度的。我们之后又随机生成了一个变量 r.

首先,y ~ x 为第一次拟合;

然后,加入了随机变量 r,y ~ x + r

看下结果:?

可以看到,第一次拟合的 R 方为0.9435,第二次拟合的 R 方为0.9437,第二次的 R 方增加了一点点。而对于校正 R 方,第一次为0.9404,第二次为0.9371,降低了一些。这说明 r 作为一个随机变量,对 y 的解释性较差,不能带来额外的解释性,所以校正的 R 方能更好的体现多元变量的拟合性。我这个例子举得其实不是很好,因为 x 直接是 y 的平方,解释性较强,各位可以换个例子试验下。

最后放上一张图,看下大家读完推文后对这些指标认识了多少?

小咸鱼

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: