永洪科技深度分析实战,零售企业的销量预测
随着人工智能技术的不断发展,智能预测已经成为各个领域的重要应用之一。现在,智能预测技术已经广泛应用于金融、零售、医疗、能源等领域,为企业和个人提供决策支持。
智能预测技术通过分析大量的数据,利用机器学习和深度学习算法构建模型,对未来的趋势和事件进行预测。由于智能预测技术的准确性和可靠性不断提高,各个领域都在积极探索和应用智能预测技术,以获得更好的决策效果和效益。
本文通过一个零售行业销售预测的实战案例来介绍永洪科技的数据变换操作节点和LightGBM算法,以帮助广大用户了解和学习整个数据处理和模型训练、预测、评估的全过程。
中国零售业是国家经济的重要支柱之一,其在2021年的社会消费品全年零售总额达到了440823亿元,同比增长12.5%。尽管线上零售业务正在迅速发展,但线下零售仍然占据了巨大的份额。
随着数字化转型的推进,企业可以利用人工智能技术实现更精细化的运营,从而提高零售店的销量和效益。永洪的深度分析功能是一种非常有用的工具,可以帮助企业更好地预测零售店的销量情况,从而制定更精准的销售策略和运营计划。今天,我们就通过永洪科技的深度分析功能,教您预测零售店的销量情况。
我们以一个在7个欧洲国家经营着3000多家药店的连锁企业为例,通过构建模型,可以帮助它的门店经理提前至多六周预测每日的销售额。需要有两张数据表,分别为各个门店的信息数据和从所有门店汇总来的历史销售信息,详细字段描述如下表。门店的销售情况受到许多因素的影响,包括促销、竞争、学校和国家假日、季节性和地区,这个可以根据您的实际情况修改。
字段名称 | 字段描述 | 数据类型 |
Store | 门店的唯一Id | 数值型 |
StoreType | 区分4种不同的商店模式 | 文本型 |
Assortment | 描述门店分类级别 | 文本型 |
CompetitionDistance | 到最近的竞争对手门店的距离(以米为单位) | 数值型 |
CompetitionOpenSinceMonth | 最近的竞争对手门店的(大概)开店月份 | 数值型 |
CompetitionOpenSinceYear | 最近的竞争对手门店的(大概)开店年份 | 数值型 |
Promo2SinceWeek | 该店开始参与促销活动的日历周 | 数值型 |
Promo2SinceYear | 该店开始参与促销活动的年份 | 数值型 |
PromoInterval | 连续时间间隔的促销活动,活动重新启动的月份。 | 文本型 |
Promo2 | 门店有无持续不断的促销活动 | 数值型 |
表1门店信息字段描述
字段名称 | 字段描述 | 数据类型 |
Store | 门店的唯一Id | 数值型 |
DayOfWeek | 一周的周几 | 数值型 |
Date | 日期 | 数值型 |
Sales | 当天的营业额 | 数值型 |
Open | 门店当天是否营业 | 布尔型 |
Promo | 门店当天是否有促销活动 | 布尔型 |
SchoolHoliday | 是否受公立学校停课影响 | 布尔型 |
StateHoliday | 是否国家假日 | 文本型 |
表2 销售信息字段描述
对于这种预测的场景,我们一般会将其抽象为一个回归问题,LightGBM算法在实际工程项目中对类别型特征的处理非常适合一些金融数据或多因素影响的销量数据建模场景,所以我们选择LightGBM回归。
首先要分析数据,然后对数据进行预处理,永洪科技的深度分析功能提供了几十种数据变换节点,采用了可视化的操作方式,通过鼠标拖拽即可完成流程的搭建。选中商店数据节点,在右侧的数据探索可以查看对字段的统计分析结果。(以下使用的数据处理节点为根据此数据分析选择的,不代表所有场景都需要使用这些节点,需要根据数据情况选择。)
选择CompetitionDistance字段,在统计中缺失值数量显示存在3个缺失值,且各个门店差别较大(最小20,最大75860),故而使用缺失值填充节点处理。
又通过数据分布直方图可知存在数据倾斜,所以需要进行对数变换。为了知道促销距今有多少周,还需要将Promo2SinceYear和Promo2SinceWeek字段的信息合并处理为Promo2Weeks字段,因为销量和促销的时间相关。使用计算列节点,新建对数变换和Promo2Weeks计算列。
因为上述计算过程会出现缺失值,故需要将其填充,否则空值无法分析。
对于销售信息数据,我们从数据探索的盒须图中可以看出Sales字段存在明显偏离其它数据的值。
所以先使用过滤节点,过滤偏离数据,运行后发现此数据并没有参加促销,因为促销才更能影响销量,故将其判断为异常值过滤掉,且不需要未营业时的商店销售数据,因为此数据对销量判断没有意义,故将未营业时数据过滤。
接下来从日期特征提取年、月、日特征,为了后续可以精细的按月判断促销。
因为需要将商店数据中的PromoInterval字段与销售信息中的Month字段结合,判断销售记录是否在促销期间发生,所以我们通过联接节点将两个数据合并在一起。
如果想预测商品销量的话,是不是促销月是很重要的信息,所以通过计算列节点新建名称为是否为促销月的数据。
最后,使用过滤节点将最后48天的数据(即过滤大于等于2015年6月14日的数据)划分为测试集,其它为训练集(即过滤小于2015年6月14日的数据)。至此,数据预处理流程结束。
之后,我们在训练集过滤节点后接LightGBM回归节点,并调整其配置参数,如果不是很了解参数,也可以选择自动调参,特征列字段为Promo2Weeks-Fill Null Value、PromoInterval等,目标列选择Sales。
测试集过滤和LightGBM回归节点后接模型应用节点,此流程是为了将训练完成的模型用于测试集,所以模型应用节点的自变量需要和模型的特征列一致(可以直接复制粘贴字段)。因变量需要在选择列中新建变量,命名为predict。
模型应用后接回归性能评估,用各种指标比较真实值和预测值的差距。最后通过连接图片视图、表格视图或数据集视图查看结果。
运行实验后,可以在模型应用结果中查看预测值。除此之外,我们还可以查看在测试集上预测的销售额和测试集中样本的实际销售额的对比图,评估预测准确性。
本案例是一个常用的预测场景,可以大致总结为以下过程,此流程为机器学习的通用流程。
也可以查看和了解更多内置案例,精准的预测不仅能帮助企业提前制定规划,也可以帮企业降低风险。在数字化转型的大潮中,让我们一起携手前行。
相关文章:

永洪科技深度分析实战,零售企业的销量预测
随着人工智能技术的不断发展,智能预测已经成为各个领域的重要应用之一。现在,智能预测技术已经广泛应用于金融、零售、医疗、能源等领域,为企业和个人提供决策支持。 智能预测技术通过分析大量的数据,利用机器学习和深度学习算法…...

c语言笔记 函数参数的等价(上)
这三种写法在 C 语言中是等价的,因为它们都用于声明一个指向二维数组的指针,或者用于声明一个二维数组作为函数参数。它们的等价性源于 C 语言中数组和指针之间的密切关系。让我们逐一分析这三种写法: 在C语言中,当数组作为函数参…...

hive面试题--left join的坑
student 表: 课程表course: 1、key为null, 不关联 select * from student s left join course c on s.id c.s_id;2、on中过滤条件 与 where 过滤条件区别 on and c.id<>‘1001’ 先过滤右表数据,然后与左表关联 select * from student s le…...

CEH与OSCP:网络安全认证对比分析
在网络安全领域,渗透测试被视为至关重要的一环,帮助企业检测和修复系统漏洞。为提升行业标准,许多认证应运而生,其中CEH和OSCP作为行业认可度较高的认证,广泛被网络安全从业者选择。尽管这两者都涉及渗透测试领域&…...

HTML 属性详解:为网页元素赋予更多功能
在构建网页的过程中,HTML 是基础的标记语言,而 HTML 属性则是为 HTML 元素提供附加信息的重要组成部分。 一、属性的基本概念与使用 属性通常出现在 HTML 标签的开始标签内,以 “name"value"” 的形式存在。这里的 “name” 是属…...

Ceph(2):Ceph简介
1 Ceph简介 Ceph使用C语言开发,遵循LGPL协议开源。Sage Weil(Ceph论文发表者)于2011年创立了以Inktank公司主导Ceph的开发和社区维护。2014年Redhat收购inktank公司,并发布Inktank Ceph企业版(ICE)软件,业务场景聚焦云…...

国产编辑器EverEdit - 设置文件类型关联为EverEdit
1 设置-文件关联 1.1 应用场景 文件关联是指在文件管理器中双击某类型的文件,操作系统自动调用可以打开该文件的应用程序,比如:用户双击XXXX.txt文件,系统默认会使用记事本打开该文件。 由于各行各业都会定义特有的文件类型&…...

2025网络安全工程师:软考新挑战与职业发展探析
网络安全工程师的崛起 随着信息技术的迅猛发展,网络安全问题日益凸显,网络安全工程师这一职业逐渐受到社会各界的广泛关注。特别是在2025年,随着各项网络安全法规的完善和实施,网络安全工程师的角色愈发重要。他们不仅是企业信息…...

设计模式之建造者模式:原理、实现与应用
引言 建造者模式(Builder Pattern)是一种创建型设计模式,它通过将复杂对象的构建过程分解为多个简单的步骤,使得对象的创建更加灵活和可维护。建造者模式特别适用于构建具有多个组成部分的复杂对象。本文将深入探讨建造者模式的原…...

【Leetcode 每日一题 - 补卡】2070. 每一个查询的最大美丽值
问题背景 给你一个二维整数数组 i t e m s items items,其中 i t e m s [ i ] [ p r i c e i , b e a u t y i ] items[i] [price_i, beauty_i] items[i][pricei,beautyi] 分别表示每一个物品的 价格 和 美丽值 。 同时给你一个下标从 0 0 0 开始的整数数…...

雪藏HsFreezer(游戏冻结工具) v2.21
HsFreezer 是一款让你可以随心冻结游戏的软件(游戏暂停软件、系统优化软件、进程管理软件),想玩就玩,想停就停,快捷键随心瞬发,单锁模式极致的丝滑切换,当然,不止适用游戏。更有丰富的特色系统优化功能。 PC主机,win掌机,笔记本--无脑装就对了,超大按键超大列表,触控盲操,非常巴…...

2019年蓝桥杯第十届CC++大学B组真题及代码
目录 1A:组队(填空5分_手算) 2B:年号字符(填空5分_进制) 3C:数列求值(填空10分_枚举) 4D:数的分解(填空10分) 5E:迷宫…...

前端安全面试题汇总及参考答案
目录 简述 XSS 攻击的原理及三种常见类型(存储型、反射型、DOM 型) 如何在前端防御 XSS 攻击?列举编码、过滤、CSP 策略的具体实现方式 富文本编辑器场景下如何安全处理用户输入的 HTML 内容? 如何通过 HttpOnly 属性增强 Cookie 安全性?它与 XSS 防御的关系是什么? …...

修复ubuntu下找不到音频设备的问题
出现问题的状态: ALSA 已正确识别到 ZOOM H2n 设备(card 1)sounddevice 库(依赖 PortAudio)未能正确枚举设备 修复方法: 1. 强制 sounddevice 使用 ALSA 后端 默认情况下,sounddevice 可能尝…...

⭐LeetCode周赛 3468. 可行数组的数目——暴力与数学⭐
⭐LeetCode周赛 3468. 可行数组的数目——暴力与数学⭐ 示例 1: 输入:original [1,2,3,4], bounds [[1,2],[2,3],[3,4],[4,5]] 输出:2 解释: 可能的数组为: [1, 2, 3, 4] [2, 3, 4, 5] 示例 2: 输入&…...

在线json转ArkTs-harmonyos
轻松将 JSON 数据转换为类型安全的 ArkTs 接口。快速准确地生成代码,提升开发效率,告别手动编写,让您的开发流程更加流畅! gotool...

Vue 实现AI对话和AI绘图(AIGC)人工智能
我司是主要是负责AIGC人工智能化平台的项目,俗称内容创作及智能工具平台。 授人以鱼不如授人以渔 首先我们要明白AIGC中前端需要做什么 会用到哪些技术栈 。 AIGC前端需要用到的技术栈:Vue,Markdown,SSE。就这个三件套。 前沿:有人觉得AI对…...

Visual Studio Code 基本使用指南
Visual Studio Code(简称 VSCode)是一款由微软开发的免费、开源、跨平台的代码编辑器,凭借其轻量级设计、丰富的插件生态和强大的功能,成为全球开发者的首选工具。本文将从安装配置到核心功能,全面解析 VSCode 的基本使…...

水下机器人推进器PID参数整定与MATLAB仿真
水下机器人推进器PID参数整定与MATLAB仿真 1. PID控制原理 目标:通过调节比例(P)、积分(I)、微分(D)参数,使推进器输出力快速稳定跟踪期望值。传递函数(示例):推进器动力学模型可简化为: [ G(s) = \frac{K}{\tau s + 1} \cdot e^{-Ts} ] 其中:K为增益,τ为时间常…...

网络安全工具nc(NetCat)
NetCat是一个非常简单的Unix工具,可以读、写TCP或UDP网络连接(network connection)。它被设计成一个可靠的后端(back-end)工具,能被其它的程序程序或脚本直接地或容易地驱动。同时,它又是一个功能丰富的 网络调试和开发工具,因为它…...

【C/C++】如何求出类对象的大小----类结构中的内存对齐
每日激励:“不设限和自我肯定的心态:I can do all things。 — Stephen Curry” 绪论: 通过本章你能具体的了解到,如何计算出一个类的大小,并且了解其中到底是如何算的以及了解到为什么需要内存对齐这种算࿰…...

Linux:动静态库
1.库是什么,作用是什么 库是写好的,现有的可以复用的代码。现实中每个程序都要依赖很多基础的底层库,不可能每个人的代码都从零开始。 本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存中执行。库有两种&#…...

鸿蒙跨平台框架ArkUI-X
01 引言 目前,移动端主流跨平台方案有Flutter、React Native、uni-app等等,还有刚推出不久的Compose-Multiplatform,真所谓是百花齐放。这些框架各有特点,技术实现各有差异,比如Flutter通过Dart编写的UI描述对接Flutte…...

第7章 wireshark(网络安全防御实战--蓝军武器库)
网络安全防御实战--蓝军武器库是2020年出版的,已经过去3年时间了,最近利用闲暇时间,抓紧吸收,总的来说,第7章开始学习抓包工具wireshark,如果你怀疑自己的电脑中毒了,那么用wireshark可以很轻松…...

【AI】神经网络|机器学习——图解Transformer(完整版)
Transformer是一种基于注意力机制的序列模型,最初由Google的研究团队提出并应用于机器翻译任务。与传统的循环神经网络(RNN)和卷积神经网络(CNN)不同,Transformer仅使用自注意力机制(self-attention)来处理输入序列和输出序列,因此可以并行计算,极大地提高了计算效率…...

002-SpringCloud-OpenFeign(远程调用)
SpringCloud-OpenFeign 1.引入依赖2.编写一个远程调用接口3.测试 1.引入依赖 <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId> </dependency><dependencyManageme…...

基于类型的声明接收props
在 Vue 3 中,除了运行时声明这种常见方式,还可以通过基于类型的声明、解构赋值等方式来接收 props,下面为你详细介绍: 1. 基于类型的声明 这种方式借助 TypeScript 的类型系统来定义 props,具有类型检查和代码提示的…...

多方安全计算(MPC)电子拍卖系统
目录 一、前言二、多方安全计算(MPC)与电子拍卖系统概述2.1 多方安全计算(MPC)的基本概念2.2 电子拍卖系统背景与需求三、MPC电子拍卖系统设计原理3.1 系统总体架构3.2 电子拍卖中的安全协议3.3 数学与算法证明四、数据加解密模块设计五、GPU加速与系统性能优化六、GUI设计与系…...

使用QT + 文件IO + 鼠标拖拽事件 + 线程 ,实现大文件的传输
第一题、使用qss,通过线程,使进度条自己动起来 mythread.h #ifndef MYTHREAD_H #define MYTHREAD_H#include <QObject> #include <QThread> #include <QDebug>class mythread : public QThread {Q_OBJECT public:mythread(QObject* …...

【无人机路径规划】基于麻雀搜索算法(SSA)的无人机路径规划(Matlab)
效果一览 代码获取私信博主基于麻雀搜索算法(SSA)的无人机路径规划(Matlab) 一、算法背景与核心思想 麻雀搜索算法(Sparrow Search Algorithm, SSA)是一种受麻雀群体觅食行为启发的元启发式算法࿰…...