我承认,我不是一个统计类的家伙。但是我之前遇到过这类问题。真的,我们在这里讨论的是,你有一些观察到的离散事件,你想知道如何在任何给定的时间点看到它们。你所得到的问题是你想要获取离散数据并从中取出连续的数据。
想到的术语是density estimation。具体为kernel density estimation。您可以通过简单的分箱来获得核密度估计的一些效果(例如,计算时间间隔中的数量事件,例如每四分之一小时或每小时)。核密度估计只具有比简单分箱更好的统计特性。 (产生的数据通常是'平滑的'。)
虽然这只是照顾你的一个问题。接下来的问题仍然是一个更有趣的问题 - 你如何获取数据的时间线(在这种情况下,只有打印机数据),并从中产生预测?第一件事是第一件事 - 你设置问题的方式可能不是你想要的。尽管拥有有限数据源并预测该源的下一步的奇迹概念听起来很有吸引力,但集成更多数据源以创建实际预测更加实用。 (例如,在有很多手机活动之后,打印机可能会受到重创 - 某些公司可能很难预测)Netflix挑战赛就是这方面的一个颇有力的例子。
当然,更多数据源的问题在于还有额外的工作量来设置收集数据的系统。
老实说,我认为这是一个领域特定的问题,并采取两种方法:找到时间无关模式,并找到时间依赖模式。
一个与时间有关的例子是,每周4:30,Suzy打印出当天结束的报告。这发生在每周的特定时间。这种事情很容易以固定的时间间隔进行检测。 (每天,每周一天,每个周末,每个星期二,每个月的第一天等...)这在预定时间间隔内非常简单 - 只需创建一周估计概率密度函数的曲线并且返回到时间并平均曲线(可能是通过开窗函数的加权平均以获得更好的预测)。
如果您想要更复杂一些,找一种方法来自动检测这些间隔。 (可能数据不会如此强大,以至于你可能只是蛮横地强制这个。)
一个与时间无关的模式是,每次会计Mike打印一张发票清单时,他都会转向Johnathan,他在几小时后打印出一大批完整的发票报告。这种事情更难以发现,因为它更自由。我建议您查看各种时间间隔(例如30秒,40秒,50秒,1分钟,1.2分钟,1.5分钟,1.7分钟,2分钟,3分钟...... 1小时,2小时,3小时, ....)并通过很好的方式对它们进行二次取样(例如Lanczos resampling)以创建一个向量。然后使用vector-quantization样式算法对“有趣”模式进行分类。但是,您需要仔细考虑如何处理类别的确定性 - 如果您的结果类别的数据非常少,则可能不可靠。 (某些矢量量化算法比其他方法更好)
然后,要创建关于将来打印某物的可能性的预测,请查找最近的活动间隔(30秒,40秒,50秒,1分钟和所有其他间隔)通过矢量量化并基于其确定性对结果进行加权以创建预测的加权平均值。
你要找到测量时间依赖性和时间独立输出的确定性来创建一个最终估计的好方法。
这种事情是典型的预测数据压缩方案。我建议你看看PAQ,因为它有很多我在这里过的概念,并且可以提供一些非常有趣的见解。甚至可以使用源代码以及所用算法的优秀文档。
你可能要采取从矢量量化完全不同的方法和离散的数据和使用的东西更像是一个PPM方案。它可以非常简单地实施并且仍然有效。
我不知道这个项目的时限和范围是什么,但这样的事情总是可以采取第N度。如果截止日期有限,我想强调一点,您担心首先要做的事情,然后使其运作良好。没有最佳的东西比没有东西好。
这种项目是酷。如果你把它包装好,这种项目可以帮你找到工作。我建议你花点时间,把它做对,然后把它作为功能,开源,有用的软件发布。我强烈建议开源,因为您希望创建一个社区,可以在您有权访问,支持或支持的更多环境中贡献数据源提供程序。
祝你好运!
也许你可以生成0和1的列表,将在事件发生的,零否则,再训练神经网络识别模式。基本上,如果您的列表长度为1000个事件,并且您想预测下一个100个,那么请使用1000-> 100个神经网络。 –
您可能会在[statistics stackexchange](http://stats.stackexchange.com/)中获得更好的答案 – amit
不知道!我想我应该只是在那里重新发布? – ankushg