主成分分析法的数学模型,主成分分析法属于什么模型

  主成分分析法的数学模型,主成分分析法属于什么模型

  目录PCA介绍了SPSS实现的python的简单主成分分析和主成分分析,用于综合评价Notice。

  引入PCA

  一种多元统计方法,利用主成分分析(PCA)降维方法将多个指标转化为若干个综合指标;

  在实际问题中,为了全面分析问题,往往会提出与之相关的变量(因素),每个变量都在一定程度上包含了结果的一些信息;

  主成分:由原指标线性组合而成的几个新指标。使用这些新指标,试图解释原指标所包含的大部分信息;

  比如在国民经济的研究中,通过主成分分析,用三个新变量代替原来的17个变量,可以保持97.4%的准确率;

  主要成分和原始变量之间的关系:

  主成分掌握原变量大部分信息的主成分数量远少于原变量,且主成分之间互不相关;主成分是原变量的线性组合,一般是指原M个变量的主成分很多,但不同主成分的信息不能相互包含。统计学上是指两个主成分的协方差为0,两个主成分在几何上正交的描述。

  Ss实施步骤:

  SPSS导入数据-分析-降维-因子分析;

  描述-系数;

  提取-砾石图;

  显示得分-因子得分系数矩阵;

  主成分分析的结果受维度的影响,每个变量的单位可能不同,所以结果也不同。这是最大的问题,需要在主成分分析前无量纲化,然后用协方差或相关系数矩阵分析;

SPSS在分析之前自带无量纲化处理了

  无量纲化处理一般分为两种:

  (1)标准化

  另一方面,min-max归一化=x =xmin(x)max)x)(frac(x)} { max(x)-min(x)} x)=max)x

  二、平均归一化=x=xmean(x) m a

  x(x)m I n(x)x = frac { x-mean(x)} { max(x)-min(x)} x =max(x)min(x)x-mean(x)

  (2)标准化

  X=x m e a n (x) (是标准差)x = frac { x-mean(x)} { sigma }( sigma是标准差)x= x mean (x) (是标准差)

  手动无量纲SPSS(标准化):分析-描述统计-描述-检查“将标准化分数保存为变量”

  相关矩阵

  总差异解释

  砾石地图

  求指数对应的系数。

  方法1:利用分量矩阵计算总方差。

  Fn的前沿系数是Fn的贡献率/(F1和F2的累计贡献率);比如F1前面的系数:(72.2/84.5);

  方法2:使用组件得分系数矩阵(简单但不推荐)

  计算综合评价值f=w1 f1 w2 f 2;Wi是第I个主成分的贡献率;

  例如,在第一代方法之后,最终结果如下:

  例如,替换第二种方法后,最终结果如下:

  Python实现了简单主成分分析sklearn.decomposition模块的PCA函数sk learn . decomposition . PCA(n _ components=none,copy=true)。

  N_components:默认值为None,保留所有组件;如果设置为2,则提取两个主成分;如果是0.85,自动选择主成分,满足累计贡献率85%;Copy:默认为True,表示算法运行时,复制原始数据的副本进行分析;如果为false,则对原始数据进行降维计算;

步骤

:

  将数据矩阵A标准化得到B;计算相关系数矩阵NP。修正系数;计算相关系数矩阵R的特征值12…m,对于标准正交特征向量u1,u2…um,向量为列;主成分变量F1=u11x1 u21x2… um1ym,F2=…;计算主成分的贡献率和累计贡献率,一般可以用累计贡献率在85%以上的主成分,用得到的主成分F1,F2,…Fk来分析评价问题;案例:

  从sklearn.decomposition导入numpy作为np导入pcaa=NP . load txt( pdat 11 _ 7 . txt )b=NP . r _[a [:1: 4],a[:-3:]#构造数据矩阵print(相关系数矩阵:,NP .左右(NP。corr Coef (b.t),decimals=3) #将数据标准化并计算相关系数矩阵,保留三位小数MD=PCA (n _ components=0.85)。Fit (b) #构造并训练模型(累计贡献率85%) print(特征值为:)Md.explained_variance_)print(主成分贡献率:,MD . explained _ variance _ ratio _)print(奇异值为:,md.singular_values_)print(主成分系数:n ,Md.components_) #每一行都是一个主成分下面直接计算特征值和特征向量,用库函数比较 cf=np.cov(b.T) #计算协方差

  分析和评估:

  主成分分析用于综合评价。主成分分析可应用于许多评价领域,如投资组合风险管理、企业效益综合分析、图像特征识别等。将主成分分析与聚类分析、判别分析和回归分析相结合;

  常规

步骤

:

  如果每个指标的属性不同(成本类型、利润类型等。),将原矩阵A标准化为B;b的计算相关系数矩阵r;R的计算特征值和对应的特征向量U;根据特征值计算累计贡献率,确定主成分个数,

特征向量 ui 就是第 i 主成分的系数向量

;计算主成分得分矩阵。如果选取K个主成分,主成分得分矩阵为F=B [U1,U2,英国];计算综合评价值Z=FW,其中W为第I个主成分的贡献率(占总主成分贡献率的多少);根据综合评价值,如果是效益指标,评价值越高,排名越高;如果是成本指标值,评价越小,排名越高;对于以下情况:

  从scipy.stats导入numpy作为NP导入zscorea=NP . load txt( pdat 11 _ 8 . txt )print(相关系数矩阵为: n ,np.corr coef (a.t)) b=np.delete (a,0,Axis=1) #删除第一列数据c=zscore(b)r=np.corrcoef(c.T) #将数据标准化并计算相关系数矩阵D,e=np.linalg.eig(r e)打印(各主成分贡献率为:,rate)k=1 #提出主成分个数F=e[:k]score_mat=c.dot(F) #计算主成分得分矩阵score 1=score _ mat . dot(rate[0:k])#计算各评价对象得分score2=-score1 #通过表格中的数据和对得分1的观察, 需要调整分数打印的符号(每个评价对象的分数为:,score 2)index=score 1 . arg sort()1 #排序打印后原数组中每个元素的位置(每个城市的编号从高到低排序为:,index)

  注意主成分分析,

系数的正负号

的主成分是不可控的,因为特征向量乘以-1还是特征向量,所以一定要根据实际问题判断系数是否要取倒数!在进行主成分分析之前,数据必须

主成分分析法的数学模型,主成分分析法属于什么模型