ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

回归分析算法基本原理及编程

2021-07-12 22:03:02  阅读:320  来源: 互联网

标签:关系 假设检验 基本原理 回归 编程 回归方程 算法 拟合 我们


回归分析算法基本原理及编程

回归和相关性分析的区别?

相关性分析只是判定变量和变量之间有无关联

回归分析构建关系和关系之间具体的关系式子,用一个函数或者方程来拟合这个关系式子

image-20210712182803590

采用任何模型都要有原因

回归方程 是不是和所有的X都产生关系呢?

逐步回归方法是一种挑选哪些因素和因变量产生关系。

要突出模型的缺点。

一 、一元线性回归

1.数学模型

image-20210712183441634

一元方程就可以构建出来,哪一条线才是我们回归拟合度最高的呢?

image-20210712183535496

一元线性方程中只有两个未知参数a、b

Question1:只需要两组参数,方程就可以求出。但表格中已经给了16组,这样会导致求a和b浪费,肯定会存在多余解,我们希望哪一个解是最好的?

我们拟合的方程应该和我们实际拟合的差越小越好。

Question:2:如何和我们的a与b联系起来呢?

我们可以用最小二乘。

image-20210712183852438 image-20210712183930030

你肯定能够找出β0和β1,但是你如何确定他是我们要找的,我们一定要对它做假设检验。

可以做预测和控制。回归有两种主要用途?做预测和控制。

1.最小二乘法

image-20210712184240855

如果我们的模型估计量β0和β1已经知道了,我们可以拿出来算算预测值y和我们真实值的差大不大,如果差值很小,那么就是正确的。

image-20210712184444921 $$ Q=\sum_{i=1}^{n}\left(Y_{i}-\hat{Y}_{i}\right)^{2}=\sum_{i=1}^{n}\left(Y_{i}-\left(\hat{\beta}_{0}+\hat{\beta}_{1} X_{i}\right)\right)^{2} $$

$$
\hat{Y} = {\beta}_0+{\beta}_1*x
$$

$$
i = 1..n
$$

我们可以计算出n个误差。让这个方程Q求得最小。

Question1:如何求一个二次方程的极值?

求导即可。导函数等于零即为极函数存在的位置。

image-20210712191656933 image-20210712192231370

image-20210712192258594

Question:函数只有什么才能求导?

连续才能求导。

question:不连续怎么求导?

虽然不连续,但是我们依然可以把xy这些点的值代入到这里

image-20210712192427991

得到离差形式的估计值:

image-20210712192524340 image-20210712192550865

2.检验预测和控制

2.1回归方程的显著性检验

Question:什么是显著性水平?

估计总体参数落在某一个区间可能犯错的一个概率

Question:显著性水平一般取多少?

0.05,因为在一个正态分布中两个标准差的概率是百分之95,往外扩的概率是非常小的,但是如果很小的事情发生了,我们就拒绝这个。这就是假设检验。通过小规模的统计发现小规模的事件发生的概率。

image-20210712193327762 image-20210712193343081

0假设检验:如果β1=0就说明y和x无关,说明不存在回归方程。如果我们通过方法把0假设检验pass掉了,就说明这个假设检验存在一个回归方程。假设0假设检验通过了,就说xy二者无关系。

方差齐次性检验:通过分析发现样本方差和总体的方差服从F分布。n1是分子自由度,n2是分母自由度。 n1 = k,n0 = n1-k-1.如果你求得的F值大于我们在这个自由度下面最大的F值。就说明

本来大于这个F1-α的概率就是很小的,你求得的居然比这个还大,就说明之前的假设是不对的。我们就可拒绝。“小概率事件是几乎不可能发生的,但是你通过一次实验就出现了这种小概率事件,你原来所做的假设是不合理的。”

image-20210712193931135

举个例子:比如我们学校考上清华北大是不可能的,690分是5%的概率。但是我们有几个同学考了700,720.我们就认为这种小概率的事件发生了,就说明我们之前的假设是错误的,我们学校考上清华北大是可能的。

image-20210712194730369

如果拒绝了,说明你的回归方程非常的好。

单侧检验双侧检验在1-α的条件下,α一般是取95%。

image-20210712194532946 image-20210712194351254 image-20210712194814163 image-20210712195104912

image-20210712195200339

r没有表,构建与F的关系

image-20210712195227353

2.2回归系数的置信区间

image-20210712195432134

方差的置信区间:

image-20210712195626907

2.3检测与控制

image-20210712195802520

预测范围:

image-20210712200313287 image-20210712200541397

2.4可线性化的一元非线性回归( 曲线回归)

image-20210712200610039

发现单纯用线性方程不合理,所以我们需要非线性方程

image-20210712200728045

这是一个一元非线性方程存在吗?

y = 1/x 或者 y = ex 或者y = sinx

线性方程,就是因变量自变量之间的关系不是线性的关系,这类方程很多,例如平方关系、对数关系、指数关系、三角函数关系等等。

利用一元非线性来拟合的时候,

如果有一条曲线如下图所示,拟合度会更高一些,肯定比我的线性要好的多。

image-20210712201111014

我们在拟合的时候首先要找出一个符合哪一个非线性走向。

image-20210712201142639 image-20210712201218371 image-20210712202544817 image-20210712202755673 image-20210712202828765 image-20210712202922819 image-20210712202936496 image-20210712202944391 image-20210712203006778 image-20210712203024622 image-20210712203052061 image-20210712203124403 image-20210712203143109 image-20210712203215309

二、多元线性回归

1.数学模型及定义

image-20210712203541430

2.模型参数估计

image-20210712203628256 image-20210712203639203 image-20210712203831097

令 x2 = x2 x3 = x3 ... 变为多元线性回归模型

3.多元线性回归中的检验与预测

3.1检验

image-20210712204055896

之前这个地方一元的时候是image-20210712204312165,因为一元线性回归方程只有一个未知量所以说k= 1,即 n - k -1 = n- 2。但是我们现在是多元的。

image-20210712204510404

3.2预测

这时回归方程已经建立起来了,所以此时你给我一组x我就能够求出一个y来。可以做到预测了。

预测也有一个区间范围。

image-20210712204646175

4.逐步回归分析

我们希望我们的x1 x2 x3都和我们的y有一个关联。

给了你们一组指标之后,让你们 找找他们之间的联系,我们经常做的是把这一组参数直接建立联系,但情况是y 不一定和x1和x2都有关系,你没有对他们进行做分析找出他们之间是否有关系就建立方程,这是错误的。

最好的是我们选和我们的Y都能够产生关系的因子。

image-20210712211036819 image-20210712211503470

来一个我做一次,每一次都要对当前的自变量做检测。

image-20210712212736354

image-20210712213127312

image-20210712213154596

image-20210712213215737

image-20210712213340765

x = [143 145 147 149 150 153 154 155 156 157 158 159 160 162 164]';
X = [ones(16,1) x];
Y = [88 85 88 91 92 93 95 95 96 98 97 96 98 99 100 102]';
[b,bint,r,rint,stats] = regress(Y,X)
//结果
b =
  -15.6330	//β0
    0.7173	//β1
bint =
  -33.1933    1.9272  //β0置信区间
    0.6031    0.8315	//β1置信区间
r =
    1.0588
   -3.3758
   -1.0931
    1.1896
    0.7550
    1.0377
    0.8858
    0.1685
    0.4512
    1.7339
    0.0166
   -1.7007
   -0.4180
   -0.1353
   -0.5699
   -0.0045
rint =
   -1.4183    3.5360
   -5.1067   -1.6448
   -3.7180    1.5318
   -1.4588    3.8380
   -2.0087    3.5187
   -1.7143    3.7898
   -1.9178    3.6895
   -2.6838    3.0208
   -2.3856    3.2880
   -0.9096    4.3774
   -2.8092    2.8424
   -4.3154    0.9140
   -3.1880    2.3520
   -2.8852    2.6146
   -3.2216    2.0818
   -2.5762    2.5672
stats =
    0.928//r^2  181.4408 //F值远远超过下表4.60,肯定是显著的   0.0000    1.7291

image-20210712214604911

image-20210712214908521

接着输入,可以看出第二个的结果不是很好

rcoplot(r,rint)//残差图
image-20210712214840245

标签:关系,假设检验,基本原理,回归,编程,回归方程,算法,拟合,我们
来源: https://www.cnblogs.com/MyBlogForRecord/p/15004158.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有