问题标签 [extrapolation]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - 样本外神经网络或一步预测 RNN
我一直在对机器学习模型的预测进行大量研究,特别是多输入神经网络。当 y+1 不存在时,如何在测试集中预测(或在这种情况下预测)y+1?下面,我有 1 月 1 日到 1 月 10 日。如何预测 1 月 11 日?
我已经尝试了预测包中的拟合函数,它只适用于时间序列对象。预测功能只给我 1 月 10 日的值,而不是 11 日。我可以将数据框转换为 STL 对象,但不确定它是否会在我的预测之上应用进一步的预测方法。
任何想法或帮助将不胜感激。
谢谢你。
r - R:插值 + 外插边界 - 使用 data.table?
所以,我有以下问题:我有一个数据集 A(data.table 对象),其结构如下:
date days rate
1996-01-02 9 5.763067
1996-01-02 15 5.745902
1996-01-02 50 5.673317
1996-01-02 78 5.608884
1996-01-02 169 5.473762
1996-01-03 9 5.763067
1996-01-03 14 5.747397
1996-01-03 49 5.672263
1996-01-03 77 5.603705
1996-01-03 168 5.470584
1996-01-04 11 5.729460
1996-01-04 13 5.726104
1996-01-04 48 5.664931
1996-01-04 76 5.601891
1996-01-04 167 5.468961
请注意,每天的天数列及其大小可能会有所不同。我现在的目标是(分段线性)沿天插入速率。我每天都通过
其中days_vec <- min_days:max_days
,即我感兴趣的天数范围(比如 1:100)。
我这里有两个问题:
approx仅进行插值,即它不会在 min(x) 和 max(x) 之间创建线性拟合。如果我现在对 1:100 天感兴趣,我首先需要使用第 9 天和第 15 天(A 的前 2 行)通过以下方式手动完成:
first_days <- 1:(A[1,days]-1) #1:8 rate_vec[first_days] <- A[1,rate] + (first_days - A[1,days])/(A[2,days]-A[1,days])*(A[2,rate]-A[1,rate])
然后使用上面的近似线rate_vec[9:100]
。有没有办法在 1 步中做到这一点?
- 现在,鉴于我需要两个步骤,并且两个过程(此处为 9)之间的转换点因日期而异,我无法通过 data.table 看到实现,尽管这将是非常可取的(使用 data.table 方法进行插值/推断然后返回扩展的 data.table 对象)。因此,我目前通过日期运行 for 循环,这当然要慢得多。
问题:上面的问题是否可以更好地实现,而且,这是否可以通过 data.table 方法而不是循环 A 来实现?
python - 如何使用 OpenCV 进行平滑的帧插值和外插?
我的源数据文件是每 15 分钟捕获一次的气象雷达图像。我正在尝试对中间帧进行平滑插值,并尝试从上次测量开始推断运动。
到目前为止,我的方法是从两个连续的图像中计算密集的光流场(cv2.calcOpticalFlowFarneback),然后使用光流和第一张图像对帧进行插值(cv2.remap)。我还使用相同的方法进行了虚拟运动外推。
在示例视频中,您可以看到这种方法的注意事项,在插值过程中,插值帧和测量帧之间存在明显的中断,并且在外推部分(从 8 秒开始)出现了完整的迷幻。我尝试过平滑光学流场,影响不大,但效果基本一样。
我想对接下来学习什么方法有一些指导,还有针对此类问题的任何 opencv 特定解决方案。
问题一:如何让插值更平滑?问题二:运动时间外推的正确方法是什么?
python-3.x - Python3 使用起始值作为最终值的平均值进行推断
我有一个数据框,其中包含一些年度数据,我想将其推断为每月。我有一个在 SAS 中运行的进程,我正在迁移到 Python3,它就是这样做的。它采用年度值并将其用作全年的平均值,将月度值展开(第 6 个月基本上是值)。
这是SAS代码:
下面是起始数据。
这是一年的 SAS 输出:
这是我迄今为止在 Python 中所拥有的。我创建了 datetime 列并将其移动到索引中以使 .interpolate 起作用。但是,无论我尝试哪种方法(线性、样条等),我都无法获得相同的输出。
第二部分是一些失败的尝试操纵数据以获得不同的东西。就像将值移动到特定月份并从那里线性扩展。
我真的在网上找不到其他关于如何推断类似于 SAS 方法的数字的信息,请帮忙!
python - 对 x 范围包含在另一条曲线的 x 范围内的曲线进行插值 (Python)
我有两组数据点,set1
并且set2
,每组都包含两列x
和y
值,就像那样(对于其中一个,另一个具有相似的结构和值)
这样我们就有了一个x
按步长缩放的轴0.01
,而y
它是随机的。然后我有第三组,set3
看起来像这样
所以增量又x
是恒定的,在这种情况下等于0.05
,而y
是随机的。的范围x
比set3
和 宽set1
得多set2
。
我的目标是在 x 中拥有三个跨越相同范围的集合。
为此,我想插入两个较短的集合,set1
和set2
,其 x 范围包含在set3
的一个中。
我做到了(set1
例如,类似地set2
),使用
但是extended_set1
看起来好像这不是要走的路。这些值太高了,比它们应该的大很多数量级。
有任何想法吗?
python - 使用 Python 根据开始值和结束值推断时间序列数据?
我有一个 excel 表,其中的值表示时间序列数据的 start 和 end_time,如下所示。时间以秒为单位。
我想推断 start 和 end_time 之间的值并显示每秒的值。
+---------+------+
Time Value
0 A
1 A
2 A
3 B
4 A
5 A
6 A
7 A
8 A
9 A
10 C
11 c
任何在 Python 中实现它的帮助将不胜感激。谢谢。
r - R中的插值/外推
我有一个数据集,其中值列的天数不同。
起始终值天数
24-03-2011 24-05-2011 398 60
25-05-2011 21-07-2011 275 56
22-07-2011 13-09-2011 389 52
14-09-2011 18-11-2011 482 64
19-11-2011 13-01-2012 514 54 14-01-2012
19-02-2012 330 35
20-02-2012 12-04-2012 519 51
13-04-2012 24-05-2012 361 40
25-05-2012 24-06-2012 202 29
我需要的是每月分布等值列的每月数据
开始终值天
01-03-2011 31-03-2011 ? 31
2011 年 1 月 4 日 2011 年 4 月 30 日?30 2011 年 1 月 5 日 2011 年 5 月 31
日?31
2011 年 1 月 6 日 2011 年 6 月 30 日?30
2011 年 1 月 7 日 2011 年 7 月 31 日?31
2011 年 1 月 8 日 2011 年 8 月 31 日?31
2011 年 1 月 9 日 2011 年 9 月 30 日?30
2011 年 1 月 10 日 2011 年 10 月 31 日?31
2011 年 1 月 11 日 2011 年 11 月 30 日?30
2011 年 1 月 12 日 2011 年 12 月 31 日?31
2012 年 1 月 1 日 2012 年 1 月 31 日?31 2012 年 1 月 2 日 2012 年 2 月
29 日?29 2012 年 1 月 3 日 2012 年 3 月
31 日?31
2012 年 1 月 4 日 2012 年 4 月 30 日?30
我不知道它是否有插值/外插问题,但有人建议我使用这些方法。请帮忙
r - 如何在 R 中的各个组中使用 na.approx 函数进行插值/外推
我有一个面板数据集,其中包含 60 个国家的 10 个变量,跨越 18 年(2000-2017 年),我有很多缺失的数据。
我想使用 R 中的 na.approx 函数进行插值(并使用 rule = 2 进行推断),但仅限于每个国家/地区。例如,在此示例数据集中,我想插入 Albania 2006 的值,并推断 Albania 2000-2004 和 2017 的值。但我想确保 Albania 2017 的值不使用 Albania 2016 和 Algeria 2003 进行插值。对于阿尔及利亚 2000-2002,我希望使用阿尔及利亚 2003 和 2004 的数据来推断这些值。我尝试了以下代码:
并尝试了不同的 maxgap 值,但似乎没有一个能解决我的问题。我假设通过使用 group_by 函数它可以正常工作,但事实并非如此。有谁知道任何解决方案?
编辑:我想到的唯一方法是使用以下代码将数据集拆分为每个唯一国家/地区的单独数据集:
然后在单独的数据集上一次使用一个 na.approx 函数。
编辑2:
我已经尝试了下面 Markus 建议的解决方案,但它似乎不起作用。这是使用您建议的安哥拉值编码的结果:
如您所见,安哥拉 2000-2005 年的估算值似乎是使用阿尔及利亚的值计算的,因为估算值远高于安哥拉 2006 年 7458 的值。
编辑 3:这是我使用的完整代码 -