标签: extrapolation

三次样条外推法

我有一个很好的三次样条代码,但它仅用于插值.我需要在未来稍微推断一下.这样做有谁知道一个很好的代码来源,而不是一个库?

这是我在基本(现在的ASM)中用于插值的代码.

graphing plot interpolation spline extrapolation

5
推荐指数
2
解决办法
2万
查看次数

Python-Predicting /在给定数据集的情况下推断未来数据

我是Python的新手.我有一个数据集,我正在尝试使用numPy/sciPy来预测/推断未来的数据点.是否有一种简单的方法来提出适合我当前数据的数学函数(比如,正弦函数),然后我可以将新值传递给该函数以获得我的预测?

这就是我所拥有的,但我不认为它正在做我想要的:

import numpy as np
from scipy.optimize import curve_fit
import matplotlib.pyplot as plt

def main():

    y = [8.3, 8.3, 8.3, 8.3, 7.2, 7.8, 7.8, 8.3, 9.4, 10.6, 10.0, 10.6, 11.1, 12.8,
         12.8, 12.8, 11.7, 10.6, 10.6, 10.0, 10.0, 8.9, 8.9, 8.3, 7.2, 6.7, 6.7, 6.7,
         7.2, 8.3, 7.2, 10.6, 11.1, 11.7, 12.8, 13.3, 15.0, 15.6, 13.3, 15.0, 13.3,
         11.7, 11.1, 10.0, 10.6, 9.4, 8.9, 8.3, 8.9, 6.7, 6.7, 6.0, 6.1, 8.3, 8.3,
         10.6, 11.1, 11.1, 11.7, 12.2, 13.3, 14.4, …
Run Code Online (Sandbox Code Playgroud)

python prediction extrapolation

5
推荐指数
1
解决办法
1970
查看次数

仅插入(或外推)pandas数据帧中的小间隙

我有一个pandas DataFrame,时间作为索引(1分钟Freq)和几列数据.有时数据包含NaN.如果是这样,我只想在间隙不超过5分钟的情况下进行插值.在这种情况下,这将是最多5个连续的NaN.数据可能如下所示(几个测试用例,显示了问题):

import numpy as np
import pandas as pd
from datetime import datetime

start = datetime(2014,2,21,14,50)
data = pd.DataFrame(index=[start + timedelta(minutes=1*x) for x in range(0, 8)],
                         data={'a': [123.5, np.NaN, 136.3, 164.3, 213.0, 164.3, 213.0, 221.1],
                               'b': [433.5, 523.2, 536.3, 464.3, 413.0, 164.3, 213.0, 221.1],
                               'c': [123.5, 132.3, 136.3, 164.3] + [np.NaN]*4,
                               'd': [np.NaN]*8,
                               'e': [np.NaN]*7 + [2330.3],
                               'f': [np.NaN]*4 + [2763.0, 2142.3, 2127.3, 2330.3],
                               'g': [2330.3] + [np.NaN]*7,
                               'h': [2330.3] + [np.NaN]*6 + [2777.7]})
Run Code Online (Sandbox Code Playgroud)

它看起来像这样:

In [147]: data
Out[147]: …
Run Code Online (Sandbox Code Playgroud)

python interpolation pandas extrapolation

5
推荐指数
1
解决办法
2501
查看次数

ScateredInterpolant() 的线性外推法在 MATLAB 中如何工作?

对于我的项目,我必须编写 C++ 代码,相当于 Matlab 的 ScatteredInterpolant() 函数。我的数据点是三维的分散数据。我可以使用 TetGen 库计算 Delaunay 四面体。我使用从 TetGen 和 Matlab 自己的 delaunay() 函数找到的四面体比较了插值结果,只要查询点位于凸包内,结果就相同。

在我的项目中,我必须使用线性外推法来外推凸包之外的点。我浏览了 Matlab 文档,它说“基于边界梯度的线性外推”。从我的文献调查中,我找不到很好的文档来说明线性外推如何使用边界梯度进行工作。如果您向我提供有关分散插值()的线性外推如何工作的见解,我将非常感激。

我查看了分散数据外推文档页面,其中写着“‘线性’外推方法基于凸包边界处梯度的最小二乘近似。它为凸包之外的查询点返回的值凸包基于边界处的值和梯度。” 为了验证,我编写了以下代码(2D数据):

clc;clear;close all;

x = [ -1 1 1 -1 0 ]; y = [ -1 -1 1 1 0 ];

v = x.^2 + y.^2;

tri = delaunay(x, y);

F = scatteredInterpolant(x(:), y(:), v(:), 'linear', 'linear');

[xq, yq] = meshgrid( -2 : 0.1 : 2 );

vq = F(xq, yq);

figure; plot(x, y, 'r*');hold on; tri = delaunay(x, …
Run Code Online (Sandbox Code Playgroud)

c++ matlab extrapolation

5
推荐指数
0
解决办法
1034
查看次数

获取 x 值不相同的多条曲线的平均曲线

我有几个包含许多 x 和 y 值的数据集。值少得多的示例如下所示:

data_set1:

x1          y1        
---------   ---------   
0           100
0.0100523   65.1077
0.0201047   64.0519
0.030157    63.0341
0.0402094   62.1309
0.0502617   61.3649
0.060314    60.8614
0.0703664   60.3555
0.0804187   59.7635
0.0904711   59.1787
Run Code Online (Sandbox Code Playgroud)

data_set2:

x2          y2        
---------   ---------   
0           100
0.01        66.119
0.02        64.4593
0.03        63.1377
0.04        62.0386
0.05        61.0943
0.06        60.2811
0.07        59.5603
0.08        58.8908
Run Code Online (Sandbox Code Playgroud)

所以这里(对于本例)我有两个包含 10 个 x 值和 y 值的数据集。y 值始终不同,但在某些情况下 x 值会相同,有时它们会不同 - 正如本例所示。虽然不是很多,但它们仍然是不同的。将这两个数据集绘制成图表会产生两条不同的曲线,我现在想绘制两条曲线的平均曲线。如果 x 值相同,我将只取 y 值的平均值并将它们与 x 值进行比较,但如上所述,它们有时不同,有时相同。有没有某种方法可以推断,或者类似的东西,这样我就可以对值进行平均(同样,对于许多数据集)而无需“只是猜测”或说“它们几乎相同,所以只需平均就可以了y 值”。外推法似乎是一种可行的方法,但我从未在 python 中使用过它,也许还有更好的方法来做到这一点?

python plot extrapolation

5
推荐指数
1
解决办法
1万
查看次数

如何在稀疏点之间插入数据以在R&plot中绘制轮廓图

我想根据第一张图中以下彩色点的浓度数据在xy平面上创建等高线图.我在每个高度都没有角点,所以我需要将浓度外推到xy平面的边缘(xlim = c(0,335),ylim = c(0,426)).

在此输入图像描述 点的html文件可以在这里找到:https://leeds365-my.sharepoint.com/:u:/ r/personal /cenmk_leeds_ac_uk/Files/Files/HECOIRA /Chamber%20CO2%20Experiments/Sensors.html?csf = 1&E = HiX8fF

dput(df)
structure(list(Sensor = structure(c(11L, 12L, 13L, 14L, 15L, 
16L, 17L, 18L, 19L, 20L, 21L, 22L, 23L, 24L, 25L, 26L, 27L, 28L, 
29L, 1L, 3L, 4L, 5L, 6L, 8L, 30L, 31L, 32L, 33L, 34L, 35L), .Label = c("N1", 
"N2", "N3", "N4", "N5", "N6", "N7", "N8", "N9", "Control", "A1", 
"A10", "A11", "A12", "A13", "A14", "A15", "A16", "A17", "A18", 
"A19", "A2", "A3", "A4", "A5", "A6", "A7", "A8", "A9", …
Run Code Online (Sandbox Code Playgroud)

r contour extrapolation plotly r-plotly

5
推荐指数
2
解决办法
523
查看次数

Numpy inpaint nan 插值和外推

我正在使用 numpy 和 scipy 开发一个项目,我需要填写 nanvalues。目前我使用 scipy.interpolate.rbf,但它一直导致 python 崩溃,所以严重的 try/ except 甚至无法保存它。然而,运行几次后,如果中间有数据被所有nan包围,就像一座孤岛,它似乎可能会不断失败。有没有更好的解决方案,不会一直崩溃?

顺便说一句,这是我需要推断的大量数据。有时多达图像的一半(70x70,灰度),但它不需要是完美的。它是图像拼接程序的一部分,因此只要它与实际数据相似,它就可以工作。我尝试过用最近邻来填写nan,但结果相差太大。

编辑

它似乎总是失败的形象。隔离此图像允许它在崩溃之前传递一次图像。 不良形象

我至少使用版本 NumPy 1.8.0 和 SciPy 0.13.2。

python numpy image-processing extrapolation

4
推荐指数
1
解决办法
4271
查看次数

加快插值练习

我在大约120万次观测中运行了大约45,000个局部线性回归(基本上),所以我很感激一些帮助试图加快速度,因为我很不耐烦.

我基本上是在为一堆公司构建逐年工资合同 - 职能工资(给予公司,年份,职位的经验).

这是我正在使用的数据集(基本结构):

> wages
         firm year position exp salary
      1: 0007 1996        4   1  20029
      2: 0007 1996        4   1  23502
      3: 0007 1996        4   1  22105
      4: 0007 1996        4   2  23124
      5: 0007 1996        4   2  22700
     ---                              
1175141:  994 2012        5   2  47098
1175142:  994 2012        5   2  45488
1175143:  994 2012        5   2  47098
1175144:  994 2012        5   3  45488
1175145:  994 2012        5   3  47098
Run Code Online (Sandbox Code Playgroud)

我想为所有公司构建0到40经验水平的工资函数,a:

> salary_scales
        firm year position exp …
Run Code Online (Sandbox Code Playgroud)

interpolation r linear-interpolation extrapolation data.table

4
推荐指数
1
解决办法
461
查看次数

使用scipy在半干图中进行曲线拟合或插值

我的数据点非常少,我想在半月表中绘制时创建一条最适合数据点的线.我已经尝试过scipy的曲线拟合和三次插值,但与数据趋势相比,它们似乎都不合理.

我请您检查是否有更有效的方法来创建适合数据的直线.可能外推可以做,但我没有找到关于python外推的好文档.

非常感谢你的帮助

import sys
import os
import numpy
import matplotlib.pyplot as plt
from pylab import *
from scipy.optimize import curve_fit
import scipy.optimize as optimization
from scipy.interpolate import interp1d
from scipy import interpolate
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

Mass500 = numpy.array([ 13.938 , 13.816,  13.661,  13.683,  13.621,  13.547,  13.477,  13.492,  13.237,
  13.232,  13.07,   13.048,  12.945,  12.861,  12.827,  12.577,  12.518])

y500 = numpy.array([  7.65103978e-06,   4.79865790e-06,   2.08218909e-05,   4.98385924e-06,
   5.63462673e-06,   2.90785458e-06,   2.21166794e-05,   1.34501705e-06,
   6.26021870e-07,   6.62368879e-07,   6.46735547e-07,   3.68589447e-07,
   3.86209019e-07,   5.61293275e-07,   2.41428755e-07,   9.62491134e-08,
   2.36892162e-07])



plt.semilogy(Mass500, y500, 'o')


# interpolation
f2 …
Run Code Online (Sandbox Code Playgroud)

python interpolation curve-fitting scipy extrapolation

4
推荐指数
1
解决办法
492
查看次数

R线性外推缺失值

是否有一种简单的方法可以线性外推R数据帧中的缺失值?

也许这是数据预处理中的一个琐碎且经常遇到的问题,但是,经过一段时间的搜索,我找不到任何简单的解决方案。

这个问题不是关于插值,而是关于在出现之前和之后推断丢失的数据。

我知道,使用用户定义的函数可以解决此问题,但是在这种情况下,恐怕是不必要的。

以下是起始输入数据帧,包括所需的输出格式。

任何帮助/提示都受到高度赞赏。提前非常感谢您。

输入数据帧:

input <- read.table(header=TRUE, text="
  ID1 ID2 ID3 ID4 ID5 ID6
  NA  20  NA  NA  NA  NA
  21  21  NA  NA  22  NA
  22  22  23  24  23  22
  NA  23  24  25  NA  23
  NA  24  25  26  NA  24
  NA  25  26  27  NA  25
  NA  26  27  28  NA  26
  NA  NA  28  NA  NA  27
  NA  NA  NA  NA  NA  NA
  NA  NA  NA  NA  NA  NA
")
Run Code Online (Sandbox Code Playgroud)

输出数据帧:

output …
Run Code Online (Sandbox Code Playgroud)

r missing-data extrapolation

3
推荐指数
1
解决办法
161
查看次数