全文链接:http://tecdat.cn/?p=31948

本文利用R语言的独立成分分析(ICA)、谱聚类(CS)和支持向量回归 SVR 模型帮助客户对商店销量进行预测(点击文末“阅读原文”获取完整代码数据)。

首先,分别对商店销量的历史数据进行了独立成分分析,得到了多个独立成分;其次,利用谱聚类方法将商店销量划分成了若干类,并将每个类的特征进行了提取;最后,利用 SVR模型对所有的商店销量进行预测。实验结果表明,利用 FastICA、 CS和 SVR模型能够准确预测商店销量。

相关视频

读取数据

read.csv("train_final.csv")

head(data)

独立成分分析方法(fastICA)

首先对于d维的随机变量 x∈Rd×1 ,我们假设他的产生过程是由相互独立的源 s∈Rd×1 ,通过 A∈Rd×d 线性组合产生的x=As

如果s的服从高斯分布的,那么故事结束,我们不能恢复出唯一的s,因为不管哪个方向都是等价的。而如果s是非高斯的,那么我们希望找到w从而 s=wTx ,使得 s 之间的相互独立就可以恢复出s了,我将在后面指出,这等价于最大化每个 s 的非高斯性。

采用独立成分分析方法(fastICA),得到矩阵W,A和ICs等独立成分结果(是否需要pca降维?)。

reeplot(prcomp(

点击标题查阅往期内容

python用支持向量机回归(SVR)模型分析用电量预测电力消费

左右滑动查看更多

01

02

03

04

谱聚类

谱聚类(spectral cluster),这里的谱指的是某个矩阵的特征值,该矩阵是什么,什么得来的,以及在聚类中的作用将会在下文解一一道来。谱聚类的思想来源于图论,它把待聚类的数据集中的每一个样本看做是图中一个顶点,这些顶点连接在一起,连接的这些边上有权重,权重的大小表示这些样本之间的相似程度。同一类的顶点它们的相似程度很高,在图论中体现为同一类的顶点中连接它们的边的权重很大,不在同一类的顶点连接它们的边的权重很小。于是谱聚类的最终目标就是找到一种切割图的方法,使得切割之后的各个子图内的权重很大,子图之间的权重很小。

采用谱聚类方式对所有矩阵的列进行聚类,得到两到三种不同的聚类结果(如何)。

谱聚类聚成2个类别

sc <- spec

聚成3个类别

SVR模型

SVR是支持向量机(SVM)的重要应用分支。通过SVR算法,可以找到一个回归平面并使得一个集合中的所有数据距离该平面的距离最短。

使用场景

SVR是一个回归模型,主要是用于拟合数值,一般应用于特征较为稀疏且特征数较少的场景。

例如,可以使用SVR回归模型来预测某个城市的温度。输入特征有很多,例如这个城市某个时期的平均温度、绿化程度、湖泊数量以及日期等。训练数据可以是一段时间内的城市温度。

对所有数据采用log标准化处理,然后对不同的类的训练集分别采用SVR模型训练,再用测试集得到测试结果

所需结果:

k个不同模式时间序列图(分属不同类的某个部门时间序列),表征不同类之间的差异与同类之内的相似.

pre=SVRModel

不同类测试集所采用SVR模型的不同参数(C,ε,σ)。

不同类测试集所采用SVR模型之后的预测结果(RMSE,MAD,MAPE,MPE),

RMSE(test,yHat)

## [1] 0.1354805

MAE(test,yHat)

## [1] 0.1109939

MAPE(test,yHat)

## [1] 1.099158

#MPE

 

ftsa::error(forecast =yHat, true = test, method = "mpe")

## [1] 1.099158

预测模型

预测模型加入时间序列向前1周,2周,3周,4周时的数据作为输入变量,采用不同聚类方式所得预测结果。

向前2周

不同类测试集所采用SVR模型之后的预测结果(RMSE,MAD,MAPE,MPE)

RMSE(test,yHat)

## [1] 0.09735726

MAE(test,yHat)

## [1] 0.0655883

MAPE(test,yHat)

## [1] 0.6538239

#MPE

ftsa::error(forecast =yHat, true = test, method = "mpe")

## [1] 0.467259

点击文末“阅读原文”

获取全文完整代码数据资料。

本文选自《R语言独立成分分析fastICA、谱聚类、支持向量回归SVR模型预测商店销量时间序列可视化》。

点击标题查阅往期内容

R语言进行支持向量机回归SVR和网格搜索超参数优化

逻辑回归、随机森林、SVM支持向量机预测心脏病风险数据和模型诊断可视化

R语言梯度提升机 GBM、支持向量机SVM、正则判别分析RDA模型训练、参数调优化和性能比较可视化分析声纳数据

R语言量化交易RSI策略:使用支持向量机SVM

基于随机森林、svm、CNN机器学习的风控欺诈识别模型

Matlab建立SVM,KNN和朴素贝叶斯模型分类绘制ROC曲线

基于ARIMA、SVM、随机森林销售的时间序列预测

基于数据挖掘SVM模型的pre-incident事故预防预测

R语言用rle,svm和rpart决策树进行时间序列预测

Python中基于网格搜索算法优化的深度学习模型分析糖尿病数据

随机森林优化贝叶斯预测分析汽车燃油经济性

Python基于粒子群优化的投资组合优化研究

matlab使用贝叶斯优化的深度学习:卷积神经网络CNN

R语言深度学习:用keras神经网络回归模型预测时间序列数据

Matlab用深度学习长短期记忆(LSTM)神经网络对文本数据进行分类

R语言KERAS深度学习CNN卷积神经网络分类识别手写数字图像数据(MNIST)

MATLAB中用BP神经网络预测人体脂肪百分比数据

Python中用PyTorch机器学习神经网络分类预测银行客户流失模型

R语言实现CNN(卷积神经网络)模型进行回归数据分析

SAS使用鸢尾花(iris)数据集训练人工神经网络(ANN)模型

【视频】R语言实现CNN(卷积神经网络)模型进行回归数据分析

Python使用神经网络进行简单文本分类

R语言用神经网络改进Nelson-Siegel模型拟合收益率曲线分析

R语言基于递归神经网络RNN的温度时间序列预测

R语言神经网络模型预测车辆数量时间序列

R语言中的BP神经网络模型分析学生成绩

matlab使用长短期记忆(LSTM)神经网络对序列数据进行分类

R语言实现拟合神经网络预测和结果可视化

用R语言实现神经网络预测股票实例

使用PYTHON中KERAS的LSTM递归神经网络进行时间序列预测

python用于NLP的seq2seq模型实例:用Keras实现神经网络机器翻译

用于NLP的Python:使用Keras的多标签文本LSTM神经网络分类

相关链接

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。