《Python数学建模算法与应用课件》12第12章 主成分分析与因子分析.pptx

《Python数学建模算法与应用课件》12第12章 主成分分析与因子分析.pptx

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共83页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

;;主成分分析是一种通过降维技术将多个变量化为少数几个主成分(即综合变量,通常表示为原始变量的某种线性组合)的统计分析方法。在数学建模中通常可以用来做数据压缩(降维)、系统评估、回归、加权分析等。

因子分析可以视为主成分分析的推广,它是统计分析中常用的一种降维方法。因子分析有确定的统计模型,观察数据在模型中被分解为公共因子、特殊因子和误差三个部分。

;;12.1.1主成分分析的基本原理和步骤;2.主成分分析的基本步骤;12.1.2主成分分析的应用;#程序文件ex12_1.py

importnumpyasnp

fromsklearn.decompositionimportPCA

fromscipy.statsimportzscore

?

a=np.loadtxt(data12_1.txt)

b=zscore(a,ddof=1)#数据标准化

md=PCA().fit(b)#构造并拟合模型

print(特征值为:,md.explained_variance_)

print(各主成分贡献率:,md.explained_variance_ratio_)

xs1=ponents_#提出各主成分系数,每行是一个主成分

print(各主成分系数:\n,xs1)

check=xs1.sum(axis=1,keepdims=True)#计算各个主成分系数的和

xs2=xs1*np.sign(check)#调整主成分系数,和为负时乘以-1

print(调整后的主成分系数:,xs2);2.主成分回归分析;#程序文件ex12_2.py

importnumpyasnp

fromsklearn.decompositionimportPCA

importstatsmodels.apiassm

?

a=np.loadtxt(data12_2.txt)

mu=a.mean(axis=0)#逐列求均值

s=a.std(axis=0,ddof=1)#逐列求标准差

b=(a-mu)/s#数据标准化

r=np.corrcoef(b[:,:-1].T)#计算相关系数矩阵

md1=PCA().fit(b[:,:-1])#构造并拟合模型

print(特征值为:,md1.explained_variance_)

print(各主成分贡献率:,md1.explained_variance_ratio_)

xs=ponents_#提出各主成分系数,每行是一个主成分

print(主成分系数:\n,np.round(xs,4))

print(累积贡献率:,np.cumsum(md1.explained_variance_ratio_))

?

;n=3#选定主成分的个数

f=b[:,:-1]@(xs[:n,:].T)#主成分的得分

d2={y:a[:,-1],x:a[:,:-1]}

md2=sm.formula.ols(y~x,d2).fit()#原始数据线性回归

d3={y:a[:,-1],z:f}

md3=sm.formula.ols(y~z,d3).fit()#对主成分的回归方程

xs3=md3.params#提取主成分回归方程的系数

xs40=xs3[0]-sum(xs3[1:]@xs[:n,:]*mu[:-1]/s[:-1])#常数项

xs4=xs3[1:]@xs[:n,:]/s[:-1]#原始变量回归方程的其他系数

print(回归方程的常数项:,round(xs40,4))

print(回归方程的其他系数:,np.round(xs4,4))

print(直接回归的残差方差:,md2.mse_resid)

print(主成分回归的残差方差:,md3.mse_resid)

;3.基于核主成分分析的高校科技创新能力评价;#程序文件ex12_3.py

importnumpyasnp

importpandasaspd

fromsklearn.decompositionimportPCA

fromscipy.statsimportzscore

?

a=pd.read_excel(data12_3.xlsx,header=None)

b=a.values;c=zscore(b,ddof=1)#数据标准化

md1=PCA().fit(c)#构造并拟合模型

print(特征值为:,md1.explained_variance_)

r1=md1.explained_variance_ratio_#提取各主成分的贡献率

print(各主成分贡献率:,r1)

xs1=ponents_#提出各主成分系数

您可能关注的文档

文档评论(0)

gcmguochunming + 关注
实名认证
内容提供者

高级工程师持证人

该用户很懒,什么也没介绍

领域认证该用户于2025年07月19日上传了高级工程师

1亿VIP精品文档

相关文档