私が解決しようとしている問題: データ ポイントが不均一に広がっているいくつかのデータ系列の現在の平均速度を計算します。たとえば、アップロードの現在の速度を計算すると、「アップロード量」シグナルが不均等に到着します。
- t = 0、送信済み = 0
- t = 5、送信済み = 10
- t = 6、送信済み = 12
- t = 9、送信済み = 20
私が解決しようとしている問題: データ ポイントが不均一に広がっているいくつかのデータ系列の現在の平均速度を計算します。たとえば、アップロードの現在の速度を計算すると、「アップロード量」シグナルが不均等に到着します。
(last - first) / (time delta between first and last)
そして、それはまさに平均速度です。
詳細を伝えるのを忘れない限り、中間のデータ ポイントは必要ありません。
新しい値と以前の値のデルタを取得することにより、時間単位あたりの平均を計算できます。
また、複数のポイントの平均が必要な場合は、複数のポイント間の平均を計算し、それらの平均の平均を取ることができます。
例えば:
Current average:
t34 = 9 - 6 = 3
sent34 = 20 - 12 = 8
average34 = 8 / 3 = 2.67
Average of last two time slots:
t23 = 6 - 5 = 1
sent23 = 12 - 10 = 2
average23 = 2 / 1 = 2
average234 = (2 + 2.67) / 2 = 2.33
ノイズの多いデータから速度を計算する標準的な方法は、カルマン フィルターを適用することです。
最新の結果を再スケーリングするだけ
あなたの例:
t = 0, sent = 0
t = 5, sent = 10
t = 6, sent = 12
t = 9, sent = 20
現在の速度 = (20 -12) / (9 - 6) = 8/3 = 2.666666
異なる再スケーリング間隔サイズを使用して、速度の変化の速度を下げることができます (接続が「失われた」「復元された」場合)