clc,clear
load pz.txt %原始数据存放在纯文本文件pz.txt 中
mu=mean(pz);sig=std(pz); %求均值和标准差
rr=corrcoef(pz); %求相关系数矩阵
data=zscore(pz); %数据标准化,变量记做X*和Y*
n=5;m=1; %n 是自变量的个数,m 是因变量的个数
x0=pz(:,1:n);y0=pz(:,n+1:end); %原始的自变量和因变量数据
e0=data(:,1:n);f0=data(:,n+1:end); %标准化后的自变量和因变量数据
-679-
num=size(e0,1);%求样本点的个数
chg=eye(n); %w 到w*变换矩阵的初始化
for i=1:n
%以下计算w,w*和t 的得分向量,
matrix=e0'*f0*f0'*e0;
[vec,val]=eig(matrix); %求特征值和特征向量
val=diag(val); %提出对角线元素,即提出特征值
[val,ind]=sort(val,'descend');
w(:,i)=vec(:,ind(1)); %提出最大特征值对应的特征向量
w_star(:,i)=chg*w(:,i); %计算w*的取值
t(:,i)=e0*w(:,i); %计算成分ti 的得分
alpha=e0'*t(:,i)/(t(:,i)'*t(:,i)); %计算alpha_i
chg=chg*(eye(n)-w(:,i)*alpha'); %计算w 到w*的变换矩阵
e=e0-t(:,i)*alpha'; %计算残差矩阵
e0=e;
%以下计算ss(i)的值
beta=t\f0; %求回归方程的系数,数据标准化,没有常数项
cancha=f0-t*beta; %求残差矩阵
ss(i)=sum(sum(cancha.^2)); %求误差平方和
%以下计算press(i)
for j=1:num
t1=t(:,1:i);f1=f0;
she_t=t1(j,:);she_f=f1(j,:); %把舍去的第j 个样本点保存起来
t1(j,:)=[];f1(j,:)=[]; %删除第j 个观测值
beta1=[t1,ones(num-1,1)]\f1; %求回归分析的系数,这里带有常数项
cancha=she_f-she_t*beta1(1:end-1,:)-beta1(end,:); %求残差向量
press_i(j)=sum(cancha.^2); %求误差平方和
end
press(i)=sum(press_i);
Q_h2(1)=1;
if i>1, Q_h2(i)=1-press(i)/ss(i-1); end
if Q_h2(i)<0.0975
fprintf('提出的成分个数r=%d',i); break
end
end
beta_z=t\f0; %求Y*关于t 的回归系数
xishu=w_star*beta_z; %求Y*关于X*的回归系数,每一列是一个回归方程
mu_x=mu(1:n);mu_y=mu(n+1:end); %提出自变量和因变量的均值
sig_x=sig(1:n);sig_y=sig(n+1:end); %提出自变量和因变量的标准差
ch0=mu_y-(mu_x./sig_x*xishu).*sig_y; %计算原始数据回归方程的常数项
for i=1:m
xish(:,i)=xishu(:,i)./sig_x'*sig_y(i); %计算原始数据回归方程的系数
end
sol=[ch0;xish] %显示回归方程的系数,每一列是一个方程,每一列的第一个数是常数项
save mydata x0 y0 num xishu ch0 xish

转载于:https://www.cnblogs.com/Xbingbing/p/3323513.html

多元线性相关Matlab代码相关推荐

  1. 多元线性回归matlab代码例题_matlab多元线性回归

    1.matlab多元回归示例如下: 解决问题:油价预测 方法:多元线性回归 实现:matlab regress()函数 技巧:通过增加X1^2,X2^2,或者X1*X2等构造的特征项,可以提高回归模型 ...

  2. 多元线性回归matlab代码_医学统计|多元线性回归分析

    回归分析的定义:回归分析是确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法.运用十分广泛.其表达形式为y = w'x+e,e为误差服从均值为0的正态分布.回归分析中,只包括一个自变量和一个 ...

  3. 多元线性回归matlab代码例题_多元线性回归matlab程序

    %多元线性回归求解 clear clc x=[120731808012512581.190 133.02731808012512581.190 129.63731808012512581.190 15 ...

  4. 【优化求解】基于多元宇宙MVO算法求解多目标matlab代码

    1 简介 MVO算法源于多元宇宙理论,该理论认为:多元宇宙源于宇宙大爆炸,每一个宇宙都存在一个膨胀率使其膨胀,宇宙间存在黑洞和白洞,黑洞引力很大能够通过虫洞链接到另一个时空,黑洞会吸入所有物质甚至光, ...

  5. 【故障诊断】基于粒子群和多元宇宙算法优化最大相关峭度解卷积(MCKD)实现信号处理附matlab代码

    1 内容介绍 1.1研究背景及意义 制造业的发展支撑着国家经济的稳定快速发展,是人民生活幸福和国家局势 稳定的保障.发展制造业离不开科技创新.加强制造业创新.推动产业转型升级是 提升我国国际地位.实现 ...

  6. 【数学建模】多元非线性回归nlinfit(Matlab代码实现)

    目录 1 基本语法  2 算例及Matlab代码实现 2.1 算例 2.2 数据 2.3 Matlab代码实现 1 基本语法 2 算例及Matlab代码实现 2.1 算例 熔喷非织造材料是口罩生产的重 ...

  7. 主成分分析——KMO检验(介绍及Matlab代码)

    文章目录 前言 一.主成分适用性检验 二.KMO检验 1.计算公式 2.Matlab代码 总结 前言  主成分分析已经越来越成为人们广泛应用的多元统计分析方法.但应用中盲目套用主成分分析方法的情况很多 ...

  8. elm预测matlab,机器学习——极限学习(ELM)matlab代码分析

    Hello,大家好,我是小鹏同学.今天在一个网站(https://www.ntu.edu.sg/home/egbhuang/elm_random_hidden_nodes.html)上下载了基本的EL ...

  9. 方差分析(ANOVA)分类、应用举例及matlab代码

    目录 一.介绍 1.1.定义 1.2.为什么使用方差分析? 1.3.方差分析的分类 1.3.1.按影响分析指标的因素个数 1.3.2.按分析指标的个数 1.3.3.多因素多分析指标 二.单因素一元方差 ...

最新文章

  1. 驰骋工作流引擎-嵌入式表单的介绍
  2. aes加密内容不定长_浅谈加密技术
  3. WinServer-FTP搭建
  4. Windows下VS发送UDP包100个,并接受显示出来
  5. 划线价格怎么弄java_京东可以设置划线价格吗?怎么设置?
  6. python max函数_Python max内置函数详细介绍
  7. uni-app实现微信小程序本地图片转为base64
  8. func_get_args()获取一个函数的所有参数
  9. SpringSecurity-1-UserDetailsService接口
  10. SQL Server中的万圣节问题和建议的解决方案
  11. 远程键盘 App 被曝漏洞,成 Intel 弃子!
  12. web app页面要求
  13. Mysql忘记密码,支持中文,tab补全
  14. saltstack 自动化运维神器(四)salt-ssh
  15. C#----接口的显式实现
  16. 如何利用Python分离文件中的英文和中文?
  17. 计算机主机检测不到耳机,win10电脑检测不到耳机的原因及处理方法
  18. 设计模式——设计模式概述
  19. ubuntu 18.04 安装NFS 共享文件夹,Linux挂载,Mac 挂载
  20. linux文件类型elf,Linux下ELF文件的格式(1)

热门文章

  1. protege5.0基础教程
  2. django admin site override save_model
  3. HDU 2112 HDU Today(最短路)
  4. Java实现银行账户
  5. 使用Web登录防火墙设备
  6. pojie idea2017.2版
  7. java递归函数返回值_Java基础——方法返回值递归
  8. C++里的移动语义 ~ 偷走一个对象里的资源,移入另一个对象
  9. kaiser密码的加密与解密
  10. Android-Gradle(4)gradle插件V2签名多风味打包