因子分析计算权重
因子分析两类权重计算方法总结

- 案例背景
疫情爆发以来,越来越多的人为了避免线下与人接触,选择了线上购买生活必需品。网购虽然方便快捷,但是随着订单压力的增加,物流问题也随之出现,近期有很多卖家收到物流投诉的问题。淘宝某网店想要使用因子分析研究物流服务质量不同维度所占权重的情况,采用随单进行问卷调查的方式,共收集到200份数据,其中14个项调查数据可分为可靠性、经济性、时间性、灵活性4个维度。具体维度划分见下表:

- 前期准备
在使用因子分析计算权重的前期,需要按照因子分析的流程完成因子分析适用性判断、对应关系调整以及因子命名这3项准备工作。
(1)因子分析适用性判断
因子分析适用性通过KMO值和Bartlett球形度检验进行判断;KMO值是一个用于检验是否适合因子分析的指标,一般大于0.6即说明数据适合进行因子分析。Bartlett球形度检验对应的p值小于0.05则说明适合进行因子分析。
(2)对应关系调整
分析14个指标与因子的对应关系;如果对应关系与预期4个维度基本一致,比如经过因子分析后隶属于“可靠性”这一维度的三个指标“包装完好”、“信息保密”、“退货包运费”确实属于“可靠性”这一维度,则说明对应关系良好;否则,则说明指标与因子对应关系需要进行调整。当指标与因子对应关系出现严重偏差的时候可以将指标做删除处理。关于对应关系调整这一部分内容,不是本篇文章讲解的重点内容,可以参考SPSSAU帮助手册进行学习https://spssau.com/helps/advancedmethods/factor.html。
(3)因子命名
在第二步指标项与因子对应关系调整好之后,就可以结合专业知识,对信息浓缩完成的4个因子进行因子命名。比如,“运费合理”、“个性化服务”、“退换货费用”、“误差处理”这四个指标可以代表物流服务的价格是否经济合理,那么就可以将提取出的因子命名为“经济性”。本案例在初始阶段已经预设将指标项分为可靠性、经济性、时间性、灵活性四个维度。
三、因子权重计算
因子权重计算是指经过因子分析后,信息浓缩为几个因子,要计算这几个因子的权重大小,即各个因子所占比重的大小。比如在本案例中,因子权重计算是指计算“可靠性”、“经济性”、“时间性”、“灵活性”这四个维度的权重值。因子权重计算主要利用下图所示表格进行计算,如下图:

(1)基本概念
- 特征根:
特征根在因子分析中被用来解释因子的总贡献,特征根越大,说明因子越重要。特征根一般还可用于自动确定因子最佳个数,通常以大于1作为标准(多数情况自行设置因子个数)。 - 方差解释率
方差解释率是因子提取的信息量;方差解释率=特征根/总分析项个数。比如上图中因子1的方差解释率=7.910/13=0.6084,意味着该因子共提取出这13个分析项60.845%的信息。 - 累计方差解释率
因子累计提取出的信息量 - 最大方差旋转法
最大方差旋转法是一种因子分析旋转方法,它的目标是使每个因子的方差尽可能大。这种方法的基本思想是将每个因子的载荷矩阵进行调整,使得每个因子的方差尽可能大。 - 旋转后方差解释率
经过最大方差旋转后因子的方差解释率。使用旋转后方差解释率,可以提高分析的准确性和可解释性。
(2)计算原理
因子权重计算主要使用旋转后方差解释率和旋转后累计方差解释率进行计算。因为在经过因子旋转后,更有利于应用现实语言描述所得因子,使公共因子更具有实际意义。可以更突出各个因子的典型代表变量是谁,这样更容易发觉因子的作用。旋转的目的是通过改变坐标轴位置,重新分配各个因子所解释方差比例,使其载荷系数更接近1或0,能更好地解释和命名变量。旋转后的因子不改变模型对数据的拟合程度,也不改变各个变量的公因子方差,使因子结构变得更简单。所以,使用旋转后方差解释率可以提高因子分析的可解释性。
(3)计算示例

从上表可知:4个因子旋转后的方差解释率分别是33.530%,32.248%,12.046%,10.571%,旋转后累积方差解释率为88.395%。旋转后方差解释率归一化,可以得到4个因子的权重,计算如下:
因子1(时间性)权重=33.530% / 88.395%=0.379
因子2(经济性)权重=32.248% / 88.395%=0.365
因子3(灵活性)权重=12.046% / 88.395%=0.136
因子4(可靠性)权重=10.571% / 88.395%=0.120
计算得到,关于该淘宝网店物流服务质量研究的四个维度:时间性、经济性、灵活性、可靠性的权重分别是0.379、0.365、0.136、0.120。
四、指标权重计算
因子权重计算完成后,还可以进行指标项权重计算。指标权重计算是指,所有指标项所占权重。比如在本例中“包装完好”、“信息保密”“退换货保障”等14个指标项各自所占的权重。或者可以将因子权重理解为一级指标权重,将指标权重理解为二级指标权重。计算指标权重,主要使用到两个指标,分别是线性组合系数和综合得分系数,下面将逐个进行说明。

- 线性组合系数
线性组合系数可用于表述信息浓缩的大小,计算线性组合系数,公式为:loading矩阵/Sqrt(eigen),即载荷系数除以对应特征根的平方根。
(2)综合得分系数
综合得分系数可用于衡量指标所占信息比重的大小,综合得分系数越大,说明指标所携带信息越大,指标权重越大。计算综合得分系数,公式为:累积(线性组合系数*方差解释率)/累积方差解释率,即线性组合系数分别与方差解释率相乘后累加,然后除以累积方差解释率;
如上图:可靠性1综合得分系数=(0.0898*33.53%+0.2706*32.25%+0.0951*12.05%+0.6573*10.57%)/(33.53%+32.25%+12.05%+10.57)=0.2244
(3)计算示例
计算指标权重,将综合得分系数进行归一化处理即得到各指标权重值;
如上图:可靠性1权重=(0.2244/∑综合得分系数)*100%=7.54%
可靠性2权重=(0.2340/∑综合得分系数)*100%=7.86%
其他指标权重计算过程同上。
注:上述loading矩阵,特征根eigen,方差解释率或累积方差解释率均为旋转后对应值
五、总结
因子权重计算与指标权重计算都可以通过SPSSAU因子分析输出的结果进行计算。因子权重使用旋转后方差解释率以及旋转后累计方差解释率进行计算;指标项权重使用归一化综合得分系数进行计算。虽然指标项计算过程略显复杂,但SPSSAU会在线性组合系数及权重结果这张表中自动输出权重值,大大简化了手动计算的繁琐步骤。
如果使用了因子分析计算因子权重后,不想再使用因子分析计算指标项权重,那么可以使用其他权重计算方法进行指标项权重的计算。例如,可以使用熵值法进行指标项权重计算,那么这里就使用了因子分析与熵值法两种计算权重的方法,可以丰富研究方法。
相关文章:
因子分析计算权重
因子分析两类权重计算方法总结 案例背景 疫情爆发以来,越来越多的人为了避免线下与人接触,选择了线上购买生活必需品。网购虽然方便快捷,但是随着订单压力的增加,物流问题也随之出现,近期有很多卖家收到物流投诉的问题…...
国家调控油价预测案例+源码
项目git地址:https://github.com/Boris-2021/Oil-price-control-forecast 使用已知的历史数据:日期、汇率、布伦特、WTI、阿曼原油价格,预测下一个调价周期中的汽油、柴油零售限价的调价价格。 一. 需求 1.1 需求说明 使用已知的历史数据&a…...
Gephi快速入门
Gephi快速入门1. 导入文件(Import file)2. 布局(Layout)3. 排序(Ranking)4. 指标(Metrics)5. 标签(Label)6. 社区发现(Community detection&#…...
GitHub
什么是 Github?GitHub是一个面向开源及私有软件项目的托管平台,因为只支持Git作为唯一的版本库格式进行托管,故名GitHub。一、常用词Watch:观察。如果watch了一个项目,之后这个项目有更新,你会在第一时间收到该项目更…...
QT基础入门【调试篇】QT远程部署与调试嵌入式ARM开发板
目录 一、环境配置 1、根据开发板完成交叉编译链以及GDB的配置(因开发板而异)...
可观测性最佳实践|阿里云事件总线 EventBridge 最佳实践
本文介绍如何把阿里云事件总线 EventBridge 的内容接入观测云平台,通过观测云强大的统一汇聚能力轻松获取阿里云事件,实时追踪最新的数据信息。 背景信息 事件总线 EventBridge 是阿里云提供的一款无服务器事件总线服务,支持阿里云服务、自定…...
设计模式-行为型
设计模式-行为型 行为型设计模式主要用于软件运行时复杂的流程控制。包含:模板方法模式、策略模式、命令模式、职责链模式、状态模式、观察者模式、中介者模式、迭代器模式、访问者模式、备忘录模式和解释器模式 模板方法模式 在软件设计时,很多时候系…...
Salesforce大揭秘!SaaS鼻祖不为人知的那些事!
Salesforce的世界无疑是广阔的。自从创始人Marc Benioff于1999年创立公司以来,Salesforce一直在打破CRM领域的界限,改变销售、营销和技术的格局。 作为全球领先的B2B科技公司之一,Salesforce和硅谷里的其他企业一样,缔造着一个关…...
Oracle——物化视图
文章目录含义物化视图的语法物化视图的创建1、自动刷新的物化事务 ON COMMIT2、非自动刷新的物化视图 ON demand关于手动刷新物化视图的删除资料参考含义 什么是物化视图? 物化视图,通俗点说就是物理化的视图。 什么叫物理化? 将视图以表结构…...
ur3+robotiq 2f 140配置moveit
ur3robotiq 2f 140配置moveit 参考链接1 参考链接2 官方配置movit教程 搭建环境: ubuntu: 20.04 ros: Nonetic sensor: robotiq_ft300 gripper: robotiq_2f_140_gripper UR: UR3 reasense: D435i 通过下面几篇博客配置好了ur3、力传感器、robotiq夹爪…...
LDO 芯片烫手,问题出在哪里?
设计失误的一个电路,该电路是数字电路的电源,为图方便对12V直接通过线性电源芯片降压到5V: 图1:线性电源降压12V转5V 几块电路板打样好后,测试均发现AMS1117-5.0芯片烫手,负载电流100mA多,也满…...
零日漏洞发展格局及防御策略
在过去的一年半中, 在野利用的零日漏洞数量持续飙升 ,这些软件制造商尚不知晓的漏洞正在被国家行为体黑客组织和勒索软件团伙滥用。 今年上半年,Google Project Zero统计了近20个零日漏洞,其中 大部分针对微软、苹果和谷歌构建的…...
RabbitMQ 可用磁盘空间报警
概要当磁盘可用空间低于设定的值(默认50M),将触发警报,并阻塞所有生产者。这目标是为了避免填满整个磁盘,这将导致所有节点上的写入操作失败,并可能导致RabbitMQ停止服务。如何工作为了减少磁盘被填满的风险…...
Web前端学习:二
二一:文字font-size样式 font-size:**px 控制文字大小,可精准控制大小 默认样式medium,中等的 large,大一号 x-large,再大一号 xx-large,再大一号 small,小一号 <!DOCTYPE html…...
【第一章 计算机网络体系结构,标准化工作相关组织,性能指标,分层结构,OSI参考模型】
第一章 计算机网络体系结构,标准化工作相关组织,性能指标,分层结构,OSI参考模型 1.计算机网络: (1)概念: ①计算机网络是将一个分散的、具有独立功能的计算机系统,通过通…...
SpringIOC源码解析
Spring深度学习(一)——IOC的设计理念Spring的核心思想——IOCSpring流程图DEMO编写Spring IoC容器的加载过程实例化化容器:AnnotationConfigApplicationContext实例化建BeanDefinition读取器: AnnotatedBeanDefinitionReaderBean…...
【Jupyter Notebook的简单入门使用】
【Jupyter Notebook的简单入门使用】简单介绍安装与配置简单使用Markdown关闭简单介绍 Jupyter官网 Jupyter Notebook 介绍 简单来讲,它是一个网页应用,可以进行文档编写,甚至运行 py 代码等功能 安装与配置 下载合适版本的 python &#…...
@Component@Import@Bean加载顺序解析
【前言】 我们在使用Spring注入Bean对象时,会使用不同注解,比如Component Service Controller Import Bean等。由于Service Controller 等都可以归为Component,那么Component 和Import 、Bean是何时被加载的,以及他们之间的顺序呢…...
二极管温度补偿电路工作原理分析
众所周知,PN结导通后有一个约为0.6V(指硅材料PN结)的压降,同时PN结还有一个与温度相关的特性:PN结导通后的压降基本不变,但不是不变,PN结两端的压降随温度升高而略有下降,温度愈高其…...
【C语言】多线程之条件竞争
多线程(三)条件竞争并发程序引起的共享内存的问题死锁互斥锁机制生产者消费者模型信号量机制解决:条件竞争 #include<stdio.h> #include<stdlib.h> #include<pthread.h> void* Print(char* str){printf("%s ",s…...
使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式
一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明:假设每台服务器已…...
OpenLayers 可视化之热力图
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 热力图(Heatmap)又叫热点图,是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...
TDengine 快速体验(Docker 镜像方式)
简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快…...
376. Wiggle Subsequence
376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...
在四层代理中还原真实客户端ngx_stream_realip_module
一、模块原理与价值 PROXY Protocol 回溯 第三方负载均衡(如 HAProxy、AWS NLB、阿里 SLB)发起上游连接时,将真实客户端 IP/Port 写入 PROXY Protocol v1/v2 头。Stream 层接收到头部后,ngx_stream_realip_module 从中提取原始信息…...
【单片机期末】单片机系统设计
主要内容:系统状态机,系统时基,系统需求分析,系统构建,系统状态流图 一、题目要求 二、绘制系统状态流图 题目:根据上述描述绘制系统状态流图,注明状态转移条件及方向。 三、利用定时器产生时…...
unix/linux,sudo,其发展历程详细时间线、由来、历史背景
sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...
AspectJ 在 Android 中的完整使用指南
一、环境配置(Gradle 7.0 适配) 1. 项目级 build.gradle // 注意:沪江插件已停更,推荐官方兼容方案 buildscript {dependencies {classpath org.aspectj:aspectjtools:1.9.9.1 // AspectJ 工具} } 2. 模块级 build.gradle plu…...
零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)
本期内容并不是很难,相信大家会学的很愉快,当然对于有后端基础的朋友来说,本期内容更加容易了解,当然没有基础的也别担心,本期内容会详细解释有关内容 本期用到的软件:yakit(因为经过之前好多期…...
Redis的发布订阅模式与专业的 MQ(如 Kafka, RabbitMQ)相比,优缺点是什么?适用于哪些场景?
Redis 的发布订阅(Pub/Sub)模式与专业的 MQ(Message Queue)如 Kafka、RabbitMQ 进行比较,核心的权衡点在于:简单与速度 vs. 可靠与功能。 下面我们详细展开对比。 Redis Pub/Sub 的核心特点 它是一个发后…...
