随笔分类 - R语言
R语言学习笔记
摘要:处理缺失值--多重插补 多重插补(MI)是一种基于重复模拟的处理缺失值的方法。在面对复杂的缺失值问题时,MI是最常选用的方法,它将从一个包含缺失值的数据集中生成一组完整的数据集(通常是3到10个)。每个模拟数据集中,缺失数据将用蒙特卡洛方法来填补。此时,标准的统计方法便可应用到每个模拟的数据集上,通
阅读全文
摘要:处理缺失值--完整实例分析(行删除) 在完整实例分析中,只有每个变量都包含了有效数据值的观测才会保留下来做进一步的分析。实际上,这样会导致包含一个或多个缺失值的任意一行都会被删除,因此常称作行删除法(listwise)、个案删除(case-wise)或剔除。 函数complete.cases()可以
阅读全文
摘要:处理缺失值的高级方法--探索缺失值模式 在决定如何处理缺失数据前,了解哪些变量有缺失值、数目有多少、是什么组合形式等信息非常有用,要知道数据为何缺失。 1 列表显示缺失值 mice包中的md.pattern()函数可生成一个以矩阵或数据框形式展示缺失值模式的表格。将函数应用到sleep数据集,可得到
阅读全文
摘要:处理缺失数据的高级方法 缺失数据的传统方法和现代方法,主要使用VIM和mice包。使用VIM包提供的哺乳动物睡眠数据(sleep,注意不要将其与基础安装中描述药效的sleep数据集混淆)。数据来源于Allison和Chichetti(1976)的研究,他们研究了62种哺乳动物的睡眠、生态学变量和体质
阅读全文
摘要:分类分析--选择预测效果最好的解 预测准确性度量 下面给出计算这几个统计量的函数: 评估二分类准确性: performance <- function(table, n=2){ if(!all(dim(table) == c(2,2))) stop("Must be a 2 x 2 table")
阅读全文
摘要:分类分析--支持向量机 支持向量机(SVM)是一类可用于分类和回归的有监督机器学习模型。其流行归功于两个方面:一方面,他们可输出较准确的预测结果;另一方面,模型基于较优雅的数学理论。 SVM旨在在多维空间中找到一个能将全部样本单元分成两类的最优平面,这一平面应使两类中距离最近的点的间距(margin
阅读全文
摘要:分类分析--随机森林 随机森林(random forest)是一种组成式的有监督学习方法。在随机森林中,我们同时生成多个预测模型,并将模型的结果汇总以提升分类准确率。随机森林的算法涉及对样本单元和变量进行抽样,从而生成大量决策树。对每个样本单元来说,所有决策树依次对其进行分类。所有决策树预测类别中的
阅读全文
摘要:分类分析--决策树 决策树是数据挖掘领域中的常用模型。其基本思想是对预测变量进行二元分离,从而构造一棵可用于预测新样本单元所属类别的树。两类决策树:经典树和条件推断树。 1 经典决策树 经典决策树以一个二元输出变量(对应威斯康星州乳腺癌数据集中的良性/恶性)和一组预测变量(对应九个细胞特征)为基础。
阅读全文
摘要:分类分析--逻辑回归 逻辑回归(logistic regression)是广义线性模型的一种,可根据一组数值变量预测二元输出,即逻辑回归只适用于二分类 ,R中的基本函数glm()可用于拟合逻辑回归模型。glm()函数自动将预测变量中的分类变量编码为相应的虚拟变量。威斯康星乳腺癌数据中的全部预测变量都
阅读全文
摘要:分类分析 有监督机器学习领域中包含许多可用于分类的方法,如逻辑回归、决策树、随机森林、支持向量机、神经网络等,有监督学习基于一组包含预测变量值和输出变量值的样本单元。将全部数据分为一个训练集和一个验证集,其中训练集用于建立预测模型,验证集用于测试模型的准确性。 主要例子来源于UCI机器学习数据库中的
阅读全文
摘要:避免不存在的类 聚类分析是一种旨在识别数据集子组的方法,并且在此方面十分擅长。事实上,它甚至能发现不存在的类。 install.packages("fMultivar") library(fMultivar) set.seed(1234) df <- rnorm2d(1000, rho=.5) df
阅读全文
摘要:1 划分聚类分析 1.1 K 均值聚类 最常见的划分方法是K均值聚类分析。从概念上讲,K均值算法如下: (1) 选择K个中心点(随机选择K行); (2) 把每个数据点分配到离它最近的中心点; (3) 重新计算每类中的点到该类中心点距离的平均值(也就说,得到长度为p的均值向量,这里的p是变量的个数);
阅读全文
摘要:层次聚类分析 在层次聚类中,起初每一个实例或观测值属于一类。聚类就是每一次把两类聚成新的一类,直到所有的类聚成单个类为止,算法如下: (1) 定义每个观测值(行或单元)为一类; (2) 计算每类和其他各类的距离; (3) 把距离最短的两类合并成一类,这样类的个数就减少一个; (4) 重复步骤(2)和
阅读全文
摘要:聚类分析 聚类分析是一种数据归约技术,旨在揭露一个数据集中观测值的子集。它可以把大量的观测值归约为若干个类。 最常用的两种聚类方法是层次聚类(hierarchical agglomerative clustering)和划分聚类(partitioning clustering)。在层次聚类中,每一个
阅读全文
摘要:指数预测模型 指数模型是用来预测时序未来值的最常用模型。这类模型相对比较简单,但是实践证明它们的短期预测能力较好。不同指数模型建模时选用的因子可能不同。比如单指数模型(simple/single exponential model)拟合的是只有常数水平项和时间点i处随机项的时间序列,这时认为时间序列
阅读全文
摘要:1 时序的平滑化和季节性分解 对时序数据建立复杂模型之前也需要对其进行描述和可视化。在本节中,我们将对时序进行平滑化以探究其总体趋势,并对其进行分解以观察时序中是否存在季节性因素。 1.1 通过简单移动平均进行平滑处理 时序数据集中通常有很显著的随机或误差成分。为了辨明数据中的规律,我们总是希望能够
阅读全文
摘要:时间序列 时间序列(简称时序),对时序数据的研究包括两个基本问题:对数据的描述(这段时间内发生了什么)以及预测(接下来将会发生什么)。对时间序列数据未来值进行预测是基本的人类活动,对时序数据的研究在现实世界中也有着广泛的应用。经济学家尝试通过时序分析理解并预测金融市场;城市规划者基于时序数据预测未来
阅读全文
摘要:因子分析 探索性因子分析(EFA)是一系列用来发现一组变量的潜在结构的方法。它通过寻找一组更小的、潜在的或隐藏的结构来解释已观测到的、显式的变量间的关系。例如,Harman74.cor包含了24个心理测验间的相互关系,受试对象为145个七年级或八年级的学生。假使应用EFA来探索该数据,结果表明276
阅读全文
摘要:主成分分析 主成分分析(PCA)是一种数据降维技巧,它能将大量相关变量转化为一组很少的不相关变量,这些无关变量称为主成分。例如,使用PCA可将30个相关(很可能冗余)的环境变量转化为5个无关的成分变量,并且尽可能地保留原始数据集的信息。 1 R中的主成分和因子分析 R的基础安装包提供了PCA和EFA
阅读全文
摘要:1 广义线性模型和 glm()函数 广义线性模型扩展了线性模型的框架,它包含了非正态因变量的分析。重点关注该框架中两种流行的模型:Logistic回归(因变量为类别型),比如多分类变量(比如差/良好/优秀)和泊松回归(因变量为计数型),比如一周交通事故的数目,每日酒水消耗的数量。 1.1 glm()
阅读全文