数学建模——多元统计分析例题及程序

主成分分析

简述

  1. 主成分分析(Principal Component Analysis,PCA), 是一种数学降维的统计方法。
  2. 通过正交变换将一组可能存在相关性的变量转换为一组线性不相关的变量,转换后的这组变量叫主成分。
  3. 在用统计分析方法研究多变量的课题时,变量个数太多就会增加课题的复杂性。人们自然希望变量个数较少而得到的信息较多。
  4. 主成分分析作为基础的数学分析方法,其实际应用十分广泛,比如人口统计学、数量地理学、分子动力学模拟、数学建模、数理分析等学科中均有应用,是一种常用的多变量分析方法。

基本思想

  1. 主成分分析是设法将原来众多具有一定相关性(比如P个指标),重新组合成一组新的互相无关的综合指标来代替原来的指标。
  2. 主成分分析,是考察多个变量间相关性一种多元统计方法,研究如何通过少数几个主成分来揭示多个变量间的内部结构,即从原始变量中导出少数几个主成分,使它们尽可能多地保留原始变量的信息,且彼此间互不相关.通常数学上的处理就是将原来P个指标作线性组合,将其线性组合作为新的综合指标。达到降维的目的。

计算步骤

原始数据标准化
计算相关系数矩阵
计算特征向量和特征值
选取主成分
计算综合得分

原始数据的标准化

  1. 采集m维随机向量 x = ( x 1 , x 2 , ⋯   , x m ) T x=(x_{1},x_{2},\cdots,x_{m})^{T} x=x1,x2,,xmT
  2. 抽取n个样品 x i = ( x i 1 , x i 2 , ⋯   , x i m ) T , i = 1 , 2 , . . . , n x_{i}=(x_{i1},x_{i2},\cdots,x_{im})^{T},i=1,2,...,n xi=xi1,xi2,,ximT,i=1,2,...,n。且有 n > p n>p n>p
  3. 构造样本数据矩阵 x = ( x 11 x 12 ⋯ x 1 m x 21 x 22 ⋯ x 2 m ⋮ ⋮ ⋮ ⋮ x n 1 x n 2 ⋯ x n m ) x=\begin{pmatrix} x_{11} &x_{12} &\cdots &x_{1m} \\ x_{21} &x_{22} &\cdots &x_{2m} \\ \vdots &\vdots &\vdots &\vdots \\ x_{n1} &x_{n2} &\cdots &x_{nm} \end{pmatrix} x=x11x21xn1x12x22xn2x1mx2mxnm
  4. 标准化变换: x i j ′ = x i j − x j ˉ s j x_{ij}'=\frac{x_{ij}-\bar{x_{j}}}{s_{j}} xij=sjxijxjˉ其中, x j ˉ = 1 n ∑ i = 1 n x i j , s j 2 = 1 n − 1 ∑ i = 1 n ( x i j − x j ˉ ) 2 \bar{x_{j}}=\frac{1}{n}\sum \limits _{i=1}^{n}x_{ij},\quad s_{j}^{2}=\frac{1}{n-1}\sum\limits _{i=1}^{n}(x_{ij}-\bar{x_{j}})^{2} xjˉ=n1i=1nxij,sj2=n11i=1n(xijxjˉ)2

计算相关系数矩阵R
R = ( r 11 r 12 ⋯ r 1 m r 21 r 22 ⋯ r 2 m ⋮ ⋮ ⋮ ⋮ r n 1 r n 2 ⋯ r n m ) R=\begin{pmatrix} r_{11} &r_{12} &\cdots &r_{1m} \\ r_{21} &r_{22} &\cdots &r_{2m} \\ \vdots &\vdots &\vdots &\vdots \\ r_{n1} &r_{n2} &\cdots &r_{nm} \end{pmatrix} R=r11r21rn1r12r22rn2r1mr2mrnm
其中, r i j = 1 n − 1 ∑ k = 1 n x k i x k j , n > 1 , i , j = 1 , 2 , ⋯   , m r_{ij}=\frac{1}{n-1}\sum\limits _{k=1}^{n}x_{ki}x_{kj},\quad n>1,\quad i,j=1,2,\cdots,m rij=n11k=1nxkixkj,n>1,i,j=1,2,,m

特征向量和特征值

  1. 解特征方程 ∣ λ I − R ∣ = 0 |\lambda I-R|=0 λIR=0
  2. 可得特征值 λ 1 ⩾ λ 2 ⩾ ⋯ λ m ⩾ 0 \lambda _{1}\geqslant \lambda _{2}\geqslant \cdots \lambda _{m}\geqslant 0 λ1λ2λm0
  3. 以及对应的特征向量 u 1 , u 2 , ⋯   , u m , u_{1},u_{2},\cdots,u_{m}, u1,u2,,um,
  4. 其中 u j = ( u 1 j , u 2 j , ⋯   , u m j ) T u_{j}=(u_{1j},u_{2j},\cdots,u_{mj})^{T} uj=(u1j,u2j,,umj)T
  5. ∥ u j ∥ = 1 , j = 1 , 2 , ⋯   , m \|u_{j}\|=1,j=1,2,\cdots,m uj=1,j=1,2,,m
  6. 则第 j j j个主成分为 y j = u 1 j x 1 + u 2 j x 2 + ⋯ + u m j x m , y_{j}=u_{1j}x_{1}+u_{2j}x_{2}+\cdots+u_{mj}x_{m}, yj=u1jx1+u2jx2++umjxm,其中, x j = ( x 1 j , x 2 j , ⋯   , x m j ) T , j = 1 , 2 , ⋯   , m x_{j}=(x_{1j},x_{2j},\cdots,x_{mj})^{T},j=1,2,\cdots ,m xj=(x1j,x2j,,xmj)T,j=1,2,,m

对特征值和特征向量的求解,可以列一个直观的表格。

选取主成分

  1. j j j个成分的贡献率为 β j = λ j ∑ k = 1 m λ k ( j = 1 , 2 , ⋯ m ) \beta_{j}=\frac{\lambda _{j}}{\sum \limits _{k=1}^{m}\lambda _{k}}\quad \left ( j=1,2,\cdots m \right ) βj=k=1mλkλj(j=1,2,m)
  2. p p p个成分的累计贡献率为 α p = ∑ k = 1 p λ k ∑ k = 1 m λ k \alpha_{p}=\frac{\sum \limits _{k=1}^{p}\lambda _{k}}{\sum \limits _{k=1}^{m}\lambda _{k}} αp=k=1mλkk=1pλk
  3. 各成分的方差是递减的,包含的信息也是递减的。实践中一般选取 α p ⩾ 85 % \alpha_{p}\geqslant85\% αp85%

计算综合得分Z
Z = ∑ j = 1 p β j y j Z=\sum \limits _{j=1}^{p}\beta _{j}y_{j} Z=j=1pβjyj

例题

下表是我国1984-2000年宏观投资的一些数据,试利用主成分分析对投资效益进行分析和排序
在这里插入图片描述

程序

data=xlsread('data.xlsx');      %导入数据
X=zscore(data);                 %标准化数据
R=corrcoef(X);                  %求相关系数矩阵
[vec,lamba,rate]=pcacov(R);     %主成分分析,vec为R特征向量,lamba为R特征值,rate为各个主成分贡献率
vec=vec./sign(sum(vec))         %使特征向量和为正
contr=cumsum(rate)/sum(rate);   %求贡献率
contr'                          %显示贡献率
num=input('请输入主成分个数:'); %交互式选取主成分个数
df=X*vec(:,1:num);              %计算各主成的得分
tf=df*rate(1:num)/100;          %计算综合得分
[stf,ind]=sort(tf,'descend');   %把得分按照降序排列
[ind,stf]                       %显示排名

程序理解

X=zscore(data);
来自知乎

在这里插入图片描述

R=corrcoef(X);
12、13函数

在这里插入图片描述

在这里插入图片描述
matlab中princomp,pcacov,pcares,barttest四大分析函数的应用如下:

1.princomp

  1. 功能:主成分分析
  2. 格式:PC=princomp(X)
   [PC,SCORE,latent,tsquare]=princomp(X)

说明:[PC,SCORE,latent,tsquare]=princomp(X)对数据矩阵X进行主成分分析,给出各主成分(PC)、所谓的Z-得分
(SCORE)、X的方差矩阵的特征值(latent)和每个数据点的HotellingT2统计量(tsquare)。

2.pcacov

1.功能:运用协方差矩阵进行主成分分析
格式:PC=pcacov(X)

[PC,latent,explained]=pcacov(X)

说明:[PC,latent,explained]=pcacov(X)
通过协方差矩阵X进行主成分分析
返回主成分(PC)、协方差矩阵X的特征值(latent)和每个特征向量表征在观测量总方差中所占的百分数(explained)。

3.pcares

  1. 功能:主成分分析的残差
  2. 格式:residuals=pcares(X,ndim)

说明:pcares(X,ndim)返回保留X的ndim个主成分所获的残差。
注意,ndim是一个标量,必须小于X的列数。
而且,X是数据矩阵,而不是协方差矩阵。

4.barttest

  1. 功能:主成分的巴特力特检验
  2. 格式:ndim=barttest(X,alpha)
 [ndim,prob,chisquare]=barttest(X,alpha)

说明:巴特力特检验是一种等方差性检验。
ndim=barttest(X,alpha)是在显著性水平alpha下,给出满足数据矩阵X的非随机变量的n维模型,ndim即模型维数,它由一系列假设检验所确定,ndim=1表明数据X对应于每个主成分的方差是相同的;ndim=2表明数据X对应于第二成分及其余成分的方差是相同的。

因子分析

相关性分析

回归分析

一元回归例题

在这里插入图片描述

clc,clear
x=[594 638 1122 1155 1408 1595 1969 2078 2585 2530];
y=[800 1100 1400 1700 2000 2300 2600 2900 3200 3500];
plot(x,y,'*') %画出y-x散点图
x=x';Y=y';
X=[ones(10,1),x]; %构造回归分析的数据矩阵
[beta,betaint,r,rint,st]=regress(Y,X)  %计算回归系数和统计量
%beta:回归系数,betaint:回归系数置信区间,r:残差,rint:残差0.95的置信区间
%st:x统计量,其分量对应R?、F 、P 、s?

聚类分析

  • 6
    点赞
  • 71
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: Matlab是一种功能强大的数学软件,可以用于多元线性回归分析和数学建模。多元线性回归是一种统计分析方法,用于建立多个自变量与一个因变量之间的关系模型。在数学建模中,多元线性回归可以用于预测和解释变量之间的关系,通过分析数据集中的多个变量来理解其之间的相互作用。 在Matlab中,可以使用多个内置的函数和工具箱来进行多元线性回归分析和数学建模。首先,可以使用“polyfit”函数来拟合多元线性回归模型,并获得拟合的系数和截距。然后,可以使用“polyval”函数来根据模型和输入的自变量值来预测因变量的值。 此外,Matlab还提供了各种可视化工具,如散点图、线性回归图和残差图,以帮助分析和解释多元线性回归模型的结果。这些图形可以用于评估模型的拟合程度、检查残差是否满足模型假设,并识别离群值和异常观测。 在数学建模中,Matlab还可以用于确定最佳的自变量组合,以优化模型的拟合效果。使用工具箱中的特征选择函数,可以根据特定的准则选择最相关的自变量,从而减少模型中不必要的变量,提高模型的解释能力。 总而言之,Matlab是一种强大的工具,可用于多元线性回归分析和数学建模。它提供了各种函数和工具箱,可以用于拟合模型、预测因变量、可视化结果以及优化模型的变量选择。使用Matlab进行多元线性回归分析和数学建模,可以更好地理解变量之间的关系,并做出准确的预测和解释。 ### 回答2: Matlab作为一种强大的数学建模工具,可以通过多元线性回归分析对数学建模问题进行求解。多元线性回归分析是一种常用的统计方法,用于建立和分析多个自变量与一个因变量之间的线性关系模型。在数学建模中,我们通常需要根据给定的数据集合,通过多元线性回归分析求解最佳拟合模型。 在Matlab中,可以使用内置的regress函数来进行多元线性回归分析。首先,我们需要准备好所需的数据集合,并且将自变量和因变量分别存储在不同的向量中。然后,使用regress函数进行回归分析,输入自变量矩阵和因变量向量,即可得到回归系数以及其他统计结果。 通过多元线性回归分析,我们可以了解自变量数量与因变量之间的关系,进而可以预测和优化因变量的取值。此外,通过对回归系数的分析,我们还可以了解各自变量对因变量的重要性以及它们之间的相互关系。 总之,Matlab提供了强大的多元线性回归分析工具,可以帮助我们在数学建模中对问题进行求解和分析。它可以通过对数据的拟合来研究和预测因变量,从而为解决实际问题提供了有效的数学模型建立方法。 ### 回答3: Matlab是一种功能强大的数值计算和数据分析软件,可以广泛应用于多元线性回归分析和数学建模。多元线性回归分析是一种统计方法,用于探究多个自变量对一个因变量的影响。 在Matlab中,我们可以使用regress函数进行多元线性回归分析。该函数可以根据给定的自变量和因变量数据集,计算出回归模型的系数和相关统计量。 首先,我们需要将自变量和因变量的数据导入到Matlab中,可以使用矩阵或向量的形式存储数据。然后,通过调用regress函数,指定自变量和因变量的位置,即可进行回归分析。函数的输出结果包括回归系数、残差、决定系数等。 使用Matlab进行数学建模时,可以利用多元线性回归分析来构建模型。通过收集和整理相关数据,建立自变量和因变量之间的数学关系,在回归分析中确定最佳拟合的回归方程。这个建立的模型可以用来预测未知的因变量值,或者进行参数估计和假设检验等。 在数学建模中,Matlab提供了丰富的工具箱和函数,可以用于数据可视化、模型拟合、参数估计、误差分析等。例如,通过绘制回归模型的拟合曲线和残差图,可以对模型的准确性进行评估。此外,还可以使用交叉验证等方法来评估模型的预测能力。 总而言之,Matlab可以用于实现多元线性回归分析和数学建模。其强大的功能和灵活的编程环境使其成为进行数值计算和数据分析的理想工具,在科学研究和实际应用中得到了广泛的应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hyacinth&

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值