gpt4 book ai didi

java - 即时插入大型数据集

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:18:06 26 4
gpt4 key购买 nike

插值大型数据集

我有一个包含大约 50 万条记录的大型数据集,这些记录代表了给定一天内美元/英镑之间的汇率。

我有一个应用程序希望能够绘制此数据或一个子集的图形。出于显而易见的原因,我不想在图表上绘制 50 万个点。

我需要的是一个较小的数据集(100 点左右),它可以(尽可能)准确地表示给定的数据。有谁知道可以通过任何有趣且高效的方式获取这些数据?

干杯,卡尔

最佳答案

有多种统计方法可以将大型数据集缩减为更小、更易于可视化的数据集。从您的问题中不清楚您想要什么汇总统计数据。我只是假设您想了解汇率如何随时间变化,但您可能对汇率超过某个值的频率或其他一些我没有考虑的统计数据感兴趣。

总结一段时间内的趋势

这是一个使用 lowess 的例子R 中的方法(来自 scatter plot smoothing 上的文档):

> library(graphics)
# print out the first 10 rows of the cars dataset
> cars[1:10,]
speed dist
1 4 2
2 4 10
3 7 4
4 7 22
5 8 16
6 9 10
7 10 18
8 10 26
9 10 34
10 11 17

# plot the original data
> plot(cars, main = "lowess(cars)")
# fit a loess-smoothed line to the points
> lines(lowess(cars), col = 2)
# plot a finger-grained loess-smoothed line to the points
> lines(lowess(cars, f=.2), col = 3)

参数 f 控制回归与数据的拟合程度。对此要考虑周到,因为您想要的东西可以准确地拟合您的数据而不会过度拟合。您可以绘制汇率与时间的关系图,而不是速度和距离。

访问平滑结果也很简单。以下是如何做到这一点:

> data = lowess( cars$speed, cars$dist )
> data
$x
[1] 4 4 7 7 8 9 10 10 10 11 11 12 12 12 12 13 13 13 13 14 14 14 14 15 15 15 16 16 17 17 17 18 18 18 18 19 19
[38] 19 20 20 20 20 20 22 23 24 24 24 24 25

$y
[1] 4.965459 4.965459 13.124495 13.124495 15.858633 18.579691 21.280313 21.280313 21.280313 24.129277 24.129277
[12] 27.119549 27.119549 27.119549 27.119549 30.027276 30.027276 30.027276 30.027276 32.962506 32.962506 32.962506
[23] 32.962506 36.757728 36.757728 36.757728 40.435075 40.435075 43.463492 43.463492 43.463492 46.885479 46.885479
[34] 46.885479 46.885479 50.793152 50.793152 50.793152 56.491224 56.491224 56.491224 56.491224 56.491224 67.585824
[45] 73.079695 78.643164 78.643164 78.643164 78.643164 84.328698

您返回的数据对象包含名为 x 和 y 的条目,它们对应于传递给 lowess 函数的 x 和 y 值。在这种情况下,x 和 y 代表速度和距离。

关于java - 即时插入大型数据集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2514906/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com