【问题标题】:design a neural network for sales prediction设计一个用于销售预测的神经网络
【发布时间】:2011-04-07 03:14:32
【问题描述】:

我正在开发一个分布式系统,计划在其中使用神经网络进行销售预测。

系统的小描述:系统结合了Pharmacy、Patient(电子健康记录)和Doctor模块等模块的工作流程。

问题是:我有很多与药品销售相关的信息,我在设计神经网络时有点困惑。

我目前的设计: 输入(根据可以从数据库中获取的数据):

  1. 日期:向客户销售药品的日期(YYYY/MM/DD 格式)。
  2. 患者年龄类别:与患者年龄类别对应的值,例如:(1 -> 12:儿童,13 -> 30:年轻 .....)
  3. 患者性别。
  4. 药品 ID:与药品对应的值。
  5. 疾病 ID:与生成处方的医生发现的疾病相对应的值。
  6. 药品单位成本:与购买药品的成本相对应的值。
  7. Medicine Unit Sold:与药品销售成本相对应的价值。
  8. 药房地址 ID:与药房地址对应的值。
  9. Season ID :与销售药品的季节(夏季、冬季等)相对应的值。

输出:

  1. Quantity :与将要出售的药品数量相对应的值。
  2. Profit : 对应于卖出前一个数量的利润金额的值。

问题是:我不确定这个设计是否有意义,有更好的建议吗?

我应该使用什么类型的网络来实现这个设计..我正计划使用多层循环网络...这是一个不错的选择还是有更好的模型?

注意:我打算使用带有“AForge.NET Framework”的 c# 来实现网络。

希望这个描述清晰明了,对不起我的语言不好。

【问题讨论】:

    标签: c# neural-network


    【解决方案1】:

    ID 和类别对实际输入的选择很糟糕,因为它们不是连续的,而且它们的相对量级没有什么意义。 ID 可能有利于为不同类别创建单独的网络,但是,鉴于您在此处定义的大量 ID 和类别,这意味着您有大量单独的网络,需要大量的训练数据,因为它会被严重稀释。二元类别(如性别)可能会起作用,但任何多于一个类别的东西都可能不会产生好的结果。

    对神经网络要非常小心,因为如果网络足够大,您可以创建一些看起来可以提供预测的东西,但在训练集之外这真的毫无意义。确保您有一个不参与训练的大型验证集。

    【讨论】:

    • 关于 ID ......在我的预测中......我想预测将要出售的药物的数量......可以用其他表示来完成吗? ...谢谢
    • @mhdbny,我不确定我是否理解你的问题。一个神经网络,一旦经过训练,基本上就是一个复杂的数学函数,所以你想要输入的是具有数字含义的量。类别(如药物的“id”)没有内在的数字含义,因此没有理由相信您可以与您的网络创建的任何关联都具有任何预测有效性。您通常可以通过足够的训练和足够大的网络“强制”关联,但您真正创建的只是训练数据的任意映射。
    【解决方案2】:

    我质疑日期(绝对值)是否为模型增加了任何价值。如果您有多年的数据,它可能会产生一些意义,但是诸如日期在哪个季度,是周末还是工作日,还是在重大假期(等)后的 n 天内的度量可能会变得更强大。

    我不知道你的直接领域,所以我对网络拓扑没有任何意见。如果您查找一些论文,可能会有针对您的研究领域的评论文章讨论趋势是什么。

    【讨论】:

      【解决方案3】:

      这似乎缺少一些信息。

      为了预测未来,您需要一个基线。例如,在给定的处方上,有人要补充它的可能性有多大?这种可能性是否与您的任何其他指标(年龄组、性别、销售日期)相关?

      此外,季节仅与患者的位置有关,并且可能仅适用于某些类型的药物(我在想感冒/过敏/流感)。此外,为了提供任何真正的季节性准确性,您必须引入该季节的数据,例如过敏原水平等。

      其次,药品的成本和利润预期实际上只与实际药品有关,而不是预测销售可能性所必需的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-12-02
        • 2013-06-09
        • 2011-01-02
        • 1970-01-01
        相关资源
        最近更新 更多