logo资料库

R语言与EM算法.pdf

第1页 / 共2页
第2页 / 共2页
资料共2页,全文预览结束
2013年 第 3 期 (总 第 125 期 ) 信 息 通 信 INFORMA TION & COM M UNICATION S 2O13 (Sum. No 125) R语言 与 EM 算法 李 欢 (宁波职业技术学院 ,浙江 宁波 315800) 摘要 :R语言是一个开放 的统计编程环境 ,提供一种集成的统计 工具 。随着互联 网的发展 ,数据量越来越 大,缺夫 象也越 来越 多。如何在数据丢失的情况下 ,将数据分析 结果达到 最优 ,文章探 讨 R软件 的强大计算 、统计功能应用与 EM 算法 中,使缺失数据分析达到最优化。 关键词:R语 言;EM 算法;统计分析 中图分类号 :O211.62 文献标识码 :A 文章编号 :1673.1131(2013)03.0006—02 1 R简介 R是 一 种 语 言 ,一 个 开 放 的统 计 编 程 环 境 ,是 由 Bell实验 室 开 发 的一 种 方 言 (dialect)之 一 ,是 一 种 集 统 计 分 析 与 图 形 直 观 显 示 于 一 体 的统 计 分 析 软 件 ,它 是一 套 完 整 的数 据 处 理 、计 算和制 图软件系统 ,R是一种数学计算 的环境 ,它可 以提供一 些 集 成 的统 计 工 具 ,但 更 大 量 的 是 它提 供 各 种 数 学计 算 、统 计 计算的函数,从而使使用者能灵活机动地进行数据分析 ,甚至 创 造 出 符 合 需 要 的 新 的 统 计 计 算 方 法 。在 R 网站 上提 供 了 统 计 及 各 个 有 关 应 用 领 域 几 乎 所 有 最 新 的 成 果 和代 码 公 开 的 软 件 包 。 到 2010年 底 R 的 供 使 用 的 软 件包 数 量 已经 超 过 2700 个 ,其中 700个是最近半年增加的;例如仅仅空间统计一个方 向 的软 件 包 就有 20多 个 。 2 EM 简 介 3.1用 R 实现 聚类 分析 聚 类 分 析 是 以数 据 间 的相 似程 度 ,或 者 说是 数据 间 的 距 离 为基础 的 。利用 hclust功能聚类样品集。样品集 是否聚类 到 一起 ? 通 过 改 变 hclust中的 参 数 试 用 不 同 的 类 间距 离 进 行 训 练 。 在 dist中 通 过 改 变 method参 数 试 用 不 同 的基 因距 离进 行 训 练 ,下 面 是 R 的 训练 过 程 。 (1)利用相关系数和最大类间距离对 A样品进行系统聚类 分析,再用 欧式距离和平均类间距类对样 品进行系统聚类分析, 利 用 stats包 中 的 heatmap功 能 ,可 以得 到 聚类 分 析 的 图像 但 是要注意,这个功能是对数据执行聚类分析,如果数据 的数量过 大,会导致这个方法运行缓慢 。为 了说 明问题 ,我们仅选择 100 个数据 为例 。(2)我们尝试不同的聚类分裂方法,利用相关 系数 作为基 因距离对样 品进行 Knleans聚类 分析 。利用 cluster包 EM (Expectatioin.Maximalization)算法即期望最大算法 , 中的 PAM 功能对 样品进行“Partition Around Medoids”分析, 被誉为是数据挖掘的十大算法之一 。它是在概率模型中寻找 参数最大似然估计 的算法 ,其 中概率模型依赖于无法观测到 利 用 som 包 中 的 自组 织 映射 分 析 方 法 (SoM)对 样 品 进 行 聚 类 分析 。 (3)在 方 差 的基 础 上 选 择 前 100个 数 据 ,执 行 上 面 所 述 的隐变量 。最大 期望算法经过两个步骤交替进行计算 ,第一 的各种聚类分析方法 。注意在数据 的选择过程 中没有 使用任 步 是计算期望 (E),也就是将隐藏变量象能够观测 到的一样包 含在 内,从而计算最大似然 的期望值;另外一步是最大化 (M), 也就是最大化在 E步上找到的最大似然 的期望值 从而计算参 数的最大似然估计 。M 步上找到 的参数然后用于另外一个 E 步计算 ,这个 过程 不断交替进行 。对 于信 息缺 失的数据来说 , EM 算法是一种极有效的工具 。 3 R在 EM 算 法 中的应 用 何 同样 品有关 的信 息。statgnames功 能能够根据选择 的统计 量将基因排序 ,在 本例 中统计量就是方差 。 3.2 用 cbind0和 rbindO构 建分 块矩 阵 可 以利 用 R 中的 函数 cbind0 和 rbindO 把 向量 和 矩 阵拼 成一 个 新 的矩 阵 。概 略 地 说 ,cbind()把矩 阵 横 行 地 合 并 成 一 个 大矩 阵 (列 方 式 ),而 rbindO 是 纵 向 合 并 (行 方 式 )。 在 命 令 中 : · + ”+ “+ 一+ ··+ ”+ ”+ ”+ *+ 一+ 一—+一一+ 一十 一—■卜“+ ”+ ”—+一一--—卜 ”— ●一一—■一一—-+一”—+一-—·+一u—-·卜 ”—-·卜 ”—+一”—+-”— 卜_-.——●一”—-—卜 一—-+一”+ *—+一一—+一 ··—-●一_ —·-一- 3.2设 计方 法 的应 用 灵活使用 。功能测试或是软件测试更 多的参考 和依据是 《软 在 功 能 测 试 中 为 了提 高 测 试 覆 盖 面 ,多 采 用 几 种 测 试 用 件 需 求说 明书 》和 《数 据 规 格 说 明 书》,尽 早 地 加 入 到 项 目中对 例设计方法结合使用 。一般情况下 : 于测试质量 的提 高和软件质量 的提 高会 有很大的帮助 。 (1)页商3I{i局检查:场景法 ; (2)页 面 元 素校 验 :等 价类 划 分 法 、边 界值 分 析法 、正 交法 、 分类树法等: (3)功 能 检 查 :等 价 类 划 分 法 、边 界 分 析 法 、错 误 推 测 法 、场 景 法 、因果 图法 、判 定 表 法 、组 合 测 试 法 、花 瓣法 、最 长 测 试 法 、 最少测试法 、异常测试法、肥皂剧测试法 、快递测试法 等。 4 结语 软件测试用例 设计 的质量和效果在一定程度上直接影响 了测 试 过 程韵 开 展 和 最 终 的 测试 结 果 。测 试 用 例 设 计 方 法 的 参 考 文 献 : [I】 惠特 克 .探 索 式软 件 测 试 [M】.北 京 :清 华 大 学 出 版 社 ,2010 [2] 顾海花 .软件测试技术基础教程[M].北京 :电子工业 出版 社 ,2011 [31 马均飞,郑文强.软件测试设计[M 北 京:电子工业 出版社, 2011 [4】 陈 能技 ,软 件 测试 技 术 大全 【M] E京 :人 民 邮 电 出版 社 ,2011 作 者 简 介 :梁彦 (1985一),女 ,重 庆 人 ,助 理 工 程 师 ,研 究 方 向 为 使 用 方 法 和 组 合 很 多 ,在 测 试 用 例 的 设计 和执 行过 程 中 可 以 软 件 测 试 。 6
信息通信 李欢 :R语言与 EM 算法 >X (_cbind(arg l,arg _ _ 2,arg _ 3,…) 索 引最有 效。 cbind()的 参 数 要 么 是 任 何 长 度 的 向量 ,要 么 是 列 大 小 一 3.4 模式 和 长度 致 的矩 阵 , 也 就 是 有 一 样 的 行 数 。结 果 将 是 一 个 合 并 arg 1, arg 2 的 列 形 成 的 矩 阵 。 _ … . R操作 的实体在技术上 来说就是对象 。如实数 或复数 向 量 ,逻 辑 向量 和 字 符 串 向量 等 对 象 属 于“原 子 ”(atomic)结 构 的 如 果 cbind()的 参 数 中有 一 些 比其 他 矩 阵 参 数 的列 长 度 短 对象 ,因为它们的元素都是一样的类型或模式,R 的对象类型 的向量,它们将会被循环使用 以吻合矩阵的列长度 。(在没有 矩 阵的情况下,吻合其 中最长 的向量 的长度) 包 括 数值 型 (numeric),复数 型 (complex),逻 辑 型 (1ogica1),字 符型 (character)~1原味型 (raw)。向量必须保证它 的所有元素 函数 rbind()对行进行类似 的操作 。其中任何 向量参数都 是一样 的模式 。因此任 何给定 的向量必须 明确属 于逻辑性 , 会 被 当 作行 向 量 且 可 能被 循环 使用 。 数值 型 ,复 数 型 ,字 符 型 或 者 原 味 型 。(这 里 有 个 特 定 的 例 外 就 假 定 X1和 X2有 一 样 的行 数 。下面 的命 令 会 把 它 们 的 列 是“值 ”为 NA 的元 素 ,实 际 上 有 好 几 种 形 式 的 NA。)注 意 空 向 合 并 以得 到 矩 阵 x,同 时要 求起 始 列 都 是 1 量也有 自己的模式 。例如 ,空的字符 串向量将会被显示为 char- >X <-cbind(1,X1,X2) acter(0),空 的数 值 向量 会 显 示 为 numeric(O)。 rbind()或 者 cbindO返 回值 常 常 是矩 阵 形 式 。因此 ,cbind R 同 样操 作被 称 为 列表 的 对 象 。 这种 对 象 在 R 里 面 是 一 (x)和 rbind(x)可能是把 向量 X分别转换成列或者行 向量最 简 种列表 (1ist)模式 。这 些是可 以为任何模式的对象 的有序序列 。 单 的方 法 。 列 表 被 认 为 是 一种 “递 归 ”结构 而 不 是 原 子 结 构 ,因 为它 们 的 3I3 用 R 的函数 apply()处理 不规 则数 组 元 素 可 以用 它 们 各 自的方 式 单独 列 出 。 假 定 我 们 有 一 组 数 据 并 且 保 存 在 另 外 一 个 向量 中 另 外两 种 递 归 结 构 是 函数 (function)和 表达 式 (ex. >incomes<-c(60,49,40,61,64,60,59,54,62,69,70,42,56, pression)。 构 成 R系 统 一 部 分 的 函数 对 象 以及 其 他 类 似 的用 61,61,61,58,51,48,65,49,49,41,48,52,46, 户 定 义 的 函数 对 象 都 将 在 后 面 的 内容 中深 入 讨 论 。表 达 式 对 59,46,58,43) 象 是 R 的高 级 部 分 ,不 是本 文档 的重 点 ,我 们 只 是在 讨论 R统 为 计 算 样 本 中平 均 收 入 ,我 们 可 以用 函数 apply(): 计建模 中的公式 (formulae)时间接 地提 一下。 >incmeans<-apply(incomes.tef,mean) 一 个 对象 的模式 (mode)是该对 象基本 要素 的类型 。这 这将给 出一个均值 向量。各个 元素都用对应的水平名字 是 专 门 用 来 描 述 一 个 对 象 “特 征 ”(property)的术 语 。 另 外 标 记 了 。 一 个 所 有 对 象 都 有 的 特 征 是 长 度 (1ength)。 函 数 mode(ob. act nsw nt qld sa tas vic w a ject)和 length(object)可 用 于 任 何 数 据 对 象 以得 到 其 模 式 44.500 57.333 55.500 53.600 55.000 60.500 56.000 52.250 和 长 度 3。 函数 apply()将一个函数(这里是 mean())用于第二个参数 一 个对象 更进 一步的特 征常常通 过 attributes(object)得 1(这 里 是 tel')定 义 于 第 一个 参数 (这 里 是 incomes)上得 到 的所 到 ,具体参见 Gettingand settingattributes,正因为这样 ,模式和 有 组 。此 时 ,各 个 组 的数 据 好 像 是 独 立 的 向量 。得 到 的结 果 长 度 又 叫做 一 个 对 象 的“内在 属 性 ”。例 如 ,如 果 z是 一 个 长 为 向量 长 度 和 因子 的水 平 数 一 致 。 100的复 数 向量 ,那 么命 令 mode(z)就会 得 到 字 符 串 ”complex” 假 定我 们 进 一 步 想 计 算 每个 对 象 的 的标 准 误 差 ,我 们 用 R 而 length(z)对 应 的 是 100。 函数来计算任一给定 向量 的标准误差 。既然 已经有 内置 函数 R 可 以 在任 何 需 要 的 时候 对模 式进 行转 换 。 (当 然 ,有 些 var()计 算样 本 方 差 ,这 个 函 数 可 以在 一 行 写 完 ,并 且 有 一 个 时候 没 有 必 要 。)例 如 : 、 参 数 等 待 赋 值 : >Z<.0:9 >stderr<.fimction(x)sqrt(var(x)/length(x)) 我 们 可 以进 行 如 下 转 换 >incster<一fapply(incomes,statef,stderr) j >digits<-as.character(z) 值 分别 为 : > incster 这 样 ,digits就 是 一 个 字 符 向量 c(”0”,”1”,”2”… .,”9”)。 我 们可 以再一次强制转换 ,或者说模式 改变 ,以重建数值向量: act nsw nt qld satas vic w a >d<一as.integer(digits1 1.5 4.3102 4.5 4.1o6:i 2.7386 0.5 5.244 2.6575 现 在 d和 Z就 一 样 了 。有 一 系 列 类 似 as.something()的 函 作 为 一 个 训 练 ,你 可 能 想 计 算 每 个 对 象 平 均 收 入 的 95% 数,这些 函数主要用于对象模式 的强制转换 ,或者赋予某个 对 信 度 区 间 。于 是 你 可 以 再 次 使用 tapply()和 能得 到样 本 量 的 象 一 些 先 前 没 有 的 功 能 。读 者 可 以 参考 不 同 的 帮 助文 件 以 熟 函数 length(),以及 能得 到 t.分 布 的分 位 数 的 函数 qtO。 函 数 悉 它们 。 tapply()还 可 以用 来 处 理一 个 由多 个 分类 因子 决定 的 向量 下标 总 之 ,EM 算 法 ,不 保 证 全 局 最 优 解 ,得 到 的 是局 部最 优 组 合 。不 过 ,就 在 上 面 最 简 单 的 情 况 中 (仅 仅 一 个 变 量 ),我 们 解 ,所 以具 体 的结 果 和 初 始 值 的 位 置 有 关 系 ,如 果 我们 在 合 适 也 可 以这 样 考 虑 这 个 问题 (复 杂 因 子 组 合 时 一 样 处 理 )。 向量 的位置 ,我们就可能得到全局最优的解,当然 如果 只有一个 峰 中 的值 可 以根 据 因子 中不 同 的水 平 分 成 许 多组 。 函数 就 是 独 值 那 么 我 们 注 定 得 到最 优 解 。因 此 可 以 应 用 R软 件 众 多 的软 立地用于这些组 。得 到的值是这些 函数 结果 的向量,并且 以 件 包 联 合 解 决最 优 解 的 问 题 。 因子的水平属性标记 。 因为子类的大小是不规则的 ,所 以向 量和作为标签的因子的组合 就是我们偶尔会提及的 不规则数 作者简 介:李欢 (1970.),女 ,吉林 白城人 ,副教授 ,研究方 向为 组 (raggedarray)的一个特例罢 了。当子类大小是一致的时候 计 算 机 算 法 。 7
分享到:
收藏