这是我在 ds StackExchange 的第一篇文章,所以如果有什么不清楚的地方,请保持温和,让我知道 :)
我有很多产品(> 1M),我将所有购买的产品保存在带有时间戳的数据库中。(“购买数据”)
每个产品都有“内容特征”(例如产品尺寸、产品安全等级等)
“购买数据”如下所示:
| 时间戳| 产品编号 | 内容特点 1 | ... | 内容特征 N |
其中每一行都是购买带有时间戳的产品。
我的主要目标是获得明天最想要的产品,我将问题转化为预测第二天的需求,或者将每个产品 id 和日期分类为高需求或低需求),
我在这些设置中遇到了两个主要问题:
- 生成需求数据:我想将“购买数据”转换为一天的需求(“需求数据”)-意思是我将数据按产品id和日期分组,
然后我计算行数并将其保存为'freq ' (并且还删除行重复)。
问题是每天的最低产品频率是 1 而不是 0
例如:如果产品 #1 在星期日购买了 3 次,在星期三购买了 2 次,则购买和需求数据将是:
“购买数据”fi(product id) 映射到内容特征 i:
| time stamp | product id | content f 1 | ... | content f N | | Sunday 05:20 | 1 | f1(1) | ... | fn(1) | | Sunday 08:11 | 1 | f1(1) | ... | fn(1) | | Sunday 10:25 | 1 | f1(1) | ... | fn(1) | | Wednesday 08:10 | 1 | f1(1) | ... | fn(1) | | Wednesday 16:20 | 1 | f1(1) | ... | fn(1) |
“需求数据”:
| day | product id | content f 1 | ... | content f N | freq | | Sunday | 1 | f1(1) | ... | fn(1) | 3 | | Wednesday | 1 | f1(1) | ... | fn(1) | 2 |但是,如果产品 #1 在星期一没有购买,则不会有任何行,因为在该时间戳没有该商品的购买数据。
由于有超过 1M 的产品,我想避免创建频率为 0 的行,
有没有一种方法可以在不使用 0 个需求行的情况下从大量项目(产品)的采购数据中创建(或设计)需求数据?
- 基于内容的时间序列:创建“需求数据”后,我想将其用作时间序列。
我的问题是我需要将数据分成超过 100 万个系列,每个产品/项目 id 一个,这些系列也非常稀疏......我想找到一种方法来使用“内容特征”作为输入使用时间序列并让模型学习使用基于相关内容特征的某种时间序列平均值。
对基于内容的系列时间预测进行建模的最佳方法是什么?