Wpis z mikrobloga

#frontend #programowanie #matematyka #mapy

Cześć, piszę z pytaniem odnośnie projektu który robię. Tworzę mapę zanieczyszczeń powietrza i zastanawiam się jak obliczać wartości dla punktów poza stacjami dla których mam informacje. Na razie wykorzystuje JS do pobrania i przetworzenia danych dla stacji. Mam dla nich współrzędne więc obliczenie odległości dla powiedzmy 3 najbliższych stacji od punktu i na podstawie tego obliczenie wartości dla danego punktu powinno być możliwe. Macie jakieś pomysły jakiego sposobu użyć? Jakiejś konkretnej interpolacji? Chyba że jest do tego jakaś biblioteka ( ͡° ͜ʖ ͡°) ?
  • 17
@k0ndzi0: brzmi jak jakaś interpolacja, ale dla formalności dodam, że jak każde tego typu przybliżenie może dostarczać nieprawdziwych informacji dla punktów "pomiędzy"
@Poczmistrz_z_Tczewa: Właśnie ta opcja przyszła mi do głowy jako pierwsza. Mam też pytanie jak to nanieść graficznie na mapę (coś w stylu włączanej warstwy od zielonego koloru do czerwonego jako graficzne przedstawienie wyników), liczenie każdego możliwego punktu dla mapy z google będzie bardzo zasobożerne, zastanawiam się czy da się jakoś podzielić mapę na jakieś kwadraty typu 5x5 metrów i dla nich wyliczać wartości?
@k0ndzi0 To proste rownanie dyfuzji w gazach, geometria, warunki poczatkowe, brzegowe i jedziesz PDE. Dokladnie chodzi o rownanie Naviera-Stokesa. Mozesz tez zrobic prosciej, np. Zalozyc, ze stezenie czegos w powietrzu maleje proporcjonalnie do odleglosci od zrodla (stacji?) dajmy na to z szescianem odleglosci. Rownomiernie w kazdym kierunku.
@biwalencik: Ale wejdź w link. Mówię o regresji k-NN, a nie klasyfikatorze:

One such algorithm uses a weighted average of the k nearest neighbors, weighted by the inverse of their distance. This algorithm works as follows:


1. Compute the Euclidean or Mahalanobis distance from the query example to the labeled examples.


2. Order the labeled examples by increasing distance.


3. Find a heuristically optimal number k of nearest neighbors, based on
@biwalencik: Sam zaproponowałeś:

Mozesz tez zrobic prosciej, np. Zalozyc, ze stezenie czegos w powietrzu maleje proporcjonalnie do odleglosci od zrodla (stacji?) dajmy na to z szescianem odleglosci


To jest bliźniacze rozwiązanie (można ważyć odwrotnością sześcianu odległości zamiast odwrotnością odległości), które ponadto podaje jak wytypować ile najbliższych stacji trzeba uwzględnić.

Pytając Zrozumiales, to co wkleiles? nie przykryjesz tego, że nie wiedziałeś, iż k-NN to nie tylko klasyfikacja i nie przeczytałeś linkowanego przeze
@Poczmistrz_z_Tczewa: Nie. W twoim rozwiazaniu liczy statyczny uklad. Czastki nie zmieniaja polozenia. Klasyfikujesz niewiadome w referencji do pozycji WSZYSTKICH pozostalych (k wyznacza centrum).

Jest to kompletnie zle rozwiazanie. OP dysponuje kikoma stacjami pogodowymi. Twoja metda wyznaczy jeden lub kilka centroidow klastrow i obliczy wagi dla punktow oddalonych od centrum klastra, bazujac na ich odleglosci od k. Wada jest zaleznosc od ilosci k. Jedyne sensowne to zalozenie,ze k=ilosc stacji pogodowych.

Ale co
@biwalencik: Nie. Podaje jak estymować wartość dla dowolnego punktu, dla którego jej nie znamy, na podstawie k najbliższych sąsiadów oraz jak wyznaczyć optymalne k. Podobnie można estymować wartości dla wszystkich części założonej siatki (np. kilometrowej), żeby nanieść je na mapę. Dla OP-a było jasne, że właśnie o to chodzi.
@biwalencik: Nie jeden. Kiedy oddalamy się od stacji A, z której mamy odczyt i zbliżamy do pozostałych (B, C), to powinna maleć waga tej pierwszej dla ustalania wartości i rosnąć tych, do których się zbliżamy. Jeśli punkt znajduje się w równej lub podobnej odległości od trzech stacji (A, B, C), to powinniśmy uwzględnić dane ze wszystkich 3, a nie założyć, że jest tam stężenie równe A*(1/D)^3.

W bezpośredniej bliskości stacji A
@Poczmistrz_z_Tczewa
W tym przypadku uzalezniasz wynikcod geometrii rozmieszczenia stacji. Punkt o ktorym mowisz, to centroid klastra dla wszystkich stacji. Dopiero odleglosc od niego daje jakas wage okreslajacca wartosc szukanej.

Jak juz wspomnialem w PDE masz funkcje zrodla, ktora moze by z zrodlem punktowym, moze byc wiele takich punktow. Jest ppdstawowa roznica. Liczysz rzeczywista dynamike gazu, a nie geometrie utworzona z punktow pomiarowych