无关乎算法原理,本文将从用户体验的角度,着重分析多维度数据处理的降维方法:主成分分析法(PC A)

主成分分析法(PC A):类似SUS,该方法能够将诸多因子如(满意度,可用性,简易性等多指标转化成低维度数据,以数字或图表的形式直观呈现),并介绍反映维度数量与误差性关系的图表–碎石图及其算法(基于PC A)。

前文我们提到了用户体验数据化的广泛例子–系统可用性量表SUS,但是在实际用户体验研究过程中,不光是可用性测量,还涉及易用性,满意度等等其他维度的考量,甚至有些原始数据可能连有哪些维度都是不清晰的,需要研究人员来进行判断。在这种情况下,基于个人经验的判断已经无法适应,我们需要借助计算机与统计学知识来读懂数据以支持产品决策。

笔者并不是理学出身,但基于实际作业的需要,自学了相关课程,感触颇深。如果有线性代数和统计学背景自然是最好的,但是如果不具备,也完全没问题。对于这些方法,如果以产品经理的标准,我们最需要是使用好这些方法,创造价值,所以不用担心。本文将避开算法原理,而重点分析设计逻辑和应用场景。

主成分分析法(PC A)设计逻辑

回顾一下之前的系统可用性量表SUS(详情请看《浅析用户体验数据化》),它本质上是通过投影的方式,将原本两个维度的数据(可用性与易用性)转化在单个轴上。在多维度数据处理中,其核心也是如此也是将:多维度空间的数据通过投影的方式转化在低纬度中。

线性代数告诉我们,如果是单纯的降维,有无数种方式可以进行,难的是在降维过程中,保持原有数据的特征也就是相关性。若两个因子如可用性,易用性是强相关且是线性相关,先假设可用性越高,易用性越高,那么降低维度后,数据集也应当存在这样的特性,甚至能够保持当可用性提高了X%时,易用性也会提高相应的程度。

这里需要注意:数据降维之后一定会损失一定的信息,这没办法避免。PC A做的就是尽量保留主要特征而减弱冗杂信息,所采用的方式是通过让各个原始数据在转化之后,相距尽量大,也就是差异性最明显。

这里先举一个简单例子。比如我们分别给5个产品做了SUS测试得到了每个产品的可用性,易用性指标,我们将其表示在二维图上。

之后我们在将这个两维数据降成一维的。就是找一条轴,然后得到各个产品指标在这个轴上的投影,且满足投影之后的差异性最大。

例如产品A(1,2)和产品B(1,0)的关系就保留在了这条轴上。但如果我们投影在了y轴,A和B就重叠了,就无法比较出A和B哪个更优,即丧失了易用性的比较。而PC A算法保留了这个特性,我们通过处理后的数据可以方便的比较各个产品的优劣。

理论上原本有几个维度的数据,就有几个特征向量。各个特征向量之间正交。也就是说明,通过特征向量转换后的维度之间是相互独立的。详细的会在后面的实例中说明。

这里需要特别指出,PC A方法不适合用于高阶相关性的数据,而适合用于线性相关。但对于一般的智能产品领域,或App,网页等互联网产品,社会学研究等,PC A已经能应对绝大部分情况了。

PC A实际案例分析

我将以一个实际的作业来分析PC A的使用方法和注意点。(笔者是用 Matlab 写的程序)。当然,最重要的不是程序而是理解PC A是怎么回事。先附上代码。

%data 为输入的数据集,行表示项目,项目之间是并行的例如产品1,产品2或者用户1,用户2,

%各列表示描述项目的维度比如,易用性,可用性,满意度等

data = shishen;

% PCA Template to data

% n 为测量的项目数量,p则表示描述的维度数量

[n,p] = size(data);

% PC A运算过程,这里就不再介绍,有兴趣可以参考《Exploratory Data Analysis with MATLAB》 。我这里将原数据集其降成一维。

datac = data – repmat(sum(data)/n,n,1);

covm = cov(datac);

[eigvec,eigval] = eig(covm);

eigval = diag(eigval);

eigval = flipud(eigval);

eigvec = eigvec(:,p:-1:1);

pervar = 100*cumsum(eigval)/sum(eigval);

g =zeros(1,p);

for k = 1:p

for i = k:p

g(k) = g(k) + 1/i;

end

end

g = g/p;

propvar = eigval/sum(eigval);

avgeig = mean(eigval);

ind = find(eigval > avgeig);

l=length(ind);

%P 控制转换成几个维度,若需要转换成X维,则p= eigvec(:,1:x);

P = eigvec(:,1:1);

%dataP 即是最后我们得到的降维之后的数据集

dataP = datac*P;

原数据说明

这里我们收集了80位用户在使用某款App时候,在各个任务环节上使用的时间和整体任务失败率,以此得到用户在这款产品上的易用性数值。在以同样的方式进行对竞品的分析,以处理后的数据进行比较,期望得到有哪些环节是关键并且需要改进,产品优势等其他重要结论。

数据需要具有线性相关性

线性相关是保证我们可以找到投影基准的根本,详细的可以参考线性代数等相关知识。我这里指出一个小技巧,在前期数据收集的时候,可以尽量将数据好和坏变化统一。例如上述的例子,我们认为在任务上的耗时越长,表示产品越差。因此使用项目失败率做指标而不是项目成功率,因为失败率越高表示产品越差,而成功率越高表示产品越好和前面的数据变化相反了。通过这样的处理,PC A算法得到的差异性会更加明显。

PC A处理结果及其意义

将以上数据集,用PC A方法降维后,我们得到以下数据集,将这5维的数据转化成只有一个维度,经过与元数据的比较和转换基的数值,我们发现这个分数是易用性维度上的比较。

通过分析这个单纯的数据表格,我们至少可以得到以下结论

该App具有一定学习成本,新手导引需要改进,项目分布差值广泛

该App在易用性上存在很大改进空间

在中间过程中,我们得到了以下附属的结果

转化矩阵P

转换矩阵p=[0.0535;-0.9984;-0.015;0.0011;9.9375e-05]。(最大特征向量)。这就是降维转换公式,我们之后再其他产品分析中,用相同的转换矩阵降维就能够像系统可用性量表(SUS)一样进行直观的比较分析了。

那么差值是否具有意义?答案是有意义,这里的差值是可以再次进行运算的。因为转化方程是一致的,所投影的空间也是一致的,可行性单位也是固定的。但是需要注意,经过转换后的数据集是无法再还原到原先的数据集的。因此我们虽然能够比出可行性高低,但是在转换到具体的项目上还需要原来数据的处理。

比如我们在这个项目过程中,通过对最高易用性数值与最低数值原数据集的比较,可以得到各个项目的差异大小。例如得到24号用户达到的易用性数值最高,16号用户易用性最小。然后再原数据中寻找,得到哥哥项目的差是【26,-384,9,-5,0.05】,结合转换矩阵p,我们可以窥视到以下信息:

任务1与任务2在设计上存在冲突,若用户项目A上耗时时间短则在项目B上花费的时间就长。理由是:两者转换值为负相关。

任务2,任务1是关键任务,需要在下一版本中着重设计。项目3,4影响不大,非关键任务,用户犯错率基本稳定。理由是:任务1的1s对应的数值是0.0535的数值变化而任务2中的1s对应的是-0.9984的数值变化。两者对于最后的分数的贡献是不一致的。

数据维度-碎石图

但是以上的转换后的数据有多少可信度呢?理论上,所降维度越低则损失的信息越多。那么如何判断应该降低到几维空间中呢?判断方式就是通过转换矩阵(特征向量)的长度。特征向量长就意味着,在这个维度(例如上述的可用性)上的变化明显,相反,若特征值短就意味着,在这个维度上,数据基本没有差异性因此没有分析价值(大家都一样)。先附上程序。

figure, plot(1:length(eigval),eigval,’ko-‘)

title(‘Scree Plot’)

xlabel(‘Eigenvalue Index – k’)

ylabel(‘Eigenvalue’)

由此看到,这个数据集中只存在一个维度上的变化,这就是主要成分。因此降维之后的信息是具有可信度的,保留了原数据70%~95%的信息。(记住就好)

通过碎石图,我们可以快速的明白数据中有哪些维度需要进行分析。这个k就是碎石图中的拐点,代表了数据需要降低到k维空间中,以保留主要信息。

后记

对于产品经理或者非数据挖掘从业者,了解PC A算法将会使你的分析更加精准有效,使结论更具有说服力,作为初期的用户研究绰绰有余。但本文也只是从用户体验这个侧面展示了这个算法的运用。

通过PC A算法我们可以分析出(不止于此)

项目之间的相关性(冲突还是互利)

项目之间的重要层级和所影响的维度

产品主要维度的构成

这些问题凭借简单的直方图等和肉眼是很难察觉的。因此,毫无疑问,一个掌握数据分析的产品经理所能看到的问题必将更加深刻和现实。

参考文献:

《Exploratory Data Analysis with MATLAB》 Wendy L. Martinez, Angel Martinez, Jeffrey Solka

本文由 @kieran 原创发布于人人都是产品经理。未经许可,禁止转载。

给作者打赏,鼓励TA抓紧创作!赞赏

4人打赏

主成分分析碎石图_用户体验数据的多维度处理:PC A法及碎石图相关推荐

  1. Markdown mermaid种草(9)_ 用户体验地图

    Markdown mermaid种草(9)_ 用户体验地图 文章目录 Markdown mermaid种草(9)_ 用户体验地图 1 用户体验地图 2 用户体验地图举例 1 用户体验地图 ​ User ...

  2. 浅谈用户体验的 4 个维度

    本文为PMCAFF作者 SnowDesign 于社区发布 首先,用户体验的 4 个维度为: IX:Interface Experience,人与界面的交互体验 CX:Content Experienc ...

  3. 用户体验设计师能为seo做_用户体验设计师可以从产品设计历史中学到什么

    用户体验设计师能为seo做 Many things have changed from tool design in the prehistoric era to today's digital pr ...

  4. 精美网页设计案例_用户体验设计的精美艺术

    精美网页设计案例 There are interactive experiences that simply blow you away. You know it's been a positive ...

  5. 心理学专业转用户体验_用户体验设计心理学

    心理学专业转用户体验 重点 (Top highlight) Psychology is integral part of User Experience(UX) design process. Und ...

  6. 用户体验改善案例_用户体验案例研究:建立更好的体验(重新设计“和平航空”网站)...

    用户体验改善案例 by Peace Ojemeh (Perrie) 由Peace Ojemeh(Perrie) 用户体验案例研究:建立更好的体验(重新设计"和平航空"网站) (A ...

  7. 用户研究方法定性定量_用户体验测试:定性测试

    用户研究方法定性定量 什么是定性测试? (What is Qualitative Testing?) Qualitative testing-which can take the form of in ...

  8. ux体验网站 英国_?? 用户体验(UX)资源和工具的完整列表??

    ux体验网站 英国 by Jason Hreha 杰森·赫雷哈(Jason Hreha) ?? 用户体验(UX)资源和工具的完整列表?? (?? The Complete List of User E ...

  9. 用友邮件撤回怎么操作_用户体验原则——“操作可控”

    对于用户的误操作,提供二次确认或者撤销的功能,这样可提高用户的操作可控性.好设计应该是值得信任,也容易被相信的.在要求用户执行某一动作时,尽量帮他们理解为什么这个操作是必要的.每一步都需要借助诚实和清 ...

最新文章

  1. JS对象转URL参数
  2. SQL语句导入导出大全
  3. [转]数据结构:图的存储结构之邻接多重表
  4. 可以把阿里云上面的一些介绍和视频都看看
  5. Net WebClient 异步批量下载文件
  6. Kinect+OpenNI学习笔记之12(简单手势所表示的数字的识别)
  7. Python-OpenCV 处理视频(二): 视频处理
  8. AFNetwork作用和用法详解
  9. DDD领域驱动设计理论篇 - 学习笔记
  10. curPos和tgtPos
  11. $python数据分析基础——初识numpy库
  12. tf.keras CNN网络搭建笔记
  13. python基础语法中处理一组数据所使用的类型有哪些_python基本数据预处理语法函数(2)...
  14. 深入理解Magento – 第六章 – 高级Magento模型
  15. python调用github_Python调用GithubAPI并进行初步的数据分析
  16. 二叉树三种递归和非递归遍历 层序遍历
  17. 全套安全从业人员必备工具(建议大家收藏这个帖子)
  18. Vue之ElementUI导航菜单
  19. 计算机自动关机命令,电脑自动关机命令是什么?你都知道吗?
  20. python模拟鼠标拖动_python模拟鼠标拖动教程

热门文章

  1. Linux挂载data盘
  2. 【Python核心】字典和集合
  3. 第十二章 项目采购管理
  4. 车牌识别停车计费系统性能表现二 计费系统功能强大
  5. 经典法定K型归一化LPF设计学习记录
  6. 基于淘宝网的淘金币抽奖是如何吸引屌丝消费的策略研究
  7. 256种编程语言的大清单
  8. 2020-03-31-微信公众号3月份汇总
  9. 计算机理论之父是哪位,计算机之父指的是谁 计算机之父是谁
  10. 应用权限不足0xc0000022