例子;

x=[143 145 146 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 93 95 96 98 97 96 98 99 100 102]'; [b,bint,r,rint,stats]=regress(Y,X) 得结果:b = bint = -16.0730 -33.7071 1.5612 0.7194 0.6047 0.8340 stats = 0.9282 180.9531 0.0000 即对应于b的置信区间分别为[-33.7017,1.5612]、[0.6047,0.834]; r2=0.9282, F=180.9531, p=0.0000 p<0.05, 可知回归模型 y=-16.073+0.7194x 成立. 这个是一元的,如果是多元就增加X的行数!

function [beta_hat,Y_hat,stats]=regress(X,Y,alpha)

% 多元线性回归(Y=Xβ+ε)MATLAB代码

%

% 参数说明

% X:自变量矩阵,列为自变量,行为观测值

% Y:应变量矩阵,同X

% alpha:置信度,[0 1]之间的任意数据

% beta_hat:回归系数

% Y_beata:回归目标值,使用Y-Y_hat来观测回归效果

% stats:结构体,具有如下字段

%      stats.fTest=[fV,fH],F检验相关参数,检验线性回归方程是否显著

%                   fV:F分布值,越大越好,线性回归方程越显著

%                   fH:0或1,0不显著;1显著(好)

%      stats.tTest=[tH,tV,tW],T检验相关参数和区间估计,检验回归系数β是否与Y有显著线性关系

%                   tV:T分布值,beta_hat(i)绝对值越大,表示Xi对Y显著的线性作用

%                   tH:0或1,0不显著;1显著

%                   tW:区间估计拒绝域,如果beta(i)在对应拒绝区间内,那么否认Xi对Y显著的线性作用

%      stats.TUQR=[T,U,Q,R],回归中使用的重要参数

%                  T:总离差平方和,且满足T=Q+U

%                  U:回归离差平方和

%                  Q:残差平方和

%                  R∈[0 1]:复相关系数,表征回归离差占总离差的百分比,越大越好

% 举例说明

% 比如要拟合 y=a+b*log(x1)+c*exp(x2)+d*x1*x2,注意一定要将原来方程线化

% x1=rand(10,1)*10;

% x2=rand(10,1)*10;

% Y=5+8*log(x1)+5.623*exp(x2)+1.2*x1.*x2+rand(10,1); % 以上随即生成一组测试数据

% X=[ones(10,1) log(x1) exp(x2) x1.*x2]; % 将原来的方表达式化成Y=Xβ,注意最前面的1不要丢了

% [beta_hat,Y_hat,stats]=mulregress(X,Y,0.99)

%

% 注意事项

% 有可能会出现这样的情况,总的线性回归方程式显著的(stats.fH=1),

% 但是所有的回归系数却对Y的线性作用却不显著(stats.tF=0),产生这种现象的原意是

% 回归变量之间具有较强的线性相关,但这种线性相关不能采用刚才使用的模型描述,

% 所以需要重新选择模型

%

C=inv(X'*X);

Y_mean=mean(Y);

% 最小二乘回归分析

beta_hat=C*X'*Y; % 回归系数β

Y_hat=X*beta_hat; % 回归预测

% 离差和参数计算

Q=(Y-Y_hat)'*(Y-Y_hat); % 残差平方和

U=(Y_hat-Y_mean)'*(Y_hat-Y_mean); % 回归离差平方和

T=(Y-Y_mean)'*(Y-Y_mean); % 总离差平方和,且满足T=Q+U

R=sqrt(U/T); % 复相关系数,表征回归离差占总离差的百分比,越大越好

[n,p]=size(X); % p变量个数,n样本个数

% 回归显著性检验

fV=(U/(p-1))/(Q/(n-p)); % 服从F分布,F的值越大越好

fH=fV>finv(alpha,p-1,n-p); % H=1,线性回归方程显著(好);H=0,回归不显著

% 回归系数的显著性检验

chi2=sqrt(diag(C)*Q/(n-p)); % 服从χ2(n-p)分布

tV=beta_hat./chi2; % 服从T分布,绝对值越大线性关系显著

tInv=tinv(0.5+alpha/2,n-p);

tH=abs(tV)>tInv; % H(i)=1,表示Xi对Y显著的线性作用;H(i)=0,Xi对Y的线性作用不明显

% 回归系数区间估计

tW=[-chi2,chi2]*tInv; % 接受H0,也就是说如果在beta_hat(i)对应区间中,那么Xi与Y线性作用不明显

stats=struct('fTest',[fH,fV],'tTest',[tH,tV,tW],'TUQR',[T,U,Q,R]);

matlab怎么建立一元线性回归方程,请问用MATLAB做一元非线性回归拟合,怎么做显著性检验呢?...相关推荐

  1. 一元线性回归方程最小二乘法矩阵处理

    用矩阵来解最小二乘法,借助MATLAB求解方程. 材料的抗剪强度与材料承受的正应力有关.对某种材料试验的数据如下: 假设正应力的数值是精确的. 设一元线性回归方程为y=kx+b. 建立矩阵: y = ...

  2. Python基于最小二乘法的一元线性回归方程

    基于最小二乘法的一元线性回归方程 要求 关于房价的,只需要一个自变量一个因变量 用到最小二乘,但不是封装好的函数,有算法的具体实现 原理 最小二乘法 我们以最简单的一元线性模型来解释最小二乘法.什么是 ...

  3. matlab怎么建立一元线性回归方程,MATLAB实现一元线性回归的多种方式

    1.引言回归分析,是对现有数据进行处理.从中发现有用信息的一种重要手段.而线性回归,特别是一元线性回归分析更是人们优先考虑采用的方式.基于此,本文就一元线性回归的MATLAB实现作了一番探讨,给出了多 ...

  4. 在oracle 通过sql实现一元线性回归方程

    一元线性回归是指通过线来拟合空间中的点来表示自变量和因变量之间的关系. 如何在知道这些点的情况下通过计算得出这条直线,进而在知道自变量情况下算出因变量,是本篇文档的目的. 首先来看下一元线性回归方程式 ...

  5. matlab一元线性回归分析_建模开讲:一元线性回归分析及SPSS软件实现

    主讲内容:一元线性回归分析及SPSS软件实现 主讲时间:2020年3月28日(周六)上午9:00 直播平台:腾讯课堂 主讲人:么彩莲 链接地址:点击下面的"阅读原文"可以获得直播地 ...

  6. 一元线性回归方程C语言实现

    之前没写对,尴尬,于是重新研究了一遍,啊,确实没写对·····大佬帮改了一下····· 首先来看看如何求线性回归方程公式http://www.gaosan.com/gaokao/263926.html ...

  7. c语言一元线性回归方程程序,C语言编程对实验数据进行一元线性回归处理

    1997年第3期 云南化工 55 计算机应用 C语言编程对实验数据进行一元线性回归处理 杨继红 尹家元 沈 勇 (云南大学化学系 昆明650091) 摘 要 用目前最有发展前景的C语言编程处理分析实验 ...

  8. 数据分析——最小二乘法建立线性回归方程(最简单的一元线性模型为例)

    概述 别看公式多,其实很简单 最小二乘法其实又叫最小平方法,是一种数据拟合的优化技术.实质上是利用最小误差的平方寻求数据的最佳匹配函数,利用最小二乘法可以便捷的求得未知的数据,起到预测的作用,并且是的 ...

  9. 利用excel表建立一元线性回归方程

    本功能需要使用Excel扩展功能,如果您的Excel尚未安装数据分析,请依次选择"工具"-"加载宏",然后选择加载"分析工具库"(2003版 ...

最新文章

  1. android Java BASE64编码和解码一:基础
  2. 使用代理网络配置maven,显示导入失败的原因
  3. matlab调用opencv的函数
  4. 回调函数 —— 借助中间通用函数(形参里有函数指针,实现函数注册)调用不同的回调函数 (多态/分层)
  5. 使用Go和WebSockets构建实时聊天服务器
  6. 开机未发现nvidia控制面板_Windows10或者其他操作系统开机提示“未发现NVIDIA控制面板,从Microsoft Store中安装NVIDIA控制面板”的解决办法...
  7. github git.exe位置
  8. DragDrop 注册失败的解决方法 转
  9. Java实现贪吃蛇(汪汪队)游戏,自定义游戏背景音乐,背景图片和游戏图标
  10. word中插入代码段
  11. 计算机u盘被禁用怎么办,电脑U盘启动被禁用了怎么解决 电脑禁用u盘怎样恢复...
  12. Lighttpd介绍
  13. C/C++程序员工作面试的秘密
  14. 使用git拉取远程仓库代码
  15. 鸟哥的Linux笔记-------磁盘与文件系统
  16. 文档被外泄?如何有效管控文档拷贝行为
  17. RestFul接口的安全验证事例
  18. dialog 弹出框,遮罩层覆盖内容
  19. Exchange(交换机)的作用以及类型
  20. 时间转换: LocalDateTime

热门文章

  1. ColBERT(2020SIGIR)
  2. 史上最简洁明了的,字符串拼接关于单引号和双引号的用法解析
  3. Spring和Quartz实现的定时任务调度
  4. 数据库系统概论-第三章 关系数据库标准语言 SQL
  5. Go Signal信号处理
  6. 2017年10米分辨率全球土地覆盖产品(FROM-GLC10)Python下载爬虫
  7. 极限存在准则 两个重要极限
  8. CNN-PS: CNN-Based Photometric Stereo for General Non-convex Surfaces 2018ECCV
  9. javascript开发HTML5游戏--斗地主(单机模式part2)
  10. pr使用视频素材技巧