Hejtosze i hejtoszki, pytanie mam odnośnie analizy danych, statystyki czy jakby to inaczej profesjonalnie nazwać.
Robię sobie obecnie w excelu coś takiego jak "Multiple-criteria decision analysis" i zastanawiam się nad etapem normalizacji danych do zakresu 0-1.
Normalnie stosuje się formułę taką jak na zdjęciu poniżej, gdzie min i max wylicza się ze zbioru wszystkich obecnie dostępnych wartości. Powiedzmy że mam kilka wartości: 4, 3, 6, 4, 5. Minimum to by było 3 i maksimum to by było 6. Wszystko jasne i zrozumiałe, ale powiedzmy, że ten parametr istnieje na skali od 1-6, tylko tak się złożyło, że akurat nie mam pozycji która miała by tak niskie wartości jak 1 i 2.
Więc zastanawiam się, czy powinienem minimum brać jako 1 czy jako 3? Teoretycznie, skoro skala wartości jest od 1 do 6, wartość 3 byłaby znormalizowana do 0.4 zamiast do 0, więc nie wpłynęła by aż tak negatywnie na wynik. Ale czy jest to zgodne ze sztuką? Czy są jakieś naukowe metody na decydowanie o takich rzeczach? Co sądzicie?
#matematyka #statystyka #programowanie #excel
118db3ca-1097-436c-9436-6fc00ff64480
976497

@Anj To zależy od założeń dotyczących ostatecznych wyników, czyli jeśli wynik ma być między 1-6, to tak ustawiasz te parametry, nawet jeśli skala wychodzi inna z otrzymanych wartości.

To jak manipulacja statystykami, by pokazać większą przepaść między wartościami, gdy różnica między 40%, a 50% ma zająć całą skalę wykresu.

ZtunelowanyElektron

@Anj "Czy są jakieś naukowe metody na decydowanie o takich rzeczach?"


Chyba są ale to też zależy z jakimi danymi pracujesz. Jak to są np. szeregi czasowe to domyślnie wygładza się wykładniczo i patrzy czy efekt jest zadowalający.

Anj

@ZtunelowanyElektron to nie są szeregi czasowe. To są ceny lub oceny danego atrybutu w zakresie np. 1-6

ZtunelowanyElektron

@Anj No to z tego co widzę to w przypadku cen stosuje się Simple i Exponential Moving Average.

Anj

@ZtunelowanyElektron moving average do normalizacji danych? Chyba nie rozumiem

Anj

@ZtunelowanyElektron w sensie powiedzmy mamy jakieś mieszkanie albo auto i je opisujemy różnymi parametrami


Auto 1: Cena=20000 zł, Spalanie=6 l/100km, Bagażnik=60 L, Wygląd=3, Prowadzenie=5

Auto 2: Cena=13000 zł, Spalanie=7.5 l/100km, Bagażnik=30 L, Wygląd=4, Prowadzenie=6


I chcę znormalizować wszystkie parametry do zakresu 0-1, w jaki sposób średnia ruchoma mi w tym pomoże?

976497

@Anj W tym wypadku bierzesz najmniejszą i najwyższą wartość z zakresu danych. Inaczej tego nie ustalisz, bo nawet ceny mogą być ujemne lub niewymierne.

Jeśli pojawią się nowe wartości parametrów, to normalizację wszystkich danych (albo jedynie zmienionego parametru) należy przeprowadzić ponownie (przynajmniej ja bym tak zrobił, a komputery sobie z tym szybko poradzą).

ZtunelowanyElektron

@Anj Sorry, czytanie ze zrozumieniem mi się kłania. Ty się pytasz o normalizację a ja ci o wygładzaniu piszę. Zignoruj to co wcześniej napisałem

plemnik_w_piwie

@Anj odkopuję starocia, ale ja bym normalizowal w zakresie 1-6, bo co jeśli kiedyś Ci wpadnie ocena 2? A jeśli bym miał duże wątpliwości, to why not both? Często jak się bawię i nie wiem która opcja lepsza to robię dwie obok siebie. W Excelu to nic nie kosztuje

Anj

@plemnik_w_piwie a no właśnie tak zrobiłem. Doszedłem do wniosku, że sztywny zakres jest bardziej przewidywalny i łatwiej mi zracjonalizować czemu dana wartość wynosi tyle i tyle.


Podobne podejście stosuję również np. w przypadku cen. Jeżeli np. mam kwoty rzędu 30, 35, 40k zł i nagle wpadnie mi kwota powiedzmy 70k zł, to wtedy wagi wszystkich poprzednich wartości by się zmieniły i różnica 5k stała by się mniej znacząca. Wtedy aby to zrekompensować musiałbym podnieść wagę tego parametru, aby różnice w cenie nadal zachowały mniej więcej podobny wpływ na ostateczny wynik.


Ja zrobiłem to tak, że w takim przypadku ustalam sobie sztywny mianownik (czyli różnicę między max i min), powiedzmy 20k zł, który odpowiada jednemu znormalizowanemu punktowi. Czyli dla przykładu, jeżeli mam dwa te same samochody, które różnią się tylko ceną i powiedzmy silnikiem - jeden jest tańszy o 20k, ale ma najgorszy silnik (znormalizowane 0), a drugi jest o 20k droższy, ale ma najlepszy silnik (znormalizowane 1), to te dwa samochody remisują w punktacji.


Co prawda nie mam pojęcia czy to jest zgodne ze sztuką, ale mniejsza z tym.

Dziękuję serdecznie za uwagę XD

plemnik_w_piwie

@Anj albo można zrobić dynamiczny mianownik, w oparciu o min i max. Ja też nie jestem ekspertem, lubię zaś się bawić liczbami. Wiele rzeczy robię na czuja, lecz wiem jedno, zapisuj gdzieś jak działa twój system. Potem łatwiej go naprawiać, gdy za rok trafisz na jakiś wyjątek i wysra się twój model

Zaloguj się aby komentować