gpt4 book ai didi

c# - 如何在大量数字中找到平均值?

转载 作者:IT王子 更新时间:2023-10-28 23:30:13 25 4
gpt4 key购买 nike

我有大量数字,可能在数 GB 范围内。第一个问题是我无法将所有这些都存储在内存中。其次是任何添加这些的尝试都会导致溢出。我正在考虑使用更多的滚动平均值,但它需要准确。有什么想法吗?

这些都是 float 。

这不是从数据库中读取的,它是从多个来源收集的 CSV 文件。它必须是准确的,因为它存储为秒的一部分(例如 0.293482888929),并且滚动平均值可能是 0.2 和 0.3 之间的差异

它是一组#,表示用户响应某些表单操作所花费的时间。例如,当显示一个消息框时,他们按 OK 或 Cancel 花了多长时间。发送给我的数据存储为 seconds.portions of a second;例如 1.2347 秒。将其转换为毫秒,我会很快溢出 int、long 等。即使我不转换它,我仍然会很快溢出它。我想下面的一个答案是正确的,也许我不必 100% 准确,只需在特定的 StdDev 内的某个范围内查看,我就足够接近了。

最佳答案

您可以从您的集合(“population”)中随机抽样以获得平均值(“mean”)。准确性将取决于您的样本变化量(由“standard deviation”或方差确定)。

优势在于您拥有数十亿个观察值,您只需对其中的一小部分进行采样即可获得不错的准确度或您选择的“confidence range”。如果条件合适,这会减少您将要做的工作量。

这是 numerical library对于包含随机序列生成器的 C#。只需创建一个随机数字序列来引用您的元素数组中的索引(从 1 到 x,您的数组中的元素数)。取消引用以获取值,然后计算您的平均值和标准差。

如果您想测试数据的分布,请考虑使用 Chi-Squared Fit测试或 K-S测试,您可以在许多电子表格和统计包中找到它(例如,R)。这将有助于确认这种方法是否可用。

关于c# - 如何在大量数字中找到平均值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/895396/

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