分析算法

<< Click to Display Table of Contents >>

当前位置:  增强分析 

分析算法

复制链接

1. 概述

1.1 应用场景

分析算法提供了三种自带算法:一元回归、K-Means聚类、HoltWinters时序分析,支持用户通过定制自定义分析算法。能够满足以下数据分析和任务需求:

线性关系分析:使用一元回归功能,可以分析两组变量之间的线性相关关系,评估实际值与预测值之间的误差,为业务决策提供数据支持。

数据挖掘与归类:面对数据集中种类属性不明晰的情况,K-Means聚类算法能够自动将数据点归类为具有相似特点的对象,助力数据驱动的市场细分或用户画像构建。

时间序列预测:通过HoltWinters时序分析,用户能够预测未来一段时间内数据的变化趋势,为库存管理、销售预测等场景提供前瞻性的洞见。

1.2 功能简介

分析算法,将维度、度量列作为分析变量,进一步分析各变量之间的关系,并通过图表展示分析结果,变量关系清晰明了。此外,还支持定制算法,进一步丰富数据分析的能力。报告端与数据集端均支持。要使用分析算法,需要先配置Rserver,配置方法参考《R安装、启动》和《R配置》。

说明:

本章节模块为产品高级模块,需单独购买:Y+Analytics。

2.功能说明

进入【创建数据集】页面,打开数据集“咖啡中国市场销售数据”,进入元数据页面,点击数据列“更多”按钮,选择【新建分析算法】,如下图。

enhanced_analysis_1_zoom68

在弹出的“ 分析算法” 窗口中输入名称,选择分析算法类型,选择并设置算法需要的数据列或属性值,或自定义R脚本,返回新的R字段(输出值)。根据分析算法生成R字段,作用域是当前数据集,所有使用该数据集的报告都能使用此数据集上的R字段。

enhanced_analysis_2_zoom80

enhanced_analysis_3_zoom80

数据集中可以用四种分析算法进行快速绘图。

2.应用举例

2.1 一元回归分析

回归分析是一种应用非常广泛的分析模型,是统计学中用于探究两个或多个变量之间关系的方法。在一元回归分析中,我们主要关注一个因变量(Y)与一个自变量(X)之间的线性关系。当两者呈线性关系时,它们之间的关系可以用直线表示,数学表达式为y = ax + b,其中y是因变量,x是自变量,a和b是常数。当因变量和自变量为非线性关系时,它们之间的关系可以用曲线表示,自变量的指数(幂,即多项式次方)大于1。

enhanced_analysis_2_zoom60

【自变量】x,自变量字段。

【因变量】y,因变量字段。

【多项式次方】表示自变量与因变量的N次方函数关系,默认为1(即线性关系)。

【输出值】

拟合值:勾选以获取每个样本点的预测值。根据训练数据得到回归模型后,会对给定的样本值(x1,x2,...,xn)做预测,预测结果为拟合值,是(y1,y2,...,yn)的估计值。

残差:勾选以计算实际值与预测值之间的差,即y的实际值减去拟合值。

置信区间:勾选以根据给定的置信水平(默认为95%)计算置信区间。‌置信区间是‌统计学中的一个概念,用于描述一个参数或统计量的不确定性范围。它是一个区间,通常以一定的置信水平表示(例如95%置信水平),表示这个区间内包含真实参数值的概率。

示例:使用一元回归分析算法对一系列身高和体重数据进行建模,找出身高(自变量X)与体重(因变量Y)之间的线性关系,并计算体重的拟合值。在数据集上创建分析算法,如下图,

enhanced_analysis_10

输出结果如下图。

enhanced_analysis_11_zoom80

2.2 K-Means聚类分析

K-Means聚类是一种常用的聚类算法,通过指定聚类的个数N,将数据集分成N个类别。算法随机选择N个样本作为初始中心点,然后根据每个样本到中心点的距离进行迭代归类,直至中心点不再变化。

在R中使用kmeans(data,centers=3,nstart=10)函数进行K-means聚类,其中centers参数用来设置分类个数,nstart参数用来设置取随机初始中心的次数,即运行kmeans方法的次数,我们在用kmeans 函数时,默认取10。

enhanced_analysis_7_zoom60

【聚类维度】聚类的样本集。从左侧的可配置列中选择需要聚类的字段拖入到聚类维度框中。

【设置K 值】分类个数。可以手动输入分类个数,也可以输入最大K值,系统会根据轮廓系数计算出最佳的K值。

【输出值】

聚类标签:每个样本所属的类别。

主成分:对聚类的维度做主成分分析,取最重要的两个成分。

示例:根据四种属性对三种花进行分类,使用K-Means聚类算法将它们分成不同的组别。在图表上创建K-means 聚类分析,如图。

enhanced_analysis_12

聚类结果如图。

enhanced_analysis_13

2.3 HoltWinters时序分析

Holt-Winters时序分析是一种用于时间序列数据预测的方法,它考虑了数据的水平趋势、季节性趋势和随机成分。该算法能够根据历史数据预测未来一段时间内的数据。

enhanced_analysis_8_zoom60

【时间列】选择时间字段。系统会根据选择的时间字段,自动算出时间间隔。

【数据列】需要分析的数据字段。在报表端新建分析算法或使用图表的快速分析算法时,需要选择聚合函数,这样将按时间列进行分组,数据列进行聚合,在此分组聚合之后的数据上进行时序分析。

【周期】系统会根据时间列自动填入一个合理的数值,也可手动修改。修改时需填入时间间隔的整数倍,系统根据周期和时间间隔(周期/时间间隔)算出频率,即单位时间内的观测数。

【往后预测跨度】需要预测的未来时间跨度,系统会根据时间列自动填入一个合理的数值,也可手动修改。修改时需填入时间间隔的整数倍。

【趋势(beta)】是否考虑纵向趋势。默认是被勾选,表示按纵向趋势拟合。

【季节因子(gamma)】是否考虑季节性趋势。不勾选则非季节性模型拟合。勾选则进行季节性模型拟合。季节性模式可选择加法效应和乘法效应。默认为加法效,表示按季节性加法的趋势增长。乘法效应表示按季节性乘法趋势增长。季节性模型拟合时,需满足一个周期内至少有两个数据点,即频率大于等于2,且时间序列至少包含2个周期。

【输出值】

预测值:根据模型计算的未来数据预测值。勾选后会得到一个拟合值字段。其结果是根据得到的模型,对往后预测的时间跨度做预测,算出预测值。

置信区间:根据给定的置信水平计算的预测值上界和下界。勾选后会根据Level算出估计值的上界和下界,默认Level 是95%。

示例:假设有从1957年1月到1958年12月的数据,时间间隔为1个月,使用Holt-Winters时序分析预测未来12个月的数据,不考虑趋势和季节性因素,如下图。

enhanced_analysis_14

预测结果如图。

enhanced_analysis_15

2.4 定制

通过定制功能,用户可以自定义分析算法以满足特定需求。这通常涉及到编写R脚本,并指定计算类型和返回值。

enhanced_analysis_9_zoom60

【计算类型】在数据集中创建定制分析算法,固定位细节计算,不支持聚合计算。在报告端创建定制分析算法,可选择细节计算和聚合计算,聚合计算出来的R字段为聚合字段。

【脚本】在脚本区域输入R代码,使用col[["xxx"]]或param[["xxx"]]访问数据集字段或参数。xxx为列名或参数名。对于定制脚本,R将脚本执行的结果作为返回值返回。Yonghong 产品中要求返回值必须是list对象,包含若干返回值列,如list(out1=a, out2=b),其中out1,out2 为返回值列的名称,而a,b为相应返回值列的取值,可以是常数或向量。

其他R脚本请参考R官网。

示例:通过编写R脚本实现特定的数据处理或分析逻辑,并返回自定义的计算结果。定制举例如下图。

enhanced_analysis_16