注意:以下翻译的准确性尚未经过验证。这是使用 AIP ↗ 从原始英文文本进行的机器翻译。
返回一个计算单个时间序列每秒积分的函数。
对于时间序列中的每个点 (t_i, v_i)
,输出一个数值等于该点(包含)之前所有点的积分。
积分通过↗ Reimann sums估算。积分使用参数中的method
,支持的选项如下:
方法 | 描述 |
---|---|
LHS | 左端和法(LHS)通过在每个区间开始时对值求和来近似积分。它在上升趋势时往往低估,在下降趋势时往往高估。假设初始值代表整个区间,当历史值对总数有强烈影响时很有用。 |
RHS | 右端和法(RHS)通过在每个区间结束时对值求和来近似积分。它在上升趋势时往往高估,在下降趋势时往往低估。假设最终值反映了趋势,当最近的值更能反映累计趋势时很有用。 |
> LINEAR (默认) | 梯形法则在每个区间的开始和结束时对值进行平均。它提供了一个平衡的近似,减少高估或低估的情况。对波动趋势有用,因为它同时考虑了早期和最近的值。 |
LINEAR
)。FunctionNode
) -> FunctionNode
列名 | 类型 | 描述 |
---|---|---|
timestamp | pandas.Timestamp | 点的时间戳 |
value | float | 点的值 |
此函数仅适用于数值序列。
Copied!1 2 3 4 5 6 7 8 9 10 11
>>> series = F.points( ... (1000, 1.0), (3000, 3.0), (5000, 0.0), (6000, 5.0), (8000, -7.0), ... name="series" ... ) >>> series.to_pandas() timestamp value 0 1970-01-01 00:00:00.000001 1.0 1 1970-01-01 00:00:00.000003 3.0 2 1970-01-01 00:00:00.000005 0.0 3 1970-01-01 00:00:00.000006 5.0 4 1970-01-01 00:00:00.000008 -7.0
这个代码段展示了如何使用 F.points()
函数创建一个时间序列数据。这里的每个数据点由一个时间戳(以微秒为单位)和一个对应的值组成。然后,通过 series.to_pandas()
方法将这个时间序列数据转换成 Pandas DataFrame 格式,从而方便进行进一步的数据处理和分析。
Copied!1 2 3 4 5 6 7 8 9 10 11
>>> linear_integral = F.integral(method="LINEAR")(series) # 使用线性方法计算积分 >>> linear_integral.to_pandas() # 将积分结果转换为 pandas 数据框 timestamp value 0 1970-01-01 00:00:00.000001 0.000000 1 1970-01-01 00:00:00.000003 0.000004 2 1970-01-01 00:00:00.000005 0.000007 3 1970-01-01 00:00:00.000006 0.000009 4 1970-01-01 00:00:00.000008 0.000007
上述代码通过使用线性方法计算给定 series
的积分,然后将计算结果转换为 pandas 数据框格式。timestamp
表示时间戳,value
列表示对应的积分值。
Copied!1 2 3 4 5 6 7 8 9 10 11
>>> lhs_integral = F.integral(method="LHS")(series) # 使用左矩形法(LHS)计算积分 >>> lhs_integral.to_pandas() # 将积分结果转换为 Pandas DataFrame 格式以便查看 timestamp value 0 1970-01-01 00:00:00.000001 0.000000 1 1970-01-01 00:00:00.000003 0.000002 2 1970-01-01 00:00:00.000005 0.000008 3 1970-01-01 00:00:00.000006 0.000008 4 1970-01-01 00:00:00.000008 0.000018
这个代码片段中,F.integral(method="LHS")(series)
计算了一个时间序列数据的积分,使用的方法是左矩形法(Left Hand Sum)。to_pandas()
方法将结果转化为 Pandas DataFrame 格式,以便于查看和处理。表格中包含每个时间戳对应的积分值。
Copied!1 2 3 4 5 6 7 8 9 10 11
>>> rhs_integral = F.integral(method="RHS")(series) # 使用右端点法(RHS)计算给定时间序列的积分 >>> rhs_integral.to_pandas() # 将积分结果转换为Pandas DataFrame格式以便查看 timestamp value 0 1970-01-01 00:00:00.000001 0.000000 1 1970-01-01 00:00:00.000003 0.000006 2 1970-01-01 00:00:00.000005 0.000006 3 1970-01-01 00:00:00.000006 0.000011 4 1970-01-01 00:00:00.000008 -0.000003