计算趋势线时的x轴使用日期(Calculate a trendline when the x-axi

2019-07-28 21:39发布

对散点图来计算趋势线(后如何计算趋势线的图表? )是非常有帮助的,但我很好奇,一个怎么可能去寻找趋势线图形上,其中x轴是DateTime字段,而不是一个整数。 例如,考虑图表用户到邮件列表随着时间的数量的情况下:

1月1日:100个用户
1月2日:105个用户
1月5日:120个用户
1月10日:117个用户
等等...

我运行到的问题是找出的这个“运行”(△x)的一部分...由于间隔不会被均匀地间隔开,我们不能只假定的时间每次测量之间通过单个单元。 我有一种预感,我会制定出某种规模的,但我卡在那里。

谁能解释如何计算趋势线时,X轴是日期时间字段? (如果您发布代码示例,C#,VB.NET或Java将是非常感谢!)

Answer 1:

你必须做某种线性插值。 您需要将日期和时间转换为线性刻度。 好消息是,你来挑这个规模。 因此,计算出有多少分钟或秒,或小时......从那以后你的情节开始传递。 然后,您可以使用它作为“运行”部分。

在您的例子中,我们可以去关天:

01月01日:0天,100名用户01月02日:第1天,105名用户01月05:4天,120个订户年01月10:9天,117名的订户



Answer 2:

你可以随时将日期转换为整数

网站给出了这样的例子:

DateTime given = new DateTime(2008, 7, 31, 10, 0, 0);
TimeSpan t = given.Subtract(new DateTime(1970, 1, 1, 0, 0, 0, 0));
long unixTime = (long) t.TotalSeconds;


Answer 3:

即使你的样品不均匀分布的,您的趋势线仍然可以有一个恒定的“运行”。

例如,你可以选1周的间隔。 在这种情况下采取的用户的平均数目为一月1,2,和5和上绘制扬7.接下来的点取平均值为一月10 13,以及时间Jan 14等绘制点..

如果你有大量的历史数据,使用方法1周月的时间,也许会每季更好地满足您的数据。



Answer 4:

Specifiy原点日期并认为这是X = 1中选择小时或8周小时的时间,如果你想更具体。

The first day:
jan 1, 2006 -> x = 1
45 days later
February 13th?? -> x = 45
2 years later:
jan 1, 2008 -> x = 730


文章来源: Calculate a trendline when the x-axis uses dates
标签: trending