6.数据分析--描述性统计量和线性回归

author author     2022-12-07     535

关键词:

昨天分享了描述性统计量相关内容,今天把昨天剩下的部分写完,

昨天文章链接:

​6.数据分析(1) --描述性统计量和线性回归(1)​

前言:在针对非物理信号分析的时候,例如用户数、用户经常出入的地点、疾病感染人数等,这部分涉及到数据分析知识,本文分享一下Matlab常用的描述性统计量函数和线性回归的基本应用。


1、线性回归简介

数据模型明确描述预测变量与响应变量之间的关系。线性回归拟合模型系数为线性的数据模型。最常见的线性回归类型是最小二乘拟合,它可用于拟合线和多项式以及其他线性模型。

在对各对数量之间的关系进行建模之前,最好进行相关性分析,以确定这些数量之间是否存在线性关系。

如果需要使用非线性模型拟合数据,请转换变量以使关系变成线性关系。或者尝试使用nlinfit 函数、lsqcurvefit 函数直接拟合非线性函数。


2、简单线性回归

线性回归对一个因变量(即响应变量)y 与一个或多个自变量(即预测变量)x1,...,xn之间的关系进行建模。简单线性回归使用以下关系方程:

y=β0+β1x+ϵ

其中,β0是 y 轴截距,β1是斜率(即回归系数),ϵ 是误差项。

首先确定一组(n 个)x 和 y 的观测值,以 (x1,y1), (x2,y2), ..., (xn,yn) 形式给出。对这些值应用简单线性回归关系方程,构成一个线性方程组。这些方程以矩阵形式表示如下:


假设


现在关系变为 Y=XB。

load x.mat
load y.mat
b1 = x\\y
b1 =1.372716735564871e-04

b1 是斜率或回归系数。线性关系为 y=β1x=0.0001373x。

yCalc1 = b1*x;
scatter(x,y)
hold on
plot(x,yCalc1)
grid on


6.数据分析(1)

在模型中加入 y 轴截距β0 以改进拟合,即y=β0+β1x。用一列 1 填补 x 并使用 \\ 运算符计算 β0。

X = [ones(length(x),1) x];
b = X\\y

此结果表示关系 y=β0+β1x=142.7120+0.0001256x。

yCalc2 = X*b;
plot(x,yCalc2,--)
legend(原始数据,方法1,方法2,Location,best);

6.数据分析(1)

如图所示,两个拟合非常相似。判断更佳拟合的一种方法是计算决定系数 R2。R2 用于度量模型能够在多大程度上预测数据,其值介于 0 和 1 之间。R2 的值越高,模型预测数据的准确性越高。

其中,ˆy 表示 y 的计算值,‾y 是 y 的均值,R2 定义为

6.数据分析(1)

通过比较 R2 的值,找出两个拟合中较好的一个。如 R2 值所示,包含 y 轴截距的第二个拟合更好。

Rsq1 = 1 - sum((y - yCalc1).^2)/sum((y - mean(y)).^2)
Rsq2 = 1 - sum((y - yCalc2).^2)/sum((y - mean(y)).^2)


Rsq1 =
0.822235650485566
Rsq2 =
0.838210531103428

3、残差与拟合优度


残差是响应变量(因变量y)的观测值与模型的预测值之间的差。当拟合的模型适合数据时,残差接近独立随机误差。即,残差分布不应该呈现出可辨识的模式。

利用线性模型产生拟合需要尽量减小残差平方和。该最小化的结果即为最小二乘拟合。


拟合优度的一个度量是决定系数 或 R2。该统计量表明通过拟合模型得到的值与模型可预测的因变量的匹配程度。拟合模型的残差方差定义 R2:

R2 = 1 – SSresid / SStotal

SSresid 是与回归的残差的平方和。SStotal 是与因变量均值的差的平方和(总平方和)。

3.1 通过多项式拟合计算 R2

从多项式回归的系数得出 R2,以确定线性模型对 y 的方差的解释率,

利用 polyfit 计算从 x 预测 y 的线性回归:

p = polyfit(x,y,1)
p =
1.5229 -2.1911

p(1) 是斜率,p(2) 是线性预测变量的截距。

调用 polyval 以使用 p 预测 y,调用结果 yfit:

yfit = polyval(p,x);

使用 polyval,在本例中拟合方程为:

yfit = p(1) * x + p(2);

将残差值计算为有符号数的向量:

yresid = y - yfit;

计算残差的平方并相加,以获得残差平方和:

SSresid = sum(yresid.^2);

通过将观测次数减 1 再乘以 y 的方差,计算 y 的总平方和:

SStotal = (length(y)-1) * var(y);

计算 R2:

rsq = 1 - SSresid/SStotal
rsq =
0.8707

这表明,线性方程 1.5229 * x -2.1911 可预测变量 y 中方差的 87%。

3.2 计算多项式回归的调整 R2

通常可通过拟合更高次多项式,减少模型中的残差。当您添加更多项时,会增加决定系数 R2。您可获得更接近数据的拟合,但代价是模型更为复杂,此时需要对该统计量R2进行改进,调整 R2 中包括了一项对模型中项数的罚值。因此,调整 R2 更适合比较不同的模型对同一数据的拟合程度。调整 R2 定义如下:

R2adjusted = 1 - (SSresid / SStotal)*((n-1)/(n-d-1))

其中 n 是数据中的观测值数量,d 是多项式的次数。(线性拟合的阶数为 1,二次拟合为 2,三次拟合为 3,依此类推。)

调用 polyfit 生成三次拟合,以从 x 预测 y:

p = polyfit(x,y,3)
p =
-0.0003 0.0390 0.2233 6.2779

p(4) 是三次预测变量的截距。

调用 polyval 以使用 p 中的系数预测 y,将结果命名为 yfit:

yfit = polyval(p,x);

polyval 计算显式方程,手动输入则如下所示:

yfit = p(1) * x.^3 + p(2) * x.^2 + p(3) * x + p(4);

计算残差值:

yresid = y - yfit;

计算残差的平方并相加,以获得残差平方和:

SSresid = sum(yresid.^2);

通过将观测次数减 1 再乘以 y 的方差,计算 y 的总平方和:

SStotal = (length(y)-1) * var(y);

计算三次拟合的简单 R2:

rsq = 1 - SSresid/SStotal
rsq =
0.9083

最后,计算调整 R2 :

rsq_adj = 1 - SSresid/SStotal * (length(y)-1)/(length(y)-length(p))
rsq_adj =
0.8945

调整 R2 (0.8945) 小于简单 R2 (0.9083)。后者可以更可靠地估计多项式模型的预测能力。


在许多多项式回归模型中,对方程添加次数会使 R2 和调整 R2 都增加。在上面的示例中,与线性拟合相比,使用三次拟合使这两种统计量都有所增加。线性拟合并非始终差于更高阶拟合:更复杂拟合的调整 R2 也有可能低于更简单的拟合,此时表明增加复杂度并不适当。此外,虽然基本拟合工具生成的多项式回归模型的 R2 值始终在 0 和 1 之间变动,但某些模型的调整 R2 可能为负值,这表明该模型的项太多。

查找 p 值和 z 统计量以及 OLS 线性回归

】查找p值和z统计量以及OLS线性回归【英文标题】:Findingp-valueandzstatisticsalongwiththeOLSLinearregression【发布时间】:2021-11-2611:33:32【问题描述】:我可以从线性回归中找到系数和截距,但找不到合适的方法来获取相应变量趋势的p值... 查看详情

回归分析r语言--多元线性回归

...测predict():在使用模型进行预测之前,您需要评估模型的统计显着性。通过显示模型的统计摘要,可以轻松地进行检查。显示模型的统计摘要,如下所示:摘要输出显示6个​​组件,包括:解释多元回归分析的第一步是在... 查看详情

6.逻辑归回

...:是一种广义的线性回归分析模型。线性回归:利用数理统计中回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法。 2.自述一下什么是过拟合和欠拟合?过拟合:太过贴近于训练数据的特征了... 查看详情

6.逻辑回归

...,疾病自动诊断,经济预测等领域。线性回归:利用数理统计中回归分析,来确定两种或两种以上变量间相互依赖的定量百关系的一种统计分析方法。常运用于数学、金融、趋势线、经济学等领域。2.自述一下什么是过拟合和欠... 查看详情

6.逻辑回归

...一种广义的线性回归分析模型,而逻辑回归多是通过数理统计分析两种或两种以上变量间的依赖关系。即线性回归偏向于通过分析两种或两种以上的依赖变量进行预测,逻辑回归则是通过许多变量(包括非线性变量)进行的一种... 查看详情

6.逻辑回归

...离散问题2.自述一下什么是过拟合和欠拟合?过拟合是在统计模型中,由于使用的参数过多而导致模型对观测数据(训练数据)过度拟合,以至于用该模型来预测其他测试样本输出的时候与实际输出或者期望值相差很大的现象。... 查看详情

ml_简单线性回归

1.前提介绍:为什么需要统计量?    统计量:描述数据特征    1.1集中趋势衡量      1.1.1均值(平均数、平均值)(mean)              62912      (6+2+9+1+2)/5=4      1.1.2中位数(... 查看详情

逻辑归回

...一种广义的线性回归分析模型。 线性回归:利用数理统计中回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法。   2.自述一下什么是过拟合和欠拟合? (1)过拟合:其实就是所... 查看详情

机器学习算法---线性回归

一、线性回归算法的简介   线性回归是利用数理统计中回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法,运用十分广泛。其表达形式为y=w‘x+e,e为误差服从均值为0的正态分布。  回归... 查看详情

cdalevel1方差分析和一元线性回归分析

参考技术ACDAlevelI考试大纲Part1数据分析概念与统计学基础占考试比例的30%;共分5个知识方向,考试占比分布如下:数据分析概念,方法论流程5%描述性统计分析12%推断性统计分析8%方差分析2%一元线性回归分析3%;Part1的部分前面... 查看详情

多元线性回归分析浅谈

...析方法说白了就是处理多个变量相互依赖关系的一种数理统计方法(之前并没学过数理统计,恶补了一下,挺爽的~)。这篇随笔中主要运用了线性代数和数理统计知识,欢迎各方大佬指正,错误之处,不胜感激。 一.建立模型 ... 查看详情

机器学习之线性回归岭回归lasso回归(代码片段)

...下降法:利用梯度下降不断迭代寻求最优超平面(详见《统计学习方法》感知机)6、代码实现6.1、Python代码实现:importnumpyasnpdefloadDataSet():#构造数据集x=n 查看详情

机器学习之逻辑回归

...归是一种广义的线性回归分析模型而线性回归是利用数理统计中回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法。②应用不同,逻辑回归常用于数据挖掘,疾病自动诊断,经济预测等领域而线性... 查看详情

理解线性回归

   线性回归是利用数理统计回归分析,来确定变量之间的依赖关系的统计分析方法。如何理解呢,其实就是要寻找数据规律,以便根据数据规律,对新的变量条件进行结果推断。放到数学中来,就是把这个规律看成一... 查看详情

理解线性回归

   线性回归是利用数理统计回归分析,来确定变量之间的依赖关系的统计分析方法。如何理解呢,其实就是要寻找数据规律,以便根据数据规律,对新的变量条件进行结果推断。放到数学中来,就是把这个规律看成一... 查看详情

线性回归学习笔记

....5sklearn版本:0.18.2tensorflow版本:1.2.1线性回归是利用数理统计中回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法,运用十分广泛。其表达形式为y=w‘x+e,e为误差服从均值为0的正态分布。根据变量... 查看详情

数学建模暑期集训6:用spss对数据进行多元线性回归分析

...析->回归->线性进入设置勾选需要的参数:4.查看统计量模型汇总表:R方代表线性拟合程度,越接近1越好;德宾-沃森指数表示因变量之间的独立性,越接近2越好;F越大,说明回归方程越显著;... 查看详情

小工具,大作用:教你如何利用excel函数linest做回归分析

...EXCEL自带的统计函数LINEST、INDEX进行手工计算,再通过EXCEL数据分析工具包进行自动计算。由于很多复杂的EXCEL自动化程序,需要用到自动化计算,EXCEL数据分析工具并不适用自动计算,反而EXCEL统计函数是很容易实现批量自动计算... 查看详情