2016-05-09 19 views
1

我正在尝试构建电子商务模型,以预测通过在线营销渠道(如谷歌购物)获得的单击点击收入。点击次数是针对产品详细信息页面的,因此我的培训数据包含产品详细信息,例如:价格,交货时间,类别,制造商。每一次历史点击也带来了收入。问题是,对于95%以上的点击量,收入等于零。单击收入预测模型

历史数据是这样的:

click_id | manufacturer | category | delivery_time | price | revenue
1 |man1 | cat1 | 24 | 100 | 0
2 |man1 | cat1 | 24 | 100 | 0
3 |man1 | cat1 | 24 | 100 | 0
4 |man1 | cat1 | 24 | 100 | 120
5 |man2 | cat2 | 48 | 200 | 0

正如你所看到的,这是可能的(普通)塔两个数据点具有完全相同的特征和目标变量(收入)的非常不同的值。例如前4个数据点具有相同的特征,并且仅有4个数据点具有收入。理想情况下,我的模型将在具有相同特征的测试示例中预测这4次点击的平均收入(即30)。

我的问题是关于我尝试应用模型之前的数据表示。我相信我有两个选择:

  • 将回归直接应用于点击数据(如上例),并希望回归能够做正确的事情。在这种情况下,回归误差最终会非常大,因此很难说出模型的实际效果。
  • 尝试将多个数据点(点击)分组到单个点以避免一些零 - 将具有相同功能的所有数据点进行分组,并将目标(收入)变量计算为SUM(收入)/ COUNT(点击次数)。通过这种方法,我的收入仍然有很多零(产品只有几个点击),有时候会有数千次点击只给您一个数据点 - 这看起来不正确。

任何意见如何解决这个问题是非常受欢迎的。

回答

0

95%的数据收入为零,您可能需要对记录进行一些操作,例如采样。按照目前的构建,您的模型可以在100%的时间内预测“不”,而且仍然可以达到95%的准确率。您需要针对您的模型中想要的错误类型进行设计选择。您是否希望它“尽可能准确”,因为它错过了尽可能少的记录,错过了尽可能少的收入记录,或者避免将记录错误地归类为收入(如果它们实际上不是这样)(阅读关于类型的更多信息1个& 2错误,如果你很好奇)

有几个高水平的选择,你可以做:

1)你可以在样本数据。如果您有很多记录并希望确保您捕获创收功能,则可以复制这些记录或进行记录工程以创建与产生收入的记录非常相似的“虚假”记录。这会增加您的模型捕捉到推动收入增长的可能性,并且会使您很可能在将这些功能应用于实际数据时对这些功能进行评估。

2)您可以使用模型来预测概率,然后扩大你的概率。例如,你可以看看你的模型,并说任何有25%以上的收入产生可能性的东西实际上是一个“正面”情况。

3)你可以尝试聚集数据,如上所述,并尝试运行“求和”值的分类算法,而不是单个记录。

4)是否有一些分段的可能性大于5%?也许在这些子集上建立一个模型。

这些都是模型设计的选择,没有正确/错误的答案 - 它只是取决于你想要完成的。

按您回应 回归可以通过异常来显著影响编辑的,所以我会小心一点只是想用一个回归预测的美元金额。很可能大部分变量的系数都很小,截距反映的是平均支出。你应该记住的另一件事是互动条款。例如,如果你是男性,你可能更有可能购买,如果你年龄在25-30岁,更可能购买,但是男性和25-30岁的男性都有超大的影响。

我提出分类的原因是你可以尝试做一个分类,看看谁可能购买,然后应用美元金额。这种方法会阻止你在每次交易中拥有基本相同的非常小的金额。

+0

嗨flymeatball,感谢您的答案。 我的问题是更多的回归分类(所以我没有类型1和2的错误和类似)。我已经更新了这篇文章,详细介绍了我除了模型之外的内容(在历史数据表下面)。 – hakaa

+0

@hakaa编辑根据您的评论 – flyingmeatball

+0

我试过回归,它的工作出人意料地好 - 它给予的结果比刚好来自拦截的平均值要好得多。但你是对的,拦截是模型的主要驱动力。 我也尝试过多项式回归方面的“交互项”,并没有多大帮助。 – hakaa