Z inżynieryjnego punktu widzenia, jakie są wady zbyt dokładnego modelu?

24

Zastanawiałem się, z inżynierskiego punktu widzenia, z jakich powodów zbyt duża dokładność modelowania może być szkodliwa?

Z naukowego punktu widzenia wydaje się, że jest to prawie zawsze korzyść, z wyjątkiem sytuacji, gdy trzeba poświęcić mniej czasu na obliczenia.

Więc z inżynierskiego punktu widzenia, poza czasem (lub mocą obliczeniową), dlaczego miałbyś tego unikać?

Gość
źródło
2
Proszę zdefiniować tutaj „dokładność” i „za dużo”. Możesz mieć model, który przewiduje zakres niepewności do bardzo wysokiej dokładności, lub model, który redukuje tę niepewność do bardzo małej wartości. I tak dalej.
Carl Witthoft
1
„Wszystko powinno być jak najprostsze, ale nie prostsze.” Einstein.
Eric Duminil
1
„oprócz czasu (lub mocy obliczeniowej)” Wydaje się, że wszystkie odpowiedzi
pominęły
1
@agentp Przeciwnie, pytanie samo sobie odpowiada, próbując to wykluczyć. Głupotą jest przede wszystkim pytanie.
jpmc26,
2
to jest naprawdę najgorsze pytanie „wysoko ocenione”, jakie kiedykolwiek widziałem. Jest to całkowicie mylące.
agentp

Odpowiedzi:

38

Uważaj na nadmierne dopasowanie . Dokładniejszy model zebranych danych z systemu może nie być lepszym predyktorem przyszłych zachowań systemu.

Przykład przeszacowania

Powyższe zdjęcie pokazuje dwa modele niektórych danych.

Linia liniowa jest dość dokładna na danych treningowych (punkty na wykresie) i (można się spodziewać) będzie nieco dokładna na danych testowych (gdzie punkty prawdopodobnie będą dla x <5 i x> -5 ).

Natomiast wielomian jest w 100% dokładny dla danych treningowych, ale (chyba że masz powód, by sądzić, że wielomian 9 stopnia jest uzasadniony z jakiegoś powodu fizycznego), możesz założyć, że będzie to bardzo słaby predyktor dla x> 5 i x <-5.

Model liniowy jest „mniej dokładny”, oparty na jakimkolwiek porównaniu błędów z danymi, które zebraliśmy. Ale to jest bardziej uogólnione.

Ponadto inżynierowie muszą mniej martwić się o swój model, a więcej o to, co ludzie zrobią z tym modelem.

Jeśli powiem ci, że idziemy na spacer w upalny dzień i potrwa to 426 minut. Prawdopodobnie przyniesiesz mniej wody, niż gdybym ci powiedział, że spacer potrwa 7 godzin, a nawet mniej niż jeśli powiem, że spacer potrwa 4-8 godzin. Wynika to z tego, że reagujesz na mój domyślny poziom zaufania do mojej prognozy, a nie w połowie moich podanych czasów.

Jeśli podasz ludziom dokładny model, ludzie zmniejszą margines błędu. Prowadzi to do większego ryzyka.

Biorąc przykład na spacer w upalny dzień, jeśli wiem, że spacer zajmie 4-8 godzin w 95% przypadków, z pewną niepewnością dotyczącą nawigacji i prędkości marszu. Doskonale wiedząc, że nasza prędkość marszu zmniejszy niepewność liczby 4-8, ale nie wpłynie znacząco na „szansę, że będziemy tak długo czekać, że woda stanie się problemem”, ponieważ jest ona napędzana prawie całkowicie przez niepewną nawigację, a nie niepewna prędkość chodzenia.

Scott
źródło
1
Racja, choć zauważyłbym, że wielomian stopnia jest przykładem wyjątkowo złego zachowania; zdecydowanie nie należy nigdy używać takiego modelu. Rozsądne modele, nawet gdy są zbyt wyposażone, nie powinny eksplodować w ten sposób, chyba że faktycznie pozostawisz zasięg objęty pomiarami. W rzeczywistości nawet wielomian stopnia 8 zapewniłby znacznie płynniejsze dopasowanie, biorąc pod uwagę te dane. N.
lewo około
Kluczowy cytat z powiązanego artykułu z Wikipedii: „nadmierne dopasowanie występuje, gdy model zaczyna„ zapamiętywać ”dane treningowe, a nie„ uczy się ”generalizować na podstawie trendu”.
Emilio M Bumachar,
4
Czy naprawdę uważalibyśmy, że nadmierne dopasowanie to „zbyt duża dokładność w modelu”? Nie jest to wadą posiadania „zbyt dokładnego modelu”. Jest to wadą posiadania zbyt wielu dokładnych punktów i złego modelowania . Tworzenie złego modelu na podstawie dokładnych danych nie jest dokładnym modelem.
JMac,
@JMac: Przeuczenie może wystąpić naturalnie w kontekście uczenia maszynowego, bez celowego budowania złego modelu, po prostu przez wyrzucenie zbyt dużej ilości danych do zestawu szkoleniowego. Nie jestem pewien, czy „zbyt dokładny” jest właściwym sposobem na opisanie tego rodzaju wyników, ale nie jest to również „prosty błąd modelowania”.
Kevin
26

Najbardziej oczywistym minusem jest koszt, wszystkie projekty inżynieryjne mają ograniczony budżet i wydawanie większej ilości pieniędzy, niż trzeba, jest oczywiście złą rzeczą, nie mówiąc już o marnowaniu czasu.

Mogą być też bardziej subtelne problemy. Rzeczy takie jak analiza FE są zawsze przybliżeniami, a czasem dodanie niepotrzebnych szczegółów może wprowadzić artefakty i utrudnić rozwiązywanie problemów z modelem. Na przykład możesz uzyskać nieciągłości, które powodują wzrost stresu

Należy również wziąć pod uwagę, że nawet jeśli masz moc obliczeniową, aby wygodnie obsługiwać dużą część dostawców danych, a klienci mogą tego nie robić, aw wielu przypadkach przesyłanie dużych plików jest nadal wąskim gardłem.

Podobnie, jeśli masz więcej parametrów, niż potrzebujesz, potencjalnie tworzysz dodatkową pracę w zarządzaniu i debugowaniu plików.

Znowu, nawet jeśli masz teraz dużo czasu i zasobów, może się zdarzyć, że ktoś z dalszej linii będzie musiał użyć tego modelu bez tego samego luksusu, zwłaszcza jeśli będzie on częścią produktu, który sprzedajesz klientom.

Chris Johns
źródło
7
Zapytanie: 2nd ustęp powinien przeczytać „... dodając niezbędne szczegół ...” lub «dodawanie un niezbędnych szczegółów»
Fred
tak, powinno być niepotrzebne
Chris Johns
Nie jestem pewien, czy przykład FE działa tutaj dobrze. W takim przypadku FE jest modelem. Korzystanie z dokładniejszych danych może powodować problemy; ale jeśli twój model FE jest dokładny, to oczywiście nie musisz się martwić o artefakty; ponieważ twój model ich nie ma. Zdefiniowaliśmy to już jako dokładne. Może w przypadku zastosowania innego modelu do podłączenia do analizy FE; ale wtedy jest to po prostu cel „kogoś z dalszej linii” za pomocą modelu.
JMac
13

Jest kilka powodów.

Z czysto pragmatycznego punktu widzenia wynika to z ograniczeń czasowych. Wymagany czas na rozwiązanie modelu wydłuża się , znacznie szybciej niż poziom precyzji, a którykolwiek przyjęty poziom jest subiektywny.

±515%

Z tego powodu nie ma sensu być zbyt precyzyjnym. Ale rzeczywiście może być korzystne, aby nawet nie starać się być zbyt precyzyjnym. Przyczyny tego są jednak głównie psychologiczne. Głównie nie chcesz, aby Twój model był zbyt precyzyjny i nie chcesz generować wyników z siedmioma miejscami po przecinku, ponieważ nie chcesz wywoływać fałszywego poczucia pewności.

Ludzki mózg jest przekonany, że wartość 1,2393532697 jest dokładniejsza niż 1,2. Ale tak nie jest. Ze względu na wszystkie niepewności w świecie rzeczywistym, których Twój model nie może wziąć pod uwagę (zwłaszcza biorąc pod uwagę obecne ograniczenia sprzętowe), 1.2 jest prawie na pewno równie trafny jak 1.2393532697. Więc nie okłamuj siebie ani nikogo, kto zobaczy twój model. Wystarczy wyprowadzić wartość 1.2, która wyraźnie wskazuje, że tak naprawdę nie wiesz, co się dzieje po tej drugiej cyfrze.

Wasabi
źródło
6

Niezwykle dokładny model może wymagać zbyt dużej ilości danych wejściowych. Może być możliwe wygenerowanie doskonałego modelu systemów pogodowych, na przykład poprzez przyjęcie na wejściu pozycji i prędkości każdej cząsteczki gazu w atmosferze. W praktyce taki model nie byłby przydatny, ponieważ nie ma realistycznego sposobu na wygenerowanie odpowiedniego wkładu. W tym przypadku preferowany byłby mniej dokładny model, który wymaga jedynie ograniczonych danych wejściowych.

Nuclear Wang
źródło
1
Odpowiedziałeś na inne pytanie, a mianowicie: „ile danych wejściowych jest za dużo”
Carl Witthoft
Prawdopodobnie dodałbym tutaj notatkę o tym, jak pytanie wymienia „poza tym, kiedy potrzebujesz mniej czasu obliczeniowego”, ponieważ jest to również dobry powód, aby mieć mniej precyzyjny model; jeśli twój model jest zbyt precyzyjny, rzeczywiste przypadki mogą potrwać dłużej niż śmierć cieplna wszechświata.
Delioth,
5

„Zbyt dokładne” nie jest monotoniczne. Może faktycznie stworzyć iluzję wierności, która sprawia, że ​​uważasz, że warto włożyć do symulacji więcej pieniędzy. Staje się to bardzo ważne, gdy prezentujesz dane z modeli o mieszanej wierności, gdzie niektóre części są bardzo szczegółowe, a inne są bardzo zgrubne.

Przykład z prawdziwego życia, w którym brałem udział w próbkowaniu wysokości nad terenem. Zespół postanowił przetestować teren w 1024 częściach, aby zmaksymalizować wierność. Nasz klient chciał uzyskać odpowiedź ReallyGood (tm).

Teraz niepokoiło mnie działanie środowiska uruchomieniowego spowodowanego przez ten konkretny algorytm i chciałem zrozumieć, ile wierności faktycznie zapłaciłem. Nie widziałem żadnych danych terenu, więc zapytałem ich, jak je załadowali. Odpowiedź brzmiała: „och, nie mamy terenu. Jest po prostu płaski”.

Brzmiało to tak, jakbym miał niesamowity model wierności, który próbkował 1024 punkty. To, co faktycznie miałem, to model niskiej wierności, który nie był lepszy niż próbkowanie 1 punktu 1024 razy, ale działał o całą tonę wolniej i maskowany jako model wyższej wierności!

W prawdziwym świecie inżynierii liderzy nie zawsze mają okazję poznać całą architekturę modelu. W rzeczywistości powiedziałbym, że nigdy nie mają czasu. Nasze kierownictwo podejmowało decyzje na podstawie założenia, że ​​mamy niesamowity model 1024 punktów. Nikt nie był winny, to właśnie dzieje się, gdy stroisz wierność zbyt wysoko w jednej części modelu, a masz niską wierność w drugiej. To jest natura bestii z mieszaną wiernością.

Cort Ammon - Przywróć Monikę
źródło
Przypowieść o tym, jak redukcja do znaczących liczb nie zawsze polega tylko na odcięciu końcowych zer.
Eikre
1

W rzeczywistości są dane, które mamy, i dane, których nie mamy. Prawie zawsze ilość danych, których nie mamy, jest o wiele większa, niż moglibyśmy kiedykolwiek zgromadzić ze względów praktycznych lub ekonomicznych.

Starając się nieprzyzwoicie dopasować dane do kilku próbek, ryzykujemy, że nasz model będzie robił naprawdę złe oszacowania w obszarach, w których szczerze mówiąc nie mamy pojęcia (z powodu braku danych). Nasz model da nam fałszywe poczucie bezpieczeństwa.

matematyk
źródło
1

Więc z technicznego punktu widzenia, oprócz czasu (lub mocy obliczeniowej), dlaczego warto tego unikać

Z perspektywy inżynierii mechanicznej głównym powodem jest to, że angażujesz się w dodatkowy wysiłek tylko wtedy, gdy przynosi on znacząco odmienne wyniki.

Jeśli poziom dokładności w twoim modelu jest o rząd wielkości wyższy niż poziom dokładności, który byłbyś w stanie zapewnić w realizacji projektu, marnujesz swój wysiłek. Jeśli poziom dokładności opisany w twoim modelu jest wyższy niż wymagany, ma to wpływ na klienta. Marnujesz pieniądze. Na przykład, jeśli określasz wyższą precyzję, niż wymaga tego projekt (np. +/- 0,00001 mm na długości rury odpowietrzającej), marnujesz pieniądze swoich klientów, ponieważ otwór wentylacyjny 350 mm do atmosfery wykonuje to samo zadanie jak otwór wentylacyjny 350 0005 mm do atmosfery, ale ta ostatnia jest znacznie droższa w produkcji.

Na uniwersytecie wszyscy nauczyliśmy się modelować świat fizyczny przy użyciu fizyki newtonowskiej, mimo że dobrze wiadomo, że fizyka post-newtonowska przedstawia dokładniejszy model zachowania fizycznego. Mimo to nie znam żadnego programu inżynierii mechanicznej, który domyślnie unika modeli Newtona jako zbyt niedokładnych. Jeśli użyjemy dokładniejszego modelu i uzyskamy odpowiedź, która jest o 0,1% bliższa teoretycznej prawdzie, która nie wpłynie na nasz ostateczny projekt w zdecydowanej większości przypadków. Jeśli nasze granicy plastyczności są różne o 0,1%, daje to nam nieznaczną różnicę w wymaganym przekroju, co prowadzi nas do wyboru dokładnie tego samego rozmiaru belki dwuteowej w oparciu o którąkolwiek z metod. W tej sytuacji koszty dodatkowego wysiłku nie przynoszą dodatkowych korzyści.

Teraz zdarzają się sytuacje, w których wymagana jest precyzja, aby uzyskać wykonalny projekt, na przykład modelowanie niektórych satelitów wymaga fizyki relatywistycznej. W tych okolicznościach musimy znaleźć model, który zapewni wymagany poziom dokładności i musimy zaprojektować model. Jeśli musimy obliczyć wymiary do +/- 0,0001%, to całkowicie zmarnowany wysiłek, jeśli nasze wymiary części wynoszą +/- 0,1%. W rzeczywistych zastosowaniach wymiary części tego drugiego stopnia dokładności są znacznie powszechniejsze niż poprzednie.

Myles
źródło
0

Koszt: koszt czasu lub koszt mocy obliczeniowej i koszt dokładności - jeśli inne zmienne mają tolerancję 5%, na przykład dlaczego obliczać wyniki do 1% ...

Solar Mike
źródło
0

W poprzednich odpowiedziach podano dane wejściowe i koszty. Jeśli chcesz dokładności np. przy optymalizacji parametrów produkcji prawdopodobnie potrzebujesz więcej pomiarów, a najpierw musisz przeanalizować, ile możesz obniżyć koszty w porównaniu do liczby godzin pracy, tym samym zwiększony wydatek na zwiększenie częstotliwości pomiarów lub kosztów zautomatyzowanego systemu, który zastąpi ręczne zbieranie danych. Drugi przykład, jeśli otrzymujesz bardzo dokładne odruchy, w które zainwestowałeś czas i inne zasoby, aby uzyskać, czy masz odpowiedni sprzęt do kontroli jakości, pomiarów przemysłowych itp., A nawet technologii. Jeśli twoje wyniki są daremne, czas spędzony na ich uzyskaniu jest źle wykorzystany.

Katarina
źródło
0

Czy potrzebujesz obrazu satelitarnego o rozdzielczości centymetrowej, aby identyfikować lasy według koloru? Na pewno nie. Byłbym szkodliwy, ponieważ musielibyście decydować o każdej innej niż zielona łata 10 centymetrów kwadratowych. To samo dotyczy modelowania: rozdzielczość szczegółów powinna pasować do rozdzielczości twoich obiektów docelowych. Jeśli nie, stracisz czas na redukcję.

guuusst
źródło
0

Większość prawdziwych odpowiedzi jest wykluczonych przez twoje sztuczne ograniczenie, że mocy obliczeniowej i czasów obliczeniowych nie należy brać pod uwagę. Model, którego ocena zajmuje wiele godzin lub dni, nie pozwala na szybkie iteracje projektu i spowolni rzeczy na skalę ludzką, zwiększając koszty i prawdopodobnie prowadząc do gorszych wyników. Sprytne uproszczenie modeli bez utraty zbyt dużej dokładności może być bardzo przydatnym podejściem, a następnie można użyć modelu siły brutalnej do sprawdzenia ostatecznej iteracji.

Możliwe, że zbyt skomplikowane modele mogą maskować podstawowe błędy w modelu lub że praca wymagana do zebrania informacji w celu praktycznego wykorzystania modelu do maksimum przeważy wszelkie potencjalne korzyści. Na przykład, jeśli chcesz poznać właściwości materiału z większym stopniem dokładności, niż dostawca może je kontrolować, możesz zaakceptować pasma błędów lub przejść i przetestować każdą partię materiału, aby ulepszyć model.

Spehro Pefhany
źródło