Determinando a função de ajuste da curva de melhor ajuste a partir das funções linear, exponencial e logarítmica

18

Contexto:

De uma pergunta no Mathematics Stack Exchange (Posso criar um programa) , alguém possui um conjunto de pontos e deseja ajustar uma curva linear, exponencial ou logarítmica. O método usual é começar escolhendo um destes (que especifica o modelo) e, em seguida, faça os cálculos estatísticos.x-y

Mas o que realmente se quer é encontrar a "melhor" curva linear, exponencial ou logarítmica.

Aparentemente, pode-se tentar os três e escolher a melhor curva ajustada dos três de acordo com o melhor coeficiente de correlação.

Mas, de alguma forma, sinto que isso não é bem kosher. O método geralmente aceito é escolher seu modelo primeiro, um desses três (ou alguma outra função de link) e, a partir dos dados, calcular os coeficientes. E, post facto, escolher o melhor de tudo é escolher a cereja. Mas para mim, se você está determinando uma função ou coeficiente a partir dos dados, ainda é a mesma coisa, seu procedimento está descobrindo a melhor coisa ... (digamos que qual função é também um outro coeficiente a ser descoberto).

Questões:

  • É apropriado escolher o melhor modelo de ajuste dentre os modelos linear, exponencial e logarítmico, com base em uma comparação das estatísticas de ajuste?
  • Em caso afirmativo, qual é a maneira mais apropriada de fazer isso?
  • Se a regressão ajuda a encontrar parâmetros (coeficientes) em uma função, por que não pode haver um parâmetro discreto para escolher qual das três famílias de curvas as melhores viriam?
Mitch
fonte
1
Adicionei a tag de seleção de modelo para sua conveniência: a vinculação produzirá um grande número de threads diretamente relevantes. Outras tags que valem a pena incluir incluem aic . Você deve finalmente descobrir que faltam dois elementos essenciais na afirmação matemática desse problema: uma descrição de como e por que os pontos podem divergir de uma curva teórica e uma indicação do custo de não obter exatamente a curva correta. Na ausência desses elementos, existem muitas abordagens diferentes que podem produzir respostas diferentes, mostrando que "melhor" está mal definido.
whuber
1
Você pode reservar uma porcentagem de seus dados para fazer a validação no modelo e escolher o modelo que melhor se encaixa nesse conjunto de dados de validação. Então, em essência, você teria três conjuntos distintos para dividir seus dados em 1. dados para treinar um único modelo 2. dados que valida cada modelo que permite selecionar o melhor modelo e 3. seus dados reais de validação final que não são tocados .
precisa saber é
1
@kleineg Isso soa como a direção certa. A escolha do modelo (por exemplo, entre lin / exp / log) é como um único hiperparâmetro de modelo, que é, de certa forma, apenas mais um estágio de parâmetros regulares, e entrar nele por estágios separados de trem / validação / teste pode ser generalizado.
Mitch
Relevante: {Uma maneira sutil de superajuste] ( johndcook.com/blog/2015/03/17/a-subtle-way-to-over-fit ) - escolher entre várias funções do modelo (por exemplo, exp vs linear vs log) é apenas outro parâmetro Você pode pensar nisso como um hiperparâmetro (que precisaria de uma etapa de validação) ou um parâmetro regular em uma função complicada de combinação (onde seria testado em uma etapa de teste).
Mitch

Respostas:

9
  • Você pode querer verificar o software gratuito chamado Eureqa . Ele tem o objetivo específico de automatizar o processo de encontrar a forma funcional e os parâmetros de um determinado relacionamento funcional.
  • Se você estiver comparando modelos, com diferentes números de parâmetros, geralmente desejará usar uma medida de ajuste que penalize os modelos com mais parâmetros. Existe uma rica literatura sobre qual medida de ajuste é mais apropriada para comparação de modelos, e os problemas ficam mais complicados quando os modelos não são aninhados. Eu gostaria de saber o que os outros acham que é o índice de comparação de modelos mais adequado para o seu cenário (como um ponto secundário, recentemente houve uma discussão em meu blog sobre índices de comparação de modelos no contexto de comparação de modelos para ajuste de curvas).
  • De acordo com minha experiência, modelos de regressão não linear são usados ​​por razões além do ajuste estatístico puro aos dados fornecidos:
    1. Modelos não lineares fazem previsões mais plausíveis fora do alcance dos dados
    2. Modelos não lineares exigem menos parâmetros para ajuste equivalente
    3. Modelos de regressão não linear são frequentemente aplicados em domínios em que há substancial pesquisa prévia e seleção de modelos orientadores da teoria.
Jeromy Anglim
fonte
5

Essa é uma pergunta válida em domínios muito diversos.

O melhor modelo é aquele que pode prever pontos de dados que não foram utilizados durante a estimativa de parâmetros. O ideal seria computar os parâmetros do modelo com um subconjunto do conjunto de dados e avaliar o desempenho do ajuste em outro conjunto de dados. Se você estiver interessado nos detalhes, faça uma pesquisa com "validação cruzada".

Portanto, a resposta para a primeira pergunta é "Não". Você não pode simplesmente escolher o modelo mais adequado. Imagem em que você está ajustando um polinômio com N-ésimo grau para N pontos de dados. Será um ajuste perfeito, porque todo o modelo transmitirá exatamente todos os pontos de dados. No entanto, este modelo não será generalizado para novos dados.

A maneira mais apropriada, até onde posso dizer, é calcular quanto seu modelo pode generalizar para outros conjuntos de dados usando métricas que punem simultaneamente a amplitude dos resíduos e o número de parâmetros em seu modelo. AIC e BIC são algumas dessas métricas que eu conheço.

bonobo
fonte
3

Como muitas pessoas exploram rotineiramente o ajuste de várias curvas aos dados, não sei de onde vêm suas reservas. É verdade que existe um quadrático que se ajusta ao menos tão linear quanto um linear e um cúbico, ao menos tão bem quanto um quadrático; portanto, existem maneiras de testar a significância estatística de adicionar um termo não linear e, assim, evitar complexidade desnecessária. Mas a prática básica de testar muitas formas diferentes de relacionamento é apenas uma boa prática. De fato, pode-se começar com uma regressão loess muito flexível para ver qual é o tipo mais plausível de curva para se ajustar.

rolando2
fonte
3
Se o quadrático se encaixa melhor, dependerá de como você operacionalizou o bom ajuste. Em particular, se você usar uma medida de ajuste que penalize modelos com mais parâmetros (por exemplo, AIC), por exemplo, o ajuste poderá ser pior para quadrático versus linear.
perfil completo de Jeromy Anglim
9
@rolando, talvez eu esteja entendendo mal, mas, francamente, esse tipo de conselho (não qualificado) é precisamente o tipo de coisa que, como estatísticos, passamos tanto tempo "lutando" contra. Particularmente, se o OP estiver interessado em algo além de um simples ajuste de curva, por exemplo, previsão ou inferência, é muito importante entender as implicações da abordagem "apenas tente o que você puder pensar" nas estatísticas.
cardeal
2
Estou tendo problemas para conciliar esses comentários com a tradição de Anscombe, Tukey, Mosteller, Tufte e Cleveland, que enfatiza a necessidade de visualizar e explorar dados e dimensionar a forma de cada relacionamento antes de construir um modelo, estabelecer coeficientes ou gerando outras estatísticas.
Rolando2
8
Há muita controvérsia em relação a suas abordagens. Uma maneira simplificada de resumir esses problemas é que, se você quiser aprender sobre padrões e fazer novas descobertas que precisam de validação posterior, a análise exploratória é apropriada. Se você deseja extrair inferência (razão de uma amostra específica para a população em geral usando valores-P, intervalos de confiança etc.), não muito.
Frank # # # # Harr Harrell
4
Este é o tópico de comentário mais produtivo que eu já vi no CV, especialmente a troca b / t rolando2 (3 ^) e @FrankHarrell. Também acho ambas as abordagens muito atraentes. Minha própria resolução é planejar o que testar antecipadamente e apenas ajustar / testar esse modelo com o objetivo de tirar conclusões firmes, mas também explorar minuciosamente os dados (sem acreditar que os resultados necessariamente sejam válidos) para descobrir o que pode ser verdade e planejamento para o próximo estudo. (Devo executar outro estudo e verificar alguma coisa, seria interessante / importante?) A chave é sua opinião sobre os resultados dessas análises.
gung - Restabelece Monica
3

Você realmente precisa encontrar um equilíbrio entre a ciência / teoria que leva aos dados e o que os dados dizem. Como outros já disseram, se você se encaixar em qualquer transformação possível (polinômios de qualquer grau, etc.), acabará se ajustando demais e obtendo algo que é inútil.

Uma maneira de se convencer disso é através da simulação. Escolha um dos modelos (linear, exponencial, log) e gere dados que seguem esse modelo (com uma escolha dos parâmetros). Se a sua variação condicional dos valores y for pequena em relação à dispersão da variável x, um gráfico simples tornará óbvio qual modelo foi escolhido e qual é a "verdade". Mas se você escolher um conjunto de parâmetros que não seja óbvio nas plotagens (provavelmente o caso em que uma solução analítica é interessante), analise cada uma das três maneiras e veja qual é o "melhor" ajuste. Espero que você descubra que o "melhor" ajuste geralmente não é o "verdadeiro".

Por outro lado, às vezes queremos que os dados nos digam o máximo possível e talvez não tenhamos ciência / teoria para determinar completamente a natureza do relacionamento. O artigo original de Box e Cox (JRSS B, vol. 26, nº 2, 1964) discute maneiras de comparar entre várias transformações na variável y, seu conjunto de transformações fornecido tem linear e log como casos especiais (mas não exponenciais) , mas nada na teoria do artigo limita você apenas à família de transformações deles; a mesma metodologia pode ser estendida para incluir uma comparação entre os três modelos nos quais você está interessado.

Greg Snow
fonte