Do ponto de vista da engenharia, quais são as desvantagens de um modelo muito preciso?


24

Eu estava pensando, do ponto de vista da engenharia, por que razões a precisão demais na modelagem pode ser prejudicial?

Do ponto de vista científico, parece que quase sempre é um benefício, além de quando você precisa dedicar menos tempo de computação.

Então, do ponto de vista da engenharia, além do tempo (ou poder computacional), por que você deveria evitar isso?


2
Defina aqui "precisão" e "muito". Você pode ter um modelo que preveja a faixa de incerteza com uma precisão extremamente alta ou um modelo que reduz a própria incerteza a um valor muito pequeno. E assim por diante.
24530 Carl Witthoft

1
"Tudo deve ser feito o mais simples possível, mas não mais simples." Einstein.
precisa

1
"além do tempo (ou poder de computação)" Parece que todas as respostas perdeu este ponto ..
agentp

1
@agentp Pelo contrário, a pergunta responde a si mesma, tentando excluir isso. É uma coisa boba estar em questão em primeiro lugar.
jpmc26

2
esta é seriamente a pior pergunta "altamente votada" que eu já vi. É totalmente confuso.
agentp

Respostas:


38

Cuidado com o excesso de ajuste . Um modelo mais preciso de dados coletados de um sistema pode não ser um melhor indicador do comportamento futuro de um sistema.

Exemplo de sobreajuste

A imagem acima mostra dois modelos de alguns dados.

A linha linear é um pouco precisa nos dados de treinamento (os pontos no gráfico) e (seria de esperar) será um pouco precisa nos dados de teste (onde é provável que os pontos sejam para x <5 e x> -5 )

Por outro lado, o polinômio é 100% exato para os dados de treinamento, mas (a menos que você tenha algum motivo para acreditar que o polinômio de 9º grau é razoável por algum motivo físico), você supõe que este será um preditor extremamente ruim para x> 5 e x <-5.

O modelo linear é 'menos preciso', com base em qualquer comparação de erros com os dados que reunimos. Mas é mais generalizável.

Além disso, os engenheiros precisam se preocupar menos com o modelo e mais com o que as pessoas farão com o modelo.

Se eu lhe disser que vamos dar um passeio em um dia quente e que deve durar 426 minutos. É provável que você traga menos água do que se eu disser que a caminhada vai durar 7 horas e ainda menos do que se eu disser que a caminhada vai durar de 4 a 8 horas. Isso ocorre porque você está respondendo ao meu nível implícito de confiança em minhas previsões, e não no ponto médio dos meus tempos declarados.

Se você der às pessoas um modelo preciso, elas reduzirão sua margem de erro. Isso leva a riscos maiores.

Dando um passeio em um exemplo de dia quente, se eu souber que a caminhada levará de 4 a 8 horas em 95% dos casos, com alguma incerteza em relação à navegação e à velocidade da caminhada. O conhecimento perfeito de nossa velocidade de caminhada diminuirá a incerteza dos números 4-8, mas não afetará significativamente a 'chance de demorarmos tanto que a água se torne um problema', porque isso é impulsionado quase inteiramente pela navegação incerta, não a velocidade de caminhada incerta.


1
Certo, embora eu observe que um polinômio de grau é um exemplo de comportamento incomumente ruim; definitivamente, nunca se deve usar esse modelo. Os modelos sensatos, mesmo quando equipados demais, não devem explodir assim, a menos que você realmente deixe o intervalo coberto pelas medições. De fato, mesmo um polinômio de grau 8 já seria um ajuste muito mais suave, dados esses dados. N
leftaroundabout

Citação-chave do artigo vinculado da Wikipedia: 'o ajuste excessivo ocorre quando um modelo começa a "memorizar" os dados de treinamento em vez de "aprender" a generalizar a partir de uma tendência ".
Emilio M Bumachar

4
Nós realmente consideraríamos o excesso de ajuste como "muita precisão no modelo"? Isso não é uma desvantagem de ter "um modelo muito preciso". Essa é uma desvantagem de ter muitos pontos precisos e modelagem ruim . Criar um modelo incorreto com dados precisos não é um modelo preciso.
JMac # 1/17

@JMac: O sobreajuste pode ocorrer naturalmente em contextos de aprendizado de máquina, sem a intenção de construir um modelo ruim, apenas jogando muitos dados no conjunto de treinamento. Não sei se "muito preciso" é o caminho certo para descrever esse tipo de resultado, mas também não é "simples erro de modelagem".
Kevin

26

A desvantagem mais óbvia é o custo, todos os projetos de engenharia têm um orçamento finito e gastar mais dinheiro do que o necessário é claramente uma coisa ruim, sem mencionar a perda de tempo.

Também pode haver questões mais sutis. Coisas como a análise FE são sempre aproximações e, às vezes, adicionar detalhes desnecessários pode introduzir artefatos e dificultar a solução de problemas de um modelo. Por exemplo, você pode obter descontinuidades que resultam em aumento de estresse

Há também a consideração de que, mesmo que você tenha o poder de computação para lidar confortavelmente com uma grande quantidade de fornecedores de dados e clientes, talvez não, e em muitos casos a transferência de arquivos grandes ainda é um gargalo.

Da mesma forma, se você tiver mais parâmetros do que o necessário, estará criando potencialmente um trabalho extra no gerenciamento e depuração de arquivos.

Novamente, mesmo que você tenha tempo e recursos abundantes agora, pode ser que alguém mais abaixo da linha precise usar esse modelo sem o mesmo luxo, especialmente se ele acabar fazendo parte de um produto que você está vendendo para os clientes.


7
Inquérito: 2º parágrafo deve ler-se "... adicionando detalhes necessários ..." ou 'adição de un detalhes necessários'
Fred

sim deveria ser desnecessário
Chris Johns

Não tenho certeza se o exemplo da FE funciona bem aqui. Nesse caso, o FE é o modelo. Usar dados mais precisos pode apresentar problemas; mas se o seu modelo de EF é preciso, obviamente você não precisa se preocupar com os artefatos; porque seu modelo não os possui. Já o definimos como preciso. Talvez no caso de usar um modelo diferente para conectar a uma análise FE; mas isso é apenas o objetivo de "alguém mais abaixo da linha" usar o modelo.
JMac # 1/17

13

Há algumas razões.

De uma perspectiva puramente pragmática, é devido a restrições de tempo. O tempo necessário para resolver um modelo aumenta muito, muito mais rápido que o nível de precisão e, independentemente do nível adotado, é subjetivo.

±515%

Devido a isso, não faz sentido ser muito preciso. Mas, de fato, pode ser benéfico nem tentar ser preciso demais. As razões para isso são principalmente psicológicas, no entanto. Principalmente, você não deseja que seu modelo seja muito preciso e não deseja gerar resultados com sete casas decimais, porque não deseja evocar um falso senso de confiança.

O cérebro humano está convencido de que 1,2233535697 é um valor mais preciso que 1,2. Mas esse não é realmente o caso. Devido a todas as incertezas do mundo real que seu modelo não pode levar em consideração (especialmente considerando as limitações atuais de hardware), o 1,2 é quase certamente um resultado tão válido quanto o 1.2393532697. Portanto, não se iluda ou quem vê o seu modelo. Basta imprimir a 1.2, que indica de forma transparente que você realmente não sabe o que está acontecendo após esse segundo dígito.


6

Um modelo extremamente preciso pode exigir uma quantidade proibitiva de dados de entrada. Pode ser possível gerar um excelente modelo de sistemas climáticos, por exemplo, tomando como entrada a posição e a velocidade de cada molécula de gás na atmosfera. Na prática, esse modelo não seria útil, pois não há maneira realista de gerar a entrada adequada. Um modelo menos preciso que requer apenas dados de entrada limitados seria preferível nesse caso.


1
Você respondeu a uma pergunta diferente, a saber: "a quantidade de dados de entrada é muito"
Carl Witthoft

Eu provavelmente adicionaria aqui uma observação sobre como a pergunta menciona "além de quando você precisar de menos tempo de computação", porque esse também é um bom motivo para ter um modelo menos preciso; se o seu modelo for muito preciso, os casos do mundo real podem demorar mais que a morte por calor do universo para serem calculados.
Delioth 29/11

5

"Preciso demais" não é monotônico. Na verdade, pode criar uma ilusão de fidelidade, o que faz você pensar que vale a pena investir mais dinheiro na simulação. Isso se torna muito importante quando você apresenta dados de modelos de fidelidade mista, onde algumas partes são muito detalhadas e outras são muito grosseiras.

Um exemplo da vida real que envolvi amostrar altitudes sobre o terreno. A equipe decidiu amostrar o terreno em 1024 pedaços para maximizar a fidelidade. Nosso cliente queria uma resposta ReallyGood (tm).

Agora, fiquei incomodado com o tempo de execução que esse algoritmo específico causou e queria entender por quanto fidelidade estava realmente pagando. Como eu não tinha visto nenhum dado do terreno, perguntei a eles como eles o carregavam. A resposta foi "oh, não temos terreno. É apenas plano".

Por isso, parecia que eu tinha um modelo incrível de alta fidelidade, com amostra de 1024 pontos. Na verdade, o que eu tinha era um modelo de baixa fidelidade que não se saiu melhor do que amostrar 1 ponto 1024 vezes, mas correu uma tonelada inteira mais devagar e se disfarçou de modelo de alta fidelidade!

No mundo real da engenharia, os líderes nem sempre têm a oportunidade de aprender toda a arquitetura de um modelo. Na verdade, eu diria que eles nunca têm tempo. Nossa liderança estava tomando decisões partindo do pressuposto de que tínhamos um incrível modelo de 1024 pontos. Ninguém falhou, é exatamente o que acontece quando você ajusta a fidelidade muito alto em uma parte do modelo e tem baixa fidelidade na outra. É a natureza da besta com fidelidade mista.


Uma parábola sobre como reduzir para números significativos nem sempre é sobre cortar zeros à direita.
Eikre

1

Na realidade, existem os dados que temos e existem os que não temos. Quase sempre, a quantidade de dados que não temos é muito mais do que poderíamos esperar reunir por razões práticas ou econômicas.

Ao tentar ajustar os dados de maneira desagradável às poucas amostras que temos, correremos o risco de fazer com que o nosso modelo faça estimativas realmente ruins em áreas nas quais honestamente não temos idéia (devido à falta de dados). Então nosso modelo nos dará uma falsa sensação de segurança.


1

Portanto, do ponto de vista da engenharia, além do tempo (ou poder computacional), por que você deve evitar isso

Vindo de uma perspectiva de engenharia mecânica, o maior motivo é que você só se compromete com o esforço adicional se ele produz resultados significativamente diferentes.

Se o nível de precisão em seu modelo for de magnitude superior ao nível de precisão que você seria capaz de fornecer na execução de seu projeto, você está desperdiçando seu esforço. Se o nível de precisão descrito em seu modelo for maior do que o necessário, isso terá impacto no cliente. Você está desperdiçando dinheiro. Por exemplo, se você estiver especificando uma precisão mais alta do que o projeto realmente exige (por exemplo, +/- .00001mm no comprimento de um tubo de ventilação), estará desperdiçando dinheiro de seus clientes porque uma ventilação de 350mm na atmosfera faz o mesmo trabalho que uma ventilação de 350.0005mm para a atmosfera, mas o último é significativamente mais caro de produzir.

Na universidade, todos aprendemos a modelar o mundo físico usando a física newtoniana, embora esteja bem estabelecido que a física pós-newtoniana apresenta um modelo mais preciso de comportamento físico. Apesar disso, não conheço nenhum programa de engenharia mecânica que, por padrão, evite os modelos newtonianos como imprecisos demais. Se usarmos o modelo mais preciso e chegarmos a uma resposta 0,1% mais próxima da verdade teórica que não afetará nosso design final na grande maioria dos casos. Se nossa tensão de escoamento é 0,1% diferente, isso nos dá uma diferença insignificante em nossa seção transversal necessária, o que nos leva a escolher exatamente o mesmo tamanho de viga I com base em qualquer método. Nessa circunstância, os custos de um esforço adicional não oferecem benefícios adicionais.

Agora, existem situações em que a precisão é necessária para produzir um projeto viável, por exemplo, a modelagem de alguns satélites requer física relativística. Nessas circunstâncias, precisamos encontrar um modelo que ofereça o nível de precisão necessário e precisamos projetar para o modelo. Se precisarmos calcular dimensões para +/- 0,0001%, será um esforço totalmente desperdiçado se as dimensões de nossas peças forem +/- 0,1%. Em aplicações do mundo real, as dimensões de parte do último grau de precisão são muito mais comuns que o anterior.


0

Custo: o custo do tempo ou o custo da capacidade de computação e o custo da precisão - se outras variáveis ​​tiverem uma tolerância de 5%, por exemplo, por que calcular resultados em 1% ...


0

Nas respostas anteriores, foram mencionados dados e custos. Se você quiser precisão, por exemplo. na otimização dos parâmetros de produção, você provavelmente precisará de mais medições e, primeiro, precisará analisar quanto pode reduzir os custos versus quantas horas de trabalho, portanto, uma maior despesa é para aumentar a frequência das medições ou o custo do sistema automatizado que substituirá a coleta manual de dados. Segundo exemplo, se você obtiver resultados precisos nos quais investiu tempo e outros recursos para obter, possui equipamento adequado para controle de qualidade, medições industriais etc. ou até tecnologia. Se seus resultados são em vão do que o tempo gasto para obtê-los, eles são perdidos.


0

Precisaria de uma imagem de satélite com resolução de centímetro para identificar florestas por cor? Claro que não. Eu seria prejudicial, pois você teria que decidir sobre qualquer adesivo não verde de 10 centímetros quadrados. O mesmo para a modelagem: a resolução de detalhes deve se ajustar à resolução dos recursos de destino. Caso contrário, você perderá tempo reduzindo o tamanho.


0

A maioria das respostas reais é excluída por sua restrição artificial de que o poder da computação e os tempos de cálculo não devem ser considerados. Um modelo que leva horas ou dias para avaliar não permite iterações rápidas de design e diminui a velocidade da escala humana, aumentando o custo e possivelmente levando a resultados inferiores. A simplificação inteligente de modelos sem perder muita precisão pode ser uma abordagem muito útil; então, o modelo de força bruta pode ser usado para validar a iteração final.

É possível que modelos excessivamente complexos possam mascarar erros fundamentais no modelo ou que o trabalho necessário para coletar informações para praticamente usar o modelo ao máximo supere qualquer benefício potencial. Por exemplo, se você precisar conhecer as características de um material com um grau de precisão maior do que o fornecedor pode controlá-las, aceite as faixas de erro ou teste cada lote de material para ajustar o modelo.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.