2012-06-26 10 views
6

Używam funkcji griddata w scipy do interpolowania 3 i 4 wymiarowych danych. Działa jak mistrz, z tym, że zwraca kilka NaN, ponieważ niektóre z potrzebnych punktów są poza zakresem danych wejściowych. Biorąc pod uwagę, że dane N-d działają tak czy inaczej z interpolacją trybu liniowego, powinno to być proste, aby griddata wykonywała ekstrapolację zamiast tylko zwracać NaN. Czy ktoś to zrobił lub znalazł obejście? W celu wyjaśnienia: Mam nieustrukturyzowane dane, więc nie mogę używać żadnej z funkcji wymagających regularnej siatki. Dzięki! AlexEkstrapolacja 3D w python (w zasadzie, scipy.griddata rozszerzona do ekstrapolacji)

+0

Czy to pomoże wypełnić punkty poza zakres z pewną stałą wartość? W takim przypadku możesz podać wartość fill_value – Dhara

+3

Czy na pewno chcesz ekstrapolować? czasem wyjście na NaN i świadomość, że wychodzisz poza zasięg, to o wiele lepszy wybór. Użyłem splajnów Univariate z scipy, to bezgłośnie ekstrapoluje i wyniki mogą być całkiem "wyłączone" – Dhara

+0

Moja sytuacja: mierzę niektóre wartości w kilku punktach i muszę następnie obliczyć wartości w kilku innych punktach poprzez inter/ekstrapolację . Stała wartość lub NaN naprawdę nie pomagają. Wiem, jak trywialne mogą być splajny, więc pomyślałem, że liniowy byłby bezpiecznym zakładem. Chciałbym jednak coś, co działa na danych N-d. – user1483697

Odpowiedz

-1

Nie całkiem pewien, że to będzie pracować dla Ciebie i nie jest jeszcze dostępne, ale w wersji rozwojowej numpy istnieje „pad” funkcja array ...

https://github.com/numpy/numpy/blob/master/numpy/lib/arraypad.py

Jednym opcją jest "linear_ramp", która ekstrapoluje (pady) na zewnątrz zaczynając od wartości krawędzi i liniowo zwiększając/zmniejszając do określonej wartości końcowej.

Jest to czysta funkcja python więc można po prostu skopiować go na swojej drodze i importu (nietestowanego przeze mnie choć)

+0

wygląda na zupełnie niezwiązanego ze mną. tutaj są dokumenty, nic nie ma związku z interpolacją/ekstrapolacją https://docs.scipy.org/doc/numpy-1.10.0/reference/generated/numpy.pad.html – denfromufa