导航:首页 > 研究方法 > matlab相关分析方法

matlab相关分析方法

发布时间:2022-09-28 07:38:22

A. matlab 多因素相关性分析 求思路

给个简单介绍吧,自己看着用
%多项式插值和拟合
%p=polyfit(x,y,k)
%用k次多项式拟合向量数据(x,y),返回多项式的降幂系数,当k>=n时,polyfit实现多项式插值,这里n是向量维数
x=[0.1 0.2 0.15 0 -0.2 0.3];
y=[0.95 0.84 0.86 1.06 1.50 0.72];
p=polyfit(x,y,2)%二次拟合

xi=-0.2:0.01:0.3;
yi=polyval(p,xi);
subplot(2,2,1);
plot(x,y,'o',xi,yi,'k');
title('polyfit');

%五次拟合
p2=polyfit(x,y,5)
yi=polyval(p2,xi);
subplot(2,2,2);
plot(x,y,'o',xi,yi,'k');
title('polyinterp');

非线性最小二乘拟合:
%非线性最小二乘拟合
%c=lsqcurvefit(Fun,c0,x,y) Fun为两变量函数f(c,x),c0为参数c的近似值,作为迭代初值,x,y为数据向量
%c=lsqcurve(Run,c0,x,y,lc,uc,options,p1,p2,...)可以设置参数c取值于区间[lc,uc],options为
%优化计算参数选项,p1,p2,...为向函数Fun传递附加参数

%拟合非线性函数y=a*exp(b*x),首先讲参数a,b合写为c
fun=inline('c(1)*exp(c(2)*x)','c','x')
x=[0.1 0.2 0.15 0 -0.2 0.3];
y=[0.95 0.84 0.86 1.06 1.50 0.72];
c=lsqcurvefit(fun,[0 0],x,y)%初始值为a=0,b=0

norm(feval(fun,c,x)-y)^2%残差平方和

%lsqcurvefit可以作为各种类型曲线的拟合,最小二乘法能找到符合经验公式的最优曲线,但是这一经验公式是否有效还需要事后检验.一般可以从图像上作
%出判断,定量方法是计算残差平方和,再进行统计检验.

B. 怎么用matlab进行两个矩阵的相关性的分析

1、首先打开MATLAB软件。

C. MATLAB数据分析方法的基本信息

数据分析是用适当的统计方法对各种数据加以详细研究和概括总结的过程,已成为当代自然科学和社会科学各个学科研究者必备的知识。matlab是一套高性能的数值计算和可视化软件,是实现数据分析与处理的有效工具。本书介绍数据分析的基本内容与方法,应用matlab软件既面向对象又面向过程地编写实际数据分析程序。全书共分7章,主要内容包括:matlab基础、数据描述性分析、回归分析、判别分析、主成分分析与典型相关分析、聚类分析、数值模拟分析。
每章末精心编写习题供读者练习,此外每章还安排了紧密联系实际的综合性、分析性实验内容。
《matlab数据分析方法》适用于计算机科学与技术、信息与计算科学、统计学等专业的本科生,还可作为相关专业本科生选修课程教材,并可供硕士研究生以及科技工作者参考。

D. 如何用matlab做单相关分析

matlab自带的xcorr函数可以使用

c=xcorr(x,y)
c=xcorr(x)
c = xcorr(x,y,'option')
c=xcorr(x,'option')
c=xcorr(x,y,maxlags)
c=xcorr(x,maxlags)
c=xcorr(x,y,maxlags,'option')
c=xcorr(x,maxlags,'option')
[c,lags]=xcorr(...)

E. 如何用matlab实现偏相关分析

matlab偏最小二乘分析(2009-11-20 16:43:07)转载▼
标签:杂谈
单因变量function y=pls(pz)
[row,col]=size(pz);
aver=mean(pz);
stdcov=std(pz); %求均值和标准差
rr=corrcoef(pz); %求相关系数矩阵
%data=zscore(pz); %数据标准化
stdarr = ( pz - aver(ones(row,1),:) )./ stdcov( ones(row,1),:); % 标准化数据结果与zscore()一致
x0=pz(:,1:col-1);y0=pz(:,end); %提取原始的自变量、因变量数据
e0=stdarr(:,1:col-1);f0=stdarr(:,end); %提取标准化后的自变量、因变量数据
num=size(e0,1);%求样本点的个数
temp=eye(col-1);%对角阵
for i=1:col-1
%以下计算 w,w*和 t 的得分向量,
w(:,i)= ( e0'* f0 )/ norm( e0'*f0 );
t(:,i)=e0*w(:,i) %计算成分 ti 的得分
alpha(:,i)=e0'*t(:,i)/(t(:,i)'*t(:,i)) %计算 alpha_i ,其中(t(:,i)'*t(:,i))等价于norm(t(:,i))^2
e=e0-t(:,i)*alpha(:,i)' %计算残差矩阵
e0=e;
%计算w*矩阵
if i==1
w_star(:,i)=w(:,i);
else
for j=1:i-1
temp=temp*(eye(col-1)-w(:,j)*alpha(:,j)');
end
w_star(:,i)=temp*w(:,i);
end
%以下计算 ss(i)的值
beta=[t(:,1:i),ones(num,1)]\f0 %求回归方程的系数
beta(end,:)=[]; %删除回归分析的常数项
cancha=f0-t(:,1:i)*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; %求回归分析的系数
beta1(end,:)=[]; %删除回归分析的常数项
cancha=she_f-she_t*beta1; %求残差向量
press_i(j)=sum(cancha.^2);
end
press(i)=sum(press_i)
if i>1
Q_h2(i)=1-press(i)/ss(i-1)
else
Q_h2(1)=1
end
if Q_h2(i)<0.0985
fprintf('提出的成分个数 r=%d',i);
r=i;
break
end
end
beta_z=[t,ones(num,1)]\f0; %求标准化Y关于主成分得分向量t的回归系数
beta_z(end,:)=[]; %删除常数项
xishu=w_star*beta_z; %求标准化Y关于X的回归系数, 且是针对标准数据的回归系数,每一列是一个回归方程
mu_x=aver(1:col-1);mu_y=aver(end);
sig_x=stdcov(1:col-1);sig_y=stdcov(end);
ch0=mu_y-mu_x./sig_x*sig_y*xishu; %计算原始数据的回归方程的常数项
xish=xishu'./sig_x*sig_y; %计算原始数据的回归方程的系数,每一列是一个回归方程
Rc=corrcoef(x0*xish'+ch0,y0)
sol=[ch0;xish'] %显示回归方程的系数,每一列是一个方程,每一列的第一个数是常数项多因变量function y=pls(pz,Xnum,Ynum)
[row,col]=size(pz);
aver=mean(pz);
stdcov=std(pz); %求均值和标准差
rr=corrcoef(pz); %求相关系数矩阵
data=zscore(pz); %数据标准化
stdarr = ( pz - aver(ones(row,1),:) )./ stdcov( ones(row,1),:); % 标准化自变量
n=Xnum;m=Ynum; %n 是自变量的个数,m是因变量的个数
x0=pz(:,1:n);y0=pz(:,n+1:end); %提取原始的自变量、因变量数据
e0=data(:,1:n);f0=data(:,n+1:end); %提取标准化后的自变量、因变量数据
num=size(e0,1);%求样本点的个数
temp=eye(n);%对角阵
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)) %提出最大特征值对应的特征向量
t(:,i)=e0*w(:,i) %计算成分 ti 的得分
alpha(:,i)=e0'*t(:,i)/(t(:,i)'*t(:,i)) %计算 alpha_i ,其中(t(:,i)'*t(:,i))等价于norm(t(:,i))^2
e=e0-t(:,i)*alpha(:,i)' %计算残差矩阵
e0=e;
%计算w*矩阵
if i==1
w_star(:,i)=w(:,i);
else
for j=1:i-1
temp=temp*(eye(n)-w(:,j)*alpha(:,j)');
end
w_star(:,i)=temp*w(:,i);
end
%以下计算 ss(i)的值
beta=[t(:,1:i),ones(num,1)]\f0 %求回归方程的系数
beta(end,:)=[]; %删除回归分析的常数项
cancha=f0-t(:,1:i)*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; %求回归分析的系数
beta1(end,:)=[]; %删除回归分析的常数项
cancha=she_f-she_t*beta1; %求残差向量
press_i(j)=sum(cancha.^2);
end
press(i)=sum(press_i)
if i>1
Q_h2(i)=1-press(i)/ss(i-1)
else
Q_h2(1)=1
end
if Q_h2(i)<0.0985
fprintf('提出的成分个数 r=%d',i);
r=i;
break
end
end
beta_z=[t(:,1:r),ones(num,1)]\f0; %求标准化Y关于 t 的回归系数
beta_z(end,:)=[]; %删除常数项
xishu=w_star(:,1:r)*beta_z; %求标准化Y关于X的回归系数, 且是针对标准数据的回归系数,每一列是一个回归方程
mu_x=aver(1:n);mu_y=aver(n+1:end);
sig_x=stdcov(1:n);sig_y=stdcov(n+1:end);
for i=1:m
ch0(i)=mu_y(i)-mu_x./sig_x*sig_y(i)*xishu(:,i); %计算原始数据的回归方程的常数项
end
for i=1:m
xish(:,i)=xishu(:,i)./sig_x'*sig_y(i); %计算原始数据的回归方程的系数, 每一列是一个回归方程
end
sol=[ch0;xish] %显示回归方程的系数,每一列是一个方程,每一列的第一个数是常数项

F. matlab怎么计算两条曲线的相关性

如何用matlab计算两条曲线的相关性?这个问题我们可以按下列方法来处理:

第一步,将第一条曲线的数据赋值给A,将第二条曲线的数据赋值给B

第二步,计算A 的均值 μA和标准差σA,计算B 的均值 μB和标准差σB

第三步,利用Pearson 相关系数公式,计算A和B的相关性,计算方法如下

第四步,判断其相关性是正相关,还是负相关

计算实例:已知:

t=[15 20 25 30 35 40 45 50 55 60 65 70];

A=[0.3 0.4 0.7 1.1 1.7 2.3 3 3.6 4.1 4.4 4.7 4.8];

B=[0.2854 0.4540 0.7080 1.0725 1.5604 2.1561 2.8068 3.4369 3.9795 4.4015 4.7045 4.9098];

求其相关系数

计算结果为

ρ(A,B)=0.99844,正相关

阅读全文

与matlab相关分析方法相关的资料

热点内容
盲人电脑读屏安装方法 浏览:278
抛光蜡使用方法 浏览:588
搜苹果存档安装器使用方法 浏览:220
鼻炎快速缓解方法 浏览:687
管理的实验研究方法 浏览:124
我的世界怎么获得钻石最快方法 浏览:895
强直最好治疗方法 浏览:310
影视媒介研究方法质化研究 浏览:365
凯美瑞aux使用方法 浏览:796
用艾叶泡脚的正确方法 浏览:56
锻炼身体有什么方法 浏览:876
新冠肺炎如何用推拿方法辅助治疗 浏览:316
34约等于的计算方法三年级 浏览:785
哑铃锻炼肱三头肌方法 浏览:417
口臭是怎么回事用什么方法解决 浏览:365
鉴别卤代烃与醚的方法 浏览:380
快速收集信息方法 浏览:825
小兔子手工制作方法及图片 浏览:443
482除以254的简便方法 浏览:452
PDC酒糟面膜使用方法 浏览:417