趋势线的最佳拟合曲线

时间:2010-03-23 22:57:05

标签: java math jasper-reports ireport data-analysis

问题限制

  • 已知数据集的大小,但不知道数据本身的大小。
  • 数据集一次增加一个数据点。
  • 趋势线一次绘制一个数据点(使用样条曲线/贝塞尔曲线)。

图表

下面的拼贴显示了具有相当准确的趋势线的数据集:

enter image description here

图表是:

  • 左上角。按小时计算,有~24个数据点。
  • 右上角。白天一年,有~365个数据点。
  • 左下角。按周计算,为期一年,约有52个数据点。
  • 右下角。按月计算,约有12个数据点。

用户输入

用户可以选择:

  • 时间序列的类型(每小时,每日,每月,每季度,每年);和
  • 时间序列的开始和结束日期。

例如,用户可以在6月份选择30天的每日报告。

趋势权重

要计算窗口大小(即计算趋势线时要平均的数据点数),使用以下表达式:

data points / trend weight

data points来自用户输入,trend weight 6.4 。即使趋势权重 6.4 产生良好的拟合,它也是相当随意的,可能不适合不同的用户输入。

问题

考虑到这个问题的限制,如何计算trend weight

3 个答案:

答案 0 :(得分:1)

根据图表的外观,我会说你的12点图表有太多的分数(这只是给定点的样条......这在视觉上是令人愉悦的,但实际上在尝试时弊大于利了解趋势)和365点图表的点数太少。也许尝试做一些像指数一样的事情:

(Data points)^1.2/14.1

我确实意识到这比你已经拥有的更加武断,但任意并不是世界上最糟糕的事情。

(我通过尝试保持52点图固定得到14.1,因为那个看起来不错,取(52^(1.2)/52)*6.4=14.1。你使用这种技术你可以尝试除了1.2之外的其他能力来看你的视觉效果。< / p>

答案 1 :(得分:0)

我对结果的质量和写作的清晰度进行了投票。我希望我能提供一个可以改善你已经很出色的工作的答案。

我担心,在看到改善的适合度之前,可能会对趋势权重进行反复试验。

也许你可以将这个作为用户的输入:允许他们在给定实际约束的情况下调整值,直到他们得到满意的值。

我还想知道每个图表的权重是否不同,因为每个图表中的点数不同。您是否尝试获得适用于所有图表的单一权重?

出色的工作;一个很好的问题。做得好。我希望我更有帮助。或许别人会比我更有智慧传授。

答案 2 :(得分:0)

在这4张图中,趋势线可能看起来很准确,但它确实非常不合适。 (这在左下角的乞讨和右上角的开始时最好看。我认为在找到趋势线时你会想要使用不少于一半的分数(尽管你应该使用更多的东西)我建议最大趋势权重为2。虽然你应该更接近1-1.5范围。因为它是任意的,我建议你给你的用户一个“趋势线精确度”滑块,他们可以使用最准确的设置使用趋势权重1,最不准确使用权重#of data points +1。这将使用0点(有趣的是你总是向下舍入),我会假设,虽然你的统计软件可能会有所不同,会产生一条海峡水平线。

相关问题