33
对字体不同属性对人们识别速度和准确率影响的研究 姜逸卿,孙达,张炳锋,赵学铭,王兵(排名不分先后) 工业工程系 摘要:对着科技的发展,PC机和互联网已经在人们的生产生活中占据了重要地位,人们的 阅读方式也从传统的纸质品阅读慢慢向电子品阅读转移。对于能够方便进行设计的电子阅读 产品,字体的各种属性都能随作者的喜好进行更改与组合。人们对于文字信息筛选的速度和 准确度也因不同的字体属性而变化。本文通过科学实验设计与数据分析的方法,着重研究字 体大小、颜色、排列方式、字体对人们识别数字的速度和准确度的影响,在几种常用设置中 给出了建议的最佳组合。 关键词:字体属性,识别,全因子设计,鲁棒分析。 目录 对字体不同属性对人们识别速度和准确率影响的研究 ............................................................... 0 一、 实验背景........................................................................................................................... 1 1. 响应变量与控制变量的理论关系................................................................................... 1 2. 全因子设计....................................................................................................................... 2 3. Robust 分析 ...................................................................................................................... 2 二、 前期分析与准备............................................................................................................... 3 1. 因素分析........................................................................................................................... 3 2. 变量分析........................................................................................................................... 3 3. 实验方式——Java 编程.................................................................................................... 5 三、 实验设计——2 2 ×3×4 全因子设计 ................................................................................... 5 四、 实验数据分析................................................................................................................... 7 1. 描述性统计....................................................................................................................... 8 2. 反应时间分析................................................................................................................... 9 3. 准确率分析..................................................................................................................... 14 五、 补充实验设计——Robust 分析 ..................................................................................... 17 六、 补充实验数据分析......................................................................................................... 18 七、 实验结果及改进............................................................................................................. 21 1. 结果................................................................................................................................. 21 2. 待改进............................................................................................................................. 21 附录 ................................................................................................................................................ 22 编程思路................................................................................................................................. 22 平台设计说明......................................................................................................................... 23 主要技术难点和算法设计..................................................................................................... 28

对字体不同属性对人们识别速度和准确率影响的研究 · 准确度也因不同的字体属性而变化。本文通过科学实验设计与数据分析的方法,着重研究字

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 对字体不同属性对人们识别速度和准确率影响的研究 · 准确度也因不同的字体属性而变化。本文通过科学实验设计与数据分析的方法,着重研究字

对字体不同属性对人们识别速度和准确率影响的研究

姜逸卿,孙达,张炳锋,赵学铭,王兵(排名不分先后)

工业工程系

摘要:对着科技的发展,PC机和互联网已经在人们的生产生活中占据了重要地位,人们的

阅读方式也从传统的纸质品阅读慢慢向电子品阅读转移。对于能够方便进行设计的电子阅读

产品,字体的各种属性都能随作者的喜好进行更改与组合。人们对于文字信息筛选的速度和

准确度也因不同的字体属性而变化。本文通过科学实验设计与数据分析的方法,着重研究字

体大小、颜色、排列方式、字体对人们识别数字的速度和准确度的影响,在几种常用设置中

给出了建议的最佳组合。

关键词:字体属性,识别,全因子设计,鲁棒分析。

目录

对字体不同属性对人们识别速度和准确率影响的研究 ............................................................... 0

一、 实验背景 ........................................................................................................................... 1

1. 响应变量与控制变量的理论关系 ................................................................................... 1

2. 全因子设计 ....................................................................................................................... 2

3. Robust 分析 ...................................................................................................................... 2

二、 前期分析与准备 ............................................................................................................... 3

1. 因素分析 ........................................................................................................................... 3

2. 变量分析 ........................................................................................................................... 3

3. 实验方式——Java 编程 .................................................................................................... 5

三、 实验设计——22×3×4 全因子设计 ................................................................................... 5

四、 实验数据分析 ................................................................................................................... 7

1. 描述性统计 ....................................................................................................................... 8

2. 反应时间分析 ................................................................................................................... 9

3. 准确率分析 ..................................................................................................................... 14

五、 补充实验设计——Robust 分析 ..................................................................................... 17

六、 补充实验数据分析 ......................................................................................................... 18

七、 实验结果及改进 ............................................................................................................. 21

1. 结果 ................................................................................................................................. 21

2. 待改进 ............................................................................................................................. 21

附录 ................................................................................................................................................ 22

编程思路 ................................................................................................................................. 22

平台设计说明 ......................................................................................................................... 23

主要技术难点和算法设计 ..................................................................................................... 28

Page 2: 对字体不同属性对人们识别速度和准确率影响的研究 · 准确度也因不同的字体属性而变化。本文通过科学实验设计与数据分析的方法,着重研究字

2010 年 03-06 月 实验设计大作业

1

用户手册 ................................................................................................................................. 29

实验目的

1. 学习和应用实验设计的方法和理论。

2. 学习和应用数据分析的方法,研究字体不同属性对人们识别速度和准确率的影响。

3. 锻炼综合设计和分析实验的能力。

4. 可以为标志牌的设计、网页中字体的设置、一些软件甚至是游戏中字体大小、排列方式

等的设置提供指导意义。

一、 实验背景

大家都玩过数独这个游戏,现在的数独吉尼斯纪录是由一个十一岁的小孩创造的纪录,

打败了一个27岁的美国化学博士。这两个人是在不同时间、不同地点进行的比赛,他们的成

绩完全是由人决定的吗?会不会存在着一些潜在的环境的因素,假设说他们所用数独游戏的

数字颜色、字体等有差别,会对结果造成多大影响呢?

Figure 1 各种数独游戏

1. 响应变量与控制变量的理论关系

a) 色彩心理学表明,颜色可以对人的情绪、大脑的反应力造成一定程度的影响。

b) 从理论上讲,当字体大小、颜色、排列方式、字体设置为最优时,人的反应力是最好的。

c) 最直接的意义:我们的研究可以直接得出当数字大小、颜色、字体等如何设置时可以使

游戏者在最短时间内完成游戏。另外,我们也可以得出游戏者填写横排和竖排数字时的

反应力有没有区别。

d) 相关文献

在2003年6月的《Nature Neuroscience》上,Fisher等人因报道了一个实验。在这个实验

中,数字先呈现在视野中央,随后在视野左右两侧呈现一个无意义方块,被试的任务是对无

意义方块的出现作反应。实验结果表明,尽管没有要求被试对数字作任何反应,数字的呈现

还是会影响随后被试对两侧视野的空间注意加工。当数字是小数时(1,2),被试对左侧视野

方块的反应速度更快而当数字是大数时(8,9),被试对右侧视野方块的反应速度更快(SNARC)

Page 3: 对字体不同属性对人们识别速度和准确率影响的研究 · 准确度也因不同的字体属性而变化。本文通过科学实验设计与数据分析的方法,着重研究字

2010 年 03-06 月 实验设计大作业

2

(1990)为(空间一数字的反应编码联合)(水平心理线)

此外,Schwarz和Keus的实验结果(Schwarz W, Keus I M. Moving the eyes along the mental

number line: Comparing SNARC effects with saccadic and manual responses. Perception &

Psychophysics, 2004, 66(4):651~664)显示,除了存在水平方向的心理线外,还存在垂直走向

的心理线,在这条垂直走向的心理线上大数位于上方小数位于下方,即上方大数反应更快。

2. 全因子设计

全因子实验设计,就是实验中所涉及到的全部实验因素的各水平全面组合形成不同的实

验条件,每个实验条件下进行两次或两次以上的独立重复实验。析因设计的最大优点是所获

得的信息量很多,可以准确地估计各实验因素的主效应的大小,还可估计因素之间各级交互

作用效应的大小;其最大缺点是所需要的实验次数最多,因此耗费的人力、物力和时间也较

多,当所考察的实验因素和水平较多时,研究者很难承受。

此设计还有3个明显的特点:其一,它要求实验时全部因素同时施加,即每次做实验都

将涉及到每个因素的一个特定水平(注:若实验因素施加时有“先后顺序”之分,一般被称

为“分割或裂区设计”);其二,因素对定量观测结果的影响是地位平等的,即在专业上没

有充分的证据认为哪些因素对定量观测结果的影响大、而另一些影响小(注:若实验因素对

观测结果的影响在专业上能排出主、次顺序,一般就被称为“系统分组或嵌套设计”);其

三,可以准确地估计各因素及其各级交互作用的效应大小(注:若某些交互作用的效应不能

准确估计,就属于非正规的析因设计了,如分式析因设计、正交设计、均匀设计,等等)。

3. Robust 分析

当实验中存在噪音因子并且与控制变量与交互作用时,可以进行robust分析。在本实验

中所缺数字是一个噪音因子,通过rubust分析,我们可以得出控制变量如何组合时能够得到

使反应变量的S/N ratio最大,在这个过程中减小variation, 同时使反应变量的值能够较优。

Page 4: 对字体不同属性对人们识别速度和准确率影响的研究 · 准确度也因不同的字体属性而变化。本文通过科学实验设计与数据分析的方法,着重研究字

2010 年 03-06 月 实验设计大作业

3

二、 前期分析与准备

1. 因素分析

Figure 2 鱼骨分析图

上图为实验前期我们对影响人们对文字信息识别反应速度与准确率的因素的鱼骨图分

析。最终我们选择了文字的大小、颜色、横/竖排方式和字体作为主要分析的变量。

2. 变量分析

a) 相应变量

响应变量 正常操作水

平与范围 测量精度(测量方法) 与试验目的的关系

反应时间 小于 5s 使用 java 计时器 timer

可以精确到ms

反应时间越少,表示反应

力越好

反应准确度 80%到 100% 用百分比表示,可以估读到小

数点后一位

反应准确度越高,表示反

应力越好

Page 5: 对字体不同属性对人们识别速度和准确率影响的研究 · 准确度也因不同的字体属性而变化。本文通过科学实验设计与数据分析的方法,着重研究字

2010 年 03-06 月 实验设计大作业

4

Table 1 相应变量表

b) 控制变量

控制变量 正常水平与可操

作范围 测量精度与方法

推荐试验设

对响应变量的预

期效果

数字大小 数字大小是一个

连续控制变量。 可以精确到几号字体 15,25,35 Difference

数字颜色 Java 语言可以设

置的颜色

可以用三原色来的数值大小

来精确的表示颜色:

R:0-255

G:0-255

B: 0-255

红、黄、蓝、

黑 Difference

数字排列

方式 横排列/竖排列 Binary:横排列或者竖排列

横排列 / 竖

排列 Difference

数字的字

Java 语言可以设

置的字体

可以使用 java 中对字体的命

Times New

Roman

/ calibri

Difference

Table 2 控制变量表

c) 固定变量

固定变量(单位) 期望试验设置值及允

许变动范围

测 量 精 度

与方法 变量控制方法

预期效

电脑 一种类型的电脑和键

盘 \

使用同一个人

的电脑 None

数字个数 10 \ 使用 0 到 9 None

数字地理位置的间隔 设置为固定值 \ 编程时设为固

定值 None

输入方式:(使用小键盘还

是横排键盘) 横排键盘 \ 横排键盘 None

Table 3 固定变量表

d) 干扰因素

干扰参数(单位) 测量精度及方法 试验应对策略 预期效果

环境(如热环境、光、

噪音等) \

提供适宜的温度、光照并

在比较安静的地方进行 Slight

人的智商 可以通过估计或标准测

试的方法获得 区组化 Could be large

Page 6: 对字体不同属性对人们识别速度和准确率影响的研究 · 准确度也因不同的字体属性而变化。本文通过科学实验设计与数据分析的方法,着重研究字

2010 年 03-06 月 实验设计大作业

5

人的心情 可以通过表象来获得 在一个人心情还不错的

时候测试 Slight to large

人的休息状况 通过睡眠时间、最近忙碌

程度来定性得出

在人精力比较充沛的时

间进行 Slight to large

所缺数字 \ 随机 Slight to large

Table 4 干扰因素表

e) 疑似交互作用

控制变量 大小 颜色 横/竖排 字体

大小 - 反应时间 - -

颜色 - - - -

横/竖排 - - - -

字体 - - - -

Table 5 疑似交互作用表

3. 实验方式——Java 编程

我们将编写 Java 程序,生成数字 1 到 N,顺序是被随机的,并且会随机去除一个数字。

然后我们会让被试者在最短时间内写出缺少的数字(类似于数独)。我们会改变数字的大小、

颜色、字体、排列方式等属性,最终测量的是被试者的反应时间和反应准确度。

我们为什么选择编程实现:

使用Java中的timer我们可以准确记录反应时间,减少人为因素导致的误差;

我们能自动储存数据,减少人为录入操作失误,减少不必要的数据录入时间;

实验具有可扩展性;

方便了被试者:只需要操作键盘。

关于自主开发平台的详细信息见附录

三、 实验设计——22×3×4 全因子设计

由于我们要建立各个变量单独与响应变量的关系,以及综合所有变量的水平给出最优的

组合,所以我们对所有控制变量进行了全排列。同时,为了尽量消除人的影响以及可能存在

的人和某个(些)变量之间的交互作用,我们让每个实验者都重复了一定次数的全排列,即

采用了blocking。

对于每次实验中的所缺数字,由于基数较大(至少为10),而且研究这个变量对于响应

变量的结果没有实际意义,所以我们对所缺数字采取randomization。

对于全因子设计的要求,我们使用Minitab产生了这个22×3×4全因子设计的实验设计表

格(由于实验次数多,仿行数设为1):

Page 7: 对字体不同属性对人们识别速度和准确率影响的研究 · 准确度也因不同的字体属性而变化。本文通过科学实验设计与数据分析的方法,着重研究字

2010 年 03-06 月 实验设计大作业

6

标准序 运行序 PtType 区组 数字大小 数字颜色 数字排列方式 数字字体

40 1 1 1 3 2 2 2

1 2 1 1 1 1 1 1

43 3 1 1 3 3 2 1

7 4 1 1 1 2 2 1

12 5 1 1 1 3 2 2

19 6 1 1 2 1 2 1

6 7 1 1 1 2 1 2

20 8 1 1 2 1 2 2

32 9 1 1 2 4 2 2

10 10 1 1 1 3 1 2

5 11 1 1 1 2 1 1

25 12 1 1 2 3 1 1

28 13 1 1 2 3 2 2

46 14 1 1 3 4 1 2

11 15 1 1 1 3 2 1

17 16 1 1 2 1 1 1

21 17 1 1 2 2 1 1

36 18 1 1 3 1 2 2

15 19 1 1 1 4 2 1

37 20 1 1 3 2 1 1

30 21 1 1 2 4 1 2

44 22 1 1 3 3 2 2

31 23 1 1 2 4 2 1

24 24 1 1 2 2 2 2

22 25 1 1 2 2 1 2

13 26 1 1 1 4 1 1

3 27 1 1 1 1 2 1

41 28 1 1 3 3 1 1

16 29 1 1 1 4 2 2

34 30 1 1 3 1 1 2

23 31 1 1 2 2 2 1

14 32 1 1 1 4 1 2

Page 8: 对字体不同属性对人们识别速度和准确率影响的研究 · 准确度也因不同的字体属性而变化。本文通过科学实验设计与数据分析的方法,着重研究字

2010 年 03-06 月 实验设计大作业

7

8 33 1 1 1 2 2 2

45 34 1 1 3 4 1 1

33 35 1 1 3 1 1 1

27 36 1 1 2 3 2 1

47 37 1 1 3 4 2 1

35 38 1 1 3 1 2 1

2 39 1 1 1 1 1 2

4 40 1 1 1 1 2 2

42 41 1 1 3 3 1 2

39 42 1 1 3 2 2 1

18 43 1 1 2 1 1 2

29 44 1 1 2 4 1 1

48 45 1 1 3 4 2 2

26 46 1 1 2 3 1 2

38 47 1 1 3 2 1 2

9 48 1 1 1 3 1 1

Table 6 全因子设计表格

这 48 次试验包含了所有因子水平的排列组合。其中各个因子水平编码对应为:

1 2 3 4

颜色 黑 红 黄 蓝

大小 15 25 35 /

字体 Calibri Times new roman / /

横/竖排 横 竖 / /

Table 7 各因子水平编码表

四、 实验数据分析

使用以上表格和 Java 程序,有 24 个被试者参与了实验,收集了 1152 个数据。

Page 9: 对字体不同属性对人们识别速度和准确率影响的研究 · 准确度也因不同的字体属性而变化。本文通过科学实验设计与数据分析的方法,着重研究字

2010 年 03-06 月 实验设计大作业

8

1. 描述性统计

Figure 3 正确率的直方图

由上图可以看出,大多数被试者的正确率大于 95%,这在一定程度防止了被试者为了追

求较快的反应时间而牺牲正确率的现象。

Page 10: 对字体不同属性对人们识别速度和准确率影响的研究 · 准确度也因不同的字体属性而变化。本文通过科学实验设计与数据分析的方法,着重研究字

2010 年 03-06 月 实验设计大作业

9

Figure 4 平均反应时间的直方图

从上图可以看出,对于不同被试者,平均反应时间近似正态分布。同时,较大的标准差

说明被试者是影响实验结果的一个主要因素。

2. 反应时间分析

使用 Minitab 的分析因子设计,我们得到了反应时间的残差图:

Page 11: 对字体不同属性对人们识别速度和准确率影响的研究 · 准确度也因不同的字体属性而变化。本文通过科学实验设计与数据分析的方法,着重研究字

2010 年 03-06 月 实验设计大作业

10

Figure 5 反应时间的残差图

从上图可以看出残差的正态性不好,我们试图通过 Box-Cox 分析对数据进行转化。

Figure 6 反应时间的 Box-Cox 图

由上图可得 Lambda 的 95%置信区间为(-0.04,0.15),所以我们取 Lambda=0,即把反应

时间取对数进行转换。

Page 12: 对字体不同属性对人们识别速度和准确率影响的研究 · 准确度也因不同的字体属性而变化。本文通过科学实验设计与数据分析的方法,着重研究字

2010 年 03-06 月 实验设计大作业

11

转换后的 ln(反应时间)残差图为(拟合所有因子及其组合):

Figure 7 Ln(反应时间)的残差图

由上图可以看出 ln(反应时间)的残差正态性和独立同分布性比较好,原因是:

a)数据量比较大;

b)我们在实验中尽量消除与控制变量之外变量的影响。

接下来我们对 ln(response time)的主效应进行分析,Minitab 中的主效应图能给我们最直

接的判断:

Figure 8 Ln(反应时间)的主效应图

Page 13: 对字体不同属性对人们识别速度和准确率影响的研究 · 准确度也因不同的字体属性而变化。本文通过科学实验设计与数据分析的方法,着重研究字

2010 年 03-06 月 实验设计大作业

12

由主效应图可以看出,字体大小、字体颜色和排列方式对反应时间都有较大影响。其中,

15 号字的平均反应时间略大于 25 号和 35 号字;黄色字的反应时间明显高于其他三种颜色

字体,这三种中黑色字的反应时间略小;横排字体的平均反应时间明显小于竖排的时间。而

字体对反应时间的影响较小。

一开始我们对这四种因素的交互作用进行了猜测,我们的预测是字体颜色和大小之间可

能会有一定的交互作用关系,于是我们画出了 ln(反应时间)的交互作用图:

Figure 9 Ln(反应时间)的交互作用图

由上图可以明显得出以下结论:

a) 字体与其他三种因子几乎没有交互作用;排列方式与字体大小几乎没有交互作用;

b) 字体大小和字体颜色的交互作用非常明显。其中黑色和蓝色字体对字体大小不敏感;

对于红色和黄色字体,25 号字体所需反应时间最短,35 号字略长,15 号字时间明

显高出;

下面我们通过建立一般线性模型来定量分析各个因素对反应变量的影响。

Page 14: 对字体不同属性对人们识别速度和准确率影响的研究 · 准确度也因不同的字体属性而变化。本文通过科学实验设计与数据分析的方法,着重研究字

2010 年 03-06 月 实验设计大作业

13

Figure 10 反应时间一般线性模型

在这个模型中,每个被试者作为一个 block 来处理。实验者的方差非常显著,说明对结

果的影响非常大。但我们想要研究的是字体的 4 个属性对反应时间的影响,所以一开始我们

认为在最终拟合的模型中包括区组是一个不明智的行为(因为将人个体的因素包括在模型中

不具备通用性),所以我们打算将所有区组拟合出来的系数取一个平均值加在常数项中。经

请教老师与组内讨论后我们发现这样的处理方法不严谨。因为在区组对反应变量的影响很大,

所以忽略掉它之后,写出来的模型没有实际意义,不能进行预测。

最后我们对显著项重新拟合了一般线性模型:

Page 15: 对字体不同属性对人们识别速度和准确率影响的研究 · 准确度也因不同的字体属性而变化。本文通过科学实验设计与数据分析的方法,着重研究字

2010 年 03-06 月 实验设计大作业

14

Figure 11 反应时间对显著项的一般线性模型

由实验结果可以看出,虽然各个项的影响都很显著,但是拟合出来的 R 方很小,只有

25.74%,这是因为除了各个变量都不是连续变量或者非量化变量,无法拟合出适合所有水平

的模型。

3. 准确率分析

对于正确率,我们只考虑 4 个因子本身和他们之间的交互作用,不考虑 3 阶项和更高次

项。我们先对原始数据进行 Box-Cox 转换:

Page 16: 对字体不同属性对人们识别速度和准确率影响的研究 · 准确度也因不同的字体属性而变化。本文通过科学实验设计与数据分析的方法,着重研究字

2010 年 03-06 月 实验设计大作业

15

Figure 12 正确率的 Box-Cox 图

由于 Lambda>5,我们取 Lambda=5,即生成正确率 5 这组新数据。

下面对各个因素对正确率 5 的效应进行分析。首先是主效应分析:

Figure 13 正确率 5 的主效应图

从上图可以看出各个变量对正确率 5 都有一定影响,相对来说排列方式和字体的影响较

小。过小的字体会极大地降低识别准确度;较深的黑色和蓝色字能够提升识别准确率。

下面对正确率 5 的交互作用进行分析:

Page 17: 对字体不同属性对人们识别速度和准确率影响的研究 · 准确度也因不同的字体属性而变化。本文通过科学实验设计与数据分析的方法,着重研究字

2010 年 03-06 月 实验设计大作业

16

Figure 14 正确率 5 的交互作用图

其中交互影响最大的任然是字体颜色和字体大小。黄色字体对字体大小最为敏感,15

号字时黄色字体的识别率最低,同时对于同一种大小的字体,黄色字体的识别率普遍偏低。

对于正确率,所拟合出的结果为:

Figure 15 正确率 5 的一般线性模型

Page 18: 对字体不同属性对人们识别速度和准确率影响的研究 · 准确度也因不同的字体属性而变化。本文通过科学实验设计与数据分析的方法,着重研究字

2010 年 03-06 月 实验设计大作业

17

Figure 16 正确率 5 的残差图

从拟合结果以及残差图中我们可以看出,残差的正态性比较好。但是模型拟合的结果比

较差,原因和之前类似,是因为除了各个变量都不是连续变量或者非量化变量,我们对区组

也采取了平均的方法,所以无法拟合出适合所有水平的模型。

综合反应时间和准确率的主效应图,并考虑到黑色字体对字体大小的不敏感,我们选定

黑色、25 号字、横排、Times New Roman 为最理想组合。

五、 补充实验设计——Robust 分析

由于我们的最终目的是寻找最佳的字体属性组合以提升识别速度与准确率,这种最佳属

性有可能对于不同的识别对象(所缺数字是 1 还是 2)有不同,为了消除所缺数字这个噪音

的影响,我们进行了如下的田口分析。

在所设计的田口实验中,字体颜色、字体大小、排列方式、字体作为可控变量组成内因,

所缺数字作为外因。总实验次数为 4*3*2*2*10=480 次。设计表格为:

1 2 3 4 5 …… 43 44 45 46 47 48

1

2

3

4

5

6

Page 19: 对字体不同属性对人们识别速度和准确率影响的研究 · 准确度也因不同的字体属性而变化。本文通过科学实验设计与数据分析的方法,着重研究字

2010 年 03-06 月 实验设计大作业

18

7

8

9

10

Table 8 田口设计表格

由于实验负担较重,我们只邀请了两名同学做这个实验。

六、 补充实验数据分析

首先是对于实验结果的描述性统计。

Figure 17 田口设计的描述性统计

从上图中可以看出,不同数字对反应时间的影响较大,基本趋势是从 0 到 9 反应时间变

长。对应的其中一个被试的 Box plot 为:

0

500

1000

1500

2000

2500

3000

3500

4000

4500

0 1 2 3 4 5 6 7 8 9 10

平均

反应

时间

(ms)

所缺数字

被试1

被试2

Page 20: 对字体不同属性对人们识别速度和准确率影响的研究 · 准确度也因不同的字体属性而变化。本文通过科学实验设计与数据分析的方法,着重研究字

2010 年 03-06 月 实验设计大作业

19

9876543210

8000

7000

6000

5000

4000

3000

2000

1000

0

Data

B oxplot of 0, 1, 2, 3, 4, 5, 6, 7, 8, 9

Figure 18 被试 2 的 Box plot

为了更好的满足正态性,我们对原始数据进行了去对数的转化。所缺数字的对反应时间

的影响也可以从主效应图中看出(此处的主效应图是把所缺数字当作一个可控变量)。

Figure 19 ln(反应时间)的主效应图

由于存在所缺数字对反应时间的影响,我们利用信噪比进行田口分析。我们的目的是减

少反应时间,所以信噪比的计算方式为:

Page 21: 对字体不同属性对人们识别速度和准确率影响的研究 · 准确度也因不同的字体属性而变化。本文通过科学实验设计与数据分析的方法,着重研究字

2010 年 03-06 月 实验设计大作业

20

SN = −10 × log10 y2

10

所得各个因素的信噪比如下:

352515

-17.95

-18.00

-18.05

-18.10

蓝红黑黄

竖排横排

-17.95

-18.00

-18.05

-18.10

Tim es New Rom anCalibri

字体大小

Mean of SN ratios

字体颜色

排列方式 字体

M ain E ffects Plot for SN ratiosD ata M eans

Signal-to-noise: Sm aller is better

Figure 20 主效应信噪比

下面拟合线性模型:

Figure 21 信噪比的线性模型

这个线性模型中字体的影响不显著,去掉这么因子之后重新拟合模型:

Page 22: 对字体不同属性对人们识别速度和准确率影响的研究 · 准确度也因不同的字体属性而变化。本文通过科学实验设计与数据分析的方法,着重研究字

2010 年 03-06 月 实验设计大作业

21

Figure 22 优化后的信噪比线性模型

根据信噪比,我们去信噪比大的水平作为理想水平,得到的文字属性最佳组合为黑

色字体、25 号字、横排、Times New Roman,所得结果与第一部分结果吻合。

七、 实验结果及改进

1. 结果

通过学习实验设计基本的理论和方法,全因子设计和鲁棒分析,我们设计和实施了两个

实验。通过数据分析,两次实验共同给出了较优的字体属性组合,为:

黑色字体、25号字、横排、Times New Roman

对于不同的人实验的结果会有一定的差异,不同的人对不同的字体属性也能也有偏好,

但是我们这个实验结果对于长期使用电脑的学生来说还是很有指导意义。同时,其他可能组

合(红色字体、25号字、横排、Times New Roman)得到的结果可能会优于我们所给组合,

但考虑到互相的交互作用以及反应变量对因子的敏感程度,我们还是给出了上述组合。

优于我们没有给出具体线性模型,而且人对实验结果的影响较大,我们不能对某种因子

组合的反应变量进行预测,但是我们能够对各种情况下的大体趋势做出估计。

2. 待改进

a) 对于鲁棒分析,优于实验负担对于被试者较重,我们只搜集了两个样本,这在一定

程度上增加了实验的随机性和不稳定性。增加被试者和原始数据能够在一定程度上增强实验

结果的可信度。

Page 23: 对字体不同属性对人们识别速度和准确率影响的研究 · 准确度也因不同的字体属性而变化。本文通过科学实验设计与数据分析的方法,着重研究字

2010 年 03-06 月 实验设计大作业

22

b) 我们只是通过辨别所缺数字这一特定方式来研究人们对于文字信息筛选这一过程,

有一定的片面性。

附录

编程思路

我们将生成数字 1 到 N,顺序是被随机的,并且会随机去除一个数字。然后我们会让被

试者在最短时间内写出缺少的数字(类似于数独)。我们会改变数字的大小、颜色、字体、

排列方式等属性,最终测量的是被试者的反应时间和反应准确度。

编写完的程序将给本年级若干人进行测试,测试后得到数据,然后用实验设计课程相关

方法进行数据分析。

该程序有以下功能:

1.实验者可以选择各影响因子的各个参数,也可以选择我们默认的研究实验

2.被试输入用户名后用平台进行数字相关属性对人反应的实验

3.实验完后可以将数据写入文件和存入数据库以便进行进一步分析

第一个程序为全因设计:找20到30个人做,每人48次

运行顺序由minitab生成

第二个程序为稳健设计:找2到3个人做,没人做480次

1 2 3 4 5 „

4

3

4

4

4

5

4

6

4

7

4

8

1

2

3

4

5

6

7

8

9

1

0

横列运行顺序见minitab

每组都随机

Page 24: 对字体不同属性对人们识别速度和准确率影响的研究 · 准确度也因不同的字体属性而变化。本文通过科学实验设计与数据分析的方法,着重研究字

2010 年 03-06 月 实验设计大作业

23

平台设计说明

基本设计采用经典的 MVC 思想,即数据模型,视图,控制器 3 个包。

类设计

Model 包:

Experiment 类:

抽象类定义了实验设计必须的元素和方法

数据成员:

protected String font[];//字体种类因子水平

protected Color color[];//颜色因子水平

protected int size[];//大小因子水平

protected long totalTime;//总反应时间

protected float accuracy;//精确度

protected String name;//实验者姓名

方法说明:

public abstract long getTotalTime();//返回总反应时间

public abstract float getAccuracy();//返回精确度

public abstract void writeToFiles() throws IOException;//将实验信息写入文件

public abstract Color getColor(int i);//返回特定颜色因子

public abstract int getSize(int i);//返回特定大小因子

public abstract String getFont(int i);//返回特定字体因子

public abstract Trial getTrial(int i);//返回特定实验

public abstract void setFont(int i, String font);//设置特定字体因子

public abstract void setColor(int i, Color color);//设置特定颜色因子

public abstract void setSize(int i, int size);//设置特定大小因子

public abstract void setName(String name);//设置实验者姓名

public abstract String getRate();//获取评分

public abstract String getName();//获取实验者姓名

Experiment1 类继承 Experiment 类:

这个类定义了一个完整的 48 次不考虑数字因子的全因设计

数据成员:

继承所有 Experiment 类的数据成员

方法说明:

继承所有 Experiment 类的方法

Experiment2 类继承 Experiment 类:

这个类定义了一个完整的 480 次考虑数字因子的全因设计数据成员

数据成员:

继承所有 Experiment 类的数据成员

Page 25: 对字体不同属性对人们识别速度和准确率影响的研究 · 准确度也因不同的字体属性而变化。本文通过科学实验设计与数据分析的方法,着重研究字

2010 年 03-06 月 实验设计大作业

24

方法说明:

继承所有 Experiment 类的方法

Trial 类:

这个类定义了基本实验的元素和方法

数据成员:

private String font;//字体种类

private int number;//所缺数字

private Color color;//颜色

private int style;//横排或竖排

private long responseTime;//反应时间

private int size;//字体大小

private boolean accuracy;//是否正确

private String text;//显示给用户的乱序字符串序列

方法说明:

public Trial(int size, Color color, int style, String font) //构造方法

public Trial() //构造方法

public Trial(int size, Color color, int style, String font, int number) //构造方法

void randomSerial() //用于生成显示在屏幕上的随机数字序列

public Color getColor() //获取颜色

public int getStyle() //获取横排或竖排

public int getSize() //获取大小

public String getFont() //获取字体

public String getText() //获取乱序字符串序列

public long getResponseTime() //获取反应时间

public boolean getAccuracy() //获取是否正确

public int getNumber() //获取所缺数字

public void setResponseTime(long responseTime) //设置反应时间

public void setNumber(int i) //设置所缺数字

public void setAccuracy(boolean accuracy) //设置正确性

public void setSize(int size) //设置字体大小

public void setFont(String font) //设置字体样式

public void setStyle(int i) //设置横排或竖排

public void setColor(Color color) //设置字体颜色

Transformation 类:

这个类通过建立哈希表建立了颜色,种类与相应字符串的一一对应关系,为写入文件做

好准备

数据成员:

private static HashMap color = new HashMap();

//存储颜色与字符串之间的一一映射

private static HashMap style = new HashMap();

Page 26: 对字体不同属性对人们识别速度和准确率影响的研究 · 准确度也因不同的字体属性而变化。本文通过科学实验设计与数据分析的方法,着重研究字

2010 年 03-06 月 实验设计大作业

25

//存储横排竖排与字符串之间的一一映射

方法说明:

public static HashMap colorToString() //建立颜色与字符串之间的一一映射

public static HashMap styleToString() //建立横排竖排与字符串之间的一一映射

randomOrder 类:用于生成 0~9 随机乱序数字序列

数据成员:

方法说明:

public static int[] getRandomSerial(int limit) //生成特定自然序列的乱序数字序列

controller 包:

Conn 类:建立与数据库的连接并插入数据

数据成员:

Experiment experiment; //需要插入数据库的对象

方法说明:

public Conn(Experiment experiment) //构造方法

public void connection() throws Exception //连接数据库并插入记录

view 包:

实验选择类:实验选择界面

数据成员:

Package Color temp; //存储当前选择的实验颜色

//下面均为 GUI 界面各组件

private JButton jButton1;

private JButton jButton2;

private JButton jButton3;

private JButton jButton4;

private JButton jButton5;

private JButton jButton6;

private JButton jButton7;

private JButton jButton8;

private JColorChooser jcolorchooser1;

private JComboBox jComboBox1;

private JComboBox jComboBox2;

private JComboBox jComboBox3;

private JComboBox jComboBox4;

Page 27: 对字体不同属性对人们识别速度和准确率影响的研究 · 准确度也因不同的字体属性而变化。本文通过科学实验设计与数据分析的方法,着重研究字

2010 年 03-06 月 实验设计大作业

26

private JComboBox jComboBox5;

private JDialog jDialog1;

private jLabel jLabel1;

private jLabel jLabel2;

private jLabel jLabel3;

private jLabel jLabel4;

private jLabel jLabel5;

private jLabel jLabel6;

private jLabel jLabel7;

private jLabel jLabel8;

private jLabel jLabel9;

private JPanel jPanel1;

private JPanel jPanel2;

private JPanel jPanel3;

private JPanel jPanel4;

private JPanel jPanel5;

private JPanel jPanel6;

private JPanel jPanel7;

private JPanel jPanel8;

private JPanel jPanel9;

private JPanel jPanel10;

private JRadioButton jRadioButton1;

private JRadioButton jRadioButton2;

private JScrollPane jScrollPane1;

private JScrollPane jScrollPane2;

private JTextArea jTextArea1;

private JTextArea jTextArea2;

方法说明:

public 实验选择() //构造方法

private void initComponents() //初始化组件

//下面均为事件方法

private void jButton1MouseClicked(java.awt.event.MouseEvent evt)

private void jRadioButton1ActionPerformed(java.awt.event.ActionEvent evt)

private void jRadioButton2ActionPerformed(java.awt.event.ActionEvent evt)

private void jButton2MouseClicked(java.awt.event.MouseEvent evt)

private void jButton3MouseClicked(java.awt.event.MouseEvent evt)

private void jButton4MouseClicked(java.awt.event.MouseEvent evt)

private void jButton5MouseClicked(java.awt.event.MouseEvent evt)

private void jButton7MouseClicked(java.awt.event.MouseEvent evt)

private void jButton8MouseClicked(java.awt.event.MouseEvent evt)

private void jButton6MouseClicked(java.awt.event.MouseEvent evt)

数字反应实验设计类:实验界面

Page 28: 对字体不同属性对人们识别速度和准确率影响的研究 · 准确度也因不同的字体属性而变化。本文通过科学实验设计与数据分析的方法,着重研究字

2010 年 03-06 月 实验设计大作业

27

数据成员:

Package int j;//实验种类

Package Color color[];//颜色因子

Package String font[];//字体因子

Package int size[];//大小因子

Package long current;//用于存储每次输入的时间

Package Date temp = new Date();//用于获取当前时间

Package int i = 1;//记录实验进度

Package int max;//总实验次数

Package Experiment experiment;//声明实验,根据用户选择实例化为不同具体对象

//下面均为 GUI 界面各组件

private JButton jButton1;

private JButton jButton2;

private JButton jButton3;

private JButton jButton4;

private JButton jButton5;

private JButton jButton6;

private JDialog jDialog1;

private jLabel jLabel1;

private jLabel jLabel2;

private jLabel jLabel3;

private jLabel jLabel4;

private jLabel jLabel5;

private jLabel jLabel6;

private JPanel jPanel1;

private JPanel jPanel2;

private JPanel jPanel3;

private JPanel jPanel4;

private JScrollPane jScrollPane1;

private JTextArea jTextArea1;

private JTextField jTextField1;

private JTextField jTextField2;

方法说明:

public 实验选择() //构造方法

public 数字反应实验设计(int j, Color[] color, String[] font, int[] size) //构造方法

private void initComponents() //初始化组件

private void init //初始化第一次实验

//下面均为事件方法

private void jButton1MouseClicked(java.awt.event.MouseEvent evt)

private void jButton2MouseClicked(java.awt.event.MouseEvent evt)

private void jButton3MouseClicked(java.awt.event.MouseEvent evt)

Page 29: 对字体不同属性对人们识别速度和准确率影响的研究 · 准确度也因不同的字体属性而变化。本文通过科学实验设计与数据分析的方法,着重研究字

2010 年 03-06 月 实验设计大作业

28

private void jButton4MouseClicked(java.awt.event.MouseEvent evt)

private void jButton5MouseClicked(java.awt.event.MouseEvent evt)

private void jButton6MouseClicked(java.awt.event.MouseEvent evt)

主要技术难点和算法设计

1. 抽象思想

其实这个程序实际在应用于我们的实验中时,只有 2 个具体的实验(48 次数字不作为

因素,和 480 次数字作为因素),我们其实可以只写 2 个类对于于这两种实验。但为了

使我们的程序更具有普遍性,在设计新的实验时更加方便,我们设计了一个抽象类,提

供实验所需的全部元素和方法。在设计新的实验时只需继承这个抽象类重写它的方法即

可。

2. 关于生成乱序数字的算法

实验中有一步为是在获得这一次实验所缺的数字后,我们要生成一个不含这个数字的其

余数字的随机序列。算法如下:

1、按顺序用 0 到 n 填满整个数组;

2、随机产生从 0 到 n-2 个数组下标,把这个下标的元素值跟 n-1 下标的元素值交换, 一直进行到下标为 1 的元

素。

因此它只需要遍历一次就能产生全部的随机数。

具体代码见源程序。

3. 关于 480 次实验生成的算法

第 2 种实验中要求我们生成一个 480 次数字作为因子考虑的实验

480=2(字体种类)*4(颜色种类)*3(大小种类)*2(横竖排)*10(10 种数字)

实验可以用下表表示:

1 2 3 4 5 „„ 43 44 45 46 47 48

1 1 9

2 4 2

3 5 3

4 6 6

5 9 7

6 0 0

7 2 1

8 3 5

9 8 4

10 7 8

红色字为所缺数字,我们实际先生成每一纵列的随机序列,然后在按相反顺序遍历 2 维

数字,横着连接成一维数组的 480 次实验。

4. 竖排显示字的问题

每组都随机

Page 30: 对字体不同属性对人们识别速度和准确率影响的研究 · 准确度也因不同的字体属性而变化。本文通过科学实验设计与数据分析的方法,着重研究字

2010 年 03-06 月 实验设计大作业

29

由于换行比较困难,我们实际中在 Label 中的随机序列都是以 HTML 格式显示的,也就

是嵌套 HTML 代码。

5. 关于写入文件与数据库

写入文件时的问题是如颜色这类信息原本是 Color 类型,而其本事的 toString()方法并不

能写入有效信息,因此我们建立了专门的哈希表,把 Color 类型和 String 类型建立一一

对应的关系,这样在写入文件时就可以查找到映射的 String 类型来写入 txt 文件

写入数据库即按课上讲到的 JDBC ODBC 桥写入 ACCESS 数据库即可。

用户手册

1. 选择实验参数

界面如图:

选择实验类型

选取 2 种实验

字体样式

选取 3 种实验

字体大小

选取 4 种实验

字体颜色

确定进入实验

或选择默认参

数进入实验

Page 31: 对字体不同属性对人们识别速度和准确率影响的研究 · 准确度也因不同的字体属性而变化。本文通过科学实验设计与数据分析的方法,着重研究字

2010 年 03-06 月 实验设计大作业

30

2. 进行实验

查看说明;

输入用户名后

点击开始即可

开始实验

Page 32: 对字体不同属性对人们识别速度和准确率影响的研究 · 准确度也因不同的字体属性而变化。本文通过科学实验设计与数据分析的方法,着重研究字

2010 年 03-06 月 实验设计大作业

31

无需切换光标,直接输入所

缺数字即可,按回车确认,

系统自动记录反应时间并

显示下一组数字

这里是一些相

关选项

Page 33: 对字体不同属性对人们识别速度和准确率影响的研究 · 准确度也因不同的字体属性而变化。本文通过科学实验设计与数据分析的方法,着重研究字

2010 年 03-06 月 实验设计大作业

32

3. 实验结果及查看

这里给出统计结果以及

一个评分,评分分为 S,A,

B,C 四档,用户可以选择

是否保存,如果保存,将

生成一个记事本报告文

件,并将统计信息写入数

据库。

记事本报告文件:

数据库统计信息: