/ / Interpolacja z wieloma wartościami y - python, scipy, interpolacja, kwantyl, cdf

Interpolacja z wieloma wartościami y - python, scipy, interpolacja, kwantyle, cdf

Próbuję interpolować a funkcja kwantylowa (odwrotny CDF) z zestawu x (kwantyle) iy(wartości) próbki, przy użyciu kilku metod z Scipy. Ponieważ jest to funkcja kwantylowa, wartości czasami się powtarzają. Na przykład CDF ostatecznie spłaszcza się przy 1, więc x = 1 powtarza się dla kilku rosnących wartości y:

x = [0, 0.19026078648166053, 0.5364188373245662, 0.9627927389184123, 0.9997059472175255, 0.9997059472175255, 0.9999999999999999, 0.9999999999999999, 0.9999999999999999]
y = [0, 468, 1171, 4918, 10072, 20066, 29982, 45207, 59964]

Wydaje się, że niektóre metody interpolacji są zbudowane dla funkcji i nie są zadowolone z powtarzania x. Niektórzy nawet zakładają, że powtarzanie x jest pochodnymi (na przykład Krogh).

Masz pomysł, jak to obejść?

Odpowiedzi:

1 dla odpowiedzi № 1

Właśnie napotkałem ten sam problem (mam krzywąz powtarzającymi się wartościami x i chcę je interpolować, aby uzyskać tę samą długość łuku między punktami danych w płaszczyźnie x-y), i doszedłem do następującego rozwiązania, które działa dla mnie: Pomyśl o swojej funkcji x-y jak o funkcji parametrycznej z x (t) i y (t), gdzie t jest jakimś rosnącym parametrem (po prostu indeks tablic x lub y lub długość łuku). Następnie możesz przystąpić do osobnej interpolacji x (t) iy (t). W ten sposób nie masz bezpośredniego dostępu do y (x), ale możesz skanować wartości t, aby uzyskać kombinację szukanych interpolowanych wartości x i y. To samo prawdopodobnie można zrobić również w pewnego rodzaju interpolacji 2D.