【数学建模】--因子分析模型
因子分析有斯皮尔曼在1904年首次提出,其在某种程度上可以被看成时主成分分析的推广和扩展。
因子分析法通过研究变量间的相关稀疏矩阵,把这些变量间错综复杂的关系归结成少数几个综合因子,由于归结出的因子个数少于原始变量的个数,但是它们又包含原始变量的信息,所以,这一分析过程也称为降维。由于因子往往比主成分更容易得到解释,故因子分析比主成分分析更容易成功,从而有更广泛的应用。
本讲的前面部分将简要介绍因子分析模型的数学原理,在最后的应用部分,我们将举行一个实例帮助大家理解,大家可以把重点放在最后的应用上。
因子分析和主成分分析的对比:
成功性远大于主成分分析。
实例1:
实例2:
因子分析的原理(以下一些原理只做了解即可):
因子分析的模型假设:
因子模型的性质:
因子载荷矩阵的统计意义:

参数估计:利用spss
因子旋转:
(最常用的方法:最大方差法)
因子得分:
原理及其方法的总结:因子分析是一种常用的统计分析方法,用于探索多个观测变量之间的关系,目的是找到潜在的因子或构建维度,将多个变量归纳为较少的几个潜在因子,以简化数据分析和解释。
在因子分析中,我们假设观测变量是由潜在因子所驱动,并且这些潜在因子无法直接观测到。通过因子分析,我们可以确定这些潜在因子在整个数据集中的作用程度,并且可以根据因子负载(factor loading)来衡量每个观测变量和潜在因子之间的相关性。因子负载表示观测变量与潜在因子之间的线性关系强度,取值范围通常在-1到1之间,绝对值越大表示相关性越强。
在实施因子分析时,通常包括以下步骤:
1.数据准备:收集相关观测变量的数据,确保数据的可靠性和合理性。
2.因子提取:采用不同的因子提取方法,如主成分分析(PCA)、最大似然估计法(MLE)或常见因子法(CF)等,从观测变量中提取潜在因子。
3.因子旋转:对提取得到的因子进行旋转,以使因子负载更容易解释和理解。常用的旋转方法包括正交旋转(如方差最大化旋转,如Varimax)和斜交旋转(如极大似然估计法,如Promax)等。
4.因子解释和命名:根据因子负载和变量之间的关系,解释提取得到的因子,并为这些因子命名,以便更好地理解其意义。
5.结果解释和使用:基于因子分析的结果,可以进行进一步的数据分析、模型构建或决策制定。
需要注意的是,因子分析是一种探索性分析方法,其结果依赖于数据的质量和所选择的分析方法。因此,在实施因子分析时,应当谨慎选择因子的提取和旋转方法,并结合领域知识和实际情况进行合理解释和使用。
因子分析的实例以及Spss操作:
步骤:
一:将数据导入到Spss中,观察是否能通过检验,若能通过检验,再跟据碎石图确定因子数目。

二:得到因子数目后,再在、重新用spss分析一遍,与第一次不同,第二次的分析中要输入确定的因子数目:
三:在因子分析的结果分析中,主要关注以下几个重要指标和步骤:
1.因子载荷(Factor Loadings):因子载荷表示每个变量与因子之间的关系强度,它衡量了变量与因子之间的相关性。载荷通常介于-1和1之间,越接近于1表示变量与因子之间的相关性越强。在结果分析中,可以查看载荷矩阵,找出高载荷的变量与对应的因子,以解释因子结构。
2.特征值(Eigenvalues):特征值衡量了每个因子解释的总方差量。较高的特征值表示该因子解释了较大的方差比例。通常,选择特征值大于1的因子作为解释因子结构的依据。
3.解释方差(Explained Variance):解释方差指示了因子分析所提取的因子结构能够解释原始变量方差的百分比。可以通过查看累积解释方差来确定所选因子的总体解释能力。
4.因子旋转(Factor Rotation):在因子分析中,旋转可以改善因子的解释性和解释可行性。常用的旋转方法有正交旋转(如Varimax)和斜交旋转(如Promax)。旋转后的因子载荷矩阵更易解释,因此对解释因子结构非常有用。
5.因子得分(Factor Scores):通过因子得分,可以将每个观测单位在因子上的得分进行计算,从而对观测单位进行分类、聚类或描述性分析。
综合以上指标和步骤,可以对因子分析的结果进行分析描述。可以考虑以下方面:
1.解释因子结构:根据载荷矩阵和特征值,确定每个因子与哪些变量具有高相关性,以解释潜在的潜在结构。比较载荷值,观察哪些变量对哪个因子有更大的贡献。
2.确定因子数量和命名:根据特征值、解释方差和理论知识,确定提取的因子数量。为每个因子命名,根据变量载荷的模式和内容,寻找共性的主题或潜在构念。
3.解释因子的含义:解释每个因子所代表的潜在构念或主题。通过观察每个因子的高载荷变量和变量的意义,可以确定每个因子所代表的特定概念。
4.解释解释方差:根据解释方差,确定选择的因子能够解释原始数据中的方差比例。较高的解释方差表示所提取的因子结构具有较强的解释能力。
5.解释因子得分:根据观测单位在因子上的得分,解释不同观测单位在每个因子上的特点和趋势。根据得分情况,可以对观测单位进行分类、聚类或描述性分析。
这些步骤和指标可以帮助您理解和描述因子分析的结果,从而更好地解释数据中的潜在结构和关系。
生成结果进行分析:
总方差解释表:
成分矩阵:
旋转后的因子载荷散点图:
分析因子得分:
对于步骤1中spss的一些名词解释,检验标准和如何通过碎石图确定因子数目。
名词解释:
检验:
通过观察spss生成的KMO和巴特利检验观察-
如果KOM>0.9-非常适合;0.8~0,9-适合;0,7~0.8-一般,0.7以下的不适合。
如果巴特利特的显著性<0.05(一般取0.05)适合。

确定因子的数目:
观察图形的陡峭程度,哪些变量部分陡峭,就将变量的数目确定为因子数目。
相关文章:
【数学建模】--因子分析模型
因子分析有斯皮尔曼在1904年首次提出,其在某种程度上可以被看成时主成分分析的推广和扩展。 因子分析法通过研究变量间的相关稀疏矩阵,把这些变量间错综复杂的关系归结成少数几个综合因子,由于归结出的因子个数少于原始变量的个数,…...
RAM不够?CUBEIDE使用CCMRAM
RAM不够?使用CCMRAM 文章目录 RAM不够?使用CCMRAM打开连接LD文件:添加代码添加标识宏使用 打开连接LD文件: 添加代码 在SECTIONS段最后加上下面代码: _siccmram LOADADDR(.ccmram); /* CCM-RAM section * * IMPORTAN…...
npm ERR! code ERESOLVEnpm ERR! ERESOLVE unable to resolve dependency tree
拉取项目到本地 执行 npm install 报错 遇到这个问题首先确认的就是版本是不是太高了,降一下版本。或者通过yarn命令替代npm install命令安装,同理,启动也可以采用yarn dev 启动代替npm run dev 下面教大家用一个NVM工具,这个工…...
使用 prometheus client SDK 暴露指标
目录 1. 使用 prometheus client SDK 暴露指标1.1. How Go exposition works1.2. Adding your own metrics1.3. Other Go client features 2. Golang Application monitoring using Prometheus2.1. Metrics and Labels2.2. Metrics Types2.2.1. Counters:2.2.2. Gauges:2.2.3. …...
Jmeter之BeanShell取出参数进行四则运算,并判断是否正确
首先调用余额接口,使用正则提取响应中的余额字段,记作变量acctBal1做支付交易再次调用余额接口,使用正则提取响应中的余额字段,记作变量acctBal2最后在结果树中可以看到断言错误的信息,断言正确时没有提示以下是beansh…...
PYTHON 斗地主发牌 (简易版)
利用方法: 1. random.randint( ) 随机抽取数字 方法 2.random.sample((抽取范围的参数),(抽取的个数)) 返回的是列表 所以用[0]可以输出里面的元素 import random# 1. 创建牌 # 花色 color ["\u2660", "\u2663", "\u2665", "\…...
CSS文本裁剪
对于单行文本裁剪: span {text-overflow:ellipsis;white-space:nowrap;overflow:hidden;display:block; } 对于多行文本裁剪: 在文本容器上定义 CSS Flexbox 属性 display: -webkit-box; 定义要显示的文本行数 -webkit-line-clamp: 4; 添加 -webkit-…...
ClickHouse常见的引擎和使用
1.日志引擎 日志引擎特点 1.数据存储在磁盘上 2.写入时将数据追加在文件末尾 3.不支持突变操作 4.不支持索引 5.非原子地写入数据 6.引擎不支持 ALTER UPDATE 和 ALTER DELETE 操作 建表语法示例 CREATE TABLE [IF NOT EXISTS] [db.]table_name [ON CLUSTER cluster] ( …...
构建之法 - 软件工程实践教学:一线教师的13问
福州大学单红老师的软工课程总结 2020春,不一样的学期不一样的软工实践 单红⽼师在总结中,提出了13条疑惑,《构建之法》的作者邹欣⽼师就单红⽼师提出的每⼀条疑惑,给出了⾃⼰的思考,与他进⾏探讨交流。欢迎你也来参与…...
联调 matlab 遇到的一些事儿
记录当时遇到的问题,因为平时不写 matlab,所以没有深入的理解。 版本兼容 当时遇到的第一个问题就是不同版本 matlab 带来的兼容性问题。同时开发使用的是 2021a 版本,而调试时使用的是 2022b 版本。在新版本中某些函数已被弃用,…...
时序预测 | Matlab实现基于GRNN广义回归神经网络的电力负荷预测模型
文章目录 效果一览文章概述源码设计参考资料效果一览 文章概述 时序预测 | Matlab实现基于GRNN广义回归神经网络的电力负荷预测模型 1.Matlab实现基于GRNN广义回归神经网络的电力负荷预测模型 2.单变量时间序列预测; 3.多指标评价,评价指标包括:R2、MAE、MBE等,代码质量极高…...
3.2 Tomcat基础
1. Tomcat概述 Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器。 Tomcat版本:apache-tomcat-8.5.76。 2.IDEA集成Tomcat 第一步 第二步 第三步 编辑切换为居中 添加图片注释,不超过 140 字࿰…...
认识http的方法、Header、状态码以及简单实现一个http的业务逻辑
文章目录 http的方法http状态码http重定向http常见Header实现简单业务逻辑Protocol.hppUtil.hppServer.hppServer.cc 效果 http的方法 方法说明支持的HTTP版本GET获取资源1.0/1.1POST传输实体主体1.0/1.1PUT传输文件1.0/1.1HEAD获得报文首部1.0/1.1DELETE删除文件1.0/1.1OPTIO…...
Faiss在windows下安装和使用
pip install faiss-cpu 直接安装可能出现问题: error: command swig.exe failed: No such file or directory 安装swig即可解决,安装方式...
【JavaEE进阶】SpringBoot项目的创建
文章目录 一. SpringBoot简介1. 什么是SpringBoot?2. SpringBoot的优点 二. SpringBoot项目创建1. 使用IDEA创建2. 使用网页创建SpringBoot项目 三. 运行SpringBoot项目 一. SpringBoot简介 1. 什么是SpringBoot? Spring Boot 是一个用于快速构建基于 Spring 框架的应用程序…...
c++二进制转化十进制代码(小数)
#include <bits/stdc.h> using namespace std; int mid; double er_shi(string a){int lena;double sum0;int p0;int q-1;int yn1;//判断是否小数 lenaa.length();//字符串长度 for(int i0;i<lena;i){if(a[i].){midi;yn0;break;} }if(yn0){for(int jmid-1;j>0;j--…...
07_ansible, 条件选择、加载客户事件、在roles和includes上面应用’when’语句、条件导入、基于变量选择文件和模版、注册变量
10.条件选择 10.1.When语句 10.2.加载客户事件 10.3.在roles和includes上面应用’when’语句 10.4.条件导入 10.5.基于变量选择文件和模版 10.6.注册变量 10.条件选择 转自:http://www.ansible.com.cn/docs/playbooks_conditionals.html#id3 常常来说,一个play的…...
4个简化IT服务台任务的ChatGPT功能
最近几个月,ChatGPT 风靡全球,这是一个 AI 聊天机器人,使用户能够生成脚本、文章、锻炼图表等。这项技术在各行各业都有无穷无尽的应用,在本文中,我们将研究这种现代技术如何帮助服务台团队增强服务交付和客户体验。 什…...
群晖7.X版安装cpolar内网穿透
群晖7.X版安装cpolar内网穿透套件 文章目录 群晖7.X版安装cpolar内网穿透套件前言1. 下载cpolar的群晖系统套件1.1 在“套件中心” 选择“手动安装”1.2 完成套件安装 2. 进入cpolar软件信息页3. 点击“免费注册”轻松获得cpolar账号 前言 随着群晖系统的更新换代,…...
[保研/考研机试] KY183 素数 北京航空航天大学复试上机题 C++实现
题目链接: 素数https://www.nowcoder.com/share/jump/437195121691718444910 描述 输入一个整数n(2<n<10000),要求输出所有从1到这个整数之间(不包括1和这个整数)个位为1的素数,如果没有则输出-1。 输入描述: 输入有多…...
TDengine 快速体验(Docker 镜像方式)
简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快…...
iPhone密码忘记了办?iPhoneUnlocker,iPhone解锁工具Aiseesoft iPhone Unlocker 高级注册版分享
平时用 iPhone 的时候,难免会碰到解锁的麻烦事。比如密码忘了、人脸识别 / 指纹识别突然不灵,或者买了二手 iPhone 却被原来的 iCloud 账号锁住,这时候就需要靠谱的解锁工具来帮忙了。Aiseesoft iPhone Unlocker 就是专门解决这些问题的软件&…...
前端导出带有合并单元格的列表
// 导出async function exportExcel(fileName "共识调整.xlsx") {// 所有数据const exportData await getAllMainData();// 表头内容let fitstTitleList [];const secondTitleList [];allColumns.value.forEach(column > {if (!column.children) {fitstTitleL…...
均衡后的SNRSINR
本文主要摘自参考文献中的前两篇,相关文献中经常会出现MIMO检测后的SINR不过一直没有找到相关数学推到过程,其中文献[1]中给出了相关原理在此仅做记录。 1. 系统模型 复信道模型 n t n_t nt 根发送天线, n r n_r nr 根接收天线的 MIMO 系…...
协议转换利器,profinet转ethercat网关的两大派系,各有千秋
随着工业以太网的发展,其高效、便捷、协议开放、易于冗余等诸多优点,被越来越多的工业现场所采用。西门子SIMATIC S7-1200/1500系列PLC集成有Profinet接口,具有实时性、开放性,使用TCP/IP和IT标准,符合基于工业以太网的…...
Windows电脑能装鸿蒙吗_Windows电脑体验鸿蒙电脑操作系统教程
鸿蒙电脑版操作系统来了,很多小伙伴想体验鸿蒙电脑版操作系统,可惜,鸿蒙系统并不支持你正在使用的传统的电脑来安装。不过可以通过可以使用华为官方提供的虚拟机,来体验大家心心念念的鸿蒙系统啦!注意:虚拟…...
Gitlab + Jenkins 实现 CICD
CICD 是持续集成(Continuous Integration, CI)和持续交付/部署(Continuous Delivery/Deployment, CD)的缩写,是现代软件开发中的一种自动化流程实践。下面介绍 Web 项目如何在代码提交到 Gitlab 后,自动发布…...
MySQL用户远程访问权限设置
mysql相关指令 一. MySQL给用户添加远程访问权限1. 创建或者修改用户权限方法一:创建用户并授予远程访问权限方法二:修改现有用户的访问限制方法三:授予特定数据库的特定权限 2. 修改 MySQL 配置文件3. 安全最佳实践4. 测试远程连接5. 撤销权…...
Git 使用大全:从入门到精通
Git 是目前最流行的分布式版本控制系统,被广泛应用于软件开发中。本文将全面介绍 Git 的各种功能和使用方法,包含大量代码示例和实践建议。 文章目录 Git 基础概念版本控制系统Git 的特点Git 的三个区域Git 文件状态 Git 安装与配置安装 GitLinuxmacOSWi…...
下一代设备健康管理解决方案:基于多源异构数据融合的智能运维架构
导语: 在工业4.0深度演进的关键节点,传统设备管理面临数据孤岛、误诊率高、运维滞后三大致命瓶颈。本文解析基于边缘智能与数字孪生的新一代解决方案架构,并实测验证中讯烛龙PHM-X系统如何通过多模态感知→智能诊断→自主决策闭环,…...
