Jak wybrać odpowiednie funkcje danych?

11

Ostatnio pracowałem nad problemem, aby przeprowadzić analizę kosztów moich wydatków na określone zasoby. Zwykle podejmuję ręczne decyzje na podstawie analizy i odpowiednio planuję.

Mam duży zestaw danych w formacie Excela z setkami kolumn, które definiują użycie zasobu w różnych ramach czasowych i typach (inne różne szczegółowe wykorzystanie). Mam również informacje na temat moich poprzednich 4 lat danych oraz faktycznego zużycia zasobów i odpowiednio poniesionych kosztów.

Miałem nadzieję wyszkolić NN, aby przewidzieć mój koszt z wyprzedzeniem i zaplanować jeszcze zanim będę mógł ręcznie przeprowadzić analizę kosztów.

Ale największym problemem, przed którym stoję, jest potrzeba zidentyfikowania funkcji do takiej analizy. Miałem nadzieję, że istnieje jakiś sposób na identyfikację funkcji ze zbioru danych.

PS - Mam pojęcie o PCA i kilku innych technikach redukcji zestawu funkcji, to, na co patrzę, to sposób na ich identyfikację.

Karan Chopra
źródło

Odpowiedzi:

1

Ponieważ masz wszystkie dane w tabeli, względnie prostą rzeczą jest rozważenie każdej kolumny niezależnie, a następnie sprawdzenie, czy zmienna wyjściowa (poniesiony koszt) ma z tym związek.

Jeśli kolumna nie ma (lub ma bardzo niską korelację) ze zmienną wyjściową, należy uznać ją za nieistotną. Te, które wykonują cięcie, są następnie rozważane dalej.

Nie różni się to oczywiście od działania algorytmu drzewa decyzyjnego (takiego jak ID3).

Amrinder Arora
źródło
0

nie ma twardej i szybkiej reguły wyboru funkcji, musisz ręcznie sprawdzić zestaw danych i wypróbować różne techniki inżynierii funkcji. I nie ma zasady, że powinieneś stosować do tego sieci neuronowe, sieci neuronowe są czasochłonne do trenowania, zamiast tego możesz eksperymentować z metodami opartymi na drzewku decyzyjnym (losowe lasy), ponieważ twoje dane i tak mają strukturę tabelaryczną.

riemann77
źródło
dzięki za wkład, 1. Zgadzam się, że NN nie jest najlepszym sposobem na przetestowanie hipotezy, ale myślę, że używając NN możemy osiągnąć szersze relacje między funkcjami, aby uzyskać lepsze wyniki (w większości przypadków). 2. Problemem, z którym się spotkałem, było wybranie funkcji, które faktycznie określałyby wzór mojego problemu, a także sposób definiowania wag cech.
Karan Chopra
0

To świetne pytanie i prawdopodobnie jedno z najtrudniejszych zadań na ML.

Masz kilka opcji:

  1. Możesz użyć algorytmów ważenia (np. Chi-kwadrat), aby zrozumieć, które funkcje najbardziej wpływają na wynik
  2. Możesz użyć innych algorytmów ML, aby sklasyfikować, czy funkcja przyczynia się do twoich prognoz, czy nie
  3. Możesz użyć innych algorytmów ML (innych niż NN), które z natury zapewniają ważenie cech (np. Losowy Las)

Mam nadzieję, że to pomaga

Ragy Ibrahim
źródło
0

Rozsądnie jest wziąć pod uwagę nie tylko korelację zaangażowania zasobów z kosztami, ale także zwrot z kosztu zaangażowania zasobów. Typowym wyzwaniem jest to, że zwroty te prawie zawsze kumulują się lub są opóźnione. Przypadkiem kumulacji jest sytuacja, gdy zasobem jest ciągłe dostrajanie lub doskonalenie procesu, którego brak spowalnia generowanie przychodów. Przypadek opóźnienia występuje wtedy, gdy zasoby badawcze ponoszą koszty przez pewien czas bez wpływu na przychody, ale generowanie przychodów, które rozpoczyna się, gdy badania przynoszą produktywne wyniki, może być istotnym czynnikiem przekraczającym całkowity koszt dostarczonych wyników.

Powodem, dla którego dane o kosztach same w sobie mogą prowadzić do nieprzystosowującego uczenia się sieci, jest to, że sieć, która jest przeszkolona, ​​na przykład, do ograniczenia wydatków marketingowych, wyzeruje je. Zwykle powodowałoby to tendencję spadkową sprzedaży, dopóki firma się nie załamie. Bez uwzględnienia zwrotów w informacjach o szkoleniu nie może nastąpić użyteczne uczenie się.

Podstawowy MLP (perceptron wielowarstwowy) nie nauczy się charakterystyki czasowej danych, aspektów akumulacji i opóźnień. Potrzebujesz sieci stanowej. Najbardziej konsekwentnym typem sieci dla tego rodzaju uczenia się od tego pisania jest typ sieci LSTM (pamięć krótkotrwała) lub jeden z jego wariantów pochodnych. Dane o przychodach i saldzie muszą być wykorzystywane w połączeniu z danymi o kosztach do szkolenia sieci w zakresie przewidywania wyników biznesowych dla dowolnej sekwencji proponowanych zleceń dotyczących zasobów (w pełni szczegółowy plan budżetowy).

Funkcja strat musi odpowiednio równoważyć sortowane terminy z średnio- i długoterminowymi celami finansowymi. Ujemne dostępne środki pieniężne powinny spowodować wyraźny wzrost funkcji straty, aby nauczyć się takiego unikania podstawowych zagrożeń dla reputacji i kosztów kredytu.

Które kolumny w Twoich danych mają silną korelację z zwrotem z inwestycji, trudno jest z góry ustalić. Możesz natychmiast wykluczyć kolumny spełniające jedno z poniższych kryteriów.

  • Zawsze pusty
  • Inne stałe, które mają tę samą wartość dla każdego wiersza
  • Te, które zawsze można uzyskać z innych kolumn

Dane można zmniejszyć na inne sposoby

  • Pełny opis danych poprzez proste opisywanie trendów
  • Używanie indeksów do określania długich łańcuchów ze 100% dokładnością poprzez przypisywanie każdemu łańcuchowi liczby
  • Kompresja
  • W przeciwnym razie zmniejsza się nadmiarowość danych

KMS (ograniczone maszyny Boltzmanna) mogą wyodrębniać funkcje z danych, a PCA mogą oświetlać kolumny o niskiej zawartości informacji, ale znaczenie kolumn pod względem ich korelacji z przychodami nie zostanie zidentyfikowane przy użyciu tych urządzeń w ich podstawowej formie.

Douglas Daseeco
źródło