是否有找到渐近斜率的数值算法?


23

我有一系列数据点,我希望(近似)遵循函数渐近到大的行。本质上,随着趋于零,并且对所有导数,都可以说相同等等。但是,我什至不知道f(x)的函数形式是什么,即使它甚至具有可以用基本函数来描述的形式。ý X X ˚F X Ý X - X + b X →交通˚F 'X ˚F X ˚F X (xi,yi)y(x)xf(x)y(x)(ax+b)xf(x)f(x)f(x)

我的目标是对渐近斜率a进行最佳估计a。一种明显的粗略方法是挑选出最后几个数据点并进行线性回归,但是,如果f(x)在我拥有数据的x范围内没有变得“足够平坦”,那么这当然是不准确的x。明显的粗略方法是假设f(x)exp(x)(或某些其他特定的函数形式)并适合使用所有数据的情况,但是我尝试过的简单函数就像exp(x)1x与较低x处的数据不完全匹配,其中f(x)大。考虑到我缺乏确切的数据如何逼近渐近线的知识,是否存在一种已知的算法来确定渐近斜率会更好,或者可以提供斜率值以及置信区间?


在处理各种数据集时,这类任务往往会频繁出现,因此我对通用解决方案最感兴趣,但是根据要求,我链接到提示此问题的特定数据集。如评论所述,Wynn ϵ算法给出的值,据我所知,有些偏离。这是一个情节:

渐近线性数据

(看起来好像在高x值处有轻微的向下曲线,但是此数据的理论模型预测它应该是渐近线性的。)


对于这个网站来说,这可能太简单或太模糊了,但是我认为私人Beta测试是时候尝试一下。
David Z

不,我认为这是一个很好的问题。并非所有事物都必须先进且花哨。对简单问题的好的解决方案很重要。
科林K

@Dan:替换真的合理吗?exp
JM

拥有exps往往会使我更难以阅读,但是我承认它太小了,我不应该这样做。

我真的不在乎这两种方式,我只是认为我也可以批准编辑,因为,为什么不呢?无论您付出什么代价,都可以从中获得一些声誉。
David Z

Answers:


13

这是一个相当粗糙的算法,但是我将使用以下过程进行粗略估算:如果,正如您所说,当增大时,代表您的已经接近线性时,我d要做的是采用差异,然后使用类似Shanks变换的外推算法来估计差异的极限。希望该结果是对该渐近斜率的良好估计。x iy ix y i + 1y if(x)(xi,yi)xyi+1yixi+1xi


接下来是Mathematica演示。Wynn算法是Shanks变换的便捷实现,并且作为(隐藏)函数内置。我们尝试一下功能上的程序ϵSequenceLimit[]

4x2+3+2x+e4x+3
xdata = RandomReal[{20, 40}, 25];
ydata = Table[(3 + 13*E^(4*x) + 6*E^(4*x)*x + x^2 + 3*E^(4*x)*x^2 + 
      2*E^(4*x)*x^3)/(E^(4*x)*(3 + x^2)), {x, xdata}];

SequenceLimit[Differences[ydata]/Differences[xdata],
              Method -> {"WynnEpsilon", Degree -> 2}]
1.999998

我不妨展示一下算法有多简单:

wynnEpsilon[seq_?VectorQ] := 
 Module[{n = Length[seq], ep, res, v, w}, res = {};
  Do[ep[k] = seq[[k]];
   w = 0;
   Do[v = w; w = ep[j];
    ep[j] = 
     v + (If[Abs[ep[j + 1] - w] > 10^-(Precision[w]), ep[j + 1] - w, 
         10^-(Precision[w])])^-1;, {j, k - 1, 1, -1}];
   res = {res, ep[If[OddQ[k], 1, 2]]};, {k, n}];
  Flatten[res]]

Last[wynnEpsilon[Differences[ydata]/Differences[xdata]]]
1.99966

此实现改编自Weniger的论文


只是很好奇,但是为什么您要使用函数的原始形式,而不是将所有术语组合在一起?
rcollyer 2011年

它仅用于演示目的。:)我包含了 -ed表达式,所以你们知道预期的答案是什么。我想证明的是,您可以对某些看上去复杂的功能进行这种分析……LATEX
JM

要使算法有效,这些点必须与平面接近多少?
rcollyer 2011年

2
好的,最后一个问题(我发誓),您会在估算范围内产生误差吗?
rcollyer 2011年

1
有点棘手。我已经在几篇论文中看到了一些建议的方法,但是我承认没有对它们进行过实验。(也许我应该是这些日子之一。)Brezinski和Redivo-Zaglia所著的书中有一些您可能想研究的指针。
JM
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.