2

散布図でトレンドラインを計算する方法に関する投稿(グラフのトレンドラインを計算するにはどうすればよいですか?)は非常に役立ちますが、x軸がグラフ上のトレンドラインを見つける方法に興味があります。整数ではなく、DateTimeフィールド。たとえば、メーリングリストへの加入者数を時系列でグラフ化する場合を考えてみます。

1月1日:100人の加入者
1月2日:105人の加入者
1月5日:120人の加入者
1月10日:117人の加入者
など...

私が遭遇している問題は、これの「実行」(デルタx)部分を理解することです...間隔は等間隔にならないため、各測定の間に単一の時間単位が経過すると仮定することはできません。ある種のスケールを考えなければならないという予感がありますが、私はそこで立ち往生しています。

x軸がDateTimeフィールドの場合、トレンドラインを計算する方法を誰かが説明できますか?(コードサンプルを投稿する場合は、C#、VB.NET、またはJavaをお勧めします!)

4

4 に答える 4

3

日付はいつでも整数に変換できます

Webはこの例を示しています:

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;
于 2009-06-17T16:02:31.220 に答える
1

一種の線形補間を行う必要があります。日付と時刻を線形スケールに変換する必要があります。良いニュースは、このスケールを選択できることです。では、プロットの開始から何分、何秒、何時間...が経過したかを計算してください。これを「実行」部分として使用できます。

あなたの例では、私たちは休みを取ることができます:

1 月 1 日: 0 日、100 人の加入者 1 月 2 日: 1 日、105 人の加入者 1 月 5 日: 4 日、120 人の加入者 1 月 10 日: 9 日、117 人の加入者

于 2009-06-17T16:03:42.687 に答える
0

サンプルが均等に配置されていなくても、傾向線には一定の「実行」があります。

たとえば、1 週間間隔を選択できます。その場合、1 月 1、2、5 日の平均加入者数を取り、1 月 7 日にポイントをプロットします。次に、1 月 10 と 13 の平均を取り、1 月 14 日にポイントをプロットします。

大量の履歴データがある場合は、1 か月間隔を使用するか、四半期ごとの方がデータに適しています。

于 2009-06-17T16:10:05.633 に答える
0

元の日付を指定し、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
于 2009-06-17T16:22:31.483 に答える