【问题标题】:Best fit curve for trend line趋势线的最佳拟合曲线
【发布时间】:2011-01-31 01:06:16
【问题描述】:

问题约束

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

图表

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

图表是:

  • 左上角。按小时计算,有约 24 个数据点。
  • 右上角。一年内按天计算,有大约 365 个数据点。
  • 左下角。 一年中的每周,大约 52 个数据点。
  • 右下角。按月份计算一年,大约 12 个数据点。

用户输入

用户可以选择:

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

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

趋势权重

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

data points / trend weight

其中data points 来自用户输入,trend weight6.4。尽管 6.4 的趋势权重可以很好地拟合,但它相当随意,可能不适合不同的用户输入。

问题

在这个问题的约束下,trend weight应该如何计算?

【问题讨论】:

  • 您是在拟合趋势线,还是只是计算窗口内的移动平均线,然后通过这些值放置一条样条曲线?
  • 我相信我是在平滑样条曲线之后。 en.wikipedia.org/wiki/Smoothing_spline

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


【解决方案1】:

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

(Data points)^1.2/14.1

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

(我通过尝试保持 52 点图固定得到 14.1,因为那个看起来不错,通过使用 (52^(1.2)/52)*6.4=14.1。您使用这种技术,您可以尝试除 1.2 之外的其他功能,看看您在视觉上得到了什么。

【讨论】:

  • 我的建议可能措辞错误。我提出了替代的窗口大小计算。
【解决方案2】:

我投票赞成你的结果质量和你的文章的清晰度。我希望我能提供一个可以改进您已经出色的工作的答案。

我担心这可能是趋势权重的反复试验问题,直到您看到更好的拟合。

您也可以将其作为用户的输入:允许他们在给定现实约束的情况下摆弄价值,直到他们获得满意的价值。

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

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

【讨论】:

  • 原来解决这个问题的“真正方法”需要一本书来解释。但本质上,它涉及在数据库中调用 R 函数。然后 R 函数执行统计分析,并为报告提供额外的数据列。在 iReport 中计算趋势线不是一个好主意。
  • 好极了,我一定会看看的。
【解决方案3】:

这 4 个图表中的趋势线可能看起来是准确的,但实际上非常偏离。 (这在左下角的乞求和右上角的开始处最为明显。我认为在找到趋势线时你会想要使用不少于一半的点(尽管实际上你应该使用更多超过一半)。我建议最大趋势权重为 2。虽然实际上你应该更接近 1-1.5 范围。由于它是任意的,我建议你给你的用户一个“趋势线的准确性”滑块他们可以使用最准确的设置使用趋势权重 1,而最不准确的设置使用#of data points +1 的权重。这将使用 0 分(有趣的是你总是向下取整),我会假设,虽然你的统计软件可能是不同,会生成一条海峡水平线。

【讨论】:

  • 嗨,大卫。谢谢您的帮助。由于 API,每个数据点都必须成为趋势线上的某个点。使用趋势权重 2 是行不通的。右上方一开始是关闭的原因是因为1月到3月之间的数据点很少,而生产数据则不是这样。我想过让他们为趋势线的权重选择一个值(带有建议值),但希望有一些我可以应用的公式。
  • 在右上角的那个中,它看起来不像是因为缺少数据而关闭。如果没有数据,它就太高了,无法到达那里。在第一个月,它在下个月达到最大值,并且远高于下个月的平均值。我认为曲线应该在第一个月低于蓝线,因为该月没有数据将其拉至蓝线以上,但第二个月有数据使其保持在下方。
  • 我很震惊,我曾经对统计一无所知。我不记得知道这些。
猜你喜欢
  • 2021-06-17
  • 2013-07-09
  • 2017-09-19
  • 1970-01-01
  • 1970-01-01
  • 2017-03-31
  • 2019-03-31
  • 2020-02-26
相关资源
最近更新 更多