Asimptotik bir eğim bulmak için sayısal bir algoritma var mı?


23

Veri noktaları, bir dizi bilgisi I (yaklaşık) bir fonksiyonu takip edeceğini büyük bir satırına asimptotlar . Temel olarak, sıfıra olarak yaklaşır ve , türevlerinde de aynı şey söylenebilir. , vb. Ama f (x) için işlevsel biçimin ne olduğunu bilmiyorum , eğer temel işlevler açısından tanımlanabilecek bile olsa.(xi,yi)y(x)xf(x)y(x)(ax+b)xf(x)f(x)f(x)

Amacım asimptotik eğim mümkün olan en iyi tahminini elde etmektir a . Açıkça ham yöntem, son birkaç veri noktasını seçmek ve doğrusal bir regresyon yapmaktır, ancak f (x) benim verilere sahip xf(x) aralığında "yeterince düz" olmazsa , elbette bu yanlış olacaktır . Daha az açık-ham yöntem olduğunu varsaymaktır f (x) \ yaklaşık \ exp (= X) (veya başka bir özel işlevsel bir şekilde) ve bir uyum tüm veriler kullanılarak, ama basit fonksiyonları Gibi denedik \ exp (-x) veya \ dfrac1 {x} , x'in altındaki x ile tam olarak uyuşmuyor, burada f (x)xf(x)exp(x)exp(x)1xxf(x)büyük. Verilerin asimptota tam olarak nasıl yaklaştığını bilmediğimden dolayı, daha iyi olabilecek ya da eğim için bir değer sağlayacak olan asimptotik eğimi belirlemek için bilinen bir algoritma var mı?


Bu tür görevler, çeşitli veri kümeleriyle yaptığım çalışmalarda sık sık ortaya çıkma eğilimindedir, bu yüzden çoğunlukla genel çözümlerle ilgilenirim, ancak istek üzerine bu soruyu soran belirli veri kümelerine bağlantı veriyorum . Yorumlarda açıklandığı gibi, Wynn ϵ algoritması, söyleyebildiğim kadarıyla biraz kapalı olduğu bir değer veriyor. İşte bir arsa:

Asimptotik olarak doğrusal veri

(Yüksek x değerlerinde hafif bir aşağı eğri var gibi görünüyor, ancak bu verilerin teorik modeli asimptotik olarak doğrusal olması gerektiğini öngörüyor.)


Bu site için çok basit veya çok belirsiz olabilir, ancak özel betaların bu tür şeyleri denemenin zamanı olduğunu düşündüm.
David Z,

Hayır, bence bu harika bir soru. Her şey gelişmiş ve şık olmamalıdır. Basit sorunlara iyi çözümler önemlidir.
Colin K,

@Dan: gerçekten haklı mıydı? exp
JM,

Exps, okumam için işleri zorlaştırmaya meyilliyse de, yapmamam gereken kadar küçük olduğunu kabul edeceğim.
Dan

Her iki şekilde de gerçekten umrumda değil, sadece düzenlemeleri onaylayabileceğimi düşündüm çünkü neden olmasın. Ne pahasına olursa olsun, birkaç itibar kazanacaksın.
David Z,

Yanıtlar:


13

Oldukça kaba bir algoritma, ancak kaba bir tahmin için aşağıdaki prosedürü kullanırım: eğer sizin dediğiniz gibi, eğer temsil eden iddia edilen , arttıkça neredeyse doğrusal d, farklar ve sonra farklılıkların sınırını tahmin etmek için Shanks dönüşümü gibi bir ekstrapolasyon algoritması kullanmaktır . Sonuç, umarım bu asimptotik eğim için iyi bir tahmindir.f(x)(xi,yi)xyi+1yixi+1xi


Aşağıdaki bir Mathematica gösterisidir. Wynn algoritması, Shanks dönüşümünün uygun bir uygulamasıdır ve (gizli) işlevi olarak yerleşiktir . İşlev prosedürünü deniyoruzϵ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

Algoritmanın ne kadar basit olduğunu da gösterebilirim:

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

Bu uygulama Weniger'ın makalesinden uyarlanmıştır .


Sadece merak ediyorum, ama neden tüm terimleri birleştirmek yerine, fonksiyonun orijinal biçimini yaptınız?
rcollyer

Sadece gösteri amaçlıydı. :) ed ifadesini ekledim, böylece sizden beklenen cevabın ne olması gerektiğini biliyorsunuz. Göstermek istediğim, bazı karmaşık görünüşlü fonksiyonlar üzerinde bu tür bir analiz yapabileceğinizdir ...LATEX
JM

Algoritmanın etkili olması için puanların ne kadar düz olması gerekiyor?
rcollyer

2
Tamam, son soru (yemin ederim), tahmine bağlı bir hata üretebilir misin?
rcollyer

1
Bu biraz daha zor. Birkaç makalede bazı önerilen yöntemler gördüm, ancak onlarla deneyler yapmadığımı itiraf ediyorum. (Belki de bugün yapmalıyım.) Brezinski ve Redivo-Zaglia'nın kitabında araştırmak isteyebileceğiniz birkaç işaretçi var.
JM
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.